platform-types 1.10.743 → 1.10.744

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/dist/auth.d.ts CHANGED
@@ -613,10 +613,9 @@ declare global {
613
613
  * no single principal to attribute the row to. Never render "no login
614
614
  * attempts" as "nobody tried".
615
615
  *
616
- * `jti` is the same identifier as `CustomerSession.jti`, so a `success` row
617
- * can be joined to the session it created — that is how a customer tells
618
- * "this unfamiliar sign-in is the device still listed as live" from "it has
619
- * since expired".
616
+ * No login-history row carries the refresh token id (`jti`) on any surface:
617
+ * a session handle is published only on the session lists
618
+ * (`CustomerSession.jti` / `OperatorSession.jti`), whose revoke flows use it.
620
619
  */
621
620
  interface CustomerLoginAttempt {
622
621
  outcome: LoginOutcome;
@@ -629,8 +628,10 @@ declare global {
629
628
  /** Client build string, when the caller sent one. */
630
629
  clientVersion?: string;
631
630
  /**
632
- * The refresh token id this attempt minted. Present on `success` rows
633
- * only, and joins to `CustomerSession.jti`.
631
+ * @deprecated Never sent. The row stores the refresh token id a success
632
+ * minted, but no login-history read publishes it; the session lists carry
633
+ * the handle a revoke needs. Kept so a consumer that still reads it (as a
634
+ * React key fallback, say) compiles — it is simply always absent.
634
635
  */
635
636
  jti?: string;
636
637
  /**
package/dist/log.d.ts CHANGED
@@ -51,8 +51,16 @@ declare global {
51
51
  entry: FiscalAuditLogRow;
52
52
  }) | (AuditHistoryRowBase & {
53
53
  surface: 'loginHistory';
54
- entry: Omit<CustomerLoginAttempt, 'ttl'>;
54
+ entry: AuditHistoryLoginEntry;
55
55
  });
56
+ /**
57
+ * A `loginHistory` history row's `entry`: the attempt WITHOUT its address, agent or token id.
58
+ * `GET /logs?mode=history` is IP-free for every role and lens; only the staff-only audit export
59
+ * file ({@link AuditExportLoginEntry}) carries `ip` and `userAgent`, and no surface carries `jti`.
60
+ */
61
+ type AuditHistoryLoginEntry = Omit<CustomerLoginAttempt, 'ttl' | 'ip' | 'userAgent' | 'jti'>;
62
+ /** A `loginHistory` audit export row's `entry`: the history entry plus the stored `ip` and `userAgent`. */
63
+ type AuditExportLoginEntry = AuditHistoryLoginEntry & Pick<CustomerLoginAttempt, 'ip' | 'userAgent'>;
56
64
  /**
57
65
  * How much of one surface this page covers. `complete` means the surface has
58
66
  * nothing older in the range; `paging` means it has more; `incomplete` means a
@@ -96,7 +104,13 @@ declare global {
96
104
  coverage: AuditHistorySourceCoverage[];
97
105
  }
98
106
  type AuditExportTier = 'hot' | 'cold' | 'cold-error-output';
99
- type AuditExportRow = AuditHistoryRow & {
107
+ /** A history row as the export captures it; a `loginHistory` row's `entry` keeps `ip`/`userAgent`. */
108
+ type AuditExportRow = (Exclude<AuditHistoryRow, {
109
+ surface: 'loginHistory';
110
+ }> | (AuditHistoryRowBase & {
111
+ surface: 'loginHistory';
112
+ entry: AuditExportLoginEntry;
113
+ })) & {
100
114
  tier: AuditExportTier;
101
115
  };
102
116
  interface AuditExportColdCoverage {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "platform-types",
3
- "version": "1.10.743",
3
+ "version": "1.10.744",
4
4
  "description": "Shared wire and entity contracts for the platform.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",