@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,29 @@
1
+ /**
2
+ * Owner-tag and group-tag partitioning.
3
+ *
4
+ * A tag is an opaque label the caller supplies and the package never
5
+ * interprets. That is deliberate: modelling identity would mean acquiring an
6
+ * opinion about it, and this package is forbidden from knowing anything about
7
+ * accounts, tenants, or users.
8
+ *
9
+ * What the tag buys is one call — "clear this account's notifications" — on a
10
+ * shared device, without the package ever learning what an account is.
11
+ */
12
+ import type { PendingEntry } from '../contract/notification';
13
+ export type PartitionKind = 'owner' | 'group';
14
+ /** Selects entries carrying a tag. Comparison is exact; nothing is normalized. */
15
+ export declare function selectByTag(entries: readonly PendingEntry[], kind: PartitionKind, tag: string): readonly PendingEntry[];
16
+ /** Identifiers to cancel for a tag. */
17
+ export declare function idsForTag(entries: readonly PendingEntry[], kind: PartitionKind, tag: string): readonly string[];
18
+ /**
19
+ * Groups entries by a tag, keeping untagged entries under a distinct bucket.
20
+ *
21
+ * Untagged is not the same as any tag: an entry with no owner belongs to no
22
+ * account, and folding it into one would make a sign-out delete notifications
23
+ * that were never that account's.
24
+ */
25
+ export declare function partition(entries: readonly PendingEntry[], kind: PartitionKind): {
26
+ readonly tagged: ReadonlyMap<string, readonly PendingEntry[]>;
27
+ readonly untagged: readonly PendingEntry[];
28
+ };
29
+ //# sourceMappingURL=partition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partition.d.ts","sourceRoot":"","sources":["../../../../src/schedule/partition.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,OAAO,CAAC;AAE9C,kFAAkF;AAClF,wBAAgB,WAAW,CAC1B,OAAO,EAAE,SAAS,YAAY,EAAE,EAChC,IAAI,EAAE,aAAa,EACnB,GAAG,EAAE,MAAM,GACT,SAAS,YAAY,EAAE,CAIzB;AAED,uCAAuC;AACvC,wBAAgB,SAAS,CACxB,OAAO,EAAE,SAAS,YAAY,EAAE,EAChC,IAAI,EAAE,aAAa,EACnB,GAAG,EAAE,MAAM,GACT,SAAS,MAAM,EAAE,CAEnB;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CACxB,OAAO,EAAE,SAAS,YAAY,EAAE,EAChC,IAAI,EAAE,aAAa,GACjB;IACF,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC,CAAC;IAC9D,QAAQ,CAAC,QAAQ,EAAE,SAAS,YAAY,EAAE,CAAC;CAC3C,CAmBA"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Delivery moment resolution.
3
+ *
4
+ * Two rules, and they are two sides of one decision rather than a threshold:
5
+ * a moment more than the tolerance in the past is a caller error and is
6
+ * refused; a moment a few seconds in the past is a processing delay and is
7
+ * delivered promptly. Both outcomes are reported, so a caller never has to
8
+ * guess which happened.
9
+ *
10
+ * Sixty seconds is long enough to absorb reconciling a large desired set, cold
11
+ * start work, and clock skew, and short enough that a genuinely stale schedule
12
+ * is still caught rather than fired at the user minutes late with no
13
+ * explanation.
14
+ */
15
+ import type { DeliveryMoment } from '../contract/notification';
16
+ export declare const PAST_TOLERANCE_MS = 60000;
17
+ export type MomentResolution = {
18
+ readonly kind: 'future';
19
+ readonly at: number;
20
+ } | {
21
+ readonly kind: 'immediate';
22
+ readonly at: number;
23
+ readonly lateBy: number;
24
+ };
25
+ /**
26
+ * Classifies a resolved instant against now.
27
+ *
28
+ * Takes an already-anchored instant: anchoring decides *which* instant a moment
29
+ * means, and this decides whether that instant is usable. Keeping them separate
30
+ * is what lets each be tested without the other.
31
+ */
32
+ export declare function resolveMoment(resolvedAt: number, now: number): MomentResolution;
33
+ /** Validates the shape of a caller-supplied moment before anchoring resolves it. */
34
+ export declare function validateMoment(moment: DeliveryMoment): void;
35
+ //# sourceMappingURL=resolve-moment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-moment.d.ts","sourceRoot":"","sources":["../../../../src/schedule/resolve-moment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE/D,eAAO,MAAM,iBAAiB,QAAS,CAAC;AAExC,MAAM,MAAM,gBAAgB,GACzB;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAChD;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhF;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAyB/E;AAED,oFAAoF;AACpF,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAoB3D"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Content validation.
3
+ *
4
+ * The package passes content through **unchanged** and never truncates it.
5
+ * Display truncation is the platform's decision and differs between them; a
6
+ * library that pre-truncated would be guessing at a rule it does not own, and
7
+ * would corrupt content that would have displayed fine.
8
+ *
9
+ * What it does refuse is content over the platform's hard payload limit, where
10
+ * the alternative is not a shortened notification but a failed or undefined
11
+ * delivery. That is a real error and is reported as one, before any platform
12
+ * call.
13
+ */
14
+ import type { NotificationContent } from '../contract/notification';
15
+ /**
16
+ * Hard payload ceilings.
17
+ *
18
+ * These are *not* display limits. A title longer than a phone shows is fine and
19
+ * is passed through; the README documents where each platform visually
20
+ * truncates so a caller can decide for itself.
21
+ *
22
+ * The total is deliberately lower than the sum of the parts, so it actually
23
+ * binds — a per-field check that can never be exceeded in aggregate would be
24
+ * dead code. It sits under the 4 KB payload budget both platforms enforce,
25
+ * leaving headroom for the routing payload that shares it.
26
+ */
27
+ export declare const CONTENT_LIMITS: {
28
+ readonly maxTitleBytes: 512;
29
+ readonly maxBodyBytes: 3072;
30
+ readonly maxSubtitleBytes: 512;
31
+ readonly maxTotalBytes: 3584;
32
+ };
33
+ /** UTF-8 byte length — the unit the platforms actually bound. */
34
+ export declare function byteLength(value: string): number;
35
+ /**
36
+ * Validates content and returns it **byte-identical**.
37
+ *
38
+ * The return value is the same object reference where possible, so nothing
39
+ * downstream can mistake this for a transformation step.
40
+ */
41
+ export declare function validateContent(content: NotificationContent): NotificationContent;
42
+ //# sourceMappingURL=validate-content.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-content.d.ts","sourceRoot":"","sources":["../../../../src/schedule/validate-content.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEpE;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,cAAc;;;;;CAKjB,CAAC;AAEX,iEAAiE;AACjE,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAUhD;AAaD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,mBAAmB,GAAG,mBAAmB,CA4CjF"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Identifier validation.
3
+ *
4
+ * Identity is the caller's contract: only the caller can derive an identifier
5
+ * reproducibly from its own data, so the package never generates one.
6
+ *
7
+ * The charset is composite-friendly because real derived keys are hierarchical
8
+ * — `task:1234:reminder:2`. A charset that forced encoding of natural keys
9
+ * would work against caller-supplied identity being readable and reproducible,
10
+ * which is most of its value.
11
+ *
12
+ * Nothing is normalized, trimmed, case-folded, or hashed. Two identifiers
13
+ * differing in any character are different identifiers, and the value visible
14
+ * at the platform boundary is exactly what the caller supplied — which is what
15
+ * lets a notification be traced back to the data that produced it.
16
+ */
17
+ export declare const MAX_IDENTIFIER_LENGTH = 128;
18
+ export type IdentifierKind = 'id' | 'ownerTag' | 'groupTag' | 'seriesId' | 'actionId';
19
+ /**
20
+ * Throws a typed error naming the violated rule.
21
+ *
22
+ * The offending character and its position are reported; the value itself never
23
+ * is, because an identifier can carry user data a caller derived it from.
24
+ */
25
+ export declare function validateIdentifier(value: unknown, kind?: IdentifierKind): string;
26
+ /** Non-throwing form, for validating a batch without unwinding on the first failure. */
27
+ export declare function isValidIdentifier(value: unknown): value is string;
28
+ /** Validates an optional tag, returning undefined when absent rather than failing. */
29
+ export declare function validateOptionalTag(value: string | undefined, kind: Extract<IdentifierKind, 'ownerTag' | 'groupTag'>): string | undefined;
30
+ //# sourceMappingURL=validate-identifier.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-identifier.d.ts","sourceRoot":"","sources":["../../../../src/schedule/validate-identifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAgBzC,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC;AA0BtF;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,GAAE,cAAqB,GAAG,MAAM,CAsCtF;AAED,wFAAwF;AACxF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CASjE;AAED,sFAAsF;AACtF,wBAAgB,mBAAmB,CAClC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,IAAI,EAAE,OAAO,CAAC,cAAc,EAAE,UAAU,GAAG,UAAU,CAAC,GACpD,MAAM,GAAG,SAAS,CAGpB"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * The one door every consumer notification goes through to reach the engine.
3
+ *
4
+ * Scheduler, reconciler, recurrence, re-anchoring and channel re-homing all
5
+ * write notifications. Each used to call `engine.schedule` itself, and the
6
+ * guarantees attached to a write — a repeating alert gets its stop marker, and
7
+ * that marker moves when the notification moves — existed only on the paths
8
+ * that remembered them. A recurring alarm never stopped, and a re-anchored one
9
+ * stopped at the old instant.
10
+ *
11
+ * Validation stays with each caller, because each has its own failure policy:
12
+ * the scheduler throws, reconciliation rejects one entry and carries on, and
13
+ * recurrence validates its template once at registration.
14
+ */
15
+ import type { NotificationEngineAdapter, EngineScheduleRequest } from '../engine/adapter';
16
+ export interface ScheduleWriter {
17
+ /** Writes one notification and brings its stop marker in line with it. */
18
+ write(input: EngineScheduleRequest): Promise<void>;
19
+ /** Cancels one notification and the marker guarding it. */
20
+ cancel(id: string): Promise<void>;
21
+ /** Drops the marker for a notification already cancelled some other way. */
22
+ releaseStop(targetId: string): Promise<void>;
23
+ /**
24
+ * Platform slots consumer notifications can actually use: stop markers hold
25
+ * real capacity, so the usable ceiling is the platform's minus theirs.
26
+ */
27
+ capacity(): Promise<number>;
28
+ /**
29
+ * A writer for one pass of many writes (NOT-08): it reads the outstanding stop
30
+ * markers once and keeps that view current, instead of a full read of every
31
+ * pending trigger per operation.
32
+ */
33
+ pass(): ScheduleWriter;
34
+ }
35
+ export declare function createScheduleWriter(engine: NotificationEngineAdapter): ScheduleWriter;
36
+ //# sourceMappingURL=writer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../../../src/schedule/writer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAG1F,MAAM,WAAW,cAAc;IAC9B,0EAA0E;IAC1E,KAAK,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,2DAA2D;IAC3D,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,4EAA4E;IAC5E,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C;;;OAGG;IACH,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5B;;;;OAIG;IACH,IAAI,IAAI,cAAc,CAAC;CACvB;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,yBAAyB,GAAG,cAAc,CAEtF"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Caps and eviction for the persisted collections.
3
+ *
4
+ * No collection may grow without bound. Eviction is oldest-first and always
5
+ * observable — a silent eviction would turn a bounded guarantee into an
6
+ * unexplained one.
7
+ */
8
+ /** Every persisted collection with a size or age bound. */
9
+ export declare const COLLECTION_CAPS: {
10
+ readonly dedupLedger: {
11
+ readonly maxEntries: 500;
12
+ readonly retentionMs: number;
13
+ };
14
+ readonly interactionBuffer: {
15
+ readonly maxEntries: 50;
16
+ readonly retentionMs: number;
17
+ };
18
+ readonly migrationLedger: {
19
+ readonly maxEntries: 20;
20
+ readonly retentionMs: number;
21
+ };
22
+ readonly seriesLedger: {
23
+ readonly maxEntries: 32;
24
+ readonly retentionMs: number;
25
+ };
26
+ readonly permissionHistory: {
27
+ readonly maxEntries: 64;
28
+ readonly retentionMs: number;
29
+ };
30
+ };
31
+ export type CollectionName = keyof typeof COLLECTION_CAPS;
32
+ /** Anything stored with a timestamp, which is everything that can age out. */
33
+ export interface Timestamped {
34
+ readonly at: number;
35
+ }
36
+ export interface EvictionOutcome<T> {
37
+ readonly kept: readonly T[];
38
+ readonly evicted: readonly T[];
39
+ readonly reason: 'none' | 'cap' | 'retention' | 'cap+retention';
40
+ /** Entries kept beyond the cap because none of them may be evicted (NOT-16). */
41
+ readonly overCap: number;
42
+ }
43
+ /**
44
+ * Applies retention first, then the size cap.
45
+ *
46
+ * Order matters: expiring stale entries before trimming means a burst of new
47
+ * entries does not evict fresh ones while stale ones sit protected by
48
+ * recency ordering.
49
+ */
50
+ export declare function evict<T extends Timestamped>(entries: readonly T[], collection: CollectionName, now: number): EvictionOutcome<T>;
51
+ //# sourceMappingURL=caps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"caps.d.ts","sourceRoot":"","sources":["../../../../src/state/caps.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,2DAA2D;AAC3D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;CAMlB,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,eAAe,CAAC;AAE1D,8EAA8E;AAC9E,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe,CAAC,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,WAAW,GAAG,eAAe,CAAC;IAChE,gFAAgF;IAChF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CACzB;AAaD;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,CAAC,SAAS,WAAW,EAC1C,OAAO,EAAE,SAAS,CAAC,EAAE,EACrB,UAAU,EAAE,cAAc,EAC1B,GAAG,EAAE,MAAM,GACT,eAAe,CAAC,CAAC,CAAC,CAyCpB"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * The push deduplication ledger.
3
+ *
4
+ * Providers redeliver. The redelivery typically arrives in a **fresh process**,
5
+ * which is precisely why this is persisted rather than held in memory — an
6
+ * in-memory set would forget exactly when it matters.
7
+ *
8
+ * Bounded by cap and retention. A payload redelivered after its entry has aged
9
+ * out is treated as new: that is the documented bound of the guarantee, not a
10
+ * defect.
11
+ */
12
+ import type { StateManager } from './record';
13
+ export declare function isDuplicate(state: StateManager, dedupId: string): boolean;
14
+ /**
15
+ * Records a payload as seen.
16
+ *
17
+ * Returns true when it was already known, so a caller can branch on the same
18
+ * read that records it rather than checking twice.
19
+ */
20
+ export declare function recordSeen(state: StateManager, dedupId: string, now: number, ownerTag?: string): boolean;
21
+ //# sourceMappingURL=dedup-ledger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dedup-ledger.d.ts","sourceRoot":"","sources":["../../../../src/state/dedup-ledger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,wBAAgB,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAEzE;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CACzB,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,MAAM,GACf,OAAO,CAKT"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * The durable interaction buffer.
3
+ *
4
+ * A cold-start tap arrives before any handler exists. Holding it in memory
5
+ * would be enough if the process always survived — but the process is exactly
6
+ * what does not survive a cold start, so the buffer is persisted.
7
+ *
8
+ * This is the one content-bearing thing the package stores: an interaction
9
+ * cannot be delivered without its routing payload. It is evicted the moment it
10
+ * is delivered, and time-limited regardless, so an event nobody ever collects
11
+ * cannot sit on disk forever.
12
+ *
13
+ * Text the user typed into a reply action is never written to disk (NOT-14): it
14
+ * is free text, and the store is not encrypted. It is held in memory beside the
15
+ * buffer, so a handler registered later in the same process still receives it;
16
+ * if the process dies first, the event is delivered without `inputText`.
17
+ */
18
+ import type { StateManager } from './record';
19
+ import type { InteractionEvent } from '../contract/interaction';
20
+ export declare function buffer(state: StateManager, event: InteractionEvent): void;
21
+ /**
22
+ * Takes every buffered event in occurrence order and clears them.
23
+ *
24
+ * Draining and clearing together is deliberate: delivering an event twice is
25
+ * worse than the alternative, because a consumer that acts on an interaction
26
+ * (marking a task done, sending a reply) would act twice.
27
+ */
28
+ export declare function drain(state: StateManager): readonly InteractionEvent[];
29
+ export declare function bufferedCount(state: StateManager): number;
30
+ //# sourceMappingURL=interaction-buffer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interaction-buffer.d.ts","sourceRoot":"","sources":["../../../../src/state/interaction-buffer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAuB,MAAM,UAAU,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAmBhE,wBAAgB,MAAM,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAoBzE;AAED;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,gBAAgB,EAAE,CAuBtE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAEzD"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * MMKV-backed state store.
3
+ *
4
+ * Every MMKV import is confined to this file, so the rest of the package stays
5
+ * testable without a native module.
6
+ *
7
+ * Backup exclusion is achieved by *where* the data lives rather than by setting
8
+ * a file attribute: on iOS the instance is rooted under `Library/Caches`, which
9
+ * the platform excludes from iCloud and iTunes backup by design. The OS may
10
+ * purge that directory under storage pressure — acceptable here precisely
11
+ * because discarding and rebuilding this record is already a specified,
12
+ * non-blocking condition.
13
+ *
14
+ * On Android, backup exclusion is declared in the consuming app's
15
+ * `data_extraction_rules.xml` and `full_backup_content`, documented in the
16
+ * README. It is the app's manifest, so it is the app's declaration to make.
17
+ */
18
+ import type { StateStore } from './store';
19
+ export interface MmkvStoreOptions {
20
+ /** Told once, with the reason, when the store falls back to memory. */
21
+ readonly onDegraded?: (cause: unknown) => void;
22
+ }
23
+ /**
24
+ * Creates the persistent store, falling back to memory when MMKV is absent.
25
+ *
26
+ * The fallback is deliberate: a missing optional native module degrades
27
+ * deduplication and cold-start buffering to session scope, which is a
28
+ * documented degradation. It must never stop notifications being delivered, and
29
+ * it is never silent (NOT-15): it reports `STATE_STORE_DEGRADED` to the app's SDK
30
+ * sinks and to `onDegraded`, and the store reports `durable: false`.
31
+ */
32
+ export declare function createMmkvStore(options?: MmkvStoreOptions): StateStore;
33
+ //# sourceMappingURL=mmkv-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mmkv-store.d.ts","sourceRoot":"","sources":["../../../../src/state/mmkv-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAWH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAiB1C,MAAM,WAAW,gBAAgB;IAChC,uEAAuE;IACvE,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAC/C;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,OAAO,GAAE,gBAAqB,GAAG,UAAU,CAiC1E"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Permission-request history.
3
+ *
4
+ * The platform cannot tell you whether you have already asked. On both
5
+ * platforms a second request after a denial is silently a no-op, so an app that
6
+ * does not remember will keep "asking" and keep appearing to be refused.
7
+ *
8
+ * Keyed by owner tag so a multi-account device can clear one account's history
9
+ * on sign-out without forgetting what it asked the others.
10
+ */
11
+ import type { StateManager } from './record';
12
+ import type { PermissionKind } from '../contract/permission';
13
+ export declare function hasRequested(state: StateManager, kind: PermissionKind, ownerTag?: string): boolean;
14
+ export declare function recordRequested(state: StateManager, kind: PermissionKind, now: number, ownerTag?: string): void;
15
+ /** How many requests for `kind` the user has refused on this device. */
16
+ export declare function denialCount(state: StateManager, kind: PermissionKind): number;
17
+ export declare function recordDenial(state: StateManager, kind: PermissionKind, now: number): void;
18
+ /** Forgets refusals once the permission is seen granted: the next refusal starts over. */
19
+ export declare function clearDenials(state: StateManager, kind: PermissionKind): void;
20
+ //# sourceMappingURL=permission-history.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permission-history.d.ts","sourceRoot":"","sources":["../../../../src/state/permission-history.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAM7D,wBAAgB,YAAY,CAC3B,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,cAAc,EACpB,QAAQ,CAAC,EAAE,MAAM,GACf,OAAO,CAGT;AAED,wBAAgB,eAAe,CAC9B,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,cAAc,EACpB,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,MAAM,GACf,IAAI,CAQN;AAKD,wEAAwE;AACxE,wBAAgB,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,GAAG,MAAM,CAG7E;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAOzF;AAED,0FAA0F;AAC1F,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,GAAG,IAAI,CAI5E"}
@@ -0,0 +1,134 @@
1
+ /**
2
+ * The persisted state record.
3
+ *
4
+ * Six collections, holding only what the platform will not tell us. No
5
+ * notification content, no push token, no desired set. The interaction buffer
6
+ * is the sole content-bearing exception, and it evicts on delivery.
7
+ *
8
+ * Corrupt or incompatible state is discarded and rebuilt rather than blocking:
9
+ * everything already scheduled lives in the OS and is unaffected, which is what
10
+ * makes discarding safe rather than destructive.
11
+ */
12
+ import type { StateStore } from './store';
13
+ import { type CollectionName, type Timestamped } from './caps';
14
+ import type { AnchoringMode, RoutingPayload } from '../contract/notification';
15
+ import type { StateHealth } from '../contract/diagnostics';
16
+ import { type DiagnosticCode } from '../contract/errors';
17
+ /**
18
+ * Bumped whenever the shape below changes. A mismatch discards and rebuilds —
19
+ * never a migration, because none of this data is worth migrating and all of it
20
+ * is reconstructible.
21
+ */
22
+ export declare const STATE_SCHEMA_VERSION = 1;
23
+ export interface DedupEntry extends Timestamped {
24
+ readonly dedupId: string;
25
+ readonly ownerTag?: string;
26
+ }
27
+ export interface BufferedInteraction extends Timestamped {
28
+ readonly id: string;
29
+ readonly kind: 'tap' | 'action' | 'dismiss';
30
+ readonly notificationId: string;
31
+ readonly actionId?: string;
32
+ /**
33
+ * Only ever present in a record written before 0.5: typed replies are no
34
+ * longer persisted (interaction-buffer.ts).
35
+ */
36
+ readonly inputText?: string;
37
+ /** The one content-bearing thing persisted. Evicted the moment it is delivered. */
38
+ readonly routing?: RoutingPayload;
39
+ readonly ownerTag?: string;
40
+ }
41
+ export interface MigrationEntry extends Timestamped {
42
+ readonly toneId: string;
43
+ readonly appliedVersion: number;
44
+ readonly channelId: string;
45
+ readonly retired: boolean;
46
+ /**
47
+ * Fingerprint of the labels last pushed to the platform.
48
+ *
49
+ * Optional because records written before labels were carried at all have
50
+ * none — and their absence is exactly right: an unknown fingerprint refreshes
51
+ * once, which is the one-time correction every existing device needs, since
52
+ * every existing channel currently carries the tone id as its name.
53
+ *
54
+ * A fingerprint rather than the labels themselves. Persisted state holds no
55
+ * consumer text, and a hash answers the only question asked of it.
56
+ */
57
+ readonly labelFingerprint?: string;
58
+ }
59
+ export interface SeriesEntry extends Timestamped {
60
+ readonly seriesId: string;
61
+ readonly anchoring: AnchoringMode;
62
+ readonly expandedThrough: number;
63
+ readonly emittedCount: number;
64
+ readonly exhausted: boolean;
65
+ /**
66
+ * Calendar key of the latest occurrence counted into `emittedCount`. Absent in
67
+ * entries written before 0.4.0; recovered from the device on next expansion.
68
+ */
69
+ readonly lastEmittedKey?: string;
70
+ }
71
+ export interface PermissionHistoryEntry extends Timestamped {
72
+ readonly key: string;
73
+ readonly requested: boolean;
74
+ /** Requests the user refused, so a permanent denial can be told apart (0.6.0). */
75
+ readonly denials?: number;
76
+ }
77
+ export interface StateRecord {
78
+ readonly schemaVersion: number;
79
+ readonly dedupLedger: readonly DedupEntry[];
80
+ readonly interactionBuffer: readonly BufferedInteraction[];
81
+ readonly migrationLedger: readonly MigrationEntry[];
82
+ readonly seriesLedger: readonly SeriesEntry[];
83
+ readonly permissionHistory: readonly PermissionHistoryEntry[];
84
+ readonly lastReconcileSummary?: Readonly<Record<string, unknown>>;
85
+ readonly lastMaintenanceSummary?: Readonly<Record<string, unknown>>;
86
+ }
87
+ export declare function emptyRecord(): StateRecord;
88
+ export interface StateEvent {
89
+ readonly code: DiagnosticCode;
90
+ readonly context?: Readonly<Record<string, unknown>>;
91
+ }
92
+ export interface StateManagerOptions {
93
+ readonly store: StateStore;
94
+ readonly now: () => number;
95
+ readonly emit?: (event: StateEvent) => void;
96
+ }
97
+ /**
98
+ * Owns the record's lifecycle. Reads are synchronous and cheap; writes are
99
+ * best-effort and never propagate a failure to the caller's operation.
100
+ */
101
+ export declare class StateManager {
102
+ private record;
103
+ private rebuilt;
104
+ private readonly store;
105
+ private readonly now;
106
+ private readonly emit;
107
+ constructor(options: StateManagerOptions);
108
+ private load;
109
+ /** Reads the pre-0.6.0 single record, writes it out per collection, and drops it. */
110
+ private migrateLegacy;
111
+ private discardAndRebuild;
112
+ private deleteAll;
113
+ /** Never throws. A storage failure degrades the affected guarantee, nothing more. */
114
+ private write;
115
+ /** Writes one collection, and only that one. */
116
+ private persist;
117
+ /** The schema version and summaries. Present whenever any collection is stored. */
118
+ private persistMeta;
119
+ read(): StateRecord;
120
+ /** Applies a change, evicts the touched collection, and persists. */
121
+ update<K extends CollectionName>(collection: K, mutate: (current: StateRecord[K]) => StateRecord[K]): void;
122
+ setSummary(key: 'lastReconcileSummary' | 'lastMaintenanceSummary', value: Readonly<Record<string, unknown>>): void;
123
+ /** Clears everything. Public through `resetState()`. */
124
+ reset(): void;
125
+ /**
126
+ * Clears one owner tag's entries, leaving every other tag untouched.
127
+ *
128
+ * Collections without an owner tag are left alone: a migration ledger and a
129
+ * series ledger describe the device, not an account.
130
+ */
131
+ clearOwner(ownerTag: string): void;
132
+ health(): StateHealth;
133
+ }
134
+ //# sourceMappingURL=record.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../../../../src/state/record.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAA0B,KAAK,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAC;AACvF,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,KAAK,EAAoB,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAAoB,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAoB3E;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC,MAAM,WAAW,UAAW,SAAQ,WAAW;IAC9C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACvD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC5C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,mFAAmF;IACnF,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,cAAe,SAAQ,WAAW;IAClD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACnC;AAED,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC/C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;IAClC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,sBAAuB,SAAQ,WAAW;IAC1D,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,kFAAkF;IAClF,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAC;IAC5C,QAAQ,CAAC,iBAAiB,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAC3D,QAAQ,CAAC,eAAe,EAAE,SAAS,cAAc,EAAE,CAAC;IACpD,QAAQ,CAAC,YAAY,EAAE,SAAS,WAAW,EAAE,CAAC;IAC9C,QAAQ,CAAC,iBAAiB,EAAE,SAAS,sBAAsB,EAAE,CAAC;IAC9D,QAAQ,CAAC,oBAAoB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAClE,QAAQ,CAAC,sBAAsB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACpE;AAED,wBAAgB,WAAW,IAAI,WAAW,CASzC;AAED,MAAM,WAAW,UAAU;IAC1B,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACrD;AAED,MAAM,WAAW,mBAAmB;IACnC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;CAC5C;AAED;;;GAGG;AACH,qBAAa,YAAY;IACxB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;IACnC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA8B;gBAEvC,OAAO,EAAE,mBAAmB;IAOxC,OAAO,CAAC,IAAI;IAgCZ,qFAAqF;IACrF,OAAO,CAAC,aAAa;IAgCrB,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,SAAS;IAQjB,qFAAqF;IACrF,OAAO,CAAC,KAAK;IAWb,gDAAgD;IAChD,OAAO,CAAC,OAAO;IAIf,mFAAmF;IACnF,OAAO,CAAC,WAAW;IAQnB,IAAI,IAAI,WAAW;IAInB,qEAAqE;IACrE,MAAM,CAAC,CAAC,SAAS,cAAc,EAC9B,UAAU,EAAE,CAAC,EACb,MAAM,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,GACjD,IAAI;IA4BP,UAAU,CACT,GAAG,EAAE,sBAAsB,GAAG,wBAAwB,EACtD,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACtC,IAAI;IAKP,wDAAwD;IACxD,KAAK,IAAI,IAAI;IAOb;;;;;OAKG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAclC,MAAM,IAAI,WAAW;CAoBrB"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Public state reset and per-owner clearing.
3
+ *
4
+ * These are the only two ways a consumer may touch the persisted record. The
5
+ * record itself is unreachable — a consumer can discard state, but can never
6
+ * read or write it.
7
+ */
8
+ import type { StateManager } from './record';
9
+ export interface ResetOutcome {
10
+ readonly clearedCollections: readonly string[];
11
+ }
12
+ /** Discards the entire record. Nothing already scheduled with the OS is affected. */
13
+ export declare function resetState(state: StateManager): ResetOutcome;
14
+ /**
15
+ * Clears one owner tag's entries on sign-out.
16
+ *
17
+ * Deliberately narrower than a full reset: the migration and series ledgers
18
+ * describe the device rather than an account, so signing one account out must
19
+ * not discard channel migration history that every account depends on.
20
+ */
21
+ export declare function clearOwner(state: StateManager, ownerTag: string): ResetOutcome;
22
+ //# sourceMappingURL=reset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reset.d.ts","sourceRoot":"","sources":["../../../../src/state/reset.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/C;AAED,qFAAqF;AACrF,wBAAgB,UAAU,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY,CAW5D;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,CAK9E"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * The recurrence series ledger.
3
+ *
4
+ * What makes automatic maintenance possible without a desired set from the
5
+ * consumer: the package remembers which series it owns, how far each has been
6
+ * expanded, and how many occurrences a count-limited series has already
7
+ * emitted. None of that is derivable from the platform's pending set, which
8
+ * knows only about individual notifications.
9
+ *
10
+ * It also defines what maintenance is allowed to touch. An occurrence belongs
11
+ * to a series in this ledger, so cancelling it is within scope; anything else
12
+ * is a directly-scheduled notification the package does not own.
13
+ */
14
+ import type { StateManager } from './record';
15
+ import type { RecurrenceRule } from '../contract/recurrence';
16
+ import type { AnchoringMode } from '../contract/notification';
17
+ export interface SeriesRecord {
18
+ readonly seriesId: string;
19
+ readonly anchoring: AnchoringMode;
20
+ readonly expandedThrough: number;
21
+ readonly emittedCount: number;
22
+ readonly exhausted: boolean;
23
+ readonly lastEmittedKey?: string;
24
+ readonly at: number;
25
+ }
26
+ export declare function readSeries(state: StateManager, seriesId: string): SeriesRecord | undefined;
27
+ export declare function listSeries(state: StateManager): readonly SeriesRecord[];
28
+ /** Records or updates a series. Replaces in place so a re-registration cannot duplicate. */
29
+ export declare function upsertSeries(state: StateManager, rule: RecurrenceRule, update: {
30
+ readonly expandedThrough: number;
31
+ readonly emittedCount: number;
32
+ readonly exhausted: boolean;
33
+ readonly lastEmittedKey?: string;
34
+ }, now: number): void;
35
+ export declare function removeSeries(state: StateManager, seriesId: string): void;
36
+ /**
37
+ * Identifiers the package owns.
38
+ *
39
+ * An occurrence identifier is `<seriesId>#<instant>`, so ownership is decided
40
+ * by prefix rather than by an enumeration the ledger would have to keep in sync
41
+ * with the device. That keeps the check correct even for occurrences scheduled
42
+ * before the app last restarted.
43
+ */
44
+ export declare function ownsIdentifier(state: StateManager, id: string): boolean;
45
+ /** Every occurrence identifier currently attributable to a tracked series. */
46
+ export declare function ownedIdentifiers(state: StateManager, pendingIds: readonly string[]): ReadonlySet<string>;
47
+ //# sourceMappingURL=series-ledger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"series-ledger.d.ts","sourceRoot":"","sources":["../../../../src/state/series-ledger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,UAAU,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;IAClC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAE1F;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,YAAY,EAAE,CAEvE;AAED,4FAA4F;AAC5F,wBAAgB,YAAY,CAC3B,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE;IACP,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CACjC,EACD,GAAG,EAAE,MAAM,GACT,IAAI,CAeN;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAExE;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAMvE;AAED,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAC/B,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,SAAS,MAAM,EAAE,GAC3B,WAAW,CAAC,MAAM,CAAC,CAErB"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * The storage port behind the persisted state record.
3
+ *
4
+ * Kept as a port so the pure state logic is testable with no native module,
5
+ * and so MMKV stays confined to one file. This is internal — a consumer can
6
+ * reset or clear state, but can never read or write the record directly.
7
+ */
8
+ export interface StateStore {
9
+ getString(key: string): string | undefined;
10
+ setString(key: string, value: string): void;
11
+ delete(key: string): void;
12
+ clearAll(): void;
13
+ /** Approximate on-disk size, for the health report. */
14
+ approximateBytes(): number;
15
+ /** False when writes do not survive a restart (the memory fallback). */
16
+ readonly durable?: boolean;
17
+ }
18
+ /** In-memory store, used by tests and as the fallback when MMKV is unavailable. */
19
+ export declare function createMemoryStore(): StateStore;
20
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../src/state/store.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,UAAU;IAC1B,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC3C,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,IAAI,IAAI,CAAC;IACjB,uDAAuD;IACvD,gBAAgB,IAAI,MAAM,CAAC;IAC3B,wEAAwE;IACxE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,mFAAmF;AACnF,wBAAgB,iBAAiB,IAAI,UAAU,CAsB9C"}