@chipmobilesdk/rn-notification 0.6.0 → 0.7.0

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 (647) hide show
  1. package/CHANGELOG.md +111 -0
  2. package/README.md +8 -6
  3. package/lib/commonjs/advanced.js +139 -0
  4. package/lib/commonjs/advanced.js.map +1 -0
  5. package/lib/commonjs/channel/migrate.js +246 -0
  6. package/lib/commonjs/channel/migrate.js.map +1 -0
  7. package/lib/commonjs/channel/tone-map.js +120 -0
  8. package/lib/commonjs/channel/tone-map.js.map +1 -0
  9. package/lib/commonjs/channel/validate-tone.js +61 -0
  10. package/lib/commonjs/channel/validate-tone.js.map +1 -0
  11. package/lib/commonjs/contract/channel.js +52 -0
  12. package/lib/commonjs/contract/channel.js.map +1 -0
  13. package/lib/commonjs/contract/diagnostics.js +25 -0
  14. package/lib/commonjs/contract/diagnostics.js.map +1 -0
  15. package/lib/commonjs/contract/errors.js +126 -0
  16. package/lib/commonjs/contract/errors.js.map +1 -0
  17. package/lib/commonjs/contract/hash.js +35 -0
  18. package/lib/commonjs/contract/hash.js.map +1 -0
  19. package/lib/commonjs/contract/index.js +94 -0
  20. package/lib/commonjs/contract/index.js.map +1 -0
  21. package/lib/commonjs/contract/interaction.js +37 -0
  22. package/lib/commonjs/contract/interaction.js.map +1 -0
  23. package/lib/commonjs/contract/notification.js +42 -0
  24. package/lib/commonjs/contract/notification.js.map +1 -0
  25. package/lib/commonjs/contract/permission.js +2 -0
  26. package/lib/commonjs/contract/permission.js.map +1 -0
  27. package/lib/commonjs/contract/reconcile.js +6 -0
  28. package/lib/commonjs/contract/reconcile.js.map +1 -0
  29. package/lib/commonjs/contract/recurrence.js +53 -0
  30. package/lib/commonjs/contract/recurrence.js.map +1 -0
  31. package/lib/commonjs/diagnostics/burst.js +89 -0
  32. package/lib/commonjs/diagnostics/burst.js.map +1 -0
  33. package/lib/commonjs/diagnostics/events.js +63 -0
  34. package/lib/commonjs/diagnostics/events.js.map +1 -0
  35. package/lib/commonjs/diagnostics/redact.js +48 -0
  36. package/lib/commonjs/diagnostics/redact.js.map +1 -0
  37. package/lib/commonjs/diagnostics/snapshot.js +68 -0
  38. package/lib/commonjs/diagnostics/snapshot.js.map +1 -0
  39. package/lib/commonjs/engine/adapter.js +6 -0
  40. package/lib/commonjs/engine/adapter.js.map +1 -0
  41. package/lib/commonjs/engine/codec.js +84 -0
  42. package/lib/commonjs/engine/codec.js.map +1 -0
  43. package/lib/commonjs/engine/notify-kit/events.js +148 -0
  44. package/lib/commonjs/engine/notify-kit/events.js.map +1 -0
  45. package/lib/commonjs/engine/notify-kit/module.js +119 -0
  46. package/lib/commonjs/engine/notify-kit/module.js.map +1 -0
  47. package/lib/commonjs/engine/notify-kit/platform/android.js +159 -0
  48. package/lib/commonjs/engine/notify-kit/platform/android.js.map +1 -0
  49. package/lib/commonjs/engine/notify-kit/platform/index.js +57 -0
  50. package/lib/commonjs/engine/notify-kit/platform/index.js.map +1 -0
  51. package/lib/commonjs/engine/notify-kit/platform/ios.js +54 -0
  52. package/lib/commonjs/engine/notify-kit/platform/ios.js.map +1 -0
  53. package/lib/commonjs/engine/notify-kit/platform/types.js +6 -0
  54. package/lib/commonjs/engine/notify-kit/platform/types.js.map +1 -0
  55. package/lib/commonjs/engine/notify-kit-engine.js +260 -0
  56. package/lib/commonjs/engine/notify-kit-engine.js.map +1 -0
  57. package/lib/commonjs/index.js +367 -0
  58. package/lib/commonjs/index.js.map +1 -0
  59. package/lib/commonjs/initialize.js +187 -0
  60. package/lib/commonjs/initialize.js.map +1 -0
  61. package/lib/commonjs/interaction/index.js +120 -0
  62. package/lib/commonjs/interaction/index.js.map +1 -0
  63. package/lib/commonjs/maintenance/cycle.js +108 -0
  64. package/lib/commonjs/maintenance/cycle.js.map +1 -0
  65. package/lib/commonjs/maintenance/permission-refresh.js +39 -0
  66. package/lib/commonjs/maintenance/permission-refresh.js.map +1 -0
  67. package/lib/commonjs/maintenance/reanchor.js +99 -0
  68. package/lib/commonjs/maintenance/reanchor.js.map +1 -0
  69. package/lib/commonjs/maintenance/toggle.js +50 -0
  70. package/lib/commonjs/maintenance/toggle.js.map +1 -0
  71. package/lib/commonjs/maintenance/verify.js +70 -0
  72. package/lib/commonjs/maintenance/verify.js.map +1 -0
  73. package/lib/commonjs/maintenance/window-refresh.js +53 -0
  74. package/lib/commonjs/maintenance/window-refresh.js.map +1 -0
  75. package/lib/commonjs/notifications.js +161 -0
  76. package/lib/commonjs/notifications.js.map +1 -0
  77. package/lib/commonjs/package.json +1 -0
  78. package/lib/commonjs/permission/index.js +182 -0
  79. package/lib/commonjs/permission/index.js.map +1 -0
  80. package/lib/commonjs/permission/state.js +92 -0
  81. package/lib/commonjs/permission/state.js.map +1 -0
  82. package/lib/commonjs/push/envelope.js +141 -0
  83. package/lib/commonjs/push/envelope.js.map +1 -0
  84. package/lib/commonjs/push/fcm-provider.js +122 -0
  85. package/lib/commonjs/push/fcm-provider.js.map +1 -0
  86. package/lib/commonjs/push/gate.js +162 -0
  87. package/lib/commonjs/push/gate.js.map +1 -0
  88. package/lib/commonjs/push/index.js +47 -0
  89. package/lib/commonjs/push/index.js.map +1 -0
  90. package/lib/commonjs/push/instructions.js +101 -0
  91. package/lib/commonjs/push/instructions.js.map +1 -0
  92. package/lib/commonjs/push/provider-adapter.js +6 -0
  93. package/lib/commonjs/push/provider-adapter.js.map +1 -0
  94. package/lib/commonjs/push/signout.js +55 -0
  95. package/lib/commonjs/push/signout.js.map +1 -0
  96. package/lib/commonjs/reconcile/chunk.js +49 -0
  97. package/lib/commonjs/reconcile/chunk.js.map +1 -0
  98. package/lib/commonjs/reconcile/diff.js +105 -0
  99. package/lib/commonjs/reconcile/diff.js.map +1 -0
  100. package/lib/commonjs/reconcile/duplicates.js +60 -0
  101. package/lib/commonjs/reconcile/duplicates.js.map +1 -0
  102. package/lib/commonjs/reconcile/index.js +164 -0
  103. package/lib/commonjs/reconcile/index.js.map +1 -0
  104. package/lib/commonjs/reconcile/truncate.js +50 -0
  105. package/lib/commonjs/reconcile/truncate.js.map +1 -0
  106. package/lib/commonjs/recurrence/clock-guard.js +65 -0
  107. package/lib/commonjs/recurrence/clock-guard.js.map +1 -0
  108. package/lib/commonjs/recurrence/expand.js +254 -0
  109. package/lib/commonjs/recurrence/expand.js.map +1 -0
  110. package/lib/commonjs/recurrence/index.js +212 -0
  111. package/lib/commonjs/recurrence/index.js.map +1 -0
  112. package/lib/commonjs/repeat/expiry.js +41 -0
  113. package/lib/commonjs/repeat/expiry.js.map +1 -0
  114. package/lib/commonjs/repeat/index.js +100 -0
  115. package/lib/commonjs/repeat/index.js.map +1 -0
  116. package/lib/commonjs/repeat/marker.js +58 -0
  117. package/lib/commonjs/repeat/marker.js.map +1 -0
  118. package/lib/commonjs/repeat/place.js +83 -0
  119. package/lib/commonjs/repeat/place.js.map +1 -0
  120. package/lib/commonjs/schedule/anchor.js +243 -0
  121. package/lib/commonjs/schedule/anchor.js.map +1 -0
  122. package/lib/commonjs/schedule/index.js +142 -0
  123. package/lib/commonjs/schedule/index.js.map +1 -0
  124. package/lib/commonjs/schedule/partition.js +59 -0
  125. package/lib/commonjs/schedule/partition.js.map +1 -0
  126. package/lib/commonjs/schedule/resolve-moment.js +72 -0
  127. package/lib/commonjs/schedule/resolve-moment.js.map +1 -0
  128. package/lib/commonjs/schedule/validate-content.js +101 -0
  129. package/lib/commonjs/schedule/validate-content.js.map +1 -0
  130. package/lib/commonjs/schedule/validate-identifier.js +126 -0
  131. package/lib/commonjs/schedule/validate-identifier.js.map +1 -0
  132. package/lib/commonjs/schedule/writer.js +44 -0
  133. package/lib/commonjs/schedule/writer.js.map +1 -0
  134. package/lib/commonjs/state/caps.js +101 -0
  135. package/lib/commonjs/state/caps.js.map +1 -0
  136. package/lib/commonjs/state/dedup-ledger.js +39 -0
  137. package/lib/commonjs/state/dedup-ledger.js.map +1 -0
  138. package/lib/commonjs/state/interaction-buffer.js +98 -0
  139. package/lib/commonjs/state/interaction-buffer.js.map +1 -0
  140. package/lib/commonjs/state/mmkv-store.js +75 -0
  141. package/lib/commonjs/state/mmkv-store.js.map +1 -0
  142. package/lib/commonjs/state/permission-history.js +64 -0
  143. package/lib/commonjs/state/permission-history.js.map +1 -0
  144. package/lib/commonjs/state/record.js +269 -0
  145. package/lib/commonjs/state/record.js.map +1 -0
  146. package/lib/commonjs/state/reset.js +37 -0
  147. package/lib/commonjs/state/reset.js.map +1 -0
  148. package/lib/commonjs/state/series-ledger.js +71 -0
  149. package/lib/commonjs/state/series-ledger.js.map +1 -0
  150. package/lib/commonjs/state/store.js +39 -0
  151. package/lib/commonjs/state/store.js.map +1 -0
  152. package/lib/commonjs/testing/conformance/index.js +218 -0
  153. package/lib/commonjs/testing/conformance/index.js.map +1 -0
  154. package/lib/commonjs/testing/fake-engine.js +338 -0
  155. package/lib/commonjs/testing/fake-engine.js.map +1 -0
  156. package/lib/commonjs/testing/fake-provider.js +93 -0
  157. package/lib/commonjs/testing/fake-provider.js.map +1 -0
  158. package/lib/commonjs/testing/faults.js +59 -0
  159. package/lib/commonjs/testing/faults.js.map +1 -0
  160. package/lib/commonjs/testing/index.js +54 -0
  161. package/lib/commonjs/testing/index.js.map +1 -0
  162. package/lib/commonjs/testing/measure.js +298 -0
  163. package/lib/commonjs/testing/measure.js.map +1 -0
  164. package/lib/module/advanced.js +29 -0
  165. package/lib/module/advanced.js.map +1 -0
  166. package/lib/module/channel/migrate.js +242 -0
  167. package/lib/module/channel/migrate.js.map +1 -0
  168. package/lib/module/channel/tone-map.js +112 -0
  169. package/lib/module/channel/tone-map.js.map +1 -0
  170. package/lib/module/channel/validate-tone.js +57 -0
  171. package/lib/module/channel/validate-tone.js.map +1 -0
  172. package/lib/module/contract/channel.js +48 -0
  173. package/lib/module/contract/channel.js.map +1 -0
  174. package/lib/module/contract/diagnostics.js +21 -0
  175. package/lib/module/contract/diagnostics.js.map +1 -0
  176. package/lib/module/contract/errors.js +119 -0
  177. package/lib/module/contract/errors.js.map +1 -0
  178. package/lib/module/contract/hash.js +29 -0
  179. package/lib/module/contract/hash.js.map +1 -0
  180. package/lib/module/contract/index.js +13 -0
  181. package/lib/module/contract/index.js.map +1 -0
  182. package/lib/module/contract/interaction.js +33 -0
  183. package/lib/module/contract/interaction.js.map +1 -0
  184. package/lib/module/contract/notification.js +38 -0
  185. package/lib/module/contract/notification.js.map +1 -0
  186. package/lib/module/contract/permission.js +2 -0
  187. package/lib/module/contract/permission.js.map +1 -0
  188. package/lib/module/contract/reconcile.js +4 -0
  189. package/lib/module/contract/reconcile.js.map +1 -0
  190. package/lib/module/contract/recurrence.js +49 -0
  191. package/lib/module/contract/recurrence.js.map +1 -0
  192. package/lib/module/diagnostics/burst.js +85 -0
  193. package/lib/module/diagnostics/burst.js.map +1 -0
  194. package/lib/module/diagnostics/events.js +58 -0
  195. package/lib/module/diagnostics/events.js.map +1 -0
  196. package/lib/module/diagnostics/redact.js +44 -0
  197. package/lib/module/diagnostics/redact.js.map +1 -0
  198. package/lib/module/diagnostics/snapshot.js +64 -0
  199. package/lib/module/diagnostics/snapshot.js.map +1 -0
  200. package/lib/module/engine/adapter.js +4 -0
  201. package/lib/module/engine/adapter.js.map +1 -0
  202. package/lib/module/engine/codec.js +79 -0
  203. package/lib/module/engine/codec.js.map +1 -0
  204. package/lib/module/engine/notify-kit/events.js +139 -0
  205. package/lib/module/engine/notify-kit/events.js.map +1 -0
  206. package/lib/module/engine/notify-kit/module.js +113 -0
  207. package/lib/module/engine/notify-kit/module.js.map +1 -0
  208. package/lib/module/engine/notify-kit/platform/android.js +155 -0
  209. package/lib/module/engine/notify-kit/platform/android.js.map +1 -0
  210. package/lib/module/engine/notify-kit/platform/index.js +51 -0
  211. package/lib/module/engine/notify-kit/platform/index.js.map +1 -0
  212. package/lib/module/engine/notify-kit/platform/ios.js +49 -0
  213. package/lib/module/engine/notify-kit/platform/ios.js.map +1 -0
  214. package/lib/module/engine/notify-kit/platform/types.js +4 -0
  215. package/lib/module/engine/notify-kit/platform/types.js.map +1 -0
  216. package/lib/module/engine/notify-kit-engine.js +257 -0
  217. package/lib/module/engine/notify-kit-engine.js.map +1 -0
  218. package/lib/module/index.js +98 -0
  219. package/lib/module/index.js.map +1 -0
  220. package/lib/module/initialize.js +182 -0
  221. package/lib/module/initialize.js.map +1 -0
  222. package/lib/module/interaction/index.js +116 -0
  223. package/lib/module/interaction/index.js.map +1 -0
  224. package/lib/module/maintenance/cycle.js +102 -0
  225. package/lib/module/maintenance/cycle.js.map +1 -0
  226. package/lib/module/maintenance/permission-refresh.js +34 -0
  227. package/lib/module/maintenance/permission-refresh.js.map +1 -0
  228. package/lib/module/maintenance/reanchor.js +94 -0
  229. package/lib/module/maintenance/reanchor.js.map +1 -0
  230. package/lib/module/maintenance/toggle.js +45 -0
  231. package/lib/module/maintenance/toggle.js.map +1 -0
  232. package/lib/module/maintenance/verify.js +65 -0
  233. package/lib/module/maintenance/verify.js.map +1 -0
  234. package/lib/module/maintenance/window-refresh.js +48 -0
  235. package/lib/module/maintenance/window-refresh.js.map +1 -0
  236. package/lib/module/notifications.js +157 -0
  237. package/lib/module/notifications.js.map +1 -0
  238. package/lib/module/package.json +1 -0
  239. package/lib/module/permission/index.js +178 -0
  240. package/lib/module/permission/index.js.map +1 -0
  241. package/lib/module/permission/state.js +83 -0
  242. package/lib/module/permission/state.js.map +1 -0
  243. package/lib/module/push/envelope.js +137 -0
  244. package/lib/module/push/envelope.js.map +1 -0
  245. package/lib/module/push/fcm-provider.js +119 -0
  246. package/lib/module/push/fcm-provider.js.map +1 -0
  247. package/lib/module/push/gate.js +158 -0
  248. package/lib/module/push/gate.js.map +1 -0
  249. package/lib/module/push/index.js +16 -0
  250. package/lib/module/push/index.js.map +1 -0
  251. package/lib/module/push/instructions.js +97 -0
  252. package/lib/module/push/instructions.js.map +1 -0
  253. package/lib/module/push/provider-adapter.js +4 -0
  254. package/lib/module/push/provider-adapter.js.map +1 -0
  255. package/lib/module/push/signout.js +51 -0
  256. package/lib/module/push/signout.js.map +1 -0
  257. package/lib/module/reconcile/chunk.js +43 -0
  258. package/lib/module/reconcile/chunk.js.map +1 -0
  259. package/lib/module/reconcile/diff.js +101 -0
  260. package/lib/module/reconcile/diff.js.map +1 -0
  261. package/lib/module/reconcile/duplicates.js +56 -0
  262. package/lib/module/reconcile/duplicates.js.map +1 -0
  263. package/lib/module/reconcile/index.js +161 -0
  264. package/lib/module/reconcile/index.js.map +1 -0
  265. package/lib/module/reconcile/truncate.js +46 -0
  266. package/lib/module/reconcile/truncate.js.map +1 -0
  267. package/lib/module/recurrence/clock-guard.js +60 -0
  268. package/lib/module/recurrence/clock-guard.js.map +1 -0
  269. package/lib/module/recurrence/expand.js +248 -0
  270. package/lib/module/recurrence/expand.js.map +1 -0
  271. package/lib/module/recurrence/index.js +208 -0
  272. package/lib/module/recurrence/index.js.map +1 -0
  273. package/lib/module/repeat/expiry.js +37 -0
  274. package/lib/module/repeat/expiry.js.map +1 -0
  275. package/lib/module/repeat/index.js +67 -0
  276. package/lib/module/repeat/index.js.map +1 -0
  277. package/lib/module/repeat/marker.js +51 -0
  278. package/lib/module/repeat/marker.js.map +1 -0
  279. package/lib/module/repeat/place.js +79 -0
  280. package/lib/module/repeat/place.js.map +1 -0
  281. package/lib/module/schedule/anchor.js +234 -0
  282. package/lib/module/schedule/anchor.js.map +1 -0
  283. package/lib/module/schedule/index.js +137 -0
  284. package/lib/module/schedule/index.js.map +1 -0
  285. package/lib/module/schedule/partition.js +53 -0
  286. package/lib/module/schedule/partition.js.map +1 -0
  287. package/lib/module/schedule/resolve-moment.js +66 -0
  288. package/lib/module/schedule/resolve-moment.js.map +1 -0
  289. package/lib/module/schedule/validate-content.js +95 -0
  290. package/lib/module/schedule/validate-content.js.map +1 -0
  291. package/lib/module/schedule/validate-identifier.js +119 -0
  292. package/lib/module/schedule/validate-identifier.js.map +1 -0
  293. package/lib/module/schedule/writer.js +40 -0
  294. package/lib/module/schedule/writer.js.map +1 -0
  295. package/lib/module/state/caps.js +96 -0
  296. package/lib/module/state/caps.js.map +1 -0
  297. package/lib/module/state/dedup-ledger.js +34 -0
  298. package/lib/module/state/dedup-ledger.js.map +1 -0
  299. package/lib/module/state/interaction-buffer.js +92 -0
  300. package/lib/module/state/interaction-buffer.js.map +1 -0
  301. package/lib/module/state/mmkv-store.js +71 -0
  302. package/lib/module/state/mmkv-store.js.map +1 -0
  303. package/lib/module/state/permission-history.js +56 -0
  304. package/lib/module/state/permission-history.js.map +1 -0
  305. package/lib/module/state/record.js +264 -0
  306. package/lib/module/state/record.js.map +1 -0
  307. package/lib/module/state/reset.js +32 -0
  308. package/lib/module/state/reset.js.map +1 -0
  309. package/lib/module/state/series-ledger.js +62 -0
  310. package/lib/module/state/series-ledger.js.map +1 -0
  311. package/lib/module/state/store.js +35 -0
  312. package/lib/module/state/store.js.map +1 -0
  313. package/lib/module/testing/conformance/index.js +214 -0
  314. package/lib/module/testing/conformance/index.js.map +1 -0
  315. package/lib/module/testing/fake-engine.js +335 -0
  316. package/lib/module/testing/fake-engine.js.map +1 -0
  317. package/lib/module/testing/fake-provider.js +89 -0
  318. package/lib/module/testing/fake-provider.js.map +1 -0
  319. package/lib/module/testing/faults.js +55 -0
  320. package/lib/module/testing/faults.js.map +1 -0
  321. package/lib/module/testing/index.js +19 -0
  322. package/lib/module/testing/index.js.map +1 -0
  323. package/lib/module/testing/measure.js +294 -0
  324. package/lib/module/testing/measure.js.map +1 -0
  325. package/lib/typescript/commonjs/advanced.d.ts +36 -0
  326. package/lib/typescript/commonjs/advanced.d.ts.map +1 -0
  327. package/lib/typescript/commonjs/channel/migrate.d.ts +38 -0
  328. package/lib/typescript/commonjs/channel/migrate.d.ts.map +1 -0
  329. package/lib/typescript/commonjs/channel/tone-map.d.ts +34 -0
  330. package/lib/typescript/commonjs/channel/tone-map.d.ts.map +1 -0
  331. package/lib/typescript/commonjs/channel/validate-tone.d.ts +23 -0
  332. package/lib/typescript/commonjs/channel/validate-tone.d.ts.map +1 -0
  333. package/lib/typescript/commonjs/contract/channel.d.ts +185 -0
  334. package/lib/typescript/commonjs/contract/channel.d.ts.map +1 -0
  335. package/lib/typescript/commonjs/contract/diagnostics.d.ts +92 -0
  336. package/lib/typescript/commonjs/contract/diagnostics.d.ts.map +1 -0
  337. package/lib/typescript/commonjs/contract/errors.d.ts +91 -0
  338. package/lib/typescript/commonjs/contract/errors.d.ts.map +1 -0
  339. package/lib/typescript/commonjs/contract/hash.d.ts +14 -0
  340. package/lib/typescript/commonjs/contract/hash.d.ts.map +1 -0
  341. package/lib/typescript/commonjs/contract/index.d.ts +10 -0
  342. package/lib/typescript/commonjs/contract/index.d.ts.map +1 -0
  343. package/lib/typescript/commonjs/contract/interaction.d.ts +53 -0
  344. package/lib/typescript/commonjs/contract/interaction.d.ts.map +1 -0
  345. package/lib/typescript/commonjs/contract/notification.d.ts +110 -0
  346. package/lib/typescript/commonjs/contract/notification.d.ts.map +1 -0
  347. package/lib/typescript/commonjs/contract/permission.d.ts +49 -0
  348. package/lib/typescript/commonjs/contract/permission.d.ts.map +1 -0
  349. package/lib/typescript/commonjs/contract/reconcile.d.ts +82 -0
  350. package/lib/typescript/commonjs/contract/reconcile.d.ts.map +1 -0
  351. package/lib/typescript/commonjs/contract/recurrence.d.ts +118 -0
  352. package/lib/typescript/commonjs/contract/recurrence.d.ts.map +1 -0
  353. package/lib/typescript/commonjs/diagnostics/burst.d.ts +39 -0
  354. package/lib/typescript/commonjs/diagnostics/burst.d.ts.map +1 -0
  355. package/lib/typescript/commonjs/diagnostics/events.d.ts +28 -0
  356. package/lib/typescript/commonjs/diagnostics/events.d.ts.map +1 -0
  357. package/lib/typescript/commonjs/diagnostics/redact.d.ts +22 -0
  358. package/lib/typescript/commonjs/diagnostics/redact.d.ts.map +1 -0
  359. package/lib/typescript/commonjs/diagnostics/snapshot.d.ts +40 -0
  360. package/lib/typescript/commonjs/diagnostics/snapshot.d.ts.map +1 -0
  361. package/lib/typescript/commonjs/engine/adapter.d.ts +172 -0
  362. package/lib/typescript/commonjs/engine/adapter.d.ts.map +1 -0
  363. package/lib/typescript/commonjs/engine/codec.d.ts +20 -0
  364. package/lib/typescript/commonjs/engine/codec.d.ts.map +1 -0
  365. package/lib/typescript/commonjs/engine/notify-kit/events.d.ts +37 -0
  366. package/lib/typescript/commonjs/engine/notify-kit/events.d.ts.map +1 -0
  367. package/lib/typescript/commonjs/engine/notify-kit/module.d.ts +103 -0
  368. package/lib/typescript/commonjs/engine/notify-kit/module.d.ts.map +1 -0
  369. package/lib/typescript/commonjs/engine/notify-kit/platform/android.d.ts +3 -0
  370. package/lib/typescript/commonjs/engine/notify-kit/platform/android.d.ts.map +1 -0
  371. package/lib/typescript/commonjs/engine/notify-kit/platform/index.d.ts +12 -0
  372. package/lib/typescript/commonjs/engine/notify-kit/platform/index.d.ts.map +1 -0
  373. package/lib/typescript/commonjs/engine/notify-kit/platform/ios.d.ts +3 -0
  374. package/lib/typescript/commonjs/engine/notify-kit/platform/ios.d.ts.map +1 -0
  375. package/lib/typescript/commonjs/engine/notify-kit/platform/types.d.ts +33 -0
  376. package/lib/typescript/commonjs/engine/notify-kit/platform/types.d.ts.map +1 -0
  377. package/lib/typescript/commonjs/engine/notify-kit-engine.d.ts +25 -0
  378. package/lib/typescript/commonjs/engine/notify-kit-engine.d.ts.map +1 -0
  379. package/lib/typescript/commonjs/index.d.ts +106 -0
  380. package/lib/typescript/commonjs/index.d.ts.map +1 -0
  381. package/lib/typescript/commonjs/initialize.d.ts +74 -0
  382. package/lib/typescript/commonjs/initialize.d.ts.map +1 -0
  383. package/lib/typescript/commonjs/interaction/index.d.ts +53 -0
  384. package/lib/typescript/commonjs/interaction/index.d.ts.map +1 -0
  385. package/lib/typescript/commonjs/maintenance/cycle.d.ts +77 -0
  386. package/lib/typescript/commonjs/maintenance/cycle.d.ts.map +1 -0
  387. package/lib/typescript/commonjs/maintenance/permission-refresh.d.ts +19 -0
  388. package/lib/typescript/commonjs/maintenance/permission-refresh.d.ts.map +1 -0
  389. package/lib/typescript/commonjs/maintenance/reanchor.d.ts +26 -0
  390. package/lib/typescript/commonjs/maintenance/reanchor.d.ts.map +1 -0
  391. package/lib/typescript/commonjs/maintenance/toggle.d.ts +35 -0
  392. package/lib/typescript/commonjs/maintenance/toggle.d.ts.map +1 -0
  393. package/lib/typescript/commonjs/maintenance/verify.d.ts +32 -0
  394. package/lib/typescript/commonjs/maintenance/verify.d.ts.map +1 -0
  395. package/lib/typescript/commonjs/maintenance/window-refresh.d.ts +29 -0
  396. package/lib/typescript/commonjs/maintenance/window-refresh.d.ts.map +1 -0
  397. package/lib/typescript/commonjs/notifications.d.ts +78 -0
  398. package/lib/typescript/commonjs/notifications.d.ts.map +1 -0
  399. package/lib/typescript/commonjs/package.json +1 -0
  400. package/lib/typescript/commonjs/permission/index.d.ts +57 -0
  401. package/lib/typescript/commonjs/permission/index.d.ts.map +1 -0
  402. package/lib/typescript/commonjs/permission/state.d.ts +41 -0
  403. package/lib/typescript/commonjs/permission/state.d.ts.map +1 -0
  404. package/lib/typescript/commonjs/push/envelope.d.ts +33 -0
  405. package/lib/typescript/commonjs/push/envelope.d.ts.map +1 -0
  406. package/lib/typescript/commonjs/push/fcm-provider.d.ts +43 -0
  407. package/lib/typescript/commonjs/push/fcm-provider.d.ts.map +1 -0
  408. package/lib/typescript/commonjs/push/gate.d.ts +57 -0
  409. package/lib/typescript/commonjs/push/gate.d.ts.map +1 -0
  410. package/lib/typescript/commonjs/push/index.d.ts +19 -0
  411. package/lib/typescript/commonjs/push/index.d.ts.map +1 -0
  412. package/lib/typescript/commonjs/push/instructions.d.ts +45 -0
  413. package/lib/typescript/commonjs/push/instructions.d.ts.map +1 -0
  414. package/lib/typescript/commonjs/push/provider-adapter.d.ts +50 -0
  415. package/lib/typescript/commonjs/push/provider-adapter.d.ts.map +1 -0
  416. package/lib/typescript/commonjs/push/signout.d.ts +33 -0
  417. package/lib/typescript/commonjs/push/signout.d.ts.map +1 -0
  418. package/lib/typescript/commonjs/reconcile/chunk.d.ts +24 -0
  419. package/lib/typescript/commonjs/reconcile/chunk.d.ts.map +1 -0
  420. package/lib/typescript/commonjs/reconcile/diff.d.ts +54 -0
  421. package/lib/typescript/commonjs/reconcile/diff.d.ts.map +1 -0
  422. package/lib/typescript/commonjs/reconcile/duplicates.d.ts +32 -0
  423. package/lib/typescript/commonjs/reconcile/duplicates.d.ts.map +1 -0
  424. package/lib/typescript/commonjs/reconcile/index.d.ts +35 -0
  425. package/lib/typescript/commonjs/reconcile/index.d.ts.map +1 -0
  426. package/lib/typescript/commonjs/reconcile/truncate.d.ts +26 -0
  427. package/lib/typescript/commonjs/reconcile/truncate.d.ts.map +1 -0
  428. package/lib/typescript/commonjs/recurrence/clock-guard.d.ts +37 -0
  429. package/lib/typescript/commonjs/recurrence/clock-guard.d.ts.map +1 -0
  430. package/lib/typescript/commonjs/recurrence/expand.d.ts +75 -0
  431. package/lib/typescript/commonjs/recurrence/expand.d.ts.map +1 -0
  432. package/lib/typescript/commonjs/recurrence/index.d.ts +40 -0
  433. package/lib/typescript/commonjs/recurrence/index.d.ts.map +1 -0
  434. package/lib/typescript/commonjs/repeat/expiry.d.ts +23 -0
  435. package/lib/typescript/commonjs/repeat/expiry.d.ts.map +1 -0
  436. package/lib/typescript/commonjs/repeat/index.d.ts +49 -0
  437. package/lib/typescript/commonjs/repeat/index.d.ts.map +1 -0
  438. package/lib/typescript/commonjs/repeat/marker.d.ts +36 -0
  439. package/lib/typescript/commonjs/repeat/marker.d.ts.map +1 -0
  440. package/lib/typescript/commonjs/repeat/place.d.ts +39 -0
  441. package/lib/typescript/commonjs/repeat/place.d.ts.map +1 -0
  442. package/lib/typescript/commonjs/schedule/anchor.d.ts +118 -0
  443. package/lib/typescript/commonjs/schedule/anchor.d.ts.map +1 -0
  444. package/lib/typescript/commonjs/schedule/index.d.ts +40 -0
  445. package/lib/typescript/commonjs/schedule/index.d.ts.map +1 -0
  446. package/lib/typescript/commonjs/schedule/partition.d.ts +29 -0
  447. package/lib/typescript/commonjs/schedule/partition.d.ts.map +1 -0
  448. package/lib/typescript/commonjs/schedule/resolve-moment.d.ts +35 -0
  449. package/lib/typescript/commonjs/schedule/resolve-moment.d.ts.map +1 -0
  450. package/lib/typescript/commonjs/schedule/validate-content.d.ts +42 -0
  451. package/lib/typescript/commonjs/schedule/validate-content.d.ts.map +1 -0
  452. package/lib/typescript/commonjs/schedule/validate-identifier.d.ts +30 -0
  453. package/lib/typescript/commonjs/schedule/validate-identifier.d.ts.map +1 -0
  454. package/lib/typescript/commonjs/schedule/writer.d.ts +36 -0
  455. package/lib/typescript/commonjs/schedule/writer.d.ts.map +1 -0
  456. package/lib/typescript/commonjs/state/caps.d.ts +51 -0
  457. package/lib/typescript/commonjs/state/caps.d.ts.map +1 -0
  458. package/lib/typescript/commonjs/state/dedup-ledger.d.ts +21 -0
  459. package/lib/typescript/commonjs/state/dedup-ledger.d.ts.map +1 -0
  460. package/lib/typescript/commonjs/state/interaction-buffer.d.ts +30 -0
  461. package/lib/typescript/commonjs/state/interaction-buffer.d.ts.map +1 -0
  462. package/lib/typescript/commonjs/state/mmkv-store.d.ts +33 -0
  463. package/lib/typescript/commonjs/state/mmkv-store.d.ts.map +1 -0
  464. package/lib/typescript/commonjs/state/permission-history.d.ts +20 -0
  465. package/lib/typescript/commonjs/state/permission-history.d.ts.map +1 -0
  466. package/lib/typescript/commonjs/state/record.d.ts +134 -0
  467. package/lib/typescript/commonjs/state/record.d.ts.map +1 -0
  468. package/lib/typescript/commonjs/state/reset.d.ts +22 -0
  469. package/lib/typescript/commonjs/state/reset.d.ts.map +1 -0
  470. package/lib/typescript/commonjs/state/series-ledger.d.ts +47 -0
  471. package/lib/typescript/commonjs/state/series-ledger.d.ts.map +1 -0
  472. package/lib/typescript/commonjs/state/store.d.ts +20 -0
  473. package/lib/typescript/commonjs/state/store.d.ts.map +1 -0
  474. package/lib/typescript/commonjs/testing/conformance/index.d.ts +32 -0
  475. package/lib/typescript/commonjs/testing/conformance/index.d.ts.map +1 -0
  476. package/lib/typescript/commonjs/testing/fake-engine.d.ts +91 -0
  477. package/lib/typescript/commonjs/testing/fake-engine.d.ts.map +1 -0
  478. package/lib/typescript/commonjs/testing/fake-provider.d.ts +35 -0
  479. package/lib/typescript/commonjs/testing/fake-provider.d.ts.map +1 -0
  480. package/lib/typescript/commonjs/testing/faults.d.ts +38 -0
  481. package/lib/typescript/commonjs/testing/faults.d.ts.map +1 -0
  482. package/lib/typescript/commonjs/testing/index.d.ts +22 -0
  483. package/lib/typescript/commonjs/testing/index.d.ts.map +1 -0
  484. package/lib/typescript/commonjs/testing/measure.d.ts +59 -0
  485. package/lib/typescript/commonjs/testing/measure.d.ts.map +1 -0
  486. package/lib/typescript/module/advanced.d.ts +36 -0
  487. package/lib/typescript/module/advanced.d.ts.map +1 -0
  488. package/lib/typescript/module/channel/migrate.d.ts +38 -0
  489. package/lib/typescript/module/channel/migrate.d.ts.map +1 -0
  490. package/lib/typescript/module/channel/tone-map.d.ts +34 -0
  491. package/lib/typescript/module/channel/tone-map.d.ts.map +1 -0
  492. package/lib/typescript/module/channel/validate-tone.d.ts +23 -0
  493. package/lib/typescript/module/channel/validate-tone.d.ts.map +1 -0
  494. package/lib/typescript/module/contract/channel.d.ts +185 -0
  495. package/lib/typescript/module/contract/channel.d.ts.map +1 -0
  496. package/lib/typescript/module/contract/diagnostics.d.ts +92 -0
  497. package/lib/typescript/module/contract/diagnostics.d.ts.map +1 -0
  498. package/lib/typescript/module/contract/errors.d.ts +91 -0
  499. package/lib/typescript/module/contract/errors.d.ts.map +1 -0
  500. package/lib/typescript/module/contract/hash.d.ts +14 -0
  501. package/lib/typescript/module/contract/hash.d.ts.map +1 -0
  502. package/lib/typescript/module/contract/index.d.ts +10 -0
  503. package/lib/typescript/module/contract/index.d.ts.map +1 -0
  504. package/lib/typescript/module/contract/interaction.d.ts +53 -0
  505. package/lib/typescript/module/contract/interaction.d.ts.map +1 -0
  506. package/lib/typescript/module/contract/notification.d.ts +110 -0
  507. package/lib/typescript/module/contract/notification.d.ts.map +1 -0
  508. package/lib/typescript/module/contract/permission.d.ts +49 -0
  509. package/lib/typescript/module/contract/permission.d.ts.map +1 -0
  510. package/lib/typescript/module/contract/reconcile.d.ts +82 -0
  511. package/lib/typescript/module/contract/reconcile.d.ts.map +1 -0
  512. package/lib/typescript/module/contract/recurrence.d.ts +118 -0
  513. package/lib/typescript/module/contract/recurrence.d.ts.map +1 -0
  514. package/lib/typescript/module/diagnostics/burst.d.ts +39 -0
  515. package/lib/typescript/module/diagnostics/burst.d.ts.map +1 -0
  516. package/lib/typescript/module/diagnostics/events.d.ts +28 -0
  517. package/lib/typescript/module/diagnostics/events.d.ts.map +1 -0
  518. package/lib/typescript/module/diagnostics/redact.d.ts +22 -0
  519. package/lib/typescript/module/diagnostics/redact.d.ts.map +1 -0
  520. package/lib/typescript/module/diagnostics/snapshot.d.ts +40 -0
  521. package/lib/typescript/module/diagnostics/snapshot.d.ts.map +1 -0
  522. package/lib/typescript/module/engine/adapter.d.ts +172 -0
  523. package/lib/typescript/module/engine/adapter.d.ts.map +1 -0
  524. package/lib/typescript/module/engine/codec.d.ts +20 -0
  525. package/lib/typescript/module/engine/codec.d.ts.map +1 -0
  526. package/lib/typescript/module/engine/notify-kit/events.d.ts +37 -0
  527. package/lib/typescript/module/engine/notify-kit/events.d.ts.map +1 -0
  528. package/lib/typescript/module/engine/notify-kit/module.d.ts +103 -0
  529. package/lib/typescript/module/engine/notify-kit/module.d.ts.map +1 -0
  530. package/lib/typescript/module/engine/notify-kit/platform/android.d.ts +3 -0
  531. package/lib/typescript/module/engine/notify-kit/platform/android.d.ts.map +1 -0
  532. package/lib/typescript/module/engine/notify-kit/platform/index.d.ts +12 -0
  533. package/lib/typescript/module/engine/notify-kit/platform/index.d.ts.map +1 -0
  534. package/lib/typescript/module/engine/notify-kit/platform/ios.d.ts +3 -0
  535. package/lib/typescript/module/engine/notify-kit/platform/ios.d.ts.map +1 -0
  536. package/lib/typescript/module/engine/notify-kit/platform/types.d.ts +33 -0
  537. package/lib/typescript/module/engine/notify-kit/platform/types.d.ts.map +1 -0
  538. package/lib/typescript/module/engine/notify-kit-engine.d.ts +25 -0
  539. package/lib/typescript/module/engine/notify-kit-engine.d.ts.map +1 -0
  540. package/lib/typescript/module/index.d.ts +106 -0
  541. package/lib/typescript/module/index.d.ts.map +1 -0
  542. package/lib/typescript/module/initialize.d.ts +74 -0
  543. package/lib/typescript/module/initialize.d.ts.map +1 -0
  544. package/lib/typescript/module/interaction/index.d.ts +53 -0
  545. package/lib/typescript/module/interaction/index.d.ts.map +1 -0
  546. package/lib/typescript/module/maintenance/cycle.d.ts +77 -0
  547. package/lib/typescript/module/maintenance/cycle.d.ts.map +1 -0
  548. package/lib/typescript/module/maintenance/permission-refresh.d.ts +19 -0
  549. package/lib/typescript/module/maintenance/permission-refresh.d.ts.map +1 -0
  550. package/lib/typescript/module/maintenance/reanchor.d.ts +26 -0
  551. package/lib/typescript/module/maintenance/reanchor.d.ts.map +1 -0
  552. package/lib/typescript/module/maintenance/toggle.d.ts +35 -0
  553. package/lib/typescript/module/maintenance/toggle.d.ts.map +1 -0
  554. package/lib/typescript/module/maintenance/verify.d.ts +32 -0
  555. package/lib/typescript/module/maintenance/verify.d.ts.map +1 -0
  556. package/lib/typescript/module/maintenance/window-refresh.d.ts +29 -0
  557. package/lib/typescript/module/maintenance/window-refresh.d.ts.map +1 -0
  558. package/lib/typescript/module/notifications.d.ts +78 -0
  559. package/lib/typescript/module/notifications.d.ts.map +1 -0
  560. package/lib/typescript/module/package.json +1 -0
  561. package/lib/typescript/module/permission/index.d.ts +57 -0
  562. package/lib/typescript/module/permission/index.d.ts.map +1 -0
  563. package/lib/typescript/module/permission/state.d.ts +41 -0
  564. package/lib/typescript/module/permission/state.d.ts.map +1 -0
  565. package/lib/typescript/module/push/envelope.d.ts +33 -0
  566. package/lib/typescript/module/push/envelope.d.ts.map +1 -0
  567. package/lib/typescript/module/push/fcm-provider.d.ts +43 -0
  568. package/lib/typescript/module/push/fcm-provider.d.ts.map +1 -0
  569. package/lib/typescript/module/push/gate.d.ts +57 -0
  570. package/lib/typescript/module/push/gate.d.ts.map +1 -0
  571. package/lib/typescript/module/push/index.d.ts +19 -0
  572. package/lib/typescript/module/push/index.d.ts.map +1 -0
  573. package/lib/typescript/module/push/instructions.d.ts +45 -0
  574. package/lib/typescript/module/push/instructions.d.ts.map +1 -0
  575. package/lib/typescript/module/push/provider-adapter.d.ts +50 -0
  576. package/lib/typescript/module/push/provider-adapter.d.ts.map +1 -0
  577. package/lib/typescript/module/push/signout.d.ts +33 -0
  578. package/lib/typescript/module/push/signout.d.ts.map +1 -0
  579. package/lib/typescript/module/reconcile/chunk.d.ts +24 -0
  580. package/lib/typescript/module/reconcile/chunk.d.ts.map +1 -0
  581. package/lib/typescript/module/reconcile/diff.d.ts +54 -0
  582. package/lib/typescript/module/reconcile/diff.d.ts.map +1 -0
  583. package/lib/typescript/module/reconcile/duplicates.d.ts +32 -0
  584. package/lib/typescript/module/reconcile/duplicates.d.ts.map +1 -0
  585. package/lib/typescript/module/reconcile/index.d.ts +35 -0
  586. package/lib/typescript/module/reconcile/index.d.ts.map +1 -0
  587. package/lib/typescript/module/reconcile/truncate.d.ts +26 -0
  588. package/lib/typescript/module/reconcile/truncate.d.ts.map +1 -0
  589. package/lib/typescript/module/recurrence/clock-guard.d.ts +37 -0
  590. package/lib/typescript/module/recurrence/clock-guard.d.ts.map +1 -0
  591. package/lib/typescript/module/recurrence/expand.d.ts +75 -0
  592. package/lib/typescript/module/recurrence/expand.d.ts.map +1 -0
  593. package/lib/typescript/module/recurrence/index.d.ts +40 -0
  594. package/lib/typescript/module/recurrence/index.d.ts.map +1 -0
  595. package/lib/typescript/module/repeat/expiry.d.ts +23 -0
  596. package/lib/typescript/module/repeat/expiry.d.ts.map +1 -0
  597. package/lib/typescript/module/repeat/index.d.ts +49 -0
  598. package/lib/typescript/module/repeat/index.d.ts.map +1 -0
  599. package/lib/typescript/module/repeat/marker.d.ts +36 -0
  600. package/lib/typescript/module/repeat/marker.d.ts.map +1 -0
  601. package/lib/typescript/module/repeat/place.d.ts +39 -0
  602. package/lib/typescript/module/repeat/place.d.ts.map +1 -0
  603. package/lib/typescript/module/schedule/anchor.d.ts +118 -0
  604. package/lib/typescript/module/schedule/anchor.d.ts.map +1 -0
  605. package/lib/typescript/module/schedule/index.d.ts +40 -0
  606. package/lib/typescript/module/schedule/index.d.ts.map +1 -0
  607. package/lib/typescript/module/schedule/partition.d.ts +29 -0
  608. package/lib/typescript/module/schedule/partition.d.ts.map +1 -0
  609. package/lib/typescript/module/schedule/resolve-moment.d.ts +35 -0
  610. package/lib/typescript/module/schedule/resolve-moment.d.ts.map +1 -0
  611. package/lib/typescript/module/schedule/validate-content.d.ts +42 -0
  612. package/lib/typescript/module/schedule/validate-content.d.ts.map +1 -0
  613. package/lib/typescript/module/schedule/validate-identifier.d.ts +30 -0
  614. package/lib/typescript/module/schedule/validate-identifier.d.ts.map +1 -0
  615. package/lib/typescript/module/schedule/writer.d.ts +36 -0
  616. package/lib/typescript/module/schedule/writer.d.ts.map +1 -0
  617. package/lib/typescript/module/state/caps.d.ts +51 -0
  618. package/lib/typescript/module/state/caps.d.ts.map +1 -0
  619. package/lib/typescript/module/state/dedup-ledger.d.ts +21 -0
  620. package/lib/typescript/module/state/dedup-ledger.d.ts.map +1 -0
  621. package/lib/typescript/module/state/interaction-buffer.d.ts +30 -0
  622. package/lib/typescript/module/state/interaction-buffer.d.ts.map +1 -0
  623. package/lib/typescript/module/state/mmkv-store.d.ts +33 -0
  624. package/lib/typescript/module/state/mmkv-store.d.ts.map +1 -0
  625. package/lib/typescript/module/state/permission-history.d.ts +20 -0
  626. package/lib/typescript/module/state/permission-history.d.ts.map +1 -0
  627. package/lib/typescript/module/state/record.d.ts +134 -0
  628. package/lib/typescript/module/state/record.d.ts.map +1 -0
  629. package/lib/typescript/module/state/reset.d.ts +22 -0
  630. package/lib/typescript/module/state/reset.d.ts.map +1 -0
  631. package/lib/typescript/module/state/series-ledger.d.ts +47 -0
  632. package/lib/typescript/module/state/series-ledger.d.ts.map +1 -0
  633. package/lib/typescript/module/state/store.d.ts +20 -0
  634. package/lib/typescript/module/state/store.d.ts.map +1 -0
  635. package/lib/typescript/module/testing/conformance/index.d.ts +32 -0
  636. package/lib/typescript/module/testing/conformance/index.d.ts.map +1 -0
  637. package/lib/typescript/module/testing/fake-engine.d.ts +91 -0
  638. package/lib/typescript/module/testing/fake-engine.d.ts.map +1 -0
  639. package/lib/typescript/module/testing/fake-provider.d.ts +35 -0
  640. package/lib/typescript/module/testing/fake-provider.d.ts.map +1 -0
  641. package/lib/typescript/module/testing/faults.d.ts +38 -0
  642. package/lib/typescript/module/testing/faults.d.ts.map +1 -0
  643. package/lib/typescript/module/testing/index.d.ts +22 -0
  644. package/lib/typescript/module/testing/index.d.ts.map +1 -0
  645. package/lib/typescript/module/testing/measure.d.ts +59 -0
  646. package/lib/typescript/module/testing/measure.d.ts.map +1 -0
  647. package/package.json +72 -26
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createFakeProvider = createFakeProvider;
7
+ /**
8
+ * In-memory push provider for tests.
9
+ *
10
+ * Exists so the entire push surface — token lifecycle, receipt in every app
11
+ * state, malformed payloads, redelivery, and provider unavailability — is
12
+ * provable with no live provider and no device.
13
+ *
14
+ * It is also the second adapter that proves the swap costs a consumer nothing:
15
+ * running the full push suite against this instead of the real provider must
16
+ * pass with zero changes to consuming code.
17
+ */
18
+
19
+ function createFakeProvider(options = {}) {
20
+ let availability = options.availability ?? 'available';
21
+ let token = options.withholdToken === true ? undefined : options.initialToken ?? 'fake-token-1';
22
+ let invalidated = false;
23
+ let messageHandlers = [];
24
+ let tokenHandlers = [];
25
+ let initial;
26
+ let waiters = [];
27
+ return {
28
+ name: options.name ?? 'fake-provider',
29
+ async getAvailability() {
30
+ return availability;
31
+ },
32
+ async getToken() {
33
+ if (token !== undefined) return token;
34
+ // Waits rather than returning a placeholder — an empty string presented
35
+ // as a token is worse than not answering yet.
36
+ return new Promise(resolve => {
37
+ waiters.push(resolve);
38
+ });
39
+ },
40
+ onTokenChange(handler) {
41
+ tokenHandlers.push(handler);
42
+ return () => {
43
+ tokenHandlers = tokenHandlers.filter(h => h !== handler);
44
+ };
45
+ },
46
+ async invalidateToken() {
47
+ invalidated = true;
48
+ token = undefined;
49
+ return options.invalidationSucceeds ?? true;
50
+ },
51
+ subscribeToMessages(handler) {
52
+ messageHandlers.push(handler);
53
+ return () => {
54
+ messageHandlers = messageHandlers.filter(h => h !== handler);
55
+ };
56
+ },
57
+ async takeInitialMessage() {
58
+ const raw = initial;
59
+ initial = undefined;
60
+ return raw;
61
+ },
62
+ // --- FakeProviderControls ---------------------------------------------
63
+
64
+ deliver(raw) {
65
+ for (const handler of messageHandlers) {
66
+ handler(raw);
67
+ }
68
+ },
69
+ queueInitial(raw) {
70
+ initial = raw;
71
+ },
72
+ rotateToken(next) {
73
+ token = next;
74
+ for (const handler of tokenHandlers) {
75
+ handler(next);
76
+ }
77
+ },
78
+ releaseToken(next) {
79
+ token = next;
80
+ for (const resolve of waiters) {
81
+ resolve(next);
82
+ }
83
+ waiters = [];
84
+ },
85
+ setAvailability(next) {
86
+ availability = next;
87
+ },
88
+ get invalidated() {
89
+ return invalidated;
90
+ }
91
+ };
92
+ }
93
+ //# sourceMappingURL=fake-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createFakeProvider","options","availability","token","withholdToken","undefined","initialToken","invalidated","messageHandlers","tokenHandlers","initial","waiters","name","getAvailability","getToken","Promise","resolve","push","onTokenChange","handler","filter","h","invalidateToken","invalidationSucceeds","subscribeToMessages","takeInitialMessage","raw","deliver","queueInitial","rotateToken","next","releaseToken","setAvailability"],"sourceRoot":"../../../src","sources":["testing/fake-provider.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AA6BO,SAASA,kBAAkBA,CAACC,OAA4B,GAAG,CAAC,CAAC,EAAgB;EACnF,IAAIC,YAA8B,GAAGD,OAAO,CAACC,YAAY,IAAI,WAAW;EACxE,IAAIC,KAAK,GAAGF,OAAO,CAACG,aAAa,KAAK,IAAI,GAAGC,SAAS,GAAIJ,OAAO,CAACK,YAAY,IAAI,cAAe;EACjG,IAAIC,WAAW,GAAG,KAAK;EACvB,IAAIC,eAA2C,GAAG,EAAE;EACpD,IAAIC,aAA0C,GAAG,EAAE;EACnD,IAAIC,OAA4B;EAChC,IAAIC,OAAoC,GAAG,EAAE;EAE7C,OAAO;IACNC,IAAI,EAAEX,OAAO,CAACW,IAAI,IAAI,eAAe;IAErC,MAAMC,eAAeA,CAAA,EAAG;MACvB,OAAOX,YAAY;IACpB,CAAC;IAED,MAAMY,QAAQA,CAAA,EAAG;MAChB,IAAIX,KAAK,KAAKE,SAAS,EAAE,OAAOF,KAAK;MACrC;MACA;MACA,OAAO,IAAIY,OAAO,CAASC,OAAO,IAAI;QACrCL,OAAO,CAACM,IAAI,CAACD,OAAO,CAAC;MACtB,CAAC,CAAC;IACH,CAAC;IAEDE,aAAaA,CAACC,OAAO,EAAe;MACnCV,aAAa,CAACQ,IAAI,CAACE,OAAO,CAAC;MAC3B,OAAO,MAAM;QACZV,aAAa,GAAGA,aAAa,CAACW,MAAM,CAACC,CAAC,IAAIA,CAAC,KAAKF,OAAO,CAAC;MACzD,CAAC;IACF,CAAC;IAED,MAAMG,eAAeA,CAAA,EAAG;MACvBf,WAAW,GAAG,IAAI;MAClBJ,KAAK,GAAGE,SAAS;MACjB,OAAOJ,OAAO,CAACsB,oBAAoB,IAAI,IAAI;IAC5C,CAAC;IAEDC,mBAAmBA,CAACL,OAAO,EAAe;MACzCX,eAAe,CAACS,IAAI,CAACE,OAAO,CAAC;MAC7B,OAAO,MAAM;QACZX,eAAe,GAAGA,eAAe,CAACY,MAAM,CAACC,CAAC,IAAIA,CAAC,KAAKF,OAAO,CAAC;MAC7D,CAAC;IACF,CAAC;IAED,MAAMM,kBAAkBA,CAAA,EAAG;MAC1B,MAAMC,GAAG,GAAGhB,OAAO;MACnBA,OAAO,GAAGL,SAAS;MACnB,OAAOqB,GAAG;IACX,CAAC;IAED;;IAEAC,OAAOA,CAACD,GAAG,EAAE;MACZ,KAAK,MAAMP,OAAO,IAAIX,eAAe,EAAE;QACtCW,OAAO,CAACO,GAAG,CAAC;MACb;IACD,CAAC;IAEDE,YAAYA,CAACF,GAAG,EAAE;MACjBhB,OAAO,GAAGgB,GAAG;IACd,CAAC;IAEDG,WAAWA,CAACC,IAAI,EAAE;MACjB3B,KAAK,GAAG2B,IAAI;MACZ,KAAK,MAAMX,OAAO,IAAIV,aAAa,EAAE;QACpCU,OAAO,CAACW,IAAI,CAAC;MACd;IACD,CAAC;IAEDC,YAAYA,CAACD,IAAI,EAAE;MAClB3B,KAAK,GAAG2B,IAAI;MACZ,KAAK,MAAMd,OAAO,IAAIL,OAAO,EAAE;QAC9BK,OAAO,CAACc,IAAI,CAAC;MACd;MACAnB,OAAO,GAAG,EAAE;IACb,CAAC;IAEDqB,eAAeA,CAACF,IAAI,EAAE;MACrB5B,YAAY,GAAG4B,IAAI;IACpB,CAAC;IAED,IAAIvB,WAAWA,CAAA,EAAG;MACjB,OAAOA,WAAW;IACnB;EACD,CAAC;AACF","ignoreList":[]}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createFaultInjector = createFaultInjector;
7
+ var _errors = require("../contract/errors.js");
8
+ /**
9
+ * Fault injection.
10
+ *
11
+ * Every documented failure condition must be reachable on demand, or the claim
12
+ * that each has its own distinct diagnostic is untestable. This is what the
13
+ * demo app's fault panel and the conformance suite both drive.
14
+ */
15
+
16
+ /**
17
+ * Triggers a named condition and records that it fired.
18
+ *
19
+ * Deliberately a thin mechanism: it proves each identifier is reachable and
20
+ * distinct, which is the property under test. Making the *real* condition occur
21
+ * is each module's own test's job.
22
+ */
23
+ function createFaultInjector(options = {}) {
24
+ const now = options.now ?? (() => Date.now());
25
+ const emit = options.emit ?? (() => {});
26
+ const fired = [];
27
+ return {
28
+ /** Every condition a consumer can reach from the fault panel. */
29
+ available: _errors.ALL_DIAGNOSTIC_CODES,
30
+ inject(kind) {
31
+ const record = {
32
+ code: kind,
33
+ at: now()
34
+ };
35
+ fired.push(record);
36
+ emit(kind, `Injected fault: ${kind}`, {
37
+ injected: true
38
+ });
39
+ return {
40
+ dispose() {
41
+ const index = fired.indexOf(record);
42
+ if (index >= 0) fired.splice(index, 1);
43
+ }
44
+ };
45
+ },
46
+ get fired() {
47
+ return fired;
48
+ },
49
+ /** Which documented conditions have not yet been exercised. */
50
+ unexercised() {
51
+ const seen = new Set(fired.map(record => record.code));
52
+ return _errors.ALL_DIAGNOSTIC_CODES.filter(code => !seen.has(code));
53
+ },
54
+ reset() {
55
+ fired.length = 0;
56
+ }
57
+ };
58
+ }
59
+ //# sourceMappingURL=faults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_errors","require","createFaultInjector","options","now","Date","emit","fired","available","ALL_DIAGNOSTIC_CODES","inject","kind","record","code","at","push","injected","dispose","index","indexOf","splice","unexercised","seen","Set","map","filter","has","reset","length"],"sourceRoot":"../../../src","sources":["testing/faults.ts"],"mappings":";;;;;;AAQA,IAAAA,OAAA,GAAAC,OAAA;AARA;AACA;AACA;AACA;AACA;AACA;AACA;;AAoBA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,mBAAmBA,CAACC,OAA6B,GAAG,CAAC,CAAC,EAAE;EACvE,MAAMC,GAAG,GAAGD,OAAO,CAACC,GAAG,KAAK,MAAMC,IAAI,CAACD,GAAG,CAAC,CAAC,CAAC;EAC7C,MAAME,IAAI,GAAGH,OAAO,CAACG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC;EACvC,MAAMC,KAAoB,GAAG,EAAE;EAE/B,OAAO;IACN;IACAC,SAAS,EAAEC,4BAAoB;IAE/BC,MAAMA,CAACC,IAAe,EAAc;MACnC,MAAMC,MAAmB,GAAG;QAAEC,IAAI,EAAEF,IAAI;QAAEG,EAAE,EAAEV,GAAG,CAAC;MAAE,CAAC;MACrDG,KAAK,CAACQ,IAAI,CAACH,MAAM,CAAC;MAClBN,IAAI,CAACK,IAAI,EAAE,mBAAmBA,IAAI,EAAE,EAAE;QAAEK,QAAQ,EAAE;MAAK,CAAC,CAAC;MAEzD,OAAO;QACNC,OAAOA,CAAA,EAAG;UACT,MAAMC,KAAK,GAAGX,KAAK,CAACY,OAAO,CAACP,MAAM,CAAC;UACnC,IAAIM,KAAK,IAAI,CAAC,EAAEX,KAAK,CAACa,MAAM,CAACF,KAAK,EAAE,CAAC,CAAC;QACvC;MACD,CAAC;IACF,CAAC;IAED,IAAIX,KAAKA,CAAA,EAA2B;MACnC,OAAOA,KAAK;IACb,CAAC;IAED;IACAc,WAAWA,CAAA,EAA8B;MACxC,MAAMC,IAAI,GAAG,IAAIC,GAAG,CAAChB,KAAK,CAACiB,GAAG,CAACZ,MAAM,IAAIA,MAAM,CAACC,IAAI,CAAC,CAAC;MACtD,OAAOJ,4BAAoB,CAACgB,MAAM,CAACZ,IAAI,IAAI,CAACS,IAAI,CAACI,GAAG,CAACb,IAAI,CAAC,CAAC;IAC5D,CAAC;IAEDc,KAAKA,CAAA,EAAS;MACbpB,KAAK,CAACqB,MAAM,GAAG,CAAC;IACjB;EACD,CAAC;AACF","ignoreList":[]}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "PERF_BUDGETS", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _measure.PERF_BUDGETS;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "createFakeEngine", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _fakeEngine.createFakeEngine;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "createFakeProvider", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _fakeProvider.createFakeProvider;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "createFaultInjector", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _faults.createFaultInjector;
28
+ }
29
+ });
30
+ Object.defineProperty(exports, "createMemoryStore", {
31
+ enumerable: true,
32
+ get: function () {
33
+ return _store.createMemoryStore;
34
+ }
35
+ });
36
+ Object.defineProperty(exports, "runConformanceSuite", {
37
+ enumerable: true,
38
+ get: function () {
39
+ return _index.runConformanceSuite;
40
+ }
41
+ });
42
+ Object.defineProperty(exports, "runMeasurementHarness", {
43
+ enumerable: true,
44
+ get: function () {
45
+ return _measure.runMeasurementHarness;
46
+ }
47
+ });
48
+ var _fakeEngine = require("./fake-engine.js");
49
+ var _fakeProvider = require("./fake-provider.js");
50
+ var _faults = require("./faults.js");
51
+ var _index = require("./conformance/index.js");
52
+ var _measure = require("./measure.js");
53
+ var _store = require("../state/store.js");
54
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_fakeEngine","require","_fakeProvider","_faults","_index","_measure","_store"],"sourceRoot":"../../../src","sources":["testing/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AAQA,IAAAK,MAAA,GAAAL,OAAA","ignoreList":[]}
@@ -0,0 +1,298 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.PERF_BUDGETS = void 0;
7
+ exports.runMeasurementHarness = runMeasurementHarness;
8
+ var _index = require("../schedule/index.js");
9
+ var _index2 = require("../reconcile/index.js");
10
+ var _index3 = require("../recurrence/index.js");
11
+ var _index4 = require("../permission/index.js");
12
+ var _reanchor = require("../maintenance/reanchor.js");
13
+ var _cycle = require("../maintenance/cycle.js");
14
+ var _record = require("../state/record.js");
15
+ var _store = require("../state/store.js");
16
+ var _anchor = require("../schedule/anchor.js");
17
+ var _dedupLedger = require("../state/dedup-ledger.js");
18
+ /**
19
+ * The PERF-001 measurement harness.
20
+ *
21
+ * Every budget in the specification, measured against the real code paths and
22
+ * reported as pass or fail with the number that produced the verdict. Written
23
+ * as a plain async function rather than a Jest suite so the same harness runs
24
+ * in continuous integration and from the demo app on a physical device — which
25
+ * matters, because PERF-003 forbids emulator numbers standing in as evidence.
26
+ *
27
+ * Five budgets are deliberately absent and reported as such: delivery accuracy,
28
+ * cold-start latency, startup delta and frame rate cannot be measured
29
+ * in-process. The first needs the OS to actually fire an alarm, the second a
30
+ * real process death. Pretending to measure them here would be worse than
31
+ * leaving the gap visible.
32
+ */
33
+
34
+ /** Every budget PERF-001 states, in milliseconds unless the name says otherwise. */
35
+ const PERF_BUDGETS = exports.PERF_BUDGETS = {
36
+ scheduleOne: 50,
37
+ readPending100: 200,
38
+ reconcileNoChange100: 150,
39
+ reconcile500With100Changes: 1_500,
40
+ maintenanceIdleCycle: 300,
41
+ windowRefresh32Series: 500,
42
+ reAnchor100: 1_000,
43
+ reAnchorNoChangeCheck: 20,
44
+ permissionRead: 50,
45
+ dedupCheck: 20,
46
+ interfaceThreadUnit: 16,
47
+ stateFootprintBytes: 1_048_576
48
+ };
49
+ const TONE = {
50
+ toneId: 'perf',
51
+ version: 1,
52
+ android: {
53
+ channelId: 'perf.v1',
54
+ importance: 'default',
55
+ vibration: false,
56
+ badge: false,
57
+ bypassDnd: false,
58
+ name: 'Fixture tone',
59
+ loopSound: false,
60
+ alarmCategory: false
61
+ },
62
+ ios: {
63
+ categoryId: 'perf',
64
+ interruptionLevel: 'active',
65
+ badge: false,
66
+ repeatRefused: false
67
+ }
68
+ };
69
+ async function runMeasurementHarness(engine, options = {}) {
70
+ const clock = options.clock ?? (() => Date.now());
71
+ const prefix = options.prefix ?? 'perf';
72
+ const measurements = [];
73
+ const now = () => Date.now();
74
+ const zone = 'UTC';
75
+ const state = new _record.StateManager({
76
+ store: (0, _store.createMemoryStore)(),
77
+ now
78
+ });
79
+ const resolveTone = () => TONE;
80
+ const record = (name, label, measured, operationCount) => {
81
+ const budget = PERF_BUDGETS[name];
82
+ // A budget that also demands zero operations fails on either count.
83
+ const opsOk = operationCount === undefined || operationCount === 0;
84
+ measurements.push({
85
+ name,
86
+ label,
87
+ measured,
88
+ budget,
89
+ unit: name === 'stateFootprintBytes' ? 'bytes' : 'ms',
90
+ passed: measured <= budget && opsOk,
91
+ operationCount
92
+ });
93
+ };
94
+
95
+ /** Median of three, so one scheduler hiccup does not decide a verdict. */
96
+ const timeOf = async run => {
97
+ const samples = [];
98
+ for (let i = 0; i < 3; i += 1) {
99
+ const started = clock();
100
+ await run();
101
+ samples.push(clock() - started);
102
+ }
103
+ return samples.sort((a, b) => a - b)[1];
104
+ };
105
+ const request = (id, at) => ({
106
+ id: `${prefix}:${id}`,
107
+ content: {
108
+ title: id,
109
+ body: 'Measurement harness entry'
110
+ },
111
+ tone: 'perf',
112
+ moment: {
113
+ at
114
+ },
115
+ groupTag: prefix
116
+ });
117
+ const scheduler = (0, _index.createScheduler)({
118
+ engine,
119
+ resolveTone,
120
+ timeZone: () => zone,
121
+ now,
122
+ canScheduleExactly: () => true
123
+ });
124
+ await engine.cancelAll();
125
+
126
+ // --- Scheduling -----------------------------------------------------------
127
+
128
+ record('scheduleOne', 'Single schedule operation', await timeOf(() => scheduler.schedule(request('single', now() + 3_600_000))));
129
+ for (let i = 0; i < 100; i += 1) {
130
+ await scheduler.schedule(request(`bulk:${i}`, now() + (i + 1) * 60_000));
131
+ }
132
+ record('readPending100', 'Read pending set of 100', await timeOf(() => scheduler.getPending()));
133
+
134
+ // --- Reconciliation -------------------------------------------------------
135
+
136
+ const reconciler = (0, _index2.createReconciler)({
137
+ engine,
138
+ resolveTone,
139
+ timeZone: () => zone,
140
+ now,
141
+ canScheduleExactly: () => true
142
+ });
143
+ const hundred = Array.from({
144
+ length: 100
145
+ }, (_, i) => request(`recon:${i}`, now() + (i + 1) * 60_000));
146
+ await reconciler.reconcile({
147
+ domain: prefix,
148
+ desired: hundred
149
+ });
150
+ let noChangeOps = 0;
151
+ const noChangeMs = await timeOf(async () => {
152
+ const result = await reconciler.reconcile({
153
+ domain: prefix,
154
+ desired: hundred
155
+ });
156
+ noChangeOps = result.operationCount;
157
+ });
158
+ record('reconcileNoChange100', 'No-change reconcile over 100', noChangeMs, noChangeOps);
159
+ const fiveHundred = Array.from({
160
+ length: 500
161
+ }, (_, i) => request(`recon:${i}`, now() + (i + 1) * 60_000));
162
+ await reconciler.reconcile({
163
+ domain: prefix,
164
+ desired: fiveHundred
165
+ });
166
+ const changed = fiveHundred.map((entry, i) => i < 100 ? {
167
+ ...entry,
168
+ content: {
169
+ title: `changed-${i}`,
170
+ body: entry.content.body
171
+ }
172
+ } : entry);
173
+ record('reconcile500With100Changes', '500-entry reconcile with 100 changes', await timeOf(() => reconciler.reconcile({
174
+ domain: prefix,
175
+ desired: changed
176
+ })));
177
+
178
+ // --- Re-anchoring ---------------------------------------------------------
179
+
180
+ const pending = await engine.getPending();
181
+ record('reAnchorNoChangeCheck', 'Re-anchor check with no zone change', await timeOf(async () => (0, _anchor.planReAnchor)(pending, zone)), (0, _anchor.planReAnchor)(pending, zone).rewrites.length);
182
+ const context = {
183
+ trigger: 'foreground',
184
+ now: now(),
185
+ ownedIds: new Set()
186
+ };
187
+ const travelled = (0, _reanchor.createReAnchorStep)({
188
+ engine,
189
+ timeZone: () => 'Asia/Tokyo',
190
+ resolveTone,
191
+ canScheduleExactly: () => true
192
+ });
193
+ record('reAnchor100', 'Re-anchor after a zone change', await timeOf(() => travelled.run(context)));
194
+
195
+ // --- Maintenance ----------------------------------------------------------
196
+
197
+ const registry = new _cycle.MaintenanceRegistry();
198
+ registry.register((0, _reanchor.createReAnchorStep)({
199
+ engine,
200
+ timeZone: () => zone,
201
+ resolveTone,
202
+ canScheduleExactly: () => true
203
+ }));
204
+ let idleOps = 0;
205
+ const idleMs = await timeOf(async () => {
206
+ const result = await registry.run({
207
+ ...context,
208
+ now: now()
209
+ });
210
+ idleOps = result.operationCount;
211
+ });
212
+ record('maintenanceIdleCycle', 'Idle maintenance cycle', idleMs, idleOps);
213
+
214
+ // --- Recurrence -----------------------------------------------------------
215
+
216
+ const recurrence = (0, _index3.createRecurrence)({
217
+ engine,
218
+ state,
219
+ resolveTone,
220
+ timeZone: () => zone,
221
+ now,
222
+ lookahead: {
223
+ days: 60,
224
+ occurrencesPerSeries: 32
225
+ },
226
+ canScheduleExactly: () => true
227
+ });
228
+ const series = Array.from({
229
+ length: 32
230
+ }, (_, i) => ({
231
+ id: `${prefix}:series:${i}`,
232
+ pattern: {
233
+ kind: 'daily',
234
+ hour: i % 24,
235
+ minute: 0
236
+ },
237
+ end: {
238
+ kind: 'count',
239
+ count: 2
240
+ },
241
+ template: {
242
+ content: {
243
+ title: `Series ${i}`,
244
+ body: 'Measurement harness series'
245
+ },
246
+ tone: 'perf',
247
+ groupTag: prefix
248
+ }
249
+ }));
250
+ for (const rule of series) {
251
+ await recurrence.registerSeries(rule);
252
+ }
253
+ record('windowRefresh32Series', 'Window refresh across 32 series', await timeOf(async () => {
254
+ for (const rule of series) {
255
+ await recurrence.refreshSeries(rule);
256
+ }
257
+ }));
258
+
259
+ // --- Permissions ----------------------------------------------------------
260
+
261
+ const permissions = (0, _index4.createPermissions)({
262
+ engine,
263
+ state,
264
+ platform: {
265
+ os: 'android',
266
+ apiLevel: 34
267
+ },
268
+ now
269
+ });
270
+ record('permissionRead', 'Read all permission states', await timeOf(() => permissions.getPermissions()));
271
+
272
+ // --- Deduplication and footprint -----------------------------------------
273
+
274
+ for (let i = 0; i < 400; i += 1) {
275
+ (0, _dedupLedger.recordSeen)(state, `${prefix}:dedup:${i}`, now());
276
+ }
277
+ record('dedupCheck', 'Deduplication ledger check', await timeOf(async () => (0, _dedupLedger.recordSeen)(state, `${prefix}:dedup:probe`, now())));
278
+ record('stateFootprintBytes', 'Persisted state on disk at caps', state.health().approximateBytes);
279
+
280
+ // The interface-thread ceiling is a property of one chunked unit of work, not
281
+ // of a whole pass, so it is measured per entry rather than per reconcile.
282
+ const chunkMs = await timeOf(() => reconciler.reconcile({
283
+ domain: prefix,
284
+ desired: hundred.slice(0, 25)
285
+ }));
286
+ record('interfaceThreadUnit', 'Single chunked unit of reconcile work', chunkMs / 25);
287
+ await engine.cancelAll();
288
+ const passed = measurements.filter(measurement => measurement.passed).length;
289
+ return {
290
+ measurements,
291
+ passed,
292
+ failed: measurements.length - passed,
293
+ // Stated rather than silently omitted — these need real hardware.
294
+ requiresDevice: ['Delivery accuracy, exact mode (60 s) — needs the OS to fire a real alarm', 'Delivery accuracy, approximate mode (15 min) — needs a device under no vendor restriction', 'Cold-start tap to handler (500 ms) — needs a real process death and relaunch', 'App startup delta (100 ms) — needs a real cold start', 'Sustained frame rate during reconcile (55 fps) — needs a rendering device'],
295
+ ranAt: now()
296
+ };
297
+ }
298
+ //# sourceMappingURL=measure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_index","require","_index2","_index3","_index4","_reanchor","_cycle","_record","_store","_anchor","_dedupLedger","PERF_BUDGETS","exports","scheduleOne","readPending100","reconcileNoChange100","reconcile500With100Changes","maintenanceIdleCycle","windowRefresh32Series","reAnchor100","reAnchorNoChangeCheck","permissionRead","dedupCheck","interfaceThreadUnit","stateFootprintBytes","TONE","toneId","version","android","channelId","importance","vibration","badge","bypassDnd","name","loopSound","alarmCategory","ios","categoryId","interruptionLevel","repeatRefused","runMeasurementHarness","engine","options","clock","Date","now","prefix","measurements","zone","state","StateManager","store","createMemoryStore","resolveTone","record","label","measured","operationCount","budget","opsOk","undefined","push","unit","passed","timeOf","run","samples","i","started","sort","a","b","request","id","at","content","title","body","tone","moment","groupTag","scheduler","createScheduler","timeZone","canScheduleExactly","cancelAll","schedule","getPending","reconciler","createReconciler","hundred","Array","from","length","_","reconcile","domain","desired","noChangeOps","noChangeMs","result","fiveHundred","changed","map","entry","pending","planReAnchor","rewrites","context","trigger","ownedIds","Set","travelled","createReAnchorStep","registry","MaintenanceRegistry","register","idleOps","idleMs","recurrence","createRecurrence","lookahead","days","occurrencesPerSeries","series","pattern","kind","hour","minute","end","count","template","rule","registerSeries","refreshSeries","permissions","createPermissions","platform","os","apiLevel","getPermissions","recordSeen","health","approximateBytes","chunkMs","slice","filter","measurement","failed","requiresDevice","ranAt"],"sourceRoot":"../../../src","sources":["testing/measure.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * `@chipmobilesdk/rn-notification/advanced`: the individual factories, for an app
5
+ * that wires the package itself instead of using `createNotifications` (NOT-07).
6
+ *
7
+ * The package root still exports them too, for compatibility; new code that needs
8
+ * them should import from here, where they are documented as the advanced path.
9
+ */
10
+ export { initialize } from "./initialize.js";
11
+ export { createScheduler } from "./schedule/index.js";
12
+ export { createReconciler } from "./reconcile/index.js";
13
+ export { createRecurrence } from "./recurrence/index.js";
14
+ export { createChannels } from "./channel/migrate.js";
15
+ export { createToneResolver } from "./channel/tone-map.js";
16
+ export { createInteractions } from "./interaction/index.js";
17
+ export { createSnapshot } from "./diagnostics/snapshot.js";
18
+ export { createBurstDetector } from "./diagnostics/burst.js";
19
+ export { createPermissions } from "./permission/index.js";
20
+ export { createPermissionRefreshStep } from "./maintenance/permission-refresh.js";
21
+ export { createReAnchorStep } from "./maintenance/reanchor.js";
22
+ export { createVerifyStep } from "./maintenance/verify.js";
23
+ export { createWindowRefreshStep } from "./maintenance/window-refresh.js";
24
+ export { MaintenanceController } from "./maintenance/toggle.js";
25
+ export { MaintenanceRegistry } from "./maintenance/cycle.js";
26
+ export { StateManager } from "./state/record.js";
27
+ export { createMmkvStore } from "./state/mmkv-store.js";
28
+ export { createPlatformTimeZoneReader } from "./schedule/anchor.js";
29
+ //# sourceMappingURL=advanced.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["initialize","createScheduler","createReconciler","createRecurrence","createChannels","createToneResolver","createInteractions","createSnapshot","createBurstDetector","createPermissions","createPermissionRefreshStep","createReAnchorStep","createVerifyStep","createWindowRefreshStep","MaintenanceController","MaintenanceRegistry","StateManager","createMmkvStore","createPlatformTimeZoneReader"],"sourceRoot":"../../src","sources":["advanced.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,UAAU,QAAQ,iBAAc;AAEzC,SAASC,eAAe,QAAQ,qBAAY;AAE5C,SAASC,gBAAgB,QAAQ,sBAAa;AAE9C,SAASC,gBAAgB,QAAQ,uBAAc;AAE/C,SAASC,cAAc,QAAQ,sBAAmB;AAElD,SAASC,kBAAkB,QAAQ,uBAAoB;AACvD,SAASC,kBAAkB,QAAQ,wBAAe;AAElD,SAASC,cAAc,QAAQ,2BAAwB;AAEvD,SAASC,mBAAmB,QAAQ,wBAAqB;AACzD,SAASC,iBAAiB,QAAQ,uBAAc;AAEhD,SAASC,2BAA2B,QAAQ,qCAAkC;AAC9E,SAASC,kBAAkB,QAAQ,2BAAwB;AAC3D,SAASC,gBAAgB,QAAQ,yBAAsB;AACvD,SAASC,uBAAuB,QAAQ,iCAA8B;AACtE,SAASC,qBAAqB,QAAQ,yBAAsB;AAC5D,SAASC,mBAAmB,QAAQ,wBAAqB;AAEzD,SAASC,YAAY,QAAQ,mBAAgB;AAC7C,SAASC,eAAe,QAAQ,uBAAoB;AACpD,SAASC,4BAA4B,QAAQ,sBAAmB","ignoreList":[]}