@camstack/addon-auth 1.2.90 → 1.2.91

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.
@@ -18551,11 +18551,30 @@ var SensorEventSchema = object({
18551
18551
  value: record(string(), unknown()).nullable(),
18552
18552
  timestamp: number()
18553
18553
  });
18554
+ /**
18555
+ * One stored sighting on a track's trajectory.
18556
+ *
18557
+ * The array these live in is returned in TIME order (D399) — it is APPENDED in
18558
+ * arrival order, and the two detector passes interleave, so a consumer must not
18559
+ * assume the two are the same on a row written by an older build.
18560
+ */
18554
18561
  var TrackPositionSchema = object({
18555
18562
  x: number(),
18556
18563
  y: number(),
18557
18564
  timestamp: number(),
18558
- bbox: BoundingBoxSchema
18565
+ bbox: BoundingBoxSchema,
18566
+ /**
18567
+ * Which detector pass measured this box (D399): `frame` is the full-frame
18568
+ * pass on the analysis raster, `recovery` is the native-resolution
18569
+ * small-subject second pass (D377/D378). Both write into one array, and until
18570
+ * this field existed the only way to tell them apart was that full-frame boxes
18571
+ * are exact multiples of 1.2 while recovery boxes are full-precision floats.
18572
+ * Absent on rows written before D399.
18573
+ */
18574
+ source: _enum(["frame", "recovery"]).optional(),
18575
+ /** Detection score of this box, so a position can be weighed and not only
18576
+ * plotted. Absent on rows written before D399. */
18577
+ score: number().optional()
18559
18578
  });
18560
18579
  var TrackSnapshotSchema = object({
18561
18580
  timestamp: number(),
@@ -18955,14 +18974,25 @@ var TrackSchema = object({
18955
18974
  */
18956
18975
  hasRider: boolean().optional(),
18957
18976
  /**
18958
- * WHY this track ended without a NATIVE best-shot tile
18959
- * ([D276](../decisions/adr-0276-a-stand-in-tile-is-provisional-and-a-close-says-why.md)) —
18977
+ * WHY this track ended without a NATIVE best-shot FRAME
18978
+ * ([D276](../decisions/adr-0276-a-stand-in-tile-is-provisional-and-a-close-says-why.md),
18979
+ * widened by [D400](../decisions/adr-0400-the-picture-is-judged-on-what-is-delivered.md)) —
18960
18980
  * a composed token line (`no-key-frame capture=keyframe:native-missx4`,
18961
- * `derive-returned-null tile=standin`, …) written at close and CLEARED by
18962
- * the late-keyFrame upgrade when a native tile lands after all. The
18963
- * operator-facing answer to "perché manca l'immagine?" on a track whose
18981
+ * `derive-returned-null tile=standin`,
18982
+ * `native-tile tile=native no-key-frame-at-close`, …) written at close and
18983
+ * CLEARED by the late-keyFrame upgrade when a native tile lands after all.
18984
+ * The operator-facing answer to "perché manca l'immagine?" on a track whose
18964
18985
  * tile is a face/plate stand-in, a raster crop, or an icon.
18965
18986
  *
18987
+ * **`no-key-frame-at-close` (D400).** The line used to be written ONLY when
18988
+ * the TILE ranked below native, so a track whose thumbnail landed natively
18989
+ * while its key frame missed carried no reason at all — three of the four
18990
+ * `MISSING_KEYFRAME` tracks in the 2026-09-07 operator audit were exactly
18991
+ * that shape, and their "niente ultimo" had no cause anywhere on the row.
18992
+ * The key frame is the head of a cascade (`keyFrame ⇒ keyFrameSmall ⇒ the
18993
+ * lastFrame copy source`), so its absence is now on this line whatever the
18994
+ * tile ended up being.
18995
+ *
18966
18996
  * **Absent ≠ "missed silently"**: a row written before the column, a hub
18967
18997
  * that predates the field, and every track whose tile landed native all
18968
18998
  * omit it. Render nothing when absent.
@@ -18551,11 +18551,30 @@ var SensorEventSchema = object({
18551
18551
  value: record(string(), unknown()).nullable(),
18552
18552
  timestamp: number()
18553
18553
  });
18554
+ /**
18555
+ * One stored sighting on a track's trajectory.
18556
+ *
18557
+ * The array these live in is returned in TIME order (D399) — it is APPENDED in
18558
+ * arrival order, and the two detector passes interleave, so a consumer must not
18559
+ * assume the two are the same on a row written by an older build.
18560
+ */
18554
18561
  var TrackPositionSchema = object({
18555
18562
  x: number(),
18556
18563
  y: number(),
18557
18564
  timestamp: number(),
18558
- bbox: BoundingBoxSchema
18565
+ bbox: BoundingBoxSchema,
18566
+ /**
18567
+ * Which detector pass measured this box (D399): `frame` is the full-frame
18568
+ * pass on the analysis raster, `recovery` is the native-resolution
18569
+ * small-subject second pass (D377/D378). Both write into one array, and until
18570
+ * this field existed the only way to tell them apart was that full-frame boxes
18571
+ * are exact multiples of 1.2 while recovery boxes are full-precision floats.
18572
+ * Absent on rows written before D399.
18573
+ */
18574
+ source: _enum(["frame", "recovery"]).optional(),
18575
+ /** Detection score of this box, so a position can be weighed and not only
18576
+ * plotted. Absent on rows written before D399. */
18577
+ score: number().optional()
18559
18578
  });
18560
18579
  var TrackSnapshotSchema = object({
18561
18580
  timestamp: number(),
@@ -18955,14 +18974,25 @@ var TrackSchema = object({
18955
18974
  */
18956
18975
  hasRider: boolean().optional(),
18957
18976
  /**
18958
- * WHY this track ended without a NATIVE best-shot tile
18959
- * ([D276](../decisions/adr-0276-a-stand-in-tile-is-provisional-and-a-close-says-why.md)) —
18977
+ * WHY this track ended without a NATIVE best-shot FRAME
18978
+ * ([D276](../decisions/adr-0276-a-stand-in-tile-is-provisional-and-a-close-says-why.md),
18979
+ * widened by [D400](../decisions/adr-0400-the-picture-is-judged-on-what-is-delivered.md)) —
18960
18980
  * a composed token line (`no-key-frame capture=keyframe:native-missx4`,
18961
- * `derive-returned-null tile=standin`, …) written at close and CLEARED by
18962
- * the late-keyFrame upgrade when a native tile lands after all. The
18963
- * operator-facing answer to "perché manca l'immagine?" on a track whose
18981
+ * `derive-returned-null tile=standin`,
18982
+ * `native-tile tile=native no-key-frame-at-close`, …) written at close and
18983
+ * CLEARED by the late-keyFrame upgrade when a native tile lands after all.
18984
+ * The operator-facing answer to "perché manca l'immagine?" on a track whose
18964
18985
  * tile is a face/plate stand-in, a raster crop, or an icon.
18965
18986
  *
18987
+ * **`no-key-frame-at-close` (D400).** The line used to be written ONLY when
18988
+ * the TILE ranked below native, so a track whose thumbnail landed natively
18989
+ * while its key frame missed carried no reason at all — three of the four
18990
+ * `MISSING_KEYFRAME` tracks in the 2026-09-07 operator audit were exactly
18991
+ * that shape, and their "niente ultimo" had no cause anywhere on the row.
18992
+ * The key frame is the head of a cascade (`keyFrame ⇒ keyFrameSmall ⇒ the
18993
+ * lastFrame copy source`), so its absence is now on this line whatever the
18994
+ * tile ended up being.
18995
+ *
18966
18996
  * **Absent ≠ "missed silently"**: a row written before the column, a hub
18967
18997
  * that predates the field, and every track whose tile landed native all
18968
18998
  * omit it. Render nothing when absent.
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  require("../chunk-Cek0wNdY.js");
6
- const require_dist = require("../dist-Bqrg5nKS.js");
6
+ const require_dist = require("../dist-C_c_p-kP.js");
7
7
  //#region src/magic-link/auth-magic-link.addon.ts
8
8
  /**
9
9
  * Magic-link authentication addon.
@@ -1,4 +1,4 @@
1
- import { a as loginMethodCapability, c as BaseAddon, i as buildAddonRouteProvider, r as authProviderCapability, s as errMsg, t as addonRoutesCapability } from "../dist-Cn-msAsM.mjs";
1
+ import { a as loginMethodCapability, c as BaseAddon, i as buildAddonRouteProvider, r as authProviderCapability, s as errMsg, t as addonRoutesCapability } from "../dist-BfqWHC_q.mjs";
2
2
  //#region src/magic-link/auth-magic-link.addon.ts
3
3
  /**
4
4
  * Magic-link authentication addon.
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  const require_chunk = require("../chunk-Cek0wNdY.js");
6
- const require_dist = require("../dist-Bqrg5nKS.js");
6
+ const require_dist = require("../dist-C_c_p-kP.js");
7
7
  let node_crypto = require("node:crypto");
8
8
  node_crypto = require_chunk.__toESM(node_crypto);
9
9
  //#region node_modules/jose/dist/webapi/lib/buffer_utils.js
@@ -1,4 +1,4 @@
1
- import { a as loginMethodCapability, c as BaseAddon, i as buildAddonRouteProvider, r as authProviderCapability, s as errMsg, t as addonRoutesCapability } from "../dist-Cn-msAsM.mjs";
1
+ import { a as loginMethodCapability, c as BaseAddon, i as buildAddonRouteProvider, r as authProviderCapability, s as errMsg, t as addonRoutesCapability } from "../dist-BfqWHC_q.mjs";
2
2
  import * as crypto$1 from "node:crypto";
3
3
  //#region node_modules/jose/dist/webapi/lib/buffer_utils.js
4
4
  var encoder = new TextEncoder();
@@ -3,7 +3,7 @@ import "./dist-CYZr2fwk.mjs";
3
3
  var e = {
4
4
  "@camstack/sdk": {
5
5
  name: "@camstack/sdk",
6
- version: "1.2.86",
6
+ version: "1.2.87",
7
7
  scope: ["default"],
8
8
  loaded: !1,
9
9
  from: "addon_auth_webauthn_widgets",
@@ -18,7 +18,7 @@ var e = {
18
18
  },
19
19
  "@camstack/types": {
20
20
  name: "@camstack/types",
21
- version: "1.2.166",
21
+ version: "1.2.167",
22
22
  scope: ["default"],
23
23
  loaded: !1,
24
24
  from: "addon_auth_webauthn_widgets",
@@ -33,7 +33,7 @@ var e = {
33
33
  },
34
34
  "@camstack/ui-library": {
35
35
  name: "@camstack/ui-library",
36
- version: "1.2.134",
36
+ version: "1.2.135",
37
37
  scope: ["default"],
38
38
  loaded: !1,
39
39
  from: "addon_auth_webauthn_widgets",
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  const require_chunk = require("../chunk-Cek0wNdY.js");
6
- const require_dist = require("../dist-Bqrg5nKS.js");
6
+ const require_dist = require("../dist-C_c_p-kP.js");
7
7
  let stream = require("stream");
8
8
  stream = require_chunk.__toESM(stream, 1);
9
9
  let http = require("http");
@@ -1,4 +1,4 @@
1
- import { a as loginMethodCapability, c as BaseAddon, d as number, f as object, l as array, n as addonWidgetsSourceCapability, o as userPasskeysCapability, p as string, u as boolean } from "../dist-Cn-msAsM.mjs";
1
+ import { a as loginMethodCapability, c as BaseAddon, d as number, f as object, l as array, n as addonWidgetsSourceCapability, o as userPasskeysCapability, p as string, u as boolean } from "../dist-BfqWHC_q.mjs";
2
2
  import { createRequire } from "node:module";
3
3
  import Stream from "stream";
4
4
  import http from "http";
@@ -36,7 +36,7 @@ async function r() {
36
36
  }
37
37
  },
38
38
  "@camstack/types": {
39
- version: "1.2.166",
39
+ version: "1.2.167",
40
40
  scope: "default",
41
41
  shareConfig: {
42
42
  singleton: !0,
@@ -45,7 +45,7 @@ async function r() {
45
45
  }
46
46
  },
47
47
  "@camstack/sdk": {
48
- version: "1.2.86",
48
+ version: "1.2.87",
49
49
  scope: "default",
50
50
  shareConfig: {
51
51
  singleton: !0,
@@ -81,7 +81,7 @@ async function r() {
81
81
  }
82
82
  },
83
83
  "@camstack/ui-library": {
84
- version: "1.2.134",
84
+ version: "1.2.135",
85
85
  scope: "default",
86
86
  shareConfig: {
87
87
  singleton: !0,
@@ -30,7 +30,7 @@ async function d(e) {
30
30
  }
31
31
  }
32
32
  async function f() {
33
- return l ||= d(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_auth_webauthn_widgets-l9W-ktqJ.mjs")).catch((e) => {
33
+ return l ||= d(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_auth_webauthn_widgets-DIrCukqB.mjs")).catch((e) => {
34
34
  throw l = void 0, e;
35
35
  }), l;
36
36
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-auth",
3
- "version": "1.2.90",
3
+ "version": "1.2.91",
4
4
  "description": "Authentication bundle — magic-link, OIDC, and WebAuthn/passkey. Multi-entry npm package shipping 3 addons under a single bundle; each addon keeps its own id, capabilities, and runner.",
5
5
  "keywords": [
6
6
  "camstack",