@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.
- package/CHANGELOG.md +111 -0
- package/README.md +8 -6
- package/lib/commonjs/advanced.js +139 -0
- package/lib/commonjs/advanced.js.map +1 -0
- package/lib/commonjs/channel/migrate.js +246 -0
- package/lib/commonjs/channel/migrate.js.map +1 -0
- package/lib/commonjs/channel/tone-map.js +120 -0
- package/lib/commonjs/channel/tone-map.js.map +1 -0
- package/lib/commonjs/channel/validate-tone.js +61 -0
- package/lib/commonjs/channel/validate-tone.js.map +1 -0
- package/lib/commonjs/contract/channel.js +52 -0
- package/lib/commonjs/contract/channel.js.map +1 -0
- package/lib/commonjs/contract/diagnostics.js +25 -0
- package/lib/commonjs/contract/diagnostics.js.map +1 -0
- package/lib/commonjs/contract/errors.js +126 -0
- package/lib/commonjs/contract/errors.js.map +1 -0
- package/lib/commonjs/contract/hash.js +35 -0
- package/lib/commonjs/contract/hash.js.map +1 -0
- package/lib/commonjs/contract/index.js +94 -0
- package/lib/commonjs/contract/index.js.map +1 -0
- package/lib/commonjs/contract/interaction.js +37 -0
- package/lib/commonjs/contract/interaction.js.map +1 -0
- package/lib/commonjs/contract/notification.js +42 -0
- package/lib/commonjs/contract/notification.js.map +1 -0
- package/lib/commonjs/contract/permission.js +2 -0
- package/lib/commonjs/contract/permission.js.map +1 -0
- package/lib/commonjs/contract/reconcile.js +6 -0
- package/lib/commonjs/contract/reconcile.js.map +1 -0
- package/lib/commonjs/contract/recurrence.js +53 -0
- package/lib/commonjs/contract/recurrence.js.map +1 -0
- package/lib/commonjs/diagnostics/burst.js +89 -0
- package/lib/commonjs/diagnostics/burst.js.map +1 -0
- package/lib/commonjs/diagnostics/events.js +63 -0
- package/lib/commonjs/diagnostics/events.js.map +1 -0
- package/lib/commonjs/diagnostics/redact.js +48 -0
- package/lib/commonjs/diagnostics/redact.js.map +1 -0
- package/lib/commonjs/diagnostics/snapshot.js +68 -0
- package/lib/commonjs/diagnostics/snapshot.js.map +1 -0
- package/lib/commonjs/engine/adapter.js +6 -0
- package/lib/commonjs/engine/adapter.js.map +1 -0
- package/lib/commonjs/engine/codec.js +84 -0
- package/lib/commonjs/engine/codec.js.map +1 -0
- package/lib/commonjs/engine/notify-kit/events.js +148 -0
- package/lib/commonjs/engine/notify-kit/events.js.map +1 -0
- package/lib/commonjs/engine/notify-kit/module.js +119 -0
- package/lib/commonjs/engine/notify-kit/module.js.map +1 -0
- package/lib/commonjs/engine/notify-kit/platform/android.js +159 -0
- package/lib/commonjs/engine/notify-kit/platform/android.js.map +1 -0
- package/lib/commonjs/engine/notify-kit/platform/index.js +57 -0
- package/lib/commonjs/engine/notify-kit/platform/index.js.map +1 -0
- package/lib/commonjs/engine/notify-kit/platform/ios.js +54 -0
- package/lib/commonjs/engine/notify-kit/platform/ios.js.map +1 -0
- package/lib/commonjs/engine/notify-kit/platform/types.js +6 -0
- package/lib/commonjs/engine/notify-kit/platform/types.js.map +1 -0
- package/lib/commonjs/engine/notify-kit-engine.js +260 -0
- package/lib/commonjs/engine/notify-kit-engine.js.map +1 -0
- package/lib/commonjs/index.js +367 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/initialize.js +187 -0
- package/lib/commonjs/initialize.js.map +1 -0
- package/lib/commonjs/interaction/index.js +120 -0
- package/lib/commonjs/interaction/index.js.map +1 -0
- package/lib/commonjs/maintenance/cycle.js +108 -0
- package/lib/commonjs/maintenance/cycle.js.map +1 -0
- package/lib/commonjs/maintenance/permission-refresh.js +39 -0
- package/lib/commonjs/maintenance/permission-refresh.js.map +1 -0
- package/lib/commonjs/maintenance/reanchor.js +99 -0
- package/lib/commonjs/maintenance/reanchor.js.map +1 -0
- package/lib/commonjs/maintenance/toggle.js +50 -0
- package/lib/commonjs/maintenance/toggle.js.map +1 -0
- package/lib/commonjs/maintenance/verify.js +70 -0
- package/lib/commonjs/maintenance/verify.js.map +1 -0
- package/lib/commonjs/maintenance/window-refresh.js +53 -0
- package/lib/commonjs/maintenance/window-refresh.js.map +1 -0
- package/lib/commonjs/notifications.js +161 -0
- package/lib/commonjs/notifications.js.map +1 -0
- package/lib/commonjs/package.json +1 -0
- package/lib/commonjs/permission/index.js +182 -0
- package/lib/commonjs/permission/index.js.map +1 -0
- package/lib/commonjs/permission/state.js +92 -0
- package/lib/commonjs/permission/state.js.map +1 -0
- package/lib/commonjs/push/envelope.js +141 -0
- package/lib/commonjs/push/envelope.js.map +1 -0
- package/lib/commonjs/push/fcm-provider.js +122 -0
- package/lib/commonjs/push/fcm-provider.js.map +1 -0
- package/lib/commonjs/push/gate.js +162 -0
- package/lib/commonjs/push/gate.js.map +1 -0
- package/lib/commonjs/push/index.js +47 -0
- package/lib/commonjs/push/index.js.map +1 -0
- package/lib/commonjs/push/instructions.js +101 -0
- package/lib/commonjs/push/instructions.js.map +1 -0
- package/lib/commonjs/push/provider-adapter.js +6 -0
- package/lib/commonjs/push/provider-adapter.js.map +1 -0
- package/lib/commonjs/push/signout.js +55 -0
- package/lib/commonjs/push/signout.js.map +1 -0
- package/lib/commonjs/reconcile/chunk.js +49 -0
- package/lib/commonjs/reconcile/chunk.js.map +1 -0
- package/lib/commonjs/reconcile/diff.js +105 -0
- package/lib/commonjs/reconcile/diff.js.map +1 -0
- package/lib/commonjs/reconcile/duplicates.js +60 -0
- package/lib/commonjs/reconcile/duplicates.js.map +1 -0
- package/lib/commonjs/reconcile/index.js +164 -0
- package/lib/commonjs/reconcile/index.js.map +1 -0
- package/lib/commonjs/reconcile/truncate.js +50 -0
- package/lib/commonjs/reconcile/truncate.js.map +1 -0
- package/lib/commonjs/recurrence/clock-guard.js +65 -0
- package/lib/commonjs/recurrence/clock-guard.js.map +1 -0
- package/lib/commonjs/recurrence/expand.js +254 -0
- package/lib/commonjs/recurrence/expand.js.map +1 -0
- package/lib/commonjs/recurrence/index.js +212 -0
- package/lib/commonjs/recurrence/index.js.map +1 -0
- package/lib/commonjs/repeat/expiry.js +41 -0
- package/lib/commonjs/repeat/expiry.js.map +1 -0
- package/lib/commonjs/repeat/index.js +100 -0
- package/lib/commonjs/repeat/index.js.map +1 -0
- package/lib/commonjs/repeat/marker.js +58 -0
- package/lib/commonjs/repeat/marker.js.map +1 -0
- package/lib/commonjs/repeat/place.js +83 -0
- package/lib/commonjs/repeat/place.js.map +1 -0
- package/lib/commonjs/schedule/anchor.js +243 -0
- package/lib/commonjs/schedule/anchor.js.map +1 -0
- package/lib/commonjs/schedule/index.js +142 -0
- package/lib/commonjs/schedule/index.js.map +1 -0
- package/lib/commonjs/schedule/partition.js +59 -0
- package/lib/commonjs/schedule/partition.js.map +1 -0
- package/lib/commonjs/schedule/resolve-moment.js +72 -0
- package/lib/commonjs/schedule/resolve-moment.js.map +1 -0
- package/lib/commonjs/schedule/validate-content.js +101 -0
- package/lib/commonjs/schedule/validate-content.js.map +1 -0
- package/lib/commonjs/schedule/validate-identifier.js +126 -0
- package/lib/commonjs/schedule/validate-identifier.js.map +1 -0
- package/lib/commonjs/schedule/writer.js +44 -0
- package/lib/commonjs/schedule/writer.js.map +1 -0
- package/lib/commonjs/state/caps.js +101 -0
- package/lib/commonjs/state/caps.js.map +1 -0
- package/lib/commonjs/state/dedup-ledger.js +39 -0
- package/lib/commonjs/state/dedup-ledger.js.map +1 -0
- package/lib/commonjs/state/interaction-buffer.js +98 -0
- package/lib/commonjs/state/interaction-buffer.js.map +1 -0
- package/lib/commonjs/state/mmkv-store.js +75 -0
- package/lib/commonjs/state/mmkv-store.js.map +1 -0
- package/lib/commonjs/state/permission-history.js +64 -0
- package/lib/commonjs/state/permission-history.js.map +1 -0
- package/lib/commonjs/state/record.js +269 -0
- package/lib/commonjs/state/record.js.map +1 -0
- package/lib/commonjs/state/reset.js +37 -0
- package/lib/commonjs/state/reset.js.map +1 -0
- package/lib/commonjs/state/series-ledger.js +71 -0
- package/lib/commonjs/state/series-ledger.js.map +1 -0
- package/lib/commonjs/state/store.js +39 -0
- package/lib/commonjs/state/store.js.map +1 -0
- package/lib/commonjs/testing/conformance/index.js +218 -0
- package/lib/commonjs/testing/conformance/index.js.map +1 -0
- package/lib/commonjs/testing/fake-engine.js +338 -0
- package/lib/commonjs/testing/fake-engine.js.map +1 -0
- package/lib/commonjs/testing/fake-provider.js +93 -0
- package/lib/commonjs/testing/fake-provider.js.map +1 -0
- package/lib/commonjs/testing/faults.js +59 -0
- package/lib/commonjs/testing/faults.js.map +1 -0
- package/lib/commonjs/testing/index.js +54 -0
- package/lib/commonjs/testing/index.js.map +1 -0
- package/lib/commonjs/testing/measure.js +298 -0
- package/lib/commonjs/testing/measure.js.map +1 -0
- package/lib/module/advanced.js +29 -0
- package/lib/module/advanced.js.map +1 -0
- package/lib/module/channel/migrate.js +242 -0
- package/lib/module/channel/migrate.js.map +1 -0
- package/lib/module/channel/tone-map.js +112 -0
- package/lib/module/channel/tone-map.js.map +1 -0
- package/lib/module/channel/validate-tone.js +57 -0
- package/lib/module/channel/validate-tone.js.map +1 -0
- package/lib/module/contract/channel.js +48 -0
- package/lib/module/contract/channel.js.map +1 -0
- package/lib/module/contract/diagnostics.js +21 -0
- package/lib/module/contract/diagnostics.js.map +1 -0
- package/lib/module/contract/errors.js +119 -0
- package/lib/module/contract/errors.js.map +1 -0
- package/lib/module/contract/hash.js +29 -0
- package/lib/module/contract/hash.js.map +1 -0
- package/lib/module/contract/index.js +13 -0
- package/lib/module/contract/index.js.map +1 -0
- package/lib/module/contract/interaction.js +33 -0
- package/lib/module/contract/interaction.js.map +1 -0
- package/lib/module/contract/notification.js +38 -0
- package/lib/module/contract/notification.js.map +1 -0
- package/lib/module/contract/permission.js +2 -0
- package/lib/module/contract/permission.js.map +1 -0
- package/lib/module/contract/reconcile.js +4 -0
- package/lib/module/contract/reconcile.js.map +1 -0
- package/lib/module/contract/recurrence.js +49 -0
- package/lib/module/contract/recurrence.js.map +1 -0
- package/lib/module/diagnostics/burst.js +85 -0
- package/lib/module/diagnostics/burst.js.map +1 -0
- package/lib/module/diagnostics/events.js +58 -0
- package/lib/module/diagnostics/events.js.map +1 -0
- package/lib/module/diagnostics/redact.js +44 -0
- package/lib/module/diagnostics/redact.js.map +1 -0
- package/lib/module/diagnostics/snapshot.js +64 -0
- package/lib/module/diagnostics/snapshot.js.map +1 -0
- package/lib/module/engine/adapter.js +4 -0
- package/lib/module/engine/adapter.js.map +1 -0
- package/lib/module/engine/codec.js +79 -0
- package/lib/module/engine/codec.js.map +1 -0
- package/lib/module/engine/notify-kit/events.js +139 -0
- package/lib/module/engine/notify-kit/events.js.map +1 -0
- package/lib/module/engine/notify-kit/module.js +113 -0
- package/lib/module/engine/notify-kit/module.js.map +1 -0
- package/lib/module/engine/notify-kit/platform/android.js +155 -0
- package/lib/module/engine/notify-kit/platform/android.js.map +1 -0
- package/lib/module/engine/notify-kit/platform/index.js +51 -0
- package/lib/module/engine/notify-kit/platform/index.js.map +1 -0
- package/lib/module/engine/notify-kit/platform/ios.js +49 -0
- package/lib/module/engine/notify-kit/platform/ios.js.map +1 -0
- package/lib/module/engine/notify-kit/platform/types.js +4 -0
- package/lib/module/engine/notify-kit/platform/types.js.map +1 -0
- package/lib/module/engine/notify-kit-engine.js +257 -0
- package/lib/module/engine/notify-kit-engine.js.map +1 -0
- package/lib/module/index.js +98 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/initialize.js +182 -0
- package/lib/module/initialize.js.map +1 -0
- package/lib/module/interaction/index.js +116 -0
- package/lib/module/interaction/index.js.map +1 -0
- package/lib/module/maintenance/cycle.js +102 -0
- package/lib/module/maintenance/cycle.js.map +1 -0
- package/lib/module/maintenance/permission-refresh.js +34 -0
- package/lib/module/maintenance/permission-refresh.js.map +1 -0
- package/lib/module/maintenance/reanchor.js +94 -0
- package/lib/module/maintenance/reanchor.js.map +1 -0
- package/lib/module/maintenance/toggle.js +45 -0
- package/lib/module/maintenance/toggle.js.map +1 -0
- package/lib/module/maintenance/verify.js +65 -0
- package/lib/module/maintenance/verify.js.map +1 -0
- package/lib/module/maintenance/window-refresh.js +48 -0
- package/lib/module/maintenance/window-refresh.js.map +1 -0
- package/lib/module/notifications.js +157 -0
- package/lib/module/notifications.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/module/permission/index.js +178 -0
- package/lib/module/permission/index.js.map +1 -0
- package/lib/module/permission/state.js +83 -0
- package/lib/module/permission/state.js.map +1 -0
- package/lib/module/push/envelope.js +137 -0
- package/lib/module/push/envelope.js.map +1 -0
- package/lib/module/push/fcm-provider.js +119 -0
- package/lib/module/push/fcm-provider.js.map +1 -0
- package/lib/module/push/gate.js +158 -0
- package/lib/module/push/gate.js.map +1 -0
- package/lib/module/push/index.js +16 -0
- package/lib/module/push/index.js.map +1 -0
- package/lib/module/push/instructions.js +97 -0
- package/lib/module/push/instructions.js.map +1 -0
- package/lib/module/push/provider-adapter.js +4 -0
- package/lib/module/push/provider-adapter.js.map +1 -0
- package/lib/module/push/signout.js +51 -0
- package/lib/module/push/signout.js.map +1 -0
- package/lib/module/reconcile/chunk.js +43 -0
- package/lib/module/reconcile/chunk.js.map +1 -0
- package/lib/module/reconcile/diff.js +101 -0
- package/lib/module/reconcile/diff.js.map +1 -0
- package/lib/module/reconcile/duplicates.js +56 -0
- package/lib/module/reconcile/duplicates.js.map +1 -0
- package/lib/module/reconcile/index.js +161 -0
- package/lib/module/reconcile/index.js.map +1 -0
- package/lib/module/reconcile/truncate.js +46 -0
- package/lib/module/reconcile/truncate.js.map +1 -0
- package/lib/module/recurrence/clock-guard.js +60 -0
- package/lib/module/recurrence/clock-guard.js.map +1 -0
- package/lib/module/recurrence/expand.js +248 -0
- package/lib/module/recurrence/expand.js.map +1 -0
- package/lib/module/recurrence/index.js +208 -0
- package/lib/module/recurrence/index.js.map +1 -0
- package/lib/module/repeat/expiry.js +37 -0
- package/lib/module/repeat/expiry.js.map +1 -0
- package/lib/module/repeat/index.js +67 -0
- package/lib/module/repeat/index.js.map +1 -0
- package/lib/module/repeat/marker.js +51 -0
- package/lib/module/repeat/marker.js.map +1 -0
- package/lib/module/repeat/place.js +79 -0
- package/lib/module/repeat/place.js.map +1 -0
- package/lib/module/schedule/anchor.js +234 -0
- package/lib/module/schedule/anchor.js.map +1 -0
- package/lib/module/schedule/index.js +137 -0
- package/lib/module/schedule/index.js.map +1 -0
- package/lib/module/schedule/partition.js +53 -0
- package/lib/module/schedule/partition.js.map +1 -0
- package/lib/module/schedule/resolve-moment.js +66 -0
- package/lib/module/schedule/resolve-moment.js.map +1 -0
- package/lib/module/schedule/validate-content.js +95 -0
- package/lib/module/schedule/validate-content.js.map +1 -0
- package/lib/module/schedule/validate-identifier.js +119 -0
- package/lib/module/schedule/validate-identifier.js.map +1 -0
- package/lib/module/schedule/writer.js +40 -0
- package/lib/module/schedule/writer.js.map +1 -0
- package/lib/module/state/caps.js +96 -0
- package/lib/module/state/caps.js.map +1 -0
- package/lib/module/state/dedup-ledger.js +34 -0
- package/lib/module/state/dedup-ledger.js.map +1 -0
- package/lib/module/state/interaction-buffer.js +92 -0
- package/lib/module/state/interaction-buffer.js.map +1 -0
- package/lib/module/state/mmkv-store.js +71 -0
- package/lib/module/state/mmkv-store.js.map +1 -0
- package/lib/module/state/permission-history.js +56 -0
- package/lib/module/state/permission-history.js.map +1 -0
- package/lib/module/state/record.js +264 -0
- package/lib/module/state/record.js.map +1 -0
- package/lib/module/state/reset.js +32 -0
- package/lib/module/state/reset.js.map +1 -0
- package/lib/module/state/series-ledger.js +62 -0
- package/lib/module/state/series-ledger.js.map +1 -0
- package/lib/module/state/store.js +35 -0
- package/lib/module/state/store.js.map +1 -0
- package/lib/module/testing/conformance/index.js +214 -0
- package/lib/module/testing/conformance/index.js.map +1 -0
- package/lib/module/testing/fake-engine.js +335 -0
- package/lib/module/testing/fake-engine.js.map +1 -0
- package/lib/module/testing/fake-provider.js +89 -0
- package/lib/module/testing/fake-provider.js.map +1 -0
- package/lib/module/testing/faults.js +55 -0
- package/lib/module/testing/faults.js.map +1 -0
- package/lib/module/testing/index.js +19 -0
- package/lib/module/testing/index.js.map +1 -0
- package/lib/module/testing/measure.js +294 -0
- package/lib/module/testing/measure.js.map +1 -0
- package/lib/typescript/commonjs/advanced.d.ts +36 -0
- package/lib/typescript/commonjs/advanced.d.ts.map +1 -0
- package/lib/typescript/commonjs/channel/migrate.d.ts +38 -0
- package/lib/typescript/commonjs/channel/migrate.d.ts.map +1 -0
- package/lib/typescript/commonjs/channel/tone-map.d.ts +34 -0
- package/lib/typescript/commonjs/channel/tone-map.d.ts.map +1 -0
- package/lib/typescript/commonjs/channel/validate-tone.d.ts +23 -0
- package/lib/typescript/commonjs/channel/validate-tone.d.ts.map +1 -0
- package/lib/typescript/commonjs/contract/channel.d.ts +185 -0
- package/lib/typescript/commonjs/contract/channel.d.ts.map +1 -0
- package/lib/typescript/commonjs/contract/diagnostics.d.ts +92 -0
- package/lib/typescript/commonjs/contract/diagnostics.d.ts.map +1 -0
- package/lib/typescript/commonjs/contract/errors.d.ts +91 -0
- package/lib/typescript/commonjs/contract/errors.d.ts.map +1 -0
- package/lib/typescript/commonjs/contract/hash.d.ts +14 -0
- package/lib/typescript/commonjs/contract/hash.d.ts.map +1 -0
- package/lib/typescript/commonjs/contract/index.d.ts +10 -0
- package/lib/typescript/commonjs/contract/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/contract/interaction.d.ts +53 -0
- package/lib/typescript/commonjs/contract/interaction.d.ts.map +1 -0
- package/lib/typescript/commonjs/contract/notification.d.ts +110 -0
- package/lib/typescript/commonjs/contract/notification.d.ts.map +1 -0
- package/lib/typescript/commonjs/contract/permission.d.ts +49 -0
- package/lib/typescript/commonjs/contract/permission.d.ts.map +1 -0
- package/lib/typescript/commonjs/contract/reconcile.d.ts +82 -0
- package/lib/typescript/commonjs/contract/reconcile.d.ts.map +1 -0
- package/lib/typescript/commonjs/contract/recurrence.d.ts +118 -0
- package/lib/typescript/commonjs/contract/recurrence.d.ts.map +1 -0
- package/lib/typescript/commonjs/diagnostics/burst.d.ts +39 -0
- package/lib/typescript/commonjs/diagnostics/burst.d.ts.map +1 -0
- package/lib/typescript/commonjs/diagnostics/events.d.ts +28 -0
- package/lib/typescript/commonjs/diagnostics/events.d.ts.map +1 -0
- package/lib/typescript/commonjs/diagnostics/redact.d.ts +22 -0
- package/lib/typescript/commonjs/diagnostics/redact.d.ts.map +1 -0
- package/lib/typescript/commonjs/diagnostics/snapshot.d.ts +40 -0
- package/lib/typescript/commonjs/diagnostics/snapshot.d.ts.map +1 -0
- package/lib/typescript/commonjs/engine/adapter.d.ts +172 -0
- package/lib/typescript/commonjs/engine/adapter.d.ts.map +1 -0
- package/lib/typescript/commonjs/engine/codec.d.ts +20 -0
- package/lib/typescript/commonjs/engine/codec.d.ts.map +1 -0
- package/lib/typescript/commonjs/engine/notify-kit/events.d.ts +37 -0
- package/lib/typescript/commonjs/engine/notify-kit/events.d.ts.map +1 -0
- package/lib/typescript/commonjs/engine/notify-kit/module.d.ts +103 -0
- package/lib/typescript/commonjs/engine/notify-kit/module.d.ts.map +1 -0
- package/lib/typescript/commonjs/engine/notify-kit/platform/android.d.ts +3 -0
- package/lib/typescript/commonjs/engine/notify-kit/platform/android.d.ts.map +1 -0
- package/lib/typescript/commonjs/engine/notify-kit/platform/index.d.ts +12 -0
- package/lib/typescript/commonjs/engine/notify-kit/platform/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/engine/notify-kit/platform/ios.d.ts +3 -0
- package/lib/typescript/commonjs/engine/notify-kit/platform/ios.d.ts.map +1 -0
- package/lib/typescript/commonjs/engine/notify-kit/platform/types.d.ts +33 -0
- package/lib/typescript/commonjs/engine/notify-kit/platform/types.d.ts.map +1 -0
- package/lib/typescript/commonjs/engine/notify-kit-engine.d.ts +25 -0
- package/lib/typescript/commonjs/engine/notify-kit-engine.d.ts.map +1 -0
- package/lib/typescript/commonjs/index.d.ts +106 -0
- package/lib/typescript/commonjs/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/initialize.d.ts +74 -0
- package/lib/typescript/commonjs/initialize.d.ts.map +1 -0
- package/lib/typescript/commonjs/interaction/index.d.ts +53 -0
- package/lib/typescript/commonjs/interaction/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/maintenance/cycle.d.ts +77 -0
- package/lib/typescript/commonjs/maintenance/cycle.d.ts.map +1 -0
- package/lib/typescript/commonjs/maintenance/permission-refresh.d.ts +19 -0
- package/lib/typescript/commonjs/maintenance/permission-refresh.d.ts.map +1 -0
- package/lib/typescript/commonjs/maintenance/reanchor.d.ts +26 -0
- package/lib/typescript/commonjs/maintenance/reanchor.d.ts.map +1 -0
- package/lib/typescript/commonjs/maintenance/toggle.d.ts +35 -0
- package/lib/typescript/commonjs/maintenance/toggle.d.ts.map +1 -0
- package/lib/typescript/commonjs/maintenance/verify.d.ts +32 -0
- package/lib/typescript/commonjs/maintenance/verify.d.ts.map +1 -0
- package/lib/typescript/commonjs/maintenance/window-refresh.d.ts +29 -0
- package/lib/typescript/commonjs/maintenance/window-refresh.d.ts.map +1 -0
- package/lib/typescript/commonjs/notifications.d.ts +78 -0
- package/lib/typescript/commonjs/notifications.d.ts.map +1 -0
- package/lib/typescript/commonjs/package.json +1 -0
- package/lib/typescript/commonjs/permission/index.d.ts +57 -0
- package/lib/typescript/commonjs/permission/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/permission/state.d.ts +41 -0
- package/lib/typescript/commonjs/permission/state.d.ts.map +1 -0
- package/lib/typescript/commonjs/push/envelope.d.ts +33 -0
- package/lib/typescript/commonjs/push/envelope.d.ts.map +1 -0
- package/lib/typescript/commonjs/push/fcm-provider.d.ts +43 -0
- package/lib/typescript/commonjs/push/fcm-provider.d.ts.map +1 -0
- package/lib/typescript/commonjs/push/gate.d.ts +57 -0
- package/lib/typescript/commonjs/push/gate.d.ts.map +1 -0
- package/lib/typescript/commonjs/push/index.d.ts +19 -0
- package/lib/typescript/commonjs/push/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/push/instructions.d.ts +45 -0
- package/lib/typescript/commonjs/push/instructions.d.ts.map +1 -0
- package/lib/typescript/commonjs/push/provider-adapter.d.ts +50 -0
- package/lib/typescript/commonjs/push/provider-adapter.d.ts.map +1 -0
- package/lib/typescript/commonjs/push/signout.d.ts +33 -0
- package/lib/typescript/commonjs/push/signout.d.ts.map +1 -0
- package/lib/typescript/commonjs/reconcile/chunk.d.ts +24 -0
- package/lib/typescript/commonjs/reconcile/chunk.d.ts.map +1 -0
- package/lib/typescript/commonjs/reconcile/diff.d.ts +54 -0
- package/lib/typescript/commonjs/reconcile/diff.d.ts.map +1 -0
- package/lib/typescript/commonjs/reconcile/duplicates.d.ts +32 -0
- package/lib/typescript/commonjs/reconcile/duplicates.d.ts.map +1 -0
- package/lib/typescript/commonjs/reconcile/index.d.ts +35 -0
- package/lib/typescript/commonjs/reconcile/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/reconcile/truncate.d.ts +26 -0
- package/lib/typescript/commonjs/reconcile/truncate.d.ts.map +1 -0
- package/lib/typescript/commonjs/recurrence/clock-guard.d.ts +37 -0
- package/lib/typescript/commonjs/recurrence/clock-guard.d.ts.map +1 -0
- package/lib/typescript/commonjs/recurrence/expand.d.ts +75 -0
- package/lib/typescript/commonjs/recurrence/expand.d.ts.map +1 -0
- package/lib/typescript/commonjs/recurrence/index.d.ts +40 -0
- package/lib/typescript/commonjs/recurrence/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/repeat/expiry.d.ts +23 -0
- package/lib/typescript/commonjs/repeat/expiry.d.ts.map +1 -0
- package/lib/typescript/commonjs/repeat/index.d.ts +49 -0
- package/lib/typescript/commonjs/repeat/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/repeat/marker.d.ts +36 -0
- package/lib/typescript/commonjs/repeat/marker.d.ts.map +1 -0
- package/lib/typescript/commonjs/repeat/place.d.ts +39 -0
- package/lib/typescript/commonjs/repeat/place.d.ts.map +1 -0
- package/lib/typescript/commonjs/schedule/anchor.d.ts +118 -0
- package/lib/typescript/commonjs/schedule/anchor.d.ts.map +1 -0
- package/lib/typescript/commonjs/schedule/index.d.ts +40 -0
- package/lib/typescript/commonjs/schedule/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/schedule/partition.d.ts +29 -0
- package/lib/typescript/commonjs/schedule/partition.d.ts.map +1 -0
- package/lib/typescript/commonjs/schedule/resolve-moment.d.ts +35 -0
- package/lib/typescript/commonjs/schedule/resolve-moment.d.ts.map +1 -0
- package/lib/typescript/commonjs/schedule/validate-content.d.ts +42 -0
- package/lib/typescript/commonjs/schedule/validate-content.d.ts.map +1 -0
- package/lib/typescript/commonjs/schedule/validate-identifier.d.ts +30 -0
- package/lib/typescript/commonjs/schedule/validate-identifier.d.ts.map +1 -0
- package/lib/typescript/commonjs/schedule/writer.d.ts +36 -0
- package/lib/typescript/commonjs/schedule/writer.d.ts.map +1 -0
- package/lib/typescript/commonjs/state/caps.d.ts +51 -0
- package/lib/typescript/commonjs/state/caps.d.ts.map +1 -0
- package/lib/typescript/commonjs/state/dedup-ledger.d.ts +21 -0
- package/lib/typescript/commonjs/state/dedup-ledger.d.ts.map +1 -0
- package/lib/typescript/commonjs/state/interaction-buffer.d.ts +30 -0
- package/lib/typescript/commonjs/state/interaction-buffer.d.ts.map +1 -0
- package/lib/typescript/commonjs/state/mmkv-store.d.ts +33 -0
- package/lib/typescript/commonjs/state/mmkv-store.d.ts.map +1 -0
- package/lib/typescript/commonjs/state/permission-history.d.ts +20 -0
- package/lib/typescript/commonjs/state/permission-history.d.ts.map +1 -0
- package/lib/typescript/commonjs/state/record.d.ts +134 -0
- package/lib/typescript/commonjs/state/record.d.ts.map +1 -0
- package/lib/typescript/commonjs/state/reset.d.ts +22 -0
- package/lib/typescript/commonjs/state/reset.d.ts.map +1 -0
- package/lib/typescript/commonjs/state/series-ledger.d.ts +47 -0
- package/lib/typescript/commonjs/state/series-ledger.d.ts.map +1 -0
- package/lib/typescript/commonjs/state/store.d.ts +20 -0
- package/lib/typescript/commonjs/state/store.d.ts.map +1 -0
- package/lib/typescript/commonjs/testing/conformance/index.d.ts +32 -0
- package/lib/typescript/commonjs/testing/conformance/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/testing/fake-engine.d.ts +91 -0
- package/lib/typescript/commonjs/testing/fake-engine.d.ts.map +1 -0
- package/lib/typescript/commonjs/testing/fake-provider.d.ts +35 -0
- package/lib/typescript/commonjs/testing/fake-provider.d.ts.map +1 -0
- package/lib/typescript/commonjs/testing/faults.d.ts +38 -0
- package/lib/typescript/commonjs/testing/faults.d.ts.map +1 -0
- package/lib/typescript/commonjs/testing/index.d.ts +22 -0
- package/lib/typescript/commonjs/testing/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/testing/measure.d.ts +59 -0
- package/lib/typescript/commonjs/testing/measure.d.ts.map +1 -0
- package/lib/typescript/module/advanced.d.ts +36 -0
- package/lib/typescript/module/advanced.d.ts.map +1 -0
- package/lib/typescript/module/channel/migrate.d.ts +38 -0
- package/lib/typescript/module/channel/migrate.d.ts.map +1 -0
- package/lib/typescript/module/channel/tone-map.d.ts +34 -0
- package/lib/typescript/module/channel/tone-map.d.ts.map +1 -0
- package/lib/typescript/module/channel/validate-tone.d.ts +23 -0
- package/lib/typescript/module/channel/validate-tone.d.ts.map +1 -0
- package/lib/typescript/module/contract/channel.d.ts +185 -0
- package/lib/typescript/module/contract/channel.d.ts.map +1 -0
- package/lib/typescript/module/contract/diagnostics.d.ts +92 -0
- package/lib/typescript/module/contract/diagnostics.d.ts.map +1 -0
- package/lib/typescript/module/contract/errors.d.ts +91 -0
- package/lib/typescript/module/contract/errors.d.ts.map +1 -0
- package/lib/typescript/module/contract/hash.d.ts +14 -0
- package/lib/typescript/module/contract/hash.d.ts.map +1 -0
- package/lib/typescript/module/contract/index.d.ts +10 -0
- package/lib/typescript/module/contract/index.d.ts.map +1 -0
- package/lib/typescript/module/contract/interaction.d.ts +53 -0
- package/lib/typescript/module/contract/interaction.d.ts.map +1 -0
- package/lib/typescript/module/contract/notification.d.ts +110 -0
- package/lib/typescript/module/contract/notification.d.ts.map +1 -0
- package/lib/typescript/module/contract/permission.d.ts +49 -0
- package/lib/typescript/module/contract/permission.d.ts.map +1 -0
- package/lib/typescript/module/contract/reconcile.d.ts +82 -0
- package/lib/typescript/module/contract/reconcile.d.ts.map +1 -0
- package/lib/typescript/module/contract/recurrence.d.ts +118 -0
- package/lib/typescript/module/contract/recurrence.d.ts.map +1 -0
- package/lib/typescript/module/diagnostics/burst.d.ts +39 -0
- package/lib/typescript/module/diagnostics/burst.d.ts.map +1 -0
- package/lib/typescript/module/diagnostics/events.d.ts +28 -0
- package/lib/typescript/module/diagnostics/events.d.ts.map +1 -0
- package/lib/typescript/module/diagnostics/redact.d.ts +22 -0
- package/lib/typescript/module/diagnostics/redact.d.ts.map +1 -0
- package/lib/typescript/module/diagnostics/snapshot.d.ts +40 -0
- package/lib/typescript/module/diagnostics/snapshot.d.ts.map +1 -0
- package/lib/typescript/module/engine/adapter.d.ts +172 -0
- package/lib/typescript/module/engine/adapter.d.ts.map +1 -0
- package/lib/typescript/module/engine/codec.d.ts +20 -0
- package/lib/typescript/module/engine/codec.d.ts.map +1 -0
- package/lib/typescript/module/engine/notify-kit/events.d.ts +37 -0
- package/lib/typescript/module/engine/notify-kit/events.d.ts.map +1 -0
- package/lib/typescript/module/engine/notify-kit/module.d.ts +103 -0
- package/lib/typescript/module/engine/notify-kit/module.d.ts.map +1 -0
- package/lib/typescript/module/engine/notify-kit/platform/android.d.ts +3 -0
- package/lib/typescript/module/engine/notify-kit/platform/android.d.ts.map +1 -0
- package/lib/typescript/module/engine/notify-kit/platform/index.d.ts +12 -0
- package/lib/typescript/module/engine/notify-kit/platform/index.d.ts.map +1 -0
- package/lib/typescript/module/engine/notify-kit/platform/ios.d.ts +3 -0
- package/lib/typescript/module/engine/notify-kit/platform/ios.d.ts.map +1 -0
- package/lib/typescript/module/engine/notify-kit/platform/types.d.ts +33 -0
- package/lib/typescript/module/engine/notify-kit/platform/types.d.ts.map +1 -0
- package/lib/typescript/module/engine/notify-kit-engine.d.ts +25 -0
- package/lib/typescript/module/engine/notify-kit-engine.d.ts.map +1 -0
- package/lib/typescript/module/index.d.ts +106 -0
- package/lib/typescript/module/index.d.ts.map +1 -0
- package/lib/typescript/module/initialize.d.ts +74 -0
- package/lib/typescript/module/initialize.d.ts.map +1 -0
- package/lib/typescript/module/interaction/index.d.ts +53 -0
- package/lib/typescript/module/interaction/index.d.ts.map +1 -0
- package/lib/typescript/module/maintenance/cycle.d.ts +77 -0
- package/lib/typescript/module/maintenance/cycle.d.ts.map +1 -0
- package/lib/typescript/module/maintenance/permission-refresh.d.ts +19 -0
- package/lib/typescript/module/maintenance/permission-refresh.d.ts.map +1 -0
- package/lib/typescript/module/maintenance/reanchor.d.ts +26 -0
- package/lib/typescript/module/maintenance/reanchor.d.ts.map +1 -0
- package/lib/typescript/module/maintenance/toggle.d.ts +35 -0
- package/lib/typescript/module/maintenance/toggle.d.ts.map +1 -0
- package/lib/typescript/module/maintenance/verify.d.ts +32 -0
- package/lib/typescript/module/maintenance/verify.d.ts.map +1 -0
- package/lib/typescript/module/maintenance/window-refresh.d.ts +29 -0
- package/lib/typescript/module/maintenance/window-refresh.d.ts.map +1 -0
- package/lib/typescript/module/notifications.d.ts +78 -0
- package/lib/typescript/module/notifications.d.ts.map +1 -0
- package/lib/typescript/module/package.json +1 -0
- package/lib/typescript/module/permission/index.d.ts +57 -0
- package/lib/typescript/module/permission/index.d.ts.map +1 -0
- package/lib/typescript/module/permission/state.d.ts +41 -0
- package/lib/typescript/module/permission/state.d.ts.map +1 -0
- package/lib/typescript/module/push/envelope.d.ts +33 -0
- package/lib/typescript/module/push/envelope.d.ts.map +1 -0
- package/lib/typescript/module/push/fcm-provider.d.ts +43 -0
- package/lib/typescript/module/push/fcm-provider.d.ts.map +1 -0
- package/lib/typescript/module/push/gate.d.ts +57 -0
- package/lib/typescript/module/push/gate.d.ts.map +1 -0
- package/lib/typescript/module/push/index.d.ts +19 -0
- package/lib/typescript/module/push/index.d.ts.map +1 -0
- package/lib/typescript/module/push/instructions.d.ts +45 -0
- package/lib/typescript/module/push/instructions.d.ts.map +1 -0
- package/lib/typescript/module/push/provider-adapter.d.ts +50 -0
- package/lib/typescript/module/push/provider-adapter.d.ts.map +1 -0
- package/lib/typescript/module/push/signout.d.ts +33 -0
- package/lib/typescript/module/push/signout.d.ts.map +1 -0
- package/lib/typescript/module/reconcile/chunk.d.ts +24 -0
- package/lib/typescript/module/reconcile/chunk.d.ts.map +1 -0
- package/lib/typescript/module/reconcile/diff.d.ts +54 -0
- package/lib/typescript/module/reconcile/diff.d.ts.map +1 -0
- package/lib/typescript/module/reconcile/duplicates.d.ts +32 -0
- package/lib/typescript/module/reconcile/duplicates.d.ts.map +1 -0
- package/lib/typescript/module/reconcile/index.d.ts +35 -0
- package/lib/typescript/module/reconcile/index.d.ts.map +1 -0
- package/lib/typescript/module/reconcile/truncate.d.ts +26 -0
- package/lib/typescript/module/reconcile/truncate.d.ts.map +1 -0
- package/lib/typescript/module/recurrence/clock-guard.d.ts +37 -0
- package/lib/typescript/module/recurrence/clock-guard.d.ts.map +1 -0
- package/lib/typescript/module/recurrence/expand.d.ts +75 -0
- package/lib/typescript/module/recurrence/expand.d.ts.map +1 -0
- package/lib/typescript/module/recurrence/index.d.ts +40 -0
- package/lib/typescript/module/recurrence/index.d.ts.map +1 -0
- package/lib/typescript/module/repeat/expiry.d.ts +23 -0
- package/lib/typescript/module/repeat/expiry.d.ts.map +1 -0
- package/lib/typescript/module/repeat/index.d.ts +49 -0
- package/lib/typescript/module/repeat/index.d.ts.map +1 -0
- package/lib/typescript/module/repeat/marker.d.ts +36 -0
- package/lib/typescript/module/repeat/marker.d.ts.map +1 -0
- package/lib/typescript/module/repeat/place.d.ts +39 -0
- package/lib/typescript/module/repeat/place.d.ts.map +1 -0
- package/lib/typescript/module/schedule/anchor.d.ts +118 -0
- package/lib/typescript/module/schedule/anchor.d.ts.map +1 -0
- package/lib/typescript/module/schedule/index.d.ts +40 -0
- package/lib/typescript/module/schedule/index.d.ts.map +1 -0
- package/lib/typescript/module/schedule/partition.d.ts +29 -0
- package/lib/typescript/module/schedule/partition.d.ts.map +1 -0
- package/lib/typescript/module/schedule/resolve-moment.d.ts +35 -0
- package/lib/typescript/module/schedule/resolve-moment.d.ts.map +1 -0
- package/lib/typescript/module/schedule/validate-content.d.ts +42 -0
- package/lib/typescript/module/schedule/validate-content.d.ts.map +1 -0
- package/lib/typescript/module/schedule/validate-identifier.d.ts +30 -0
- package/lib/typescript/module/schedule/validate-identifier.d.ts.map +1 -0
- package/lib/typescript/module/schedule/writer.d.ts +36 -0
- package/lib/typescript/module/schedule/writer.d.ts.map +1 -0
- package/lib/typescript/module/state/caps.d.ts +51 -0
- package/lib/typescript/module/state/caps.d.ts.map +1 -0
- package/lib/typescript/module/state/dedup-ledger.d.ts +21 -0
- package/lib/typescript/module/state/dedup-ledger.d.ts.map +1 -0
- package/lib/typescript/module/state/interaction-buffer.d.ts +30 -0
- package/lib/typescript/module/state/interaction-buffer.d.ts.map +1 -0
- package/lib/typescript/module/state/mmkv-store.d.ts +33 -0
- package/lib/typescript/module/state/mmkv-store.d.ts.map +1 -0
- package/lib/typescript/module/state/permission-history.d.ts +20 -0
- package/lib/typescript/module/state/permission-history.d.ts.map +1 -0
- package/lib/typescript/module/state/record.d.ts +134 -0
- package/lib/typescript/module/state/record.d.ts.map +1 -0
- package/lib/typescript/module/state/reset.d.ts +22 -0
- package/lib/typescript/module/state/reset.d.ts.map +1 -0
- package/lib/typescript/module/state/series-ledger.d.ts +47 -0
- package/lib/typescript/module/state/series-ledger.d.ts.map +1 -0
- package/lib/typescript/module/state/store.d.ts +20 -0
- package/lib/typescript/module/state/store.d.ts.map +1 -0
- package/lib/typescript/module/testing/conformance/index.d.ts +32 -0
- package/lib/typescript/module/testing/conformance/index.d.ts.map +1 -0
- package/lib/typescript/module/testing/fake-engine.d.ts +91 -0
- package/lib/typescript/module/testing/fake-engine.d.ts.map +1 -0
- package/lib/typescript/module/testing/fake-provider.d.ts +35 -0
- package/lib/typescript/module/testing/fake-provider.d.ts.map +1 -0
- package/lib/typescript/module/testing/faults.d.ts +38 -0
- package/lib/typescript/module/testing/faults.d.ts.map +1 -0
- package/lib/typescript/module/testing/index.d.ts +22 -0
- package/lib/typescript/module/testing/index.d.ts.map +1 -0
- package/lib/typescript/module/testing/measure.d.ts +59 -0
- package/lib/typescript/module/testing/measure.d.ts.map +1 -0
- package/package.json +72 -26
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Diagnostics and configuration types.
|
|
3
|
+
*
|
|
4
|
+
* The package's stated purpose is to make invisible notification failures
|
|
5
|
+
* diagnosable, so every lifecycle transition emits a structured event with a
|
|
6
|
+
* stable identifier — and none of those events carries content by default.
|
|
7
|
+
*/
|
|
8
|
+
import type { PermissionReport, RestrictionReport } from './permission';
|
|
9
|
+
import type { PendingDiscrepancy, MaintenanceResult, ReconcileResult } from './reconcile';
|
|
10
|
+
import type { ToneDeclaration, ChannelGroup } from './channel';
|
|
11
|
+
import type { LookaheadConfig } from './recurrence';
|
|
12
|
+
import type { PendingEntry } from './notification';
|
|
13
|
+
export type DiagnosticSeverity = 'debug' | 'info' | 'warn' | 'error';
|
|
14
|
+
export interface DiagnosticEvent {
|
|
15
|
+
/** Stable identifier, safe to switch on. See contracts/errors.md. */
|
|
16
|
+
readonly code: string;
|
|
17
|
+
readonly severity: DiagnosticSeverity;
|
|
18
|
+
readonly message: string;
|
|
19
|
+
readonly at: number;
|
|
20
|
+
/**
|
|
21
|
+
* Structured context. Never contains notification body text, routing payload
|
|
22
|
+
* values, or push tokens unless verbose diagnostics is explicitly enabled.
|
|
23
|
+
*/
|
|
24
|
+
readonly context?: Readonly<Record<string, unknown>>;
|
|
25
|
+
}
|
|
26
|
+
export type EventSink = (event: DiagnosticEvent) => void;
|
|
27
|
+
/** Health of one persisted collection against its cap. */
|
|
28
|
+
export interface CollectionHealth {
|
|
29
|
+
readonly name: string;
|
|
30
|
+
readonly size: number;
|
|
31
|
+
readonly cap: number;
|
|
32
|
+
readonly oldestEntryAt?: number;
|
|
33
|
+
}
|
|
34
|
+
export interface StateHealth {
|
|
35
|
+
readonly readable: boolean;
|
|
36
|
+
/** True when the record was discarded and rebuilt, e.g. after corruption. */
|
|
37
|
+
readonly rebuilt: boolean;
|
|
38
|
+
readonly collections: readonly CollectionHealth[];
|
|
39
|
+
readonly approximateBytes: number;
|
|
40
|
+
}
|
|
41
|
+
/** The readable answer to "why didn't it arrive". */
|
|
42
|
+
export interface StateSnapshot {
|
|
43
|
+
readonly permissions: PermissionReport;
|
|
44
|
+
readonly restrictions: RestrictionReport;
|
|
45
|
+
readonly tones: readonly {
|
|
46
|
+
readonly id: string;
|
|
47
|
+
readonly appliedVersion: number;
|
|
48
|
+
}[];
|
|
49
|
+
readonly pendingCount: number;
|
|
50
|
+
readonly pending: readonly PendingEntry[];
|
|
51
|
+
readonly lastReconcile?: ReconcileResult;
|
|
52
|
+
readonly lastMaintenance?: MaintenanceResult;
|
|
53
|
+
readonly discrepancy?: PendingDiscrepancy;
|
|
54
|
+
readonly stateHealth: StateHealth;
|
|
55
|
+
/** Presence only. The token value is never exposed here or anywhere else. */
|
|
56
|
+
readonly pushTokenPresent: boolean;
|
|
57
|
+
readonly capturedAt: number;
|
|
58
|
+
}
|
|
59
|
+
/** Abnormal notification volume. Reported, never acted upon. */
|
|
60
|
+
export interface BurstThreshold {
|
|
61
|
+
readonly perMinute: number;
|
|
62
|
+
readonly perHour: number;
|
|
63
|
+
}
|
|
64
|
+
export declare const DEFAULT_BURST_THRESHOLD: BurstThreshold;
|
|
65
|
+
export interface NotificationConfig {
|
|
66
|
+
/** Every tone, category, and channel in one place. */
|
|
67
|
+
readonly tones: readonly ToneDeclaration[];
|
|
68
|
+
readonly channelGroups?: readonly ChannelGroup[];
|
|
69
|
+
readonly lookahead?: Partial<LookaheadConfig>;
|
|
70
|
+
/**
|
|
71
|
+
* Automatic maintenance covers only what the package alone can know:
|
|
72
|
+
* window refresh, expansion, re-anchoring, verification, permission re-read.
|
|
73
|
+
* Full desired-set reconciliation is never automatic. Defaults to true.
|
|
74
|
+
*/
|
|
75
|
+
readonly automaticMaintenance?: boolean;
|
|
76
|
+
readonly burstThreshold?: BurstThreshold;
|
|
77
|
+
/** With no sink supplied the package emits nothing rather than writing to a console. */
|
|
78
|
+
readonly eventSink?: EventSink;
|
|
79
|
+
/**
|
|
80
|
+
* Includes content values in diagnostics. Documented as unsuitable for
|
|
81
|
+
* production, and off by default.
|
|
82
|
+
*/
|
|
83
|
+
readonly verboseDiagnostics?: boolean;
|
|
84
|
+
}
|
|
85
|
+
export interface InitializeResult {
|
|
86
|
+
readonly tonesApplied: number;
|
|
87
|
+
readonly migrationsRun: number;
|
|
88
|
+
readonly stateRebuilt: boolean;
|
|
89
|
+
readonly automaticMaintenance: boolean;
|
|
90
|
+
readonly durationMs: number;
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=diagnostics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../../../src/contract/diagnostics.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Typed error taxonomy and stable diagnostic identifiers.
|
|
3
|
+
*
|
|
4
|
+
* Every failure condition carries its own identifier. None collapses into a
|
|
5
|
+
* generic failure — an error that says only "scheduling failed" reproduces the
|
|
6
|
+
* problem this package exists to solve.
|
|
7
|
+
*
|
|
8
|
+
* Identifiers are stable across releases and safe to switch on. Adding new ones
|
|
9
|
+
* is an additive minor change.
|
|
10
|
+
*
|
|
11
|
+
* See `specs/009-rn-notification-package/contracts/errors.md`.
|
|
12
|
+
*/
|
|
13
|
+
import { SdkError } from '@chipmobilesdk/rn-core';
|
|
14
|
+
export declare const DIAGNOSTIC_CODES: {
|
|
15
|
+
readonly INVALID_ID_EMPTY: "INVALID_ID_EMPTY";
|
|
16
|
+
readonly INVALID_ID_LENGTH: "INVALID_ID_LENGTH";
|
|
17
|
+
readonly INVALID_ID_CHARSET: "INVALID_ID_CHARSET";
|
|
18
|
+
readonly INVALID_OWNER_TAG: "INVALID_OWNER_TAG";
|
|
19
|
+
readonly INVALID_GROUP_TAG: "INVALID_GROUP_TAG";
|
|
20
|
+
readonly MOMENT_IN_PAST: "MOMENT_IN_PAST";
|
|
21
|
+
readonly UNDECLARED_TONE: "UNDECLARED_TONE";
|
|
22
|
+
readonly ROUTING_PAYLOAD_TOO_LARGE: "ROUTING_PAYLOAD_TOO_LARGE";
|
|
23
|
+
readonly CONTENT_TOO_LARGE: "CONTENT_TOO_LARGE";
|
|
24
|
+
readonly TOO_MANY_ACTIONS: "TOO_MANY_ACTIONS";
|
|
25
|
+
readonly INVALID_RECURRENCE: "INVALID_RECURRENCE";
|
|
26
|
+
readonly INVALID_TONE_REPEAT: "INVALID_TONE_REPEAT";
|
|
27
|
+
readonly DUPLICATE_IDENTIFIER: "DUPLICATE_IDENTIFIER";
|
|
28
|
+
readonly TRUNCATED_OVER_CEILING: "TRUNCATED_OVER_CEILING";
|
|
29
|
+
readonly RECONCILE_INTERRUPTED: "RECONCILE_INTERRUPTED";
|
|
30
|
+
readonly PENDING_SET_DISCREPANCY: "PENDING_SET_DISCREPANCY";
|
|
31
|
+
readonly DISPLAY_PERMISSION_DENIED: "DISPLAY_PERMISSION_DENIED";
|
|
32
|
+
readonly DISPLAY_PERMISSION_PERMANENT: "DISPLAY_PERMISSION_PERMANENT";
|
|
33
|
+
readonly EXACT_ALARM_UNAVAILABLE: "EXACT_ALARM_UNAVAILABLE";
|
|
34
|
+
readonly SETTINGS_UNAVAILABLE: "SETTINGS_UNAVAILABLE";
|
|
35
|
+
readonly BACKGROUND_RESTRICTED: "BACKGROUND_RESTRICTED";
|
|
36
|
+
readonly BACKGROUND_RESTRICTION_UNKNOWN: "BACKGROUND_RESTRICTION_UNKNOWN";
|
|
37
|
+
readonly CHANNEL_MIGRATION_REQUIRED: "CHANNEL_MIGRATION_REQUIRED";
|
|
38
|
+
readonly CHANNEL_MIGRATION_FAILED: "CHANNEL_MIGRATION_FAILED";
|
|
39
|
+
readonly CHANNEL_ORPHANS_FOUND: "CHANNEL_ORPHANS_FOUND";
|
|
40
|
+
readonly DND_BYPASS_UNAVAILABLE: "DND_BYPASS_UNAVAILABLE";
|
|
41
|
+
readonly TONE_LABELS_REFRESHED: "TONE_LABELS_REFRESHED";
|
|
42
|
+
readonly REPEAT_ALERT_UNAVAILABLE: "REPEAT_ALERT_UNAVAILABLE";
|
|
43
|
+
readonly REPEAT_STOP_HANDLER_MISSING: "REPEAT_STOP_HANDLER_MISSING";
|
|
44
|
+
readonly TARGET_MISSING: "TARGET_MISSING";
|
|
45
|
+
readonly INTERACTION_BUFFER_EVICTED: "INTERACTION_BUFFER_EVICTED";
|
|
46
|
+
readonly BACKGROUND_WINDOW_EXCEEDED: "BACKGROUND_WINDOW_EXCEEDED";
|
|
47
|
+
readonly PUSH_UNAVAILABLE: "PUSH_UNAVAILABLE";
|
|
48
|
+
readonly TOKEN_UNAVAILABLE: "TOKEN_UNAVAILABLE";
|
|
49
|
+
readonly TOKEN_INVALIDATION_FAILED: "TOKEN_INVALIDATION_FAILED";
|
|
50
|
+
readonly PAYLOAD_MALFORMED: "PAYLOAD_MALFORMED";
|
|
51
|
+
readonly PAYLOAD_VERSION_SKEW: "PAYLOAD_VERSION_SKEW";
|
|
52
|
+
readonly PAYLOAD_DUPLICATE: "PAYLOAD_DUPLICATE";
|
|
53
|
+
readonly PUSH_UNDELIVERABLE: "PUSH_UNDELIVERABLE";
|
|
54
|
+
readonly STATE_CORRUPT_REBUILT: "STATE_CORRUPT_REBUILT";
|
|
55
|
+
readonly STATE_WRITE_FAILED: "STATE_WRITE_FAILED";
|
|
56
|
+
/** The durable store could not open; state lasts for this session only. */
|
|
57
|
+
readonly STATE_STORE_DEGRADED: "STATE_STORE_DEGRADED";
|
|
58
|
+
readonly STATE_CAP_EVICTED: "STATE_CAP_EVICTED";
|
|
59
|
+
/**
|
|
60
|
+
* A ledger holds more live entries than its cap (0.6.0). They are all kept:
|
|
61
|
+
* dropping a live series or channel record would lose a migration or reset a
|
|
62
|
+
* series count. Reported so the cap can be raised or the app's use reviewed.
|
|
63
|
+
*/
|
|
64
|
+
readonly STATE_CAP_EXCEEDED: "STATE_CAP_EXCEEDED";
|
|
65
|
+
readonly BURST_THRESHOLD_EXCEEDED: "BURST_THRESHOLD_EXCEEDED";
|
|
66
|
+
/** An automatic maintenance cycle threw. Reported here because no caller awaits it. */
|
|
67
|
+
readonly MAINTENANCE_FAILED: "MAINTENANCE_FAILED";
|
|
68
|
+
};
|
|
69
|
+
export type DiagnosticCode = (typeof DIAGNOSTIC_CODES)[keyof typeof DIAGNOSTIC_CODES];
|
|
70
|
+
/** Every identifier, for exhaustiveness tests and the documentation table. */
|
|
71
|
+
export declare const ALL_DIAGNOSTIC_CODES: readonly DiagnosticCode[];
|
|
72
|
+
/**
|
|
73
|
+
* A typed package failure.
|
|
74
|
+
*
|
|
75
|
+
* Carries enough context to choose a recovery, and never carries notification
|
|
76
|
+
* body text, routing payload values, or token material. Where a value violated
|
|
77
|
+
* a rule, the *shape* of the violation is reported — a length, a character
|
|
78
|
+
* position — rather than the value itself.
|
|
79
|
+
*/
|
|
80
|
+
export declare class NotificationError extends SdkError<DiagnosticCode> {
|
|
81
|
+
readonly context?: Readonly<Record<string, unknown>>;
|
|
82
|
+
constructor(code: DiagnosticCode, message: string, context?: Readonly<Record<string, unknown>>);
|
|
83
|
+
}
|
|
84
|
+
export declare function isNotificationError(value: unknown): value is NotificationError;
|
|
85
|
+
/**
|
|
86
|
+
* Conditions that are reported outcomes rather than failures: the operation
|
|
87
|
+
* succeeded, and something the caller needs to know happened alongside it.
|
|
88
|
+
*/
|
|
89
|
+
export declare const NON_FAILURE_CODES: readonly DiagnosticCode[];
|
|
90
|
+
export declare function isNonFailure(code: DiagnosticCode): boolean;
|
|
91
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../src/contract/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAIlD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAuD5B,2EAA2E;;;IAG3E;;;;OAIG;;;IAOH,uFAAuF;;CAE9E,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,OAAO,gBAAgB,CAAC,CAAC;AAEtF,8EAA8E;AAC9E,eAAO,MAAM,oBAAoB,EAAE,SAAS,cAAc,EAEzD,CAAC;AAEF;;;;;;;GAOG;AACH,qBAAa,iBAAkB,SAAQ,QAAQ,CAAC,cAAc,CAAC;IAC9D,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;gBAEzC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAU9F;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,iBAAiB,CAE9E;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,SAAS,cAAc,EAgBrD,CAAC;AAEH,wBAAgB,YAAY,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAE1D"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FNV-1a, 32-bit: the package's one hash (NOT-19). Deterministic,
|
|
3
|
+
* dependency-free, and stable across releases.
|
|
4
|
+
*
|
|
5
|
+
* Bitwise operators are the algorithm, not a micro-optimisation: arithmetic
|
|
6
|
+
* equivalents would not wrap to 32 bits. Stability matters: a marker id or a
|
|
7
|
+
* label fingerprint that changed between releases would orphan every marker
|
|
8
|
+
* already scheduled, or refresh every channel label once more.
|
|
9
|
+
*/
|
|
10
|
+
export declare const FNV_OFFSET_BASIS = 2166136261;
|
|
11
|
+
export declare function fnv1a(value: string, basis?: number): number;
|
|
12
|
+
/** Eight lowercase hex digits. */
|
|
13
|
+
export declare function hex8(value: number): string;
|
|
14
|
+
//# sourceMappingURL=hash.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hash.d.ts","sourceRoot":"","sources":["../../../../src/contract/hash.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,aAAa,CAAC;AAG3C,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAyB,GAAG,MAAM,CAO7E;AAGD,kCAAkC;AAClC,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE1C"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/** Public contract types. Types only — no logic lives in this layer. */
|
|
2
|
+
export * from './notification';
|
|
3
|
+
export * from './recurrence';
|
|
4
|
+
export * from './reconcile';
|
|
5
|
+
export * from './permission';
|
|
6
|
+
export * from './channel';
|
|
7
|
+
export * from './interaction';
|
|
8
|
+
export * from './diagnostics';
|
|
9
|
+
export * from './errors';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/contract/index.ts"],"names":[],"mappings":"AAAA,wEAAwE;AAExE,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interaction types.
|
|
3
|
+
*
|
|
4
|
+
* One event shape covers foreground, background, and cold start, so a consumer
|
|
5
|
+
* writes one handler. Events that occur before a handler registers are buffered
|
|
6
|
+
* durably and delivered on registration — the cold-start case is the one most
|
|
7
|
+
* integrations quietly get wrong.
|
|
8
|
+
*/
|
|
9
|
+
import type { RoutingPayload } from './notification';
|
|
10
|
+
export type InteractionKind = 'tap' | 'action' | 'dismiss';
|
|
11
|
+
/** Which app state the interaction arrived in. Informational; the shape never varies. */
|
|
12
|
+
export type AppStateAtInteraction = 'foreground' | 'background' | 'coldStart';
|
|
13
|
+
export interface InteractionEvent {
|
|
14
|
+
readonly kind: InteractionKind;
|
|
15
|
+
readonly notificationId: string;
|
|
16
|
+
/** Present when `kind` is `action`. */
|
|
17
|
+
readonly actionId?: string;
|
|
18
|
+
/** Present when the action accepted typed input. */
|
|
19
|
+
readonly inputText?: string;
|
|
20
|
+
/** Round-trips unchanged from schedule time. */
|
|
21
|
+
readonly routing?: RoutingPayload;
|
|
22
|
+
readonly ownerTag?: string;
|
|
23
|
+
readonly occurredAt: number;
|
|
24
|
+
readonly appState: AppStateAtInteraction;
|
|
25
|
+
/**
|
|
26
|
+
* True when the event was held in the durable buffer before a handler
|
|
27
|
+
* existed to receive it — including across a process death.
|
|
28
|
+
*/
|
|
29
|
+
readonly wasBuffered: boolean;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Signals the routing target no longer exists.
|
|
33
|
+
*
|
|
34
|
+
* The consumer chooses its own fallback screen. A platform error is never
|
|
35
|
+
* shown to the user for this — a notification pointing at deleted data is an
|
|
36
|
+
* ordinary condition, not a crash.
|
|
37
|
+
*/
|
|
38
|
+
export interface TargetMissingSignal {
|
|
39
|
+
readonly notificationId: string;
|
|
40
|
+
readonly routing?: RoutingPayload;
|
|
41
|
+
}
|
|
42
|
+
export type InteractionHandler = (event: InteractionEvent) => void | Promise<void>;
|
|
43
|
+
export type Unsubscribe = () => void;
|
|
44
|
+
/** Limits on the durable interaction buffer, so it can never grow without bound. */
|
|
45
|
+
export declare const INTERACTION_BUFFER_LIMITS: {
|
|
46
|
+
readonly maxEntries: 50;
|
|
47
|
+
readonly retentionMs: number;
|
|
48
|
+
};
|
|
49
|
+
/** Maximum size of a routing payload, validated at schedule time rather than discovered at tap time. */
|
|
50
|
+
export declare const MAX_ROUTING_PAYLOAD_BYTES: number;
|
|
51
|
+
/** Maximum action buttons on one notification. */
|
|
52
|
+
export declare const MAX_ACTIONS_PER_NOTIFICATION = 10;
|
|
53
|
+
//# sourceMappingURL=interaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interaction.d.ts","sourceRoot":"","sources":["../../../../src/contract/interaction.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE3D,yFAAyF;AACzF,MAAM,MAAM,qBAAqB,GAAG,YAAY,GAAG,YAAY,GAAG,WAAW,CAAC;AAE9E,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,uCAAuC;IACvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,oDAAoD;IACpD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,gDAAgD;IAChD,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAC;IACzC;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;CAC9B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IACnC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC;CAClC;AAED,MAAM,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnF,MAAM,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC;AAErC,oFAAoF;AACpF,eAAO,MAAM,yBAAyB;;;CAG5B,CAAC;AAEX,wGAAwG;AACxG,eAAO,MAAM,yBAAyB,QAAW,CAAC;AAElD,kDAAkD;AAClD,eAAO,MAAM,4BAA4B,KAAK,CAAC"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core notification request types.
|
|
3
|
+
*
|
|
4
|
+
* Nothing here carries business meaning. The package accepts fully-described
|
|
5
|
+
* requests and is responsible only for delivering them at the right moment.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* How a delivery moment is pinned to the passage of time.
|
|
9
|
+
*
|
|
10
|
+
* - `wallClock` — the local clock time named. An 08:00 reminder stays 08:00
|
|
11
|
+
* after the user crosses a time zone. This is the default, because reminders
|
|
12
|
+
* are wall-clock things and a caller who does not choose should get what
|
|
13
|
+
* their users expect.
|
|
14
|
+
* - `absolute` — one fixed instant worldwide, unaffected by zone changes.
|
|
15
|
+
*/
|
|
16
|
+
export type AnchoringMode = 'wallClock' | 'absolute';
|
|
17
|
+
export declare const DEFAULT_ANCHORING_MODE: AnchoringMode;
|
|
18
|
+
/** When a notification should be presented, and how that moment is anchored. */
|
|
19
|
+
export interface DeliveryMoment {
|
|
20
|
+
/** Epoch milliseconds. Interpreted per {@link DeliveryMoment.anchoring}. */
|
|
21
|
+
readonly at: number;
|
|
22
|
+
/** Defaults to `wallClock` when omitted. */
|
|
23
|
+
readonly anchoring?: AnchoringMode;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Resolved display strings. The package performs no translation, formatting,
|
|
27
|
+
* or locale resolution — only the consuming app knows its content model.
|
|
28
|
+
*/
|
|
29
|
+
export interface NotificationContent {
|
|
30
|
+
readonly title: string;
|
|
31
|
+
readonly body: string;
|
|
32
|
+
/** Optional short text shown in collapsed form on some platforms. */
|
|
33
|
+
readonly subtitle?: string;
|
|
34
|
+
}
|
|
35
|
+
/** Structured data carried to the interaction handler, unchanged. */
|
|
36
|
+
export type RoutingPayload = Readonly<Record<string, unknown>>;
|
|
37
|
+
/** A button on a notification. */
|
|
38
|
+
export interface Action {
|
|
39
|
+
/** Stable action identifier, subject to the same charset rules as a notification id. */
|
|
40
|
+
readonly id: string;
|
|
41
|
+
readonly title: string;
|
|
42
|
+
/**
|
|
43
|
+
* `foreground` brings the app up; `background` is handled without opening it,
|
|
44
|
+
* inside the platform's bounded execution window.
|
|
45
|
+
*/
|
|
46
|
+
readonly mode: 'foreground' | 'background';
|
|
47
|
+
/** When present, the action accepts short typed input. */
|
|
48
|
+
readonly input?: {
|
|
49
|
+
readonly placeholder?: string;
|
|
50
|
+
readonly submitLabel?: string;
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
/** The complete, self-contained description of one notification. */
|
|
54
|
+
export interface NotificationRequest {
|
|
55
|
+
/**
|
|
56
|
+
* Caller-supplied, stable, derived from the caller's own data.
|
|
57
|
+
* The package never generates, normalizes, or hashes it.
|
|
58
|
+
*/
|
|
59
|
+
readonly id: string;
|
|
60
|
+
readonly content: NotificationContent;
|
|
61
|
+
/** Must reference a tone declared in the package configuration. */
|
|
62
|
+
readonly tone: string;
|
|
63
|
+
readonly moment: DeliveryMoment;
|
|
64
|
+
readonly routing?: RoutingPayload;
|
|
65
|
+
readonly actions?: readonly Action[];
|
|
66
|
+
/** Opaque partition label. Never interpreted by the package. */
|
|
67
|
+
readonly ownerTag?: string;
|
|
68
|
+
/** Opaque cancellation group. Never interpreted by the package. */
|
|
69
|
+
readonly groupTag?: string;
|
|
70
|
+
}
|
|
71
|
+
/** One entry the platform is currently holding, in enough detail to diff against intent. */
|
|
72
|
+
export interface PendingEntry {
|
|
73
|
+
readonly id: string;
|
|
74
|
+
/** The instant the platform will actually fire, after anchoring resolution. */
|
|
75
|
+
readonly resolvedAt: number;
|
|
76
|
+
readonly anchoring: AnchoringMode;
|
|
77
|
+
/**
|
|
78
|
+
* The IANA zone this entry was last anchored against.
|
|
79
|
+
* `undefined` for absolute-instant entries, which are never anchored.
|
|
80
|
+
*
|
|
81
|
+
* Exists so the one case re-anchoring cannot fix — a zone change while the
|
|
82
|
+
* app never ran — is detectable rather than invisible.
|
|
83
|
+
*/
|
|
84
|
+
readonly anchoringGeneration?: string;
|
|
85
|
+
readonly content: NotificationContent;
|
|
86
|
+
readonly tone: string;
|
|
87
|
+
readonly routing?: RoutingPayload;
|
|
88
|
+
readonly actions?: readonly Action[];
|
|
89
|
+
readonly ownerTag?: string;
|
|
90
|
+
readonly groupTag?: string;
|
|
91
|
+
/** Present when this entry was expanded from a recurrence series. */
|
|
92
|
+
readonly seriesId?: string;
|
|
93
|
+
/** True when scheduled without exact-alarm capability; delivery may be late. */
|
|
94
|
+
readonly mayBeDelayed: boolean;
|
|
95
|
+
/** True when created by a push instruction rather than by app code. */
|
|
96
|
+
readonly pushCreated: boolean;
|
|
97
|
+
}
|
|
98
|
+
/** Outcome of a single schedule call. */
|
|
99
|
+
export interface ScheduleResult {
|
|
100
|
+
readonly id: string;
|
|
101
|
+
readonly resolvedAt: number;
|
|
102
|
+
readonly anchoring: AnchoringMode;
|
|
103
|
+
/** True when an existing notification under this identifier was replaced. */
|
|
104
|
+
readonly replaced: boolean;
|
|
105
|
+
/** True when the moment had just passed and was delivered inside the tolerance window. */
|
|
106
|
+
readonly deliveredImmediately: boolean;
|
|
107
|
+
/** True when scheduled in approximate mode for want of exact-alarm capability. */
|
|
108
|
+
readonly mayBeDelayed: boolean;
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=notification.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notification.d.ts","sourceRoot":"","sources":["../../../../src/contract/notification.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Permission types.
|
|
3
|
+
*
|
|
4
|
+
* Display permission and exact-alarm permission are different things serving
|
|
5
|
+
* different purposes, so they are requested and reported independently. State
|
|
6
|
+
* is always readable without triggering a dialog.
|
|
7
|
+
*/
|
|
8
|
+
export type PermissionKind = 'display' | 'exactAlarm';
|
|
9
|
+
/**
|
|
10
|
+
* Six states, never collapsed into one another.
|
|
11
|
+
*
|
|
12
|
+
* - `notAsked` — distinguishable from `denied`, which is the whole point of
|
|
13
|
+
* being able to read state without prompting.
|
|
14
|
+
* - `provisional` — iOS quiet delivery. Neither granted nor denied.
|
|
15
|
+
* - `notRequired` — the running platform version has no such concept. Never
|
|
16
|
+
* reported as `denied`, which would imply a refusal that never happened.
|
|
17
|
+
*/
|
|
18
|
+
export type PermissionState = 'notAsked' | 'granted' | 'denied' | 'permanentlyDenied' | 'provisional' | 'notRequired';
|
|
19
|
+
export interface PermissionReport {
|
|
20
|
+
readonly display: PermissionState;
|
|
21
|
+
readonly exactAlarm: PermissionState;
|
|
22
|
+
readonly readAt: number;
|
|
23
|
+
}
|
|
24
|
+
/** Whether a manufacturer-level restriction is in force, where it can be known. */
|
|
25
|
+
export type RestrictionStatus = 'unrestricted' | 'restricted' | 'unknown';
|
|
26
|
+
/**
|
|
27
|
+
* Manufacturer background restrictions, reported for information only.
|
|
28
|
+
*
|
|
29
|
+
* `unknown` is a first-class answer: some vendors stop apps in ways with no
|
|
30
|
+
* standard detection API, and guessing would be worse than admitting it.
|
|
31
|
+
* The package never changes any of these settings on the user's behalf.
|
|
32
|
+
*/
|
|
33
|
+
export interface RestrictionReport {
|
|
34
|
+
readonly batteryOptimization: RestrictionStatus;
|
|
35
|
+
readonly autoStart: RestrictionStatus;
|
|
36
|
+
readonly manufacturer?: string;
|
|
37
|
+
readonly readAt: number;
|
|
38
|
+
}
|
|
39
|
+
/** Whether a permission request can even be presented on this platform version. */
|
|
40
|
+
export interface PermissionCapability {
|
|
41
|
+
readonly kind: PermissionKind;
|
|
42
|
+
readonly supported: boolean;
|
|
43
|
+
/**
|
|
44
|
+
* True when the platform grants this only through system settings rather
|
|
45
|
+
* than an in-app dialog.
|
|
46
|
+
*/
|
|
47
|
+
readonly settingsOnly: boolean;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=permission.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permission.d.ts","sourceRoot":"","sources":["../../../../src/contract/permission.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,YAAY,CAAC;AAEtD;;;;;;;;GAQG;AACH,MAAM,MAAM,eAAe,GAC1B,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,mBAAmB,GAAG,aAAa,GAAG,aAAa,CAAC;AAEzF,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACxB;AAED,mFAAmF;AACnF,MAAM,MAAM,iBAAiB,GAAG,cAAc,GAAG,YAAY,GAAG,SAAS,CAAC;AAE1E;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,mBAAmB,EAAE,iBAAiB,CAAC;IAChD,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACxB;AAED,mFAAmF;AACnF,MAAM,WAAW,oBAAoB;IACpC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;CAC/B"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reconciliation types.
|
|
3
|
+
*
|
|
4
|
+
* A caller hands over the complete set its data currently implies; the package
|
|
5
|
+
* computes the minimal operation set that makes the device match. Running it
|
|
6
|
+
* twice with unchanged input performs zero platform operations — that
|
|
7
|
+
* idempotence is the package's central testable promise.
|
|
8
|
+
*/
|
|
9
|
+
import type { NotificationRequest } from './notification';
|
|
10
|
+
export interface ReconcileInput {
|
|
11
|
+
/**
|
|
12
|
+
* Bounds what may be cancelled. Notifications outside this domain are never
|
|
13
|
+
* touched, including those scheduled by other parts of the app or by other
|
|
14
|
+
* libraries.
|
|
15
|
+
*/
|
|
16
|
+
readonly domain: string;
|
|
17
|
+
readonly desired: readonly NotificationRequest[];
|
|
18
|
+
/**
|
|
19
|
+
* When false (the default), push-created notifications are left alone rather
|
|
20
|
+
* than cancelled for being absent from a locally-computed desired set.
|
|
21
|
+
*/
|
|
22
|
+
readonly includePushCreated?: boolean;
|
|
23
|
+
}
|
|
24
|
+
/** Why a desired entry was refused rather than applied. */
|
|
25
|
+
export interface RejectedEntry {
|
|
26
|
+
readonly id: string;
|
|
27
|
+
readonly code: string;
|
|
28
|
+
readonly reason: string;
|
|
29
|
+
/** How many times this identifier appeared in the desired set. */
|
|
30
|
+
readonly occurrences: number;
|
|
31
|
+
/**
|
|
32
|
+
* True when a notification already scheduled under this identifier was left
|
|
33
|
+
* in place. Stated explicitly so a rejection is never misread as a
|
|
34
|
+
* cancellation.
|
|
35
|
+
*/
|
|
36
|
+
readonly existingLeftInPlace: boolean;
|
|
37
|
+
}
|
|
38
|
+
/** What was dropped for exceeding the platform's pending ceiling. */
|
|
39
|
+
export interface TruncationReport {
|
|
40
|
+
readonly ceiling: number;
|
|
41
|
+
readonly droppedCount: number;
|
|
42
|
+
readonly droppedIds: readonly string[];
|
|
43
|
+
/**
|
|
44
|
+
* Dropped entries are not lost — they are re-evaluated at each window
|
|
45
|
+
* refresh as nearer entries deliver.
|
|
46
|
+
*/
|
|
47
|
+
readonly reEvaluatedOnNextRefresh: true;
|
|
48
|
+
}
|
|
49
|
+
export interface ReconcileResult {
|
|
50
|
+
readonly domain: string;
|
|
51
|
+
readonly created: readonly string[];
|
|
52
|
+
readonly replaced: readonly string[];
|
|
53
|
+
readonly cancelled: readonly string[];
|
|
54
|
+
readonly unchanged: readonly string[];
|
|
55
|
+
readonly rejected: readonly RejectedEntry[];
|
|
56
|
+
readonly truncated?: TruncationReport;
|
|
57
|
+
/** Total platform operations issued. Zero on a no-change pass. */
|
|
58
|
+
readonly operationCount: number;
|
|
59
|
+
readonly durationMs: number;
|
|
60
|
+
}
|
|
61
|
+
/** A discrepancy between what the package expects and what the platform holds. */
|
|
62
|
+
export interface PendingDiscrepancy {
|
|
63
|
+
/** Expected from the series ledger or last reconciliation, but absent. */
|
|
64
|
+
readonly missing: readonly string[];
|
|
65
|
+
/** Present on the platform but not recognized by the package. */
|
|
66
|
+
readonly unrecognized: readonly string[];
|
|
67
|
+
readonly detectedAt: number;
|
|
68
|
+
}
|
|
69
|
+
/** Outcome of one automatic maintenance cycle. */
|
|
70
|
+
export interface MaintenanceResult {
|
|
71
|
+
readonly ranAt: number;
|
|
72
|
+
readonly windowRefreshed: boolean;
|
|
73
|
+
readonly occurrencesScheduled: number;
|
|
74
|
+
readonly reAnchored: number;
|
|
75
|
+
readonly timeZoneChanged: boolean;
|
|
76
|
+
readonly permissionChanged: boolean;
|
|
77
|
+
/** Detected and reported only — never repaired. */
|
|
78
|
+
readonly discrepancy?: PendingDiscrepancy;
|
|
79
|
+
readonly operationCount: number;
|
|
80
|
+
readonly durationMs: number;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=reconcile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reconcile.d.ts","sourceRoot":"","sources":["../../../../src/contract/reconcile.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,MAAM,WAAW,cAAc;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACjD;;;OAGG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CACtC;AAED,2DAA2D;AAC3D,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,kEAAkE;IAClE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;CACtC;AAED,qEAAqE;AACrE,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC;;;OAGG;IACH,QAAQ,CAAC,wBAAwB,EAAE,IAAI,CAAC;CACxC;AAED,MAAM,WAAW,eAAe;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;IAC5C,QAAQ,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAC;IACtC,kEAAkE;IAClE,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC5B;AAED,kFAAkF;AAClF,MAAM,WAAW,kBAAkB;IAClC,0EAA0E;IAC1E,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,iEAAiE;IACjE,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC5B;AAED,kDAAkD;AAClD,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACpC,mDAAmD;IACnD,QAAQ,CAAC,WAAW,CAAC,EAAE,kBAAkB,CAAC;IAC1C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC5B"}
|