@goliapkg/sentori-react-native 6.4.1 → 7.0.1

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.
Files changed (47) hide show
  1. package/README.md +25 -1
  2. package/android/src/main/java-core/com/sentori/SentoriConfig.kt +1 -1
  3. package/android/src/main/java-core/com/sentori/SentoriNativeSignals.kt +1 -2
  4. package/android/src/main/java-core/com/sentori/SentoriPush.kt +40 -13
  5. package/android/src/main/java-core/com/sentori/SentoriScope.kt +17 -1
  6. package/android/src/main/java-core/com/sentori/SentoriTransport.kt +30 -4
  7. package/android/src/test/java-core/com/sentori/SentoriPushTest.kt +1 -1
  8. package/android/src/test/java-core/com/sentori/SentoriTransportTest.kt +82 -0
  9. package/ios/core/SentoriHangWatchdog.swift +3 -3
  10. package/ios/core/SentoriThreadSampler.swift +3 -3
  11. package/lib/handlers/network.js +2 -2
  12. package/lib/handlers/network.js.map +1 -1
  13. package/lib/index.js +1 -1
  14. package/lib/index.js.map +1 -1
  15. package/lib/init.js +2 -2
  16. package/lib/init.js.map +1 -1
  17. package/lib/long-task-monitor.js +1 -1
  18. package/lib/long-task-monitor.js.map +1 -1
  19. package/lib/mobile-vitals.js +2 -2
  20. package/lib/mobile-vitals.js.map +1 -1
  21. package/lib/push.d.ts +1 -1
  22. package/lib/push.d.ts.map +1 -1
  23. package/lib/push.js +47 -15
  24. package/lib/push.js.map +1 -1
  25. package/lib/rage-tap.js +2 -2
  26. package/lib/rage-tap.js.map +1 -1
  27. package/lib/scope.d.ts.map +1 -1
  28. package/lib/scope.js +18 -1
  29. package/lib/scope.js.map +1 -1
  30. package/lib/transport.js +2 -2
  31. package/lib/transport.js.map +1 -1
  32. package/lib/verbs.js +3 -3
  33. package/lib/verbs.js.map +1 -1
  34. package/package.json +2 -2
  35. package/src/__tests__/iron-rule.test.ts +79 -1
  36. package/src/__tests__/push.test.ts +46 -8
  37. package/src/handlers/network.ts +2 -2
  38. package/src/index.ts +1 -1
  39. package/src/init.ts +2 -2
  40. package/src/long-task-monitor.ts +1 -1
  41. package/src/mobile-vitals.ts +2 -2
  42. package/src/push.ts +51 -15
  43. package/src/rage-tap.tsx +2 -2
  44. package/src/scope.ts +19 -1
  45. package/src/transport.ts +2 -2
  46. package/src/verbs.ts +3 -3
  47. package/ios/PRIVACY_AND_REVIEW.md +0 -122
package/README.md CHANGED
@@ -5,7 +5,12 @@ self-hosted crash + warning monitor for mobile apps. JS layer +
5
5
  iOS Swift + Android Kotlin native, distributed as an Expo module
6
6
  (works on bare RN too).
7
7
 
8
- Eight verbs are the whole API.
8
+ Eight methods on `sentori` are the whole reporting API — `init`,
9
+ `user`, `context`, and the five kinds `error` / `warn` / `trace` /
10
+ `assert` / `probe`. The package also exports `ErrorBoundary`,
11
+ `launch`, `pushSignal`, `registerMaskQuery`, `useTraceNavigation`,
12
+ `RageTapCapture` and `triggerNativeCrash`, which are wiring rather
13
+ than reporting.
9
14
 
10
15
  Upgrading from 4.x? See [MIGRATION.md](./MIGRATION.md).
11
16
 
@@ -56,6 +61,25 @@ sentori.assert('total-positive', ok) // what should hold (never halts)
56
61
  sentori.probe('BUG-123', data) // did that bug come back
57
62
  ```
58
63
 
64
+ ### `init()` options
65
+
66
+ Every field of `InitConfig`, checked against the type by
67
+ `scripts/check-sdk-doc-options.mjs` — a new option cannot ship
68
+ undocumented.
69
+
70
+ | Option | Type | Required | Default |
71
+ |---|---|---|---|
72
+ | `token` | `string` | yes | — |
73
+ | `ingestUrl` | `string` | yes | — |
74
+ | `release` | `string` | no | `''` — set it, or stacks cannot symbolicate |
75
+ | `environment` | `string` | no | `''` |
76
+ | `detect` | `{ rageTap?, longFreeze?, slowColdStart?, slowApi? }` | no | rageTap / longFreeze / slowColdStart on, `slowApi` off |
77
+ | `replaySeconds` | `number` | no | 60 |
78
+ | `replayScreens` | `boolean` | no | `false` — opt-in; frames may hold user content |
79
+ | `backendHealthUrl` | `string` | no | — |
80
+ | `logLevel` | `'debug' \| 'error' \| 'info' \| 'silent' \| 'warn'` | no | `'warn'` |
81
+ | `beforeSend` | `(event) => event \| null` | no | — return `null` to drop |
82
+
59
83
  Auto-wired (no configuration):
60
84
 
61
85
  - JS `error` / `unhandledrejection` global hooks
@@ -57,5 +57,5 @@ constructor(
57
57
  * direction of a lie.
58
58
  */
59
59
  object SentoriVersion {
60
- const val CURRENT = "1.7.2"
60
+ const val CURRENT = "2.0.2"
61
61
  }
@@ -9,8 +9,7 @@ package com.sentori
9
9
  * Pure-Kotlin heuristics to tag a Throwable as "originated in native
10
10
  * code" so the dashboard can show NDK crashes separately from JVM
11
11
  * crashes. Real breakpad/crashpad integration (with minidump +
12
- * dump_syms symbolicator) is queued for v1.1 — see
13
- * `docs/design/v1-roadmap.md` #7.
12
+ * dump_syms symbolicator) is not implemented.
14
13
  */
15
14
  object SentoriNativeOrigin {
16
15
 
@@ -261,9 +261,31 @@ object SentoriPush {
261
261
  }
262
262
  .apply()
263
263
  // From here on, signing in or out updates the row by itself.
264
+ // Installing this replays a sign-in that happened while the
265
+ // registration was in flight — it announced to nobody, and
266
+ // [SentoriScope] holds it until someone is listening.
264
267
  SentoriScope.setIdentityListener { identityChanged(appContext) }
265
268
  }
266
269
 
270
+ /**
271
+ * One string standing for "who this device belongs to", used only
272
+ * to answer "has it changed since the last request".
273
+ *
274
+ * Keys sorted so that two maps holding the same pairs cannot
275
+ * compare unequal on iteration order alone — that would report a
276
+ * change that did not happen and send a registration per call of a
277
+ * verb a host may call on every screen, which is the cost this
278
+ * comparison exists to avoid. Matches `identityString` in the
279
+ * Swift SDK.
280
+ */
281
+ private fun identityString(userKey: String?, traits: Map<String, Any?>?): String {
282
+ val rendered =
283
+ (traits ?: emptyMap()).entries
284
+ .sortedBy { it.key }
285
+ .joinToString("\u0001") { "${it.key}=${it.value}" }
286
+ return "${userKey ?: "-"}\u0000$rendered"
287
+ }
288
+
267
289
  /**
268
290
  * Send the registration again because the person changed.
269
291
  *
@@ -287,7 +309,7 @@ object SentoriPush {
287
309
 
288
310
  // `Sentori.user` is a verb an app may call on every screen,
289
311
  // and one request per call is not free to a host.
290
- val identity = "${SentoriScope.userKey}\u0000${SentoriScope.traits}"
312
+ val identity = identityString(SentoriScope.userKey, SentoriScope.traits)
291
313
  if (identity == lastSentIdentity) return@execute
292
314
  lastSentIdentity = identity
293
315
 
@@ -454,7 +476,7 @@ object SentoriPush {
454
476
  val ok =
455
477
  try {
456
478
  conn =
457
- URL("${config.ingestUrl}/v1/push/tokens/$handle").openConnection()
479
+ URL("${config.ingestUrl}/v1/push/devices/$handle").openConnection()
458
480
  as HttpURLConnection
459
481
  conn.requestMethod = "DELETE"
460
482
  conn.setRequestProperty("Authorization", "Bearer ${config.token}")
@@ -509,20 +531,31 @@ object SentoriPush {
509
531
  // No `env`: FCM is one host, with no sandbox and
510
532
  // production split for a token to be wrong about.
511
533
  )
534
+ // Read once. The body and the record of what the body carried
535
+ // have to describe the same person, and two reads of a value
536
+ // the host can change from any thread do not.
537
+ val userKey = SentoriScope.userKey
538
+ val traits = SentoriScope.traits
512
539
  // The same identity hash every event carries, so the dashboard
513
540
  // can address this device by the person who hit an issue.
514
541
  // Absent until the host calls `Sentori.user`.
515
- SentoriScope.userKey?.let { body["userKey"] = it }
542
+ userKey?.let { body["userKey"] = it }
516
543
  // Attributes of the person rather than of the device, kept
517
544
  // apart so a build channel called "pro" cannot answer a send
518
545
  // aimed at the pro plan. Null leaves the row's traits alone;
519
546
  // an empty map clears them, which is what signing out sends.
520
- SentoriScope.traits?.let { body["traits"] = it }
547
+ traits?.let { body["traits"] = it }
548
+ // What this request puts on the wire, recorded before it goes.
549
+ // [identityChanged] reads it back to decide whether the person
550
+ // has changed since — including while this very request was in
551
+ // flight, which is the window a host hits by calling
552
+ // `Sentori.user` right after starting push registration.
553
+ lastSentIdentity = identityString(userKey, traits)
521
554
 
522
555
  var conn: HttpURLConnection? = null
523
556
  return try {
524
557
  conn =
525
- URL("${config.ingestUrl}/v1/push/tokens").openConnection() as HttpURLConnection
558
+ URL("${config.ingestUrl}/v1/push/devices").openConnection() as HttpURLConnection
526
559
  conn.requestMethod = "POST"
527
560
  conn.setRequestProperty("Content-Type", "application/json")
528
561
  conn.setRequestProperty("Authorization", "Bearer ${config.token}")
@@ -542,15 +575,9 @@ object SentoriPush {
542
575
  // The handle is the `device_tokens` row id, a bare
543
576
  // uuid. The RN SDK parsed it as an `ipt_*` string no
544
577
  // server has ever returned.
545
- // `spToken` is the name; `token_id` is the name the
546
- // server shipped under. Reading the new one first and
547
- // falling back matters in one direction that is easy
548
- // to miss: a self-hosted deployment upgrades on its
549
- // own schedule, so an SDK newer than its server is an
550
- // ordinary state, and an SDK that only knew the new
551
- // name would fail every registration against it.
578
+ // The address, by its one name.
552
579
  val json = JSONObject(text)
553
- val handle = json.optString("spToken").ifEmpty { json.optString("token_id") }
580
+ val handle = json.optString("spToken")
554
581
  if (handle.isNullOrEmpty()) {
555
582
  Result.Failure(Failure.SERVER_REJECTED, "server returned no device token id")
556
583
  } else {
@@ -29,10 +29,24 @@ object SentoriScope {
29
29
  */
30
30
  @Volatile private var onIdentityChange: (() -> Unit)? = null
31
31
 
32
+ /** An identity change announced with no listener installed. */
33
+ @Volatile private var missedAnnounce = false
34
+
32
35
  /** Register interest in identity changes. Only push does. */
33
36
  @JvmStatic
34
37
  fun setIdentityListener(listener: (() -> Unit)?) {
35
38
  onIdentityChange = listener
39
+ // A change announced while nobody was listening was dropped,
40
+ // and nothing announces it again. Push installs this listener
41
+ // only once a registration has landed, so a host that signs
42
+ // someone in while that request is in flight reached nobody.
43
+ //
44
+ // A flag, not a queue: identity is a current value rather than
45
+ // a stream, so replaying the latest is the whole of it.
46
+ if (listener != null && missedAnnounce) {
47
+ missedAnnounce = false
48
+ runCatching { listener.invoke() }
49
+ }
36
50
  }
37
51
 
38
52
  /**
@@ -63,7 +77,8 @@ object SentoriScope {
63
77
  }
64
78
  // Outside the lock: a listener that registers a device must
65
79
  // not be holding this while it makes a request.
66
- runCatching { onIdentityChange?.invoke() }
80
+ val listener = onIdentityChange
81
+ if (listener == null) missedAnnounce = true else runCatching { listener.invoke() }
67
82
  }
68
83
 
69
84
  /** Merge keys into the ambient context. Later calls win per key. */
@@ -103,5 +118,6 @@ object SentoriScope {
103
118
  _context.clear()
104
119
  }
105
120
  onIdentityChange = null
121
+ missedAnnounce = false
106
122
  }
107
123
  }
@@ -364,20 +364,44 @@ object SentoriTransport {
364
364
  return File(dir, "pending-events.json")
365
365
  }
366
366
 
367
+ /**
368
+ * The spill is the last place a failed batch can go, so every way it
369
+ * can fail counts the batch instead of returning.
370
+ *
371
+ * Both used to be silent: no spill directory — which is the
372
+ * documented in-memory-only mode, where every failed send loses its
373
+ * batch — and a write that throws, a full disk being the ordinary
374
+ * cause. The events had already left the queue, so they existed
375
+ * nowhere, and `dropped` stayed put: the next envelope reported the
376
+ * gap as quiet. A full disk still must not become the host's
377
+ * problem, and now it is not silent either.
378
+ */
367
379
  private fun persist(events: List<Map<String, Any?>>) {
368
- val file = spillFile() ?: return
380
+ val file = spillFile() ?: return countDropped(events.size)
369
381
  try {
370
382
  val all = readPersisted().toMutableList()
371
383
  all.addAll(events)
372
384
  // Newest wins: the file has to stop growing on a device
373
- // that is offline for a week.
374
- while (all.size > MAX_PERSISTED) all.removeAt(0)
385
+ // that is offline for a week. What goes counts, the same as
386
+ // the in-memory cap.
387
+ var trimmed = 0
388
+ while (all.size > MAX_PERSISTED) {
389
+ all.removeAt(0)
390
+ trimmed += 1
391
+ }
375
392
  file.writeText(toJson(all).toString())
393
+ countDropped(trimmed)
376
394
  } catch (_: Throwable) {
377
- // A full disk must not become the host's problem.
395
+ countDropped(events.size)
378
396
  }
379
397
  }
380
398
 
399
+ /** Count a loss so the next envelope carries it as `droppedEvents`. */
400
+ private fun countDropped(n: Int) {
401
+ if (n <= 0) return
402
+ synchronized(lock) { dropped += n }
403
+ }
404
+
381
405
  private fun readPersisted(): List<Map<String, Any?>> {
382
406
  val file = spillFile() ?: return emptyList()
383
407
  if (!file.exists()) return emptyList()
@@ -465,6 +489,8 @@ object SentoriTransport {
465
489
  */
466
490
  internal fun peekDelivered(): Int = synchronized(lock) { delivered }
467
491
 
492
+ internal fun peekDropped(): Int = synchronized(lock) { dropped }
493
+
468
494
  /**
469
495
  * How many blocks are still waiting on events. Without this a test
470
496
  * cannot tell "discarded because the server refused it" from "has
@@ -525,7 +525,7 @@ class SentoriPushTest {
525
525
  }
526
526
  bodies.add(String(body, 0, read, Charsets.UTF_8))
527
527
  val payload =
528
- """{"spToken":"019ff000-0000-7000-8000-000000000001","is_new":false}"""
528
+ """{"spToken":"019ff000-0000-7000-8000-000000000001","isNew":false}"""
529
529
  c.getOutputStream().write(
530
530
  ("HTTP/1.1 202 Accepted\r\nContent-Type: application/json\r\n" +
531
531
  "Content-Length: ${payload.toByteArray().size}\r\n" +
@@ -0,0 +1,82 @@
1
+ // GENERATED MIRROR — do not edit.
2
+ // Source of truth: sdk/native/android/src/test/java/com/sentori/SentoriTransportTest.kt
3
+ // Run `node scripts/sync-native-core.mjs` after editing it.
4
+ package com.sentori
5
+
6
+ import org.junit.After
7
+ import org.junit.Assert.assertEquals
8
+ import org.junit.Assert.assertTrue
9
+ import org.junit.Before
10
+ import org.junit.Test
11
+ import org.junit.runner.RunWith
12
+ import org.robolectric.RobolectricTestRunner
13
+
14
+ /**
15
+ * The spill is the last place a failed batch can go. When it cannot be
16
+ * written the events are gone, and the only honest record of that is the
17
+ * counter the next envelope carries — the same one the in-memory cap
18
+ * uses.
19
+ *
20
+ * Deliberately the same assertion as
21
+ * `testASpillThatCannotBeWrittenIsCountedRatherThanLost` in
22
+ * `SentoriTransportTests.swift`: the two platforms disagreeing about
23
+ * what a dropped event is would show up as a dashboard that counts one
24
+ * fleet and not the other.
25
+ */
26
+ @RunWith(RobolectricTestRunner::class)
27
+ class SentoriTransportTest {
28
+
29
+ @Before
30
+ fun setUp() {
31
+ SentoriTransport.resetForTests()
32
+ SentoriConfig.resetForTests()
33
+ SentoriScope.clear()
34
+ SentoriSignalRing.clear()
35
+ }
36
+
37
+ @After
38
+ fun tearDown() {
39
+ SentoriTransport.resetForTests()
40
+ SentoriConfig.resetForTests()
41
+ }
42
+
43
+ private fun waitUntil(what: String, timeoutMs: Long = 10_000, condition: () -> Boolean) {
44
+ val deadline = System.currentTimeMillis() + timeoutMs
45
+ while (!condition() && System.currentTimeMillis() < deadline) Thread.sleep(50)
46
+ assertTrue(
47
+ "$what — not after ${timeoutMs / 1000}s; persisted: " +
48
+ "${SentoriTransport.peekPersisted().size}, " +
49
+ "queued: ${SentoriTransport.peekQueue().size}, " +
50
+ "dropped: ${SentoriTransport.peekDropped()}",
51
+ condition(),
52
+ )
53
+ }
54
+
55
+ @Test
56
+ fun aSpillThatCannotBeWrittenIsCountedRatherThanLost() {
57
+ SentoriConfig.set(
58
+ SentoriConfig(
59
+ token = "st_test",
60
+ ingestUrl = "http://127.0.0.1:9",
61
+ release = "app@1.0.0",
62
+ environment = "test",
63
+ ),
64
+ )
65
+ // Force the failure rather than arranging for it, and start
66
+ // without a spill directory: that is the in-memory-only mode,
67
+ // where a failed batch has nowhere to go.
68
+ SentoriTransport.forcedOutcomeForTests = 2 // failed
69
+ SentoriTransport.start(null)
70
+ repeat(3) { SentoriTransport.enqueue(mapOf("kind" to "error", "seq" to it)) }
71
+ SentoriTransport.flush()
72
+
73
+ waitUntil("the batch the spill could not take is counted") {
74
+ SentoriTransport.peekDropped() == 3
75
+ }
76
+ assertEquals(
77
+ "and nothing was written, which is the premise",
78
+ 0,
79
+ SentoriTransport.peekPersisted().size,
80
+ )
81
+ }
82
+ }
@@ -108,9 +108,9 @@ import Foundation
108
108
  let release = (cfg["release"] as? String) ?? "unknown"
109
109
  let environment = (cfg["environment"] as? String) ?? "prod"
110
110
 
111
- // Phase 29 sub-A: try the Mach-based main-thread sampler first.
112
- // It walks main's frame pointer chain via thread_get_state +
113
- // vm_read_overwrite (see PRIVACY_AND_REVIEW.md). Returns [] on
111
+ // Try the Mach-based main-thread sampler first. It walks
112
+ // main's frame pointer chain via thread_get_state +
113
+ // vm_read_overwrite. Returns [] on
114
114
  // non-arm64 platforms or if installMainThreadHandle was never
115
115
  // called from main; we then fall back to this thread's own
116
116
  // stack — biased toward dispatch machinery but better than
@@ -5,10 +5,10 @@ import Foundation
5
5
 
6
6
  /// Captures the main thread's program-counter chain for hang reporting.
7
7
  ///
8
- /// Phase 29 sub-A. Used by `SentoriHangWatchdog` to fill an `anr` event's
8
+ /// Used by `SentoriHangWatchdog` to fill an `anr` event's
9
9
  /// `frames[].instructionAddress`. Server-side symbolicates against the
10
- /// uploaded dSYM (Phase 22 sub-B). API surface and App Store review notes
11
- /// are in `PRIVACY_AND_REVIEW.md`.
10
+ /// uploaded dSYM. Only public, documented Mach APIs are used, and no
11
+ /// frame is read from any thread but main.
12
12
  ///
13
13
  /// arm64-only. On non-arm64 (Intel Mac simulators) `captureMainThreadFrames`
14
14
  /// returns an empty array; the watchdog falls back to its previous
@@ -1,6 +1,6 @@
1
1
  // Network instrumentation — v1 role: feed the signal ring (`http`
2
- // signals) and detect the slow_api warn scenario (design.md §3,
3
- // category C: 「转圈不完」server-side flavour). The span/breadcrumb
2
+ // signals) and detect the slow_api warn scenario (category C:
3
+ // 「转圈不完」server-side flavour). The span/breadcrumb
4
4
  // machinery this file used to drive is gone with the APM vocabulary.
5
5
  //
6
6
  // Mini-spec (slow_api): a completed request slower than 3 s emits
@@ -1 +1 @@
1
- {"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/handlers/network.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/handlers/network.ts"],"names":[],"mappings":"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"}
package/lib/index.js CHANGED
@@ -1,4 +1,4 @@
1
- // @goliapkg/sentori-react-native — the 8-verb surface (design.md §4).
1
+ // @goliapkg/sentori-react-native — the 8-verb surface.
2
2
  //
3
3
  // sentori.init(config) sentori.user(u) sentori.context(patch)
4
4
  // sentori.error(err) sentori.warn(name) sentori.trace(name)
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,EAAE;AACF,uEAAuE;AACvE,oEAAoE;AACpE,8CAA8C;AAC9C,EAAE;AACF,gEAAgE;AAChE,oEAAoE;AACpE,qEAAqE;AACrE,8DAA8D;AAE9D,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAShC,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,2DAA2D;IAC3D,IAAI,EAAE,CAAC,MAAkB,EAAQ,EAAE;QACjC,IAAI,CAAC,MAAM,CAAC,CAAC;IACf,CAAC;IACD;;4CAEwC;IACxC,IAAI,EAAE,CAAC,CAAc,EAAQ,EAAE;QAC7B,OAAO,CAAC,CAAC,CAAC,CAAC;IACb,CAAC;IACD;8CAC0C;IAC1C,OAAO,EAAE,CAAC,KAA8B,EAAQ,EAAE;QAChD,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;IAED;sEACkE;IAClE,KAAK,EAAE,CAAC,GAAY,EAAE,IAAgB,EAAU,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC;IACzE,kDAAkD;IAClD,IAAI,EAAE,CAAC,IAAY,EAAE,IAAgB,EAAU,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;IACxE;6DACyD;IACzD,KAAK,EAAE,CAAC,IAAY,EAAE,IAAgB,EAAE,IAAmB,EAAU,EAAE,CACrE,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;IAC/B;;mDAE+C;IAC/C,MAAM,EAAE,CAAC,IAAY,EAAE,EAAW,EAAE,IAAgB,EAAU,EAAE,CAC9D,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC;IAC9B;;qCAEiC;IACjC,KAAK,EAAE,CAAC,GAAW,EAAE,IAAgB,EAAU,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC;CACzE,CAAC;AAEF,eAAe,OAAO,CAAC;AAEvB,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,6DAA6D;AAC7D,oEAAoE;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,kEAAkE;AAClE,qEAAqE;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAA0B,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAoB1E,mDAAmD;AACnD,OAAO,EACL,WAAW,EAEX,WAAW,EAEX,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAEhC,mEAAmE;AACnE,+DAA+D;AAC/D,oEAAoE;AACpE,6DAA6D;AAC7D,EAAE;AACF,+CAA+C;AAC/C,mEAAmE;AACnE,iEAAiE;AACjE,wDAAwD;AACxD,yDAAyD;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,qEAAqE;AACrE,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,EAAE;AACF,uEAAuE;AACvE,oEAAoE;AACpE,8CAA8C;AAC9C,EAAE;AACF,gEAAgE;AAChE,oEAAoE;AACpE,qEAAqE;AACrE,8DAA8D;AAE9D,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAShC,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,2DAA2D;IAC3D,IAAI,EAAE,CAAC,MAAkB,EAAQ,EAAE;QACjC,IAAI,CAAC,MAAM,CAAC,CAAC;IACf,CAAC;IACD;;4CAEwC;IACxC,IAAI,EAAE,CAAC,CAAc,EAAQ,EAAE;QAC7B,OAAO,CAAC,CAAC,CAAC,CAAC;IACb,CAAC;IACD;8CAC0C;IAC1C,OAAO,EAAE,CAAC,KAA8B,EAAQ,EAAE;QAChD,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;IAED;sEACkE;IAClE,KAAK,EAAE,CAAC,GAAY,EAAE,IAAgB,EAAU,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC;IACzE,kDAAkD;IAClD,IAAI,EAAE,CAAC,IAAY,EAAE,IAAgB,EAAU,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;IACxE;6DACyD;IACzD,KAAK,EAAE,CAAC,IAAY,EAAE,IAAgB,EAAE,IAAmB,EAAU,EAAE,CACrE,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;IAC/B;;mDAE+C;IAC/C,MAAM,EAAE,CAAC,IAAY,EAAE,EAAW,EAAE,IAAgB,EAAU,EAAE,CAC9D,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC;IAC9B;;qCAEiC;IACjC,KAAK,EAAE,CAAC,GAAW,EAAE,IAAgB,EAAU,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC;CACzE,CAAC;AAEF,eAAe,OAAO,CAAC;AAEvB,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,6DAA6D;AAC7D,oEAAoE;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,kEAAkE;AAClE,qEAAqE;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAA0B,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAoB1E,mDAAmD;AACnD,OAAO,EACL,WAAW,EAEX,WAAW,EAEX,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAEhC,mEAAmE;AACnE,+DAA+D;AAC/D,oEAAoE;AACpE,6DAA6D;AAC7D,EAAE;AACF,+CAA+C;AAC/C,mEAAmE;AACnE,iEAAiE;AACjE,wDAAwD;AACxD,yDAAyD;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,qEAAqE;AACrE,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC"}
package/lib/init.js CHANGED
@@ -1,5 +1,5 @@
1
1
  // sentori.init(config) — the single configuration entry point
2
- // (design.md §4). Synchronous, never throws; a bad config degrades
2
+ // Synchronous, never throws; a bad config degrades
3
3
  // every verb to a no-op with one console.warn, never a crash
4
4
  // (failure-isolation iron rule).
5
5
  import { safeFn, setLogLevel } from '@goliapkg/sentori-core';
@@ -55,7 +55,7 @@ export const init = safeFn('init', (config) => {
55
55
  installPromiseHandler();
56
56
  installNetworkHandler();
57
57
  installLifecycleHandler();
58
- // Warn-scenario detectors (design.md §3 minimum set). rage_tap
58
+ // Warn-scenario detectors, the minimum set. rage_tap
59
59
  // rides the RageTapCapture component; the rest start here.
60
60
  if (config.detect?.longFreeze !== false)
61
61
  startLongTaskMonitor();
package/lib/init.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- // long_freeze — detected warn scenario (design.md §3, category B:
1
+ // long_freeze — detected warn scenario (category B:
2
2
  // 「app 卡住了 / 死了几秒」), JS-thread side.
3
3
  //
4
4
  // Mini-spec: a setInterval(50 ms) tick measures wall-clock drift.
@@ -1 +1 @@
1
- {"version":3,"file":"long-task-monitor.js","sourceRoot":"","sources":["../src/long-task-monitor.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,qCAAqC;AACrC,EAAE;AACF,kEAAkE;AAClE,8DAA8D;AAC9D,8DAA8D;AAC9D,oEAAoE;AACpE,gEAAgE;AAChE,6BAA6B;AAC7B,EAAE;AACF,gEAAgE;AAChE,oEAAoE;AACpE,8DAA8D;AAC9D,uCAAuC;AAEvC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAC5B,MAAM,mBAAmB,GAAG,GAAG,CAAC,CAAC,8BAA8B;AAC/D,MAAM,iBAAiB,GAAG,KAAK,CAAC,CAAC,4BAA4B;AAC7D,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAE5B,IAAI,MAAM,GAA0C,IAAI,CAAC;AACzD,IAAI,SAAS,GAAG,CAAC,CAAC;AAClB,IAAI,gBAAgB,GAAG,CAAC,CAAC;AACzB,IAAI,gBAAgB,GAAG,CAAC,CAAC;AAEzB,MAAM,UAAU,oBAAoB;IAClC,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO;IAC5B,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,gBAAgB,GAAG,SAAS,CAAC;IAC7B,gBAAgB,GAAG,CAAC,CAAC;IACrB,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAC5C,MAA4C,CAAC,KAAK,EAAE,EAAE,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,aAAa,CAAC,MAAM,CAAC,CAAC;QACtB,MAAM,GAAG,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,SAAS,IAAI;IACX,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,OAAO,GAAG,GAAG,GAAG,SAAS,CAAC;IAChC,SAAS,GAAG,GAAG,CAAC;IAChB,MAAM,GAAG,GAAG,OAAO,GAAG,gBAAgB,CAAC;IACvC,IAAI,GAAG,IAAI,mBAAmB;QAAE,OAAO;IAEvC,UAAU,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACrD,IAAI,GAAG,IAAI,iBAAiB;QAAE,OAAO;IAErC,IAAI,GAAG,GAAG,gBAAgB,IAAI,MAAM,EAAE,CAAC;QACrC,gBAAgB,GAAG,GAAG,CAAC;QACvB,gBAAgB,GAAG,CAAC,CAAC;IACvB,CAAC;IACD,IAAI,gBAAgB,IAAI,iBAAiB;QAAE,OAAO;IAClD,gBAAgB,IAAI,CAAC,CAAC;IAEtB,YAAY,CACV,aAAa,EACb,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,EAC3B,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAC7C,CAAC;AACJ,CAAC;AAED,iBAAiB;AACjB,MAAM,UAAU,8BAA8B;IAC5C,mBAAmB,EAAE,CAAC;IACtB,SAAS,GAAG,CAAC,CAAC;IACd,gBAAgB,GAAG,CAAC,CAAC;IACrB,gBAAgB,GAAG,CAAC,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"long-task-monitor.js","sourceRoot":"","sources":["../src/long-task-monitor.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,qCAAqC;AACrC,EAAE;AACF,kEAAkE;AAClE,8DAA8D;AAC9D,8DAA8D;AAC9D,oEAAoE;AACpE,gEAAgE;AAChE,6BAA6B;AAC7B,EAAE;AACF,gEAAgE;AAChE,oEAAoE;AACpE,8DAA8D;AAC9D,uCAAuC;AAEvC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAC5B,MAAM,mBAAmB,GAAG,GAAG,CAAC,CAAC,8BAA8B;AAC/D,MAAM,iBAAiB,GAAG,KAAK,CAAC,CAAC,4BAA4B;AAC7D,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAE5B,IAAI,MAAM,GAA0C,IAAI,CAAC;AACzD,IAAI,SAAS,GAAG,CAAC,CAAC;AAClB,IAAI,gBAAgB,GAAG,CAAC,CAAC;AACzB,IAAI,gBAAgB,GAAG,CAAC,CAAC;AAEzB,MAAM,UAAU,oBAAoB;IAClC,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO;IAC5B,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,gBAAgB,GAAG,SAAS,CAAC;IAC7B,gBAAgB,GAAG,CAAC,CAAC;IACrB,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAC5C,MAA4C,CAAC,KAAK,EAAE,EAAE,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,aAAa,CAAC,MAAM,CAAC,CAAC;QACtB,MAAM,GAAG,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,SAAS,IAAI;IACX,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,OAAO,GAAG,GAAG,GAAG,SAAS,CAAC;IAChC,SAAS,GAAG,GAAG,CAAC;IAChB,MAAM,GAAG,GAAG,OAAO,GAAG,gBAAgB,CAAC;IACvC,IAAI,GAAG,IAAI,mBAAmB;QAAE,OAAO;IAEvC,UAAU,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACrD,IAAI,GAAG,IAAI,iBAAiB;QAAE,OAAO;IAErC,IAAI,GAAG,GAAG,gBAAgB,IAAI,MAAM,EAAE,CAAC;QACrC,gBAAgB,GAAG,GAAG,CAAC;QACvB,gBAAgB,GAAG,CAAC,CAAC;IACvB,CAAC;IACD,IAAI,gBAAgB,IAAI,iBAAiB;QAAE,OAAO;IAClD,gBAAgB,IAAI,CAAC,CAAC;IAEtB,YAAY,CACV,aAAa,EACb,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,EAC3B,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAC7C,CAAC;AACJ,CAAC;AAED,iBAAiB;AACjB,MAAM,UAAU,8BAA8B;IAC5C,mBAAmB,EAAE,CAAC;IACtB,SAAS,GAAG,CAAC,CAAC;IACd,gBAAgB,GAAG,CAAC,CAAC;IACrB,gBAAgB,GAAG,CAAC,CAAC;AACvB,CAAC"}
@@ -1,5 +1,5 @@
1
- // slow_cold_start — detected warn scenario (design.md §3, category
2
- // C: 「启动过慢」).
1
+ // slow_cold_start — detected warn scenario (category C:
2
+ // 「启动过慢」).
3
3
  //
4
4
  // Mini-spec: the native side measures launch → JS-ready (iOS
5
5
  // mach_absolute_time / Android Process.getStartElapsedRealtime);
@@ -1 +1 @@
1
- {"version":3,"file":"mobile-vitals.js","sourceRoot":"","sources":["../src/mobile-vitals.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,cAAc;AACd,EAAE;AACF,6DAA6D;AAC7D,iEAAiE;AACjE,gEAAgE;AAChE,oEAAoE;AACpE,iEAAiE;AACjE,EAAE;AACF,oEAAoE;AACpE,6DAA6D;AAC7D,kEAAkE;AAClE,kEAAkE;AAClE,kEAAkE;AAClE,kEAAkE;AAClE,iDAAiD;AACjD,EAAE;AACF,+DAA+D;AAC/D,UAAU;AAEV,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,OAAO,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,kBAAkB,GAAG,KAAK,CAAC;AAEjC,IAAI,YAAY,GAAkB,IAAI,CAAC;AACvC,IAAI,mBAAmB,GAAG,KAAK,CAAC;AAChC,IAAI,kBAAkB,GAAG,KAAK,CAAC;AAE/B,gEAAgE;AAChE,MAAM,UAAU,cAAc;IAC5B,IAAI,kBAAkB;QAAE,OAAO,YAAY,CAAC;IAC5C,kBAAkB,GAAG,IAAI,CAAC;IAC1B,IAAI,CAAC;QACH,YAAY,GAAG,oBAAoB,EAAE,CAAC;QACtC,mBAAmB,GAAG,2BAA2B,EAAE,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC;QACP,YAAY,GAAG,IAAI,CAAC;IACtB,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;6CAC6C;AAC7C,MAAM,UAAU,oBAAoB;IAClC,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,cAAc,CAAC,aAAsB;IACnD,MAAM,EAAE,GAAG,cAAc,EAAE,CAAC;IAC5B,IAAI,EAAE,KAAK,IAAI;QAAE,OAAO;IACxB,MAAM,SAAS,GAAG,oBAAoB,EAAE,CAAC;IACzC,UAAU,CAAC,WAAW,EAAE;QACtB,KAAK,EAAE,YAAY;QACnB,EAAE;QACF,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1C,CAAC,CAAC;IACH,IAAI,aAAa,IAAI,CAAC,SAAS,IAAI,EAAE,GAAG,kBAAkB,EAAE,CAAC;QAC3D,YAAY,CAAC,iBAAiB,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAC5F,CAAC;AACH,CAAC;AAED,iBAAiB;AACjB,MAAM,UAAU,2BAA2B;IACzC,kBAAkB,GAAG,KAAK,CAAC;IAC3B,YAAY,GAAG,IAAI,CAAC;IACpB,mBAAmB,GAAG,KAAK,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"mobile-vitals.js","sourceRoot":"","sources":["../src/mobile-vitals.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,WAAW;AACX,EAAE;AACF,6DAA6D;AAC7D,iEAAiE;AACjE,gEAAgE;AAChE,oEAAoE;AACpE,iEAAiE;AACjE,EAAE;AACF,oEAAoE;AACpE,6DAA6D;AAC7D,kEAAkE;AAClE,kEAAkE;AAClE,kEAAkE;AAClE,kEAAkE;AAClE,iDAAiD;AACjD,EAAE;AACF,+DAA+D;AAC/D,UAAU;AAEV,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,OAAO,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,kBAAkB,GAAG,KAAK,CAAC;AAEjC,IAAI,YAAY,GAAkB,IAAI,CAAC;AACvC,IAAI,mBAAmB,GAAG,KAAK,CAAC;AAChC,IAAI,kBAAkB,GAAG,KAAK,CAAC;AAE/B,gEAAgE;AAChE,MAAM,UAAU,cAAc;IAC5B,IAAI,kBAAkB;QAAE,OAAO,YAAY,CAAC;IAC5C,kBAAkB,GAAG,IAAI,CAAC;IAC1B,IAAI,CAAC;QACH,YAAY,GAAG,oBAAoB,EAAE,CAAC;QACtC,mBAAmB,GAAG,2BAA2B,EAAE,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC;QACP,YAAY,GAAG,IAAI,CAAC;IACtB,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;6CAC6C;AAC7C,MAAM,UAAU,oBAAoB;IAClC,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,cAAc,CAAC,aAAsB;IACnD,MAAM,EAAE,GAAG,cAAc,EAAE,CAAC;IAC5B,IAAI,EAAE,KAAK,IAAI;QAAE,OAAO;IACxB,MAAM,SAAS,GAAG,oBAAoB,EAAE,CAAC;IACzC,UAAU,CAAC,WAAW,EAAE;QACtB,KAAK,EAAE,YAAY;QACnB,EAAE;QACF,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1C,CAAC,CAAC;IACH,IAAI,aAAa,IAAI,CAAC,SAAS,IAAI,EAAE,GAAG,kBAAkB,EAAE,CAAC;QAC3D,YAAY,CAAC,iBAAiB,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAC5F,CAAC;AACH,CAAC;AAED,iBAAiB;AACjB,MAAM,UAAU,2BAA2B;IACzC,kBAAkB,GAAG,KAAK,CAAC;IAC3B,YAAY,GAAG,IAAI,CAAC;IACpB,mBAAmB,GAAG,KAAK,CAAC;AAC9B,CAAC"}
package/lib/push.d.ts CHANGED
@@ -80,7 +80,7 @@ export type PushNotificationPayload = {
80
80
  */
81
81
  export declare function register(opts?: PushRegisterOptions): Promise<PushRegisterResult>;
82
82
  /**
83
- * Revoke the cached handle (DELETE /v1/push/tokens/{ipt}) +
83
+ * Revoke the cached handle (DELETE /v1/push/devices/{ipt}) +
84
84
  * unregister locally. Idempotent — repeat calls are no-ops.
85
85
  */
86
86
  export declare function unregister(): Promise<void>;
package/lib/push.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../src/push.ts"],"names":[],"mappings":"AAqCA,OAAO,EAEL,aAAa,EAEb,qBAAqB,EAEtB,MAAM,aAAa,CAAA;AAsCpB,MAAM,MAAM,mBAAmB,GAAG;IAChC;;;;;;mEAM+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClC;kDAC8C;IAC9C,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,uBAAuB,KAAK,IAAI,CAAA;IACtD,sDAAsD;IACtD,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IAC/B;iEAC6D;IAC7D,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B;;yBAEqB;IACrB,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAA;IAC9B;;;kBAGc;IACd,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,CAAA;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,mBAAmB,GAC3B,iBAAiB,GACjB,cAAc,GACd,mBAAmB,GACnB,iBAAiB,GACjB,eAAe,CAAA;AAEnB;;;;mCAImC;AACnC,MAAM,MAAM,kBAAkB,GAC1B;IACE,EAAE,EAAE,IAAI,CAAA;IACR;;oDAEgD;IAChD,GAAG,EAAE,MAAM,CAAA;CACZ,GACD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,mBAAmB,CAAA;CAAE,CAAA;AAE/D,MAAM,MAAM,uBAAuB,GAAG;IACpC,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClC,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,QAAQ,CAAC,IAAI,GAAE,mBAAwB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA6C1F;AAmDD;;;GAGG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAoBhD;AAED;4DAC4D;AAC5D,wBAAgB,YAAY,IAAI,IAAI,GAAG,MAAM,CAE5C;AAED,sDAAsD;AACtD,OAAO,EAAE,aAAa,IAAI,SAAS,EAAE,qBAAqB,IAAI,iBAAiB,EAAE,CAAA;AA+RjF;oEACoE;AACpE,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAEhE;AA4HD;;+DAE+D;AAC/D,wBAAgB,eAAe,IAAI,IAAI,CAWtC;AAID;qCACqC;AACrC,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI,CAEnF"}
1
+ {"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../src/push.ts"],"names":[],"mappings":"AAqCA,OAAO,EAEL,aAAa,EAEb,qBAAqB,EAEtB,MAAM,aAAa,CAAA;AAsCpB,MAAM,MAAM,mBAAmB,GAAG;IAChC;;;;;;mEAM+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClC;kDAC8C;IAC9C,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,uBAAuB,KAAK,IAAI,CAAA;IACtD,sDAAsD;IACtD,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IAC/B;iEAC6D;IAC7D,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B;;yBAEqB;IACrB,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAA;IAC9B;;;kBAGc;IACd,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,CAAA;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,mBAAmB,GAC3B,iBAAiB,GACjB,cAAc,GACd,mBAAmB,GACnB,iBAAiB,GACjB,eAAe,CAAA;AAEnB;;;;mCAImC;AACnC,MAAM,MAAM,kBAAkB,GAC1B;IACE,EAAE,EAAE,IAAI,CAAA;IACR;;oDAEgD;IAChD,GAAG,EAAE,MAAM,CAAA;CACZ,GACD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,mBAAmB,CAAA;CAAE,CAAA;AAE/D,MAAM,MAAM,uBAAuB,GAAG;IACpC,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClC,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,QAAQ,CAAC,IAAI,GAAE,mBAAwB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAmD1F;AAuED;;;GAGG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAoBhD;AAED;4DAC4D;AAC5D,wBAAgB,YAAY,IAAI,IAAI,GAAG,MAAM,CAE5C;AAED,sDAAsD;AACtD,OAAO,EAAE,aAAa,IAAI,SAAS,EAAE,qBAAqB,IAAI,iBAAiB,EAAE,CAAA;AAySjF;oEACoE;AACpE,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAEhE;AA4HD;;+DAE+D;AAC/D,wBAAgB,eAAe,IAAI,IAAI,CAWtC;AAID;qCACqC;AACrC,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI,CAEnF"}