@raidiant/notifai 13.1.0-beta.7 → 14.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -8,53 +8,83 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
8
8
  This project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html)
9
9
  and [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/).
10
10
 
11
- ## [13.1.0-beta.7](https://github.com/Raidiant-io/notifai/compare/v13.0.0...v13.1.0-beta.7) (2026-10-21)
11
+ ## [14.0.0-beta.1](https://github.com/Raidiant-io/notifai/compare/v13.1.0...v14.0.0-beta.1) (2026-10-22)
12
+
13
+ ### Breaking changes
14
+
15
+ * Repository-supplied configuration and guidance are no longer read. Keep personal preferences in the User-owned machine or local Project settings.
16
+
17
+ ### Features
18
+
19
+ * Ask and wait with `notifai ask --wait`; waiting Claude Code and Codex questions retain their native form and full device context.
20
+ * Carry authored titles, standalone detail, images and choice descriptions through linked questions, including OpenCode forms and supported text and number pickers.
21
+ * Record Codex terminal answers mechanically and keep disabled Projects silent across question routes.
22
+
23
+ ### Fixes
24
+
25
+ * Load writing guidance at first use, simplify harness guidance, and prevent duplicate question registration.
26
+ * Keep full notification content available when it does not fit in a push, and preserve close and approval behavior while terminal prompts are open.
27
+
28
+ ## [13.1.0](https://github.com/Raidiant-io/notifai/compare/v13.0.0...v13.1.0) (2026-10-21)
29
+
12
30
 
13
31
  ### Features
14
32
 
15
- * OpenCode's own question form now reaches the User's devices, and whichever answer comes first, from a device or in OpenCode, settles it. OpenClaw applies a changed plugin to a running Gateway and hands sessions over cleanly on reload, Hermes uses only the public plugin interface and holds writes while an approval prompt or session command is open, and Grok's question route is requalified.
16
- * Install CLI updates automatically on macOS and Linux through the shared hub, at most once a day, on the saved channel and never to an older build. An update never activates while a question, answer, note or acknowledgement is pending. Turn it off for the whole machine with `notifai config set updates.automatic off --yes`.
17
- * Answer the frequent Claude Code and Codex hooks from the running hub through the native launcher on macOS and Linux instead of starting the runtime each time, making warm hooks several times faster.
18
- * Block empty Codex wake-ups that no longer have anything to deliver, so they start no turn; a human prompt is never blocked. Codex app and IDE conversations that Codex unloads after 30 minutes idle stay open and answerable.
19
- * Each Claude Code and Codex session on macOS and Linux is now kept by a small native session helper, with one shared hub per user that talks to the service for all of them. At 25 sessions memory drops from about 600 MB to about 55 MB, the per-session process launches and credential reads every few seconds are gone, and a closed session's questions expire within seconds. Windows keeps the existing session attendant.
20
- * Claude Code hooks run in exec form on Claude Code 2.1.139 and newer, and stay in shell form on older versions; `notifai doctor` reports the hook form and the shared hub.
21
- * Closing an Agent Session ends its questions: they expire on every device, and an answer the agent had not read yet is dropped instead of being delivered later. The session's end record names any dropped answers.
22
- * Let Codex run Notifai commands outside its sandbox on the User's yes: `notifai init --codex-commands` writes a Codex rule that allows only the everyday Notifai commands, `notifai doctor` reports `codex-commands` readiness, and `notifai hooks uninstall --harness codex` removes the rule.
23
- * Codex question cards link to devices only with Codex app-server 0.163.0 or newer; older Codex falls back to an ordinary question, and a daily canary checks that card linking still works.
24
- * Keep questions open when an app or the machine stops a conversation on macOS and Linux: the Claude desktop app pausing or evicting it, the Codex app or IDE unloading it, an idle T3 Code or Orca chat, an Orca terminal host dying, or the machine shutting down, restarting, crashing or losing power. The conversation is stopped, not closed: its questions stay open for their own windows, notes sent to it wait for it, and everything is handed in when it comes back.
25
- * Reopen a terminal conversation the machine stopped when its answer or note arrives: Notifai opens a new terminal window in the conversation's folder and resumes it with exactly the permissions it ran with, never more permissive ones, and never during a shutdown. If the permissions cannot be reproduced exactly, the conversation waits for the User instead. Turn it off with `notifai config set reopen.automatic off`; `notifai doctor` reports what reopen will do.
26
- * Continue a stopped Codex app conversation inside the running Codex app on macOS when its answer or note arrives, with no window, focus change or navigation. Notifai never starts the Codex app; turn this off with `notifai config set reopen.codex_app off`.
27
- * A question the User dismisses on a device ends at once: a Claude Code picker or a Codex card still on screen closes, `notifai send --reply` returns with exit 3, and the agent carries on without an answer.
28
- * A fork of a stopped conversation (Codex `fork`, Claude Code `/branch`) takes its questions and waiting answers with it when the service supports it.
33
+ * **cli:** answer frequent hooks from the hub through the native launcher ([#340](https://github.com/Raidiant-io/notifai/issues/340)) ([0216f82](https://github.com/Raidiant-io/notifai/commit/0216f8209bd6e32ec7e879fedc68b30f44974ab1))
34
+ * **cli:** block empty Codex wakes and keep unloaded Codex app conversations open ([#336](https://github.com/Raidiant-io/notifai/issues/336)) ([727149e](https://github.com/Raidiant-io/notifai/commit/727149eff210ba988368edefc9b3d9f0b42652a2))
35
+ * **cli:** continue a stopped Codex app conversation in the running app, and close a dismissed Codex card ([#363](https://github.com/Raidiant-io/notifai/issues/363)) ([66ee838](https://github.com/Raidiant-io/notifai/commit/66ee8380cbf9af4004ad4ab89d3740b8e2fb3ebc))
36
+ * **cli:** continue under a fork that has not notified where the service creates it ([#357](https://github.com/Raidiant-io/notifai/issues/357)) ([ee22743](https://github.com/Raidiant-io/notifai/commit/ee22743e6aec26a67a88dd198c9cdb43840f4540))
37
+ * **cli:** expire a closed session's questions and drop unread answers ([#328](https://github.com/Raidiant-io/notifai/issues/328)) ([becb99f](https://github.com/Raidiant-io/notifai/commit/becb99fbe2138ad2c5d97a3f273e6f0f61502b13))
38
+ * **cli:** gate Codex card linking on an app-server floor and add a daily card canary ([#331](https://github.com/Raidiant-io/notifai/issues/331)) ([75334ea](https://github.com/Raidiant-io/notifai/commit/75334eaa28de759e835c5024a0aa6af7552bc980))
39
+ * **cli:** hold stopped sessions, continue forks and end dismissed questions ([#354](https://github.com/Raidiant-io/notifai/issues/354)) ([a991ed2](https://github.com/Raidiant-io/notifai/commit/a991ed2016151fd17e1f4bc6d371772b019152aa))
40
+ * **cli:** install updates automatically, with a machine-wide off switch ([#339](https://github.com/Raidiant-io/notifai/issues/339)) ([2b93c97](https://github.com/Raidiant-io/notifai/commit/2b93c97bc03f46bba094b872648450b5f667d705))
41
+ * **cli:** let Codex run Notifai commands outside its sandbox on the User's yes ([#330](https://github.com/Raidiant-io/notifai/issues/330)) ([a43c09b](https://github.com/Raidiant-io/notifai/commit/a43c09becc1f5692c5c8519d4ca6756cd50cf19e))
42
+ * **cli:** native session child per Agent Session and one shared hub (B3) ([#334](https://github.com/Raidiant-io/notifai/issues/334)) ([98cfbf6](https://github.com/Raidiant-io/notifai/commit/98cfbf673a737767499c75a5178716cd5e3e13fa))
43
+ * **cli:** OpenCode question form from devices, OpenClaw generation fence, Hermes public plugin API, Grok requalified ([#335](https://github.com/Raidiant-io/notifai/issues/335)) ([024c918](https://github.com/Raidiant-io/notifai/commit/024c91820cbcb4da4e6121063ec687d1c58fd1cd))
44
+ * **cli:** reopen a terminal conversation the machine stopped when its answer arrives ([#362](https://github.com/Raidiant-io/notifai/issues/362)) ([b760604](https://github.com/Raidiant-io/notifai/commit/b76060470b2fcfccc1de104e5801e87ef919e25e))
45
+
29
46
 
30
47
  ### Bug Fixes
31
48
 
32
- * Restart the shared hub seamlessly after any update, including `notifai update`, npm and installer updates, rollbacks, and hubs started by earlier builds: nothing a session waits for lives only in the hub any more, so only an update that changes the User's hooks waits. Until a hub hands over, `notifai doctor` and `notifai update --check` name the build it runs and what it is waiting for.
33
- * Confirm a session's end for about 10 seconds before expiring its questions, so a reload, a handoff to another window or app, `codex resume`, or a second terminal on the same conversation keeps them. This also applies on Windows and wherever no hub attends the session.
34
- * Fast and partial phone answers always reach the agent. A Claude Code picker answered within a second or two, answered only in part, with several replies or with typed text no longer stays open; an answer the picker cannot carry closes it and reaches the agent as its next message.
35
- * Keep concurrent sends from several agents in one Project from failing on shared state; every Notification Request is submitted exactly once.
36
- * Behind a proxy or a custom certificate authority, the shared hub now reaches the service and answers arrive. The hub takes its network settings from sign-in and nothing else from the shell that started it, so API keys and tokens no longer reach it.
37
- * On Linux, a clock change (a network time step after resume, a VM clock correction) no longer makes running sessions look gone.
38
- * A submodule, nested clone or worktree inside a configured Project now belongs to that Project, and a loose config file in a plain parent folder no longer swallows every repository below it. The home folder is never a Project.
39
- * Setup inside a fresh Claude Code session keeps the User's yes to command approval. Command approval is offered only in Claude Code's default permission mode, and an explicit `--claude-commands` that adds nothing says why.
40
- * In Codex, `notifai ask` asks an ordinary question when the session has no question card, instead of pointing the agent at a tool it does not have.
41
- * A shell that inherited an agent session's markers, such as a tmux server or editor started from that session, no longer sends its questions into that session.
42
- * Back off wakes when the agent cannot take its input in, from 5 seconds up to 5 minutes, instead of starting a turn every second during an outage.
43
- * An idle Codex terminal on the shared server is woken only while a terminal shows the conversation, after a one-time behaviour check of that Codex version.
44
- * Keep Notifai's Codex control connection from labelling the User's own Codex threads.
45
- * Keep a Claude Code picker in a second window linked when the first window exits.
46
- * Settle hook repair requirements against the hook definition actually present, and give one Codex hook trust line per hooks file with a step the User can take.
47
- * Keep Claude Code hooks on the shared hub instead of starting the runtime for every hook, and recover a question claim left by a crashed process at once.
48
- * `notifai config` rows fit the terminal.
49
- * Lay out interactive screens on a terminal that reports zero width.
50
- * Never revive a closed session headlessly: Claude Code cold resume (`claude -p --resume`) is removed, and a stopped conversation reopens only in a visible terminal.
51
- * Keep every hook inside its own timeout: credential reads happen only when a hook actually calls the service, nested steps get a budget derived from the hook's declared timeout, and session pruning and update checks run in a detached daily maintenance process instead of on the prompt path.
52
- * Register Codex questions from the native question card itself, so an answered card no longer leaves a separately copied question pending.
53
- * Report integration health only for the active native build, so a retained older runtime can no longer surface stale CLI or skill faults in current hooks.
54
- * Hand a session's questions to one current answer owner, so an answer process started by an older version no longer holds them after an update.
55
- * Beta updates always choose the newer of the beta and stable releases.
56
- * Updating from 13.0.0 or an earlier release asks Codex to review only the hooks that are actually new or changed, instead of all of them. Hooks the User already trusted keep running.
57
- * Rolling back to a release older than 13.1.0-beta.3 rewrites Claude Code hooks to a form that release can read, so questions keep working after the rollback and reinstalling the hooks no longer duplicates them. If the hooks cannot be rewritten, nothing is activated.
49
+ * **cli:** back off wakes when shown input cannot be handed in ([#348](https://github.com/Raidiant-io/notifai/issues/348)) ([9f69428](https://github.com/Raidiant-io/notifai/commit/9f694289eb8d296a2fb29fbdf67aa69ba6720e54))
50
+ * **cli:** bring tests in line with reopen and Project rules, and fit config rows ([#368](https://github.com/Raidiant-io/notifai/issues/368)) ([f734c15](https://github.com/Raidiant-io/notifai/commit/f734c15060f85866b8143dbd025285a0b00cdd7d))
51
+ * **cli:** check link() when recording the hub network so the Linux launcher builds ([#369](https://github.com/Raidiant-io/notifai/issues/369)) ([8ffd2c7](https://github.com/Raidiant-io/notifai/commit/8ffd2c77dbe006ceb05d519ac206a9783387e329))
52
+ * **cli:** confirm a session's end before expiring its questions ([#346](https://github.com/Raidiant-io/notifai/issues/346)) ([4a34b9e](https://github.com/Raidiant-io/notifai/commit/4a34b9e983b901f237ca9b5b5cb1abc0a45c1b61))
53
+ * **cli:** confirm SessionEnd without a hub and settle repairs recorded for another home ([#358](https://github.com/Raidiant-io/notifai/issues/358)) ([7b90ec6](https://github.com/Raidiant-io/notifai/commit/7b90ec63948791bc7143954eb5163e47dedeb2a1))
54
+ * **cli:** hand a session's questions to one current answer owner ([#337](https://github.com/Raidiant-io/notifai/issues/337)) ([e9c2f2c](https://github.com/Raidiant-io/notifai/commit/e9c2f2c5405896e059d68c214935772abf463cb2))
55
+ * **cli:** hand the hub over to the active build after any update ([#342](https://github.com/Raidiant-io/notifai/issues/342)) ([03b6634](https://github.com/Raidiant-io/notifai/commit/03b6634e33524c7dcff862d506d8e13324732945))
56
+ * **cli:** honor setup consent, resolve nested repos as one Project, and verify session markers ([#367](https://github.com/Raidiant-io/notifai/issues/367)) ([3d32122](https://github.com/Raidiant-io/notifai/commit/3d3212236f19c331e3876419e6f3b7ef6588d4dc))
57
+ * **cli:** keep a standby place's Claude Code picker linked when the primary exits ([#359](https://github.com/Raidiant-io/notifai/issues/359)) ([09cba49](https://github.com/Raidiant-io/notifai/commit/09cba497a5e7fde45e939356e389f038dc81d87e))
58
+ * **cli:** keep Claude Code hooks quiet and settle after a crashed claim guard ([#364](https://github.com/Raidiant-io/notifai/issues/364)) ([3f2c74a](https://github.com/Raidiant-io/notifai/commit/3f2c74a0d96f7158be4de2ea513e484d7550fc4a))
59
+ * **cli:** keep concurrent sends in one Project from failing on shared state ([#356](https://github.com/Raidiant-io/notifai/issues/356)) ([b87b2c5](https://github.com/Raidiant-io/notifai/commit/b87b2c5496e69e140f1543842336184b614aceb2))
60
+ * **cli:** keep questions open when an app or the machine stops a Claude Code conversation ([#347](https://github.com/Raidiant-io/notifai/issues/347)) ([210a204](https://github.com/Raidiant-io/notifai/commit/210a204b47c7af36cc0e25147248c5e99cdb4236))
61
+ * **cli:** keep questions open when an app or the machine stops a Codex conversation ([#351](https://github.com/Raidiant-io/notifai/issues/351)) ([89c34b3](https://github.com/Raidiant-io/notifai/commit/89c34b3d42fd31bfe4336c9de837145d7b747f11))
62
+ * **cli:** keep the Codex control connection from claiming thread originators ([#345](https://github.com/Raidiant-io/notifai/issues/345)) ([1b5b1c0](https://github.com/Raidiant-io/notifai/commit/1b5b1c0c4ad1262cb6f51f1d01212185cf46c0ae))
63
+ * **cli:** lay out interactive screens on a terminal that reports no size ([#333](https://github.com/Raidiant-io/notifai/issues/333)) ([b25984b](https://github.com/Raidiant-io/notifai/commit/b25984b0241c51f63965eca141383ed021a5f49b))
64
+ * **cli:** never leave a Claude Code picker open after a device answer or dismissal ([#355](https://github.com/Raidiant-io/notifai/issues/355)) ([47437fe](https://github.com/Raidiant-io/notifai/commit/47437fef8ce799013ced3900a31bbab64de66218))
65
+ * **cli:** never revive a closed session ([#326](https://github.com/Raidiant-io/notifai/issues/326)) ([b306951](https://github.com/Raidiant-io/notifai/commit/b3069519b0f8e43f4887973a16adc31e1c91ccba))
66
+ * **cli:** offer Claude command approval only in default mode and reword the Codex cards line ([#350](https://github.com/Raidiant-io/notifai/issues/350)) ([16e908e](https://github.com/Raidiant-io/notifai/commit/16e908e8e023bf043413f2191ade6b7bf2f4a042))
67
+ * **cli:** one decider per SessionEnd, clock-step-proof Linux identity, deliberate hub environment ([#366](https://github.com/Raidiant-io/notifai/issues/366)) ([1bf2607](https://github.com/Raidiant-io/notifai/commit/1bf260749276ef7e78d8e6e911b874bc79b3f57f))
68
+ * **cli:** pass release gates for the Codex command rule ([#332](https://github.com/Raidiant-io/notifai/issues/332)) ([43426fe](https://github.com/Raidiant-io/notifai/commit/43426fe8e217c8192e3a5bf7733fc022d5144bf1))
69
+ * **cli:** reopen stopped conversations with their exact permissions, never during shutdown ([#365](https://github.com/Raidiant-io/notifai/issues/365)) ([6345da3](https://github.com/Raidiant-io/notifai/commit/6345da374cd2c28641c9fcb69eb534c9d001352f))
70
+ * **cli:** restart the hub seamlessly so only hook-changing updates wait ([#344](https://github.com/Raidiant-io/notifai/issues/344)) ([3fcee79](https://github.com/Raidiant-io/notifai/commit/3fcee7945e5e64438d44ef316ce7c7ae4bd9b66a))
71
+ * **cli:** return wake command output only after it has been read ([#361](https://github.com/Raidiant-io/notifai/issues/361)) ([ceb86b5](https://github.com/Raidiant-io/notifai/commit/ceb86b5549bbf70911d5405165e52085e8697aba))
72
+ * **cli:** review only new Codex hooks on update, and keep Claude Code hooks readable after rollback ([#370](https://github.com/Raidiant-io/notifai/issues/370)) ([e28ebc1](https://github.com/Raidiant-io/notifai/commit/e28ebc13b7c8c47f07f3c055f4614c5381285dc5))
73
+ * **cli:** select a native form's answer for delivery however fast it arrives ([#352](https://github.com/Raidiant-io/notifai/issues/352)) ([00c6f06](https://github.com/Raidiant-io/notifai/commit/00c6f06c1bcbd84b70fbed5308a5f91dc539aa86))
74
+ * **cli:** send Codex agents to the question card only when they have it ([#353](https://github.com/Raidiant-io/notifai/issues/353)) ([3465758](https://github.com/Raidiant-io/notifai/commit/3465758f33fed67efbe22047c0a5471e40ecdf7d))
75
+ * **cli:** settle hook repair requirements against the definition present ([#343](https://github.com/Raidiant-io/notifai/issues/343)) ([b81c534](https://github.com/Raidiant-io/notifai/commit/b81c5347a4d092f25aa478fdc7771022016361c8))
76
+ * **cli:** wake an idle Codex terminal on the shared server only while a terminal shows it ([#360](https://github.com/Raidiant-io/notifai/issues/360)) ([c4541a3](https://github.com/Raidiant-io/notifai/commit/c4541a31e5bd10c989defb3bfc23a6c7944ea34d))
77
+ * **hooks:** keep nested work inside each hook's own timeout ([#327](https://github.com/Raidiant-io/notifai/issues/327)) ([8d936c8](https://github.com/Raidiant-io/notifai/commit/8d936c82dd9dae20fdfe23f648461565a4fae153))
78
+ * **hooks:** scope health notices to the active build ([#322](https://github.com/Raidiant-io/notifai/issues/322)) ([47e33e2](https://github.com/Raidiant-io/notifai/commit/47e33e26a544afd0572a8ea43958bff19a112600))
79
+ * register Codex questions from native cards ([#325](https://github.com/Raidiant-io/notifai/issues/325)) ([df3c568](https://github.com/Raidiant-io/notifai/commit/df3c568c2601c045c7a544356b25d59f6d03638e))
80
+ * **release:** keep beta discovery current with stable ([#323](https://github.com/Raidiant-io/notifai/issues/323)) ([762f430](https://github.com/Raidiant-io/notifai/commit/762f430dd049e924c1fa1fccaf987fa99e7b21b0))
81
+
82
+
83
+ ### Dependencies
84
+
85
+ * The following workspace dependencies were updated
86
+ * dependencies
87
+ * @raidiant/notifai-protocol bumped from 8.4.0 to 8.5.0
58
88
 
59
89
  ## [13.0.0](https://github.com/Raidiant-io/notifai/compare/v12.1.1...v13.0.0) (2026-10-18)
60
90
 
package/README.md CHANGED
@@ -118,11 +118,13 @@ find out your reply landed and what it set in motion — not just that you sent
118
118
  it. Answering from your phone and wondering whether anything happened is the
119
119
  whole problem this solves.
120
120
 
121
- For a harness that cannot resume an idle agent turn, `notifai send --reply`
122
- owns the complete answer window in the foreground: keep it alive and set
123
- `--reply-timeout` equal to `--reply-window`. After a timeout, retain the request
124
- ID and inspect that original with `notifai replies` and `notifai status`; never
125
- send a duplicate.
121
+ For a harness that cannot resume an idle agent turn, `notifai ask --wait`
122
+ waits for the answer in the foreground, for the harness's command limit minus
123
+ 10 s or the answer window outside any harness, and the service ends the
124
+ question at that deadline. It exits 0 with the answer, 3 when it ended
125
+ unanswered and the question is off the devices, or 5 when the service was
126
+ unreachable at the end; then an answer may still be waiting for
127
+ `notifai replies <request_id>` until the deadline. Never ask a duplicate.
126
128
 
127
129
  ## Agent harnesses
128
130
 
package/data/release.json CHANGED
@@ -1 +1 @@
1
- {"version":"13.1.0-beta.7","source_revision":"3459f47f2f31b3172552204775318d8ea7a98822"}
1
+ {"version":"14.0.0-beta.1","source_revision":"413b65ac646b8ed25c52268fafcfd0cfaf4abf4f"}
package/inventory.json CHANGED
@@ -1 +1 @@
1
- {"key_id":"notifai-release-2026-10","payload":"eyJzY2hlbWEiOjIsInZlcnNpb24iOiIxMy4xLjAtYmV0YS43Iiwic291cmNlX3JldmlzaW9uIjoiMzQ1OWY0N2YyZjMxYjMxNzI1NTIyMDQ3NzUzMThkOGVhN2E5ODgyMiIsImxvY2FsX2NvbnRpbnVpdHkiOnsiY29udHJhY3QiOiJub3RpZmFpLXNlc3Npb24tc3RhdGUtdjIiLCJjb21wYXRpYmxlIjp7Im5vdGlmYWktc2Vzc2lvbi1zdGF0ZS12MSI6WyJidW4tZGFyd2luLWFybTY0IiwiYnVuLWRhcndpbi14NjQiLCJidW4td2luZG93cy1hcm02NCIsImJ1bi13aW5kb3dzLXg2NCJdfX0sInN0b3JlX3NjaGVtYSI6MiwibGF1bmNoZXJfc2NoZW1hIjoxLCJhcnRpZmFjdHMiOlt7InRhcmdldCI6ImJ1bi1kYXJ3aW4tYXJtNjQiLCJmaWxlbmFtZSI6Im5vdGlmYWktMTMuMS4wLWJldGEuNy1kYXJ3aW4tYXJtNjQudGFyLmd6IiwiYnl0ZXMiOjI3OTk4MTA1LCJzaGEyNTYiOiI1NmNiYTI3NzFiMTY0NWJhN2Y2ZjMxNjBkZGE5MmU0ZTIyMWI0NjI1ODFkMThjMTNhYzU5YTAxMmMxMjkxNDg3IiwicnVudGltZV9zaGEyNTYiOiJkZDA4MjVhM2U2ZWZmOGQ4OGIyZmY5MmY1YTgyM2QyMGJlNDhlYzBkOGQzYTUwNzc5ODMxNjBmOGZiZmQxOTBkIiwibGF1bmNoZXJfc2hhMjU2IjoiYWFiYzNmNzYwNTU1OGZiZDgwMzQzZmRmZGY1ZTcxZWZmZjE5OTM1ZTNlMDgwNGExYmUwNTE0YTI0NDlhYWM2YSIsIm1hdGVyaWFscyI6W3sicGF0aCI6IkJVTi1MSUNFTlNFLm1kIiwiYnl0ZXMiOjU2MTMsInNoYTI1NiI6ImI5Y2FmNTI3Mjg2OTFiNDA1N2UzNzEyMzJjMjIxYTEzMjg4MzE5OGJlMmYzZDJkZGY5MmM5MDQwNGM5ODRiMWEifSx7InBhdGgiOiJDT1JSRVNQT05ESU5HLVNPVVJDRVMuanNvbiIsImJ5dGVzIjoyMDIwLCJzaGEyNTYiOiJmYTRjMzQ0ODAxMTU0ODcyZDYxNzllZTJlZjQ5OTIzZGM5Zjg5MDllZjAxZTUzYjg2ZThmNTdjNjI1ODIzMjc0In0seyJwYXRoIjoiTElDRU5TRS50eHQiLCJieXRlcyI6MTEzNDYsInNoYTI1NiI6Ijk0NGMxM2ZmMGZlNzk1ZTI5MWZkMWM0OTQ3M2Y5OGQ0ZmRmMWY3NDYzOGUwMWY4ODI3NjljZDRjYWU3OGI3M2QifSx7InBhdGgiOiJOT1RJQ0UtUFJPVkVOQU5DRS5qc29uIiwiYnl0ZXMiOjQ1MDI2NCwic2hhMjU2IjoiNTM0ZGQ1OWZkNGMxNWRkMTM4MmU4MjdmMGI4NWMxOWY3YzY5OGUyMzVmOTI5OWVhYTIwMmRiNTQwMDgzNDI4OCJ9LHsicGF0aCI6Ik5PVElDRS50eHQiLCJieXRlcyI6NjI2LCJzaGEyNTYiOiIxZGZiZjQ0OThkYzAyNmIyMDU5YzBiMGI1ZWI1ZmExZDgyYWUzMzRlNThmZjExZTdjMjk3MzMzMjdmMjVjNGViIn0seyJwYXRoIjoiUkVCVUlMRElORy5tZCIsImJ5dGVzIjozODQyLCJzaGEyNTYiOiJjZTYwNWI1ZmRiMDMxOTMzOWY5ZjgzZjJmZTdjY2NiYzdlNTcyNmZkZjQ5NGRhNmUyODQzM2JlZjgyOWViMGJlIn0seyJwYXRoIjoiU09VUkNFLU5PVElDRVMudHh0IiwiYnl0ZXMiOjkwMTc3NzEsInNoYTI1NiI6Ijg5OTc2YmVjYzI1NjU0MGU2ZDJlODA3YjQ3YTRlMDVlODg5OTgyYzA2MjJmYzA0NDEzYTdiZjdlNzdhNzdlMzcifSx7InBhdGgiOiJUSElSRC1QQVJUWS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjoyNDkxNDk2LCJzaGEyNTYiOiIxMTY0NDdlZmY3Nzg5MzUxMTc5N2VmNDc2MDExZGVjODAwMjI0ZjkxZTMzNDJlM2Q2NTcwNzA4NzEyYjRiNzcyIn0seyJwYXRoIjoibGljZW5zZXMvbnBtLWNtZC1zaGltLnR4dCIsImJ5dGVzIjo4MTMsInNoYTI1NiI6ImFmZmZkZjEyMDgxMTIyNzQ5YzRiNzFjNWIxYzExYmM2NTlkNzkyNDJkMTllMThmNWU4ZGJhYjA0YTQ1ZTM2YmIifSx7InBhdGgiOiJucG0tYWRhcHRlci1maWxlcy5qc29uIiwiYnl0ZXMiOjE2NjYsInNoYTI1NiI6ImNhMjc3YjA4ZGUwMzFjNzVhMjBlNjA5NWQzYWYwNDJkNzk0NDI4YTcxMzViOTk5MDM2MjZjYzFkNWM4MWE2NDIifV19LHsidGFyZ2V0IjoiYnVuLWRhcndpbi14NjQiLCJmaWxlbmFtZSI6Im5vdGlmYWktMTMuMS4wLWJldGEuNy1kYXJ3aW4teDY0LnRhci5neiIsImJ5dGVzIjozMDI0MTA2OCwic2hhMjU2IjoiMjBhZjMwNjM5NjM5NTg1ODBiYjI4YWNhOTY2YTViMTI4NDljZjI0OGI5NDkxZWVlOTM5ODU1MjMwNTQ4OWM2YyIsInJ1bnRpbWVfc2hhMjU2IjoiYzZkYWVjMzI3MDczYmY1ZjgzODUwNjdmYTFmNDUzYmE2YWIzOWQ2NjE0ZDkwNTZiYjdkMGViZTJmMTNhZDA1ZiIsImxhdW5jaGVyX3NoYTI1NiI6IjViMTE0YmQ1NWFlMDg5M2YwY2MzZmQyNDZjMjJjM2M2OWE4M2EyNGM1NTVkYWMzOTZhZGJkYjQzOGUwNzY4YWUiLCJtYXRlcmlhbHMiOlt7InBhdGgiOiJCVU4tTElDRU5TRS5tZCIsImJ5dGVzIjo1NjEzLCJzaGEyNTYiOiJiOWNhZjUyNzI4NjkxYjQwNTdlMzcxMjMyYzIyMWExMzI4ODMxOThiZTJmM2QyZGRmOTJjOTA0MDRjOTg0YjFhIn0seyJwYXRoIjoiQ09SUkVTUE9ORElORy1TT1VSQ0VTLmpzb24iLCJieXRlcyI6MjAyMCwic2hhMjU2IjoiZmE0YzM0NDgwMTE1NDg3MmQ2MTc5ZWUyZWY0OTkyM2RjOWY4OTA5ZWYwMWU1M2I4NmU4ZjU3YzYyNTgyMzI3NCJ9LHsicGF0aCI6IkxJQ0VOU0UudHh0IiwiYnl0ZXMiOjExMzQ2LCJzaGEyNTYiOiI5NDRjMTNmZjBmZTc5NWUyOTFmZDFjNDk0NzNmOThkNGZkZjFmNzQ2MzhlMDFmODgyNzY5Y2Q0Y2FlNzhiNzNkIn0seyJwYXRoIjoiTk9USUNFLVBST1ZFTkFOQ0UuanNvbiIsImJ5dGVzIjo0NTAyNjQsInNoYTI1NiI6IjUzNGRkNTlmZDRjMTVkZDEzODJlODI3ZjBiODVjMTlmN2M2OThlMjM1ZjkyOTllYWEyMDJkYjU0MDA4MzQyODgifSx7InBhdGgiOiJOT1RJQ0UudHh0IiwiYnl0ZXMiOjYyNiwic2hhMjU2IjoiMWRmYmY0NDk4ZGMwMjZiMjA1OWMwYjBiNWViNWZhMWQ4MmFlMzM0ZTU4ZmYxMWU3YzI5NzMzMzI3ZjI1YzRlYiJ9LHsicGF0aCI6IlJFQlVJTERJTkcubWQiLCJieXRlcyI6Mzg0Miwic2hhMjU2IjoiY2U2MDViNWZkYjAzMTkzMzlmOWY4M2YyZmU3Y2NjYmM3ZTU3MjZmZGY0OTRkYTZlMjg0MzNiZWY4MjllYjBiZSJ9LHsicGF0aCI6IlNPVVJDRS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjo5MDE3NzcxLCJzaGEyNTYiOiI4OTk3NmJlY2MyNTY1NDBlNmQyZTgwN2I0N2E0ZTA1ZTg4OTk4MmMwNjIyZmMwNDQxM2E3YmY3ZTc3YTc3ZTM3In0seyJwYXRoIjoiVEhJUkQtUEFSVFktTk9USUNFUy50eHQiLCJieXRlcyI6MjQ5MTQ5Niwic2hhMjU2IjoiMTE2NDQ3ZWZmNzc4OTM1MTE3OTdlZjQ3NjAxMWRlYzgwMDIyNGY5MWUzMzQyZTNkNjU3MDcwODcxMmI0Yjc3MiJ9LHsicGF0aCI6ImxpY2Vuc2VzL25wbS1jbWQtc2hpbS50eHQiLCJieXRlcyI6ODEzLCJzaGEyNTYiOiJhZmZmZGYxMjA4MTEyMjc0OWM0YjcxYzViMWMxMWJjNjU5ZDc5MjQyZDE5ZTE4ZjVlOGRiYWIwNGE0NWUzNmJiIn0seyJwYXRoIjoibnBtLWFkYXB0ZXItZmlsZXMuanNvbiIsImJ5dGVzIjoxNjY2LCJzaGEyNTYiOiJjYTI3N2IwOGRlMDMxYzc1YTIwZTYwOTVkM2FmMDQyZDc5NDQyOGE3MTM1Yjk5OTAzNjI2Y2MxZDVjODFhNjQyIn1dfSx7InRhcmdldCI6ImJ1bi1saW51eC1hcm02NCIsImZpbGVuYW1lIjoibm90aWZhaS0xMy4xLjAtYmV0YS43LWxpbnV4LWFybTY0LnRhci5neiIsImJ5dGVzIjozOTU2MjgwNywic2hhMjU2IjoiMzYyOGJlODcwYWY5MzkzNGQ5NTBkNjI1NWI1YzRkZWJjNzJiMmYwMDY5YzEyMTA3YzJhMTJkNmRhMGJhMzIzMSIsInJ1bnRpbWVfc2hhMjU2IjoiNjAyZTk1NjU2OGFkMDIyYTQ1Yzk5NDQyMjBlMTViNDJiMTgzMjcwNzQyMWIxYTdlMTM3YjhjNjkzMGIxOGRhMyIsImxhdW5jaGVyX3NoYTI1NiI6ImNiOWY0YzdhMWNmMjRiY2FiZTg1ZjExYjYxZGI1ZTkwNzliNjcyZTE2MDM3MDljNDBjNzg0OThmYTEyYjNjY2MiLCJtYXRlcmlhbHMiOlt7InBhdGgiOiJCVU4tTElDRU5TRS5tZCIsImJ5dGVzIjo1NjEzLCJzaGEyNTYiOiJiOWNhZjUyNzI4NjkxYjQwNTdlMzcxMjMyYzIyMWExMzI4ODMxOThiZTJmM2QyZGRmOTJjOTA0MDRjOTg0YjFhIn0seyJwYXRoIjoiQ09SUkVTUE9ORElORy1TT1VSQ0VTLmpzb24iLCJieXRlcyI6MjAyMCwic2hhMjU2IjoiZmE0YzM0NDgwMTE1NDg3MmQ2MTc5ZWUyZWY0OTkyM2RjOWY4OTA5ZWYwMWU1M2I4NmU4ZjU3YzYyNTgyMzI3NCJ9LHsicGF0aCI6IkxJQ0VOU0UudHh0IiwiYnl0ZXMiOjExMzQ2LCJzaGEyNTYiOiI5NDRjMTNmZjBmZTc5NWUyOTFmZDFjNDk0NzNmOThkNGZkZjFmNzQ2MzhlMDFmODgyNzY5Y2Q0Y2FlNzhiNzNkIn0seyJwYXRoIjoiTk9USUNFLVBST1ZFTkFOQ0UuanNvbiIsImJ5dGVzIjo0NTAyNjQsInNoYTI1NiI6IjUzNGRkNTlmZDRjMTVkZDEzODJlODI3ZjBiODVjMTlmN2M2OThlMjM1ZjkyOTllYWEyMDJkYjU0MDA4MzQyODgifSx7InBhdGgiOiJOT1RJQ0UudHh0IiwiYnl0ZXMiOjYyNiwic2hhMjU2IjoiMWRmYmY0NDk4ZGMwMjZiMjA1OWMwYjBiNWViNWZhMWQ4MmFlMzM0ZTU4ZmYxMWU3YzI5NzMzMzI3ZjI1YzRlYiJ9LHsicGF0aCI6IlJFQlVJTERJTkcubWQiLCJieXRlcyI6Mzg0Miwic2hhMjU2IjoiY2U2MDViNWZkYjAzMTkzMzlmOWY4M2YyZmU3Y2NjYmM3ZTU3MjZmZGY0OTRkYTZlMjg0MzNiZWY4MjllYjBiZSJ9LHsicGF0aCI6IlNPVVJDRS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjo5MDE3NzcxLCJzaGEyNTYiOiI4OTk3NmJlY2MyNTY1NDBlNmQyZTgwN2I0N2E0ZTA1ZTg4OTk4MmMwNjIyZmMwNDQxM2E3YmY3ZTc3YTc3ZTM3In0seyJwYXRoIjoiVEhJUkQtUEFSVFktTk9USUNFUy50eHQiLCJieXRlcyI6MjQ5MTQ5Niwic2hhMjU2IjoiMTE2NDQ3ZWZmNzc4OTM1MTE3OTdlZjQ3NjAxMWRlYzgwMDIyNGY5MWUzMzQyZTNkNjU3MDcwODcxMmI0Yjc3MiJ9LHsicGF0aCI6ImxpY2Vuc2VzL25wbS1jbWQtc2hpbS50eHQiLCJieXRlcyI6ODEzLCJzaGEyNTYiOiJhZmZmZGYxMjA4MTEyMjc0OWM0YjcxYzViMWMxMWJjNjU5ZDc5MjQyZDE5ZTE4ZjVlOGRiYWIwNGE0NWUzNmJiIn0seyJwYXRoIjoibnBtLWFkYXB0ZXItZmlsZXMuanNvbiIsImJ5dGVzIjoxNjY2LCJzaGEyNTYiOiJjYTI3N2IwOGRlMDMxYzc1YTIwZTYwOTVkM2FmMDQyZDc5NDQyOGE3MTM1Yjk5OTAzNjI2Y2MxZDVjODFhNjQyIn1dfSx7InRhcmdldCI6ImJ1bi1saW51eC14NjQiLCJmaWxlbmFtZSI6Im5vdGlmYWktMTMuMS4wLWJldGEuNy1saW51eC14NjQudGFyLmd6IiwiYnl0ZXMiOjM5MTI3OTUwLCJzaGEyNTYiOiJjMjYxOWUwZGMwNjU2N2EwOGExODA5NmY2YzJmNDVlN2E1ODNlYzhkZDYxYjA5ZjRkOWZjMDNjYjJiODA3NGYyIiwicnVudGltZV9zaGEyNTYiOiI3MDRmM2YwMjc1ODdkNDM1YmI2NmMwNTgzNjdhZTQwMjBlODYwOTc0MjExMmQwYTVhMmFiZTE0ZmVhYzIzZDBkIiwibGF1bmNoZXJfc2hhMjU2IjoiZjAxZDQ0MDU0YjYwYTQ1MTRiOTZmNDNkYjQyODkwZmVkNDM5ZmI1NGE4Yzg2YWYxMGFhOTcwMzdiZjQxNzMwNiIsIm1hdGVyaWFscyI6W3sicGF0aCI6IkJVTi1MSUNFTlNFLm1kIiwiYnl0ZXMiOjU2MTMsInNoYTI1NiI6ImI5Y2FmNTI3Mjg2OTFiNDA1N2UzNzEyMzJjMjIxYTEzMjg4MzE5OGJlMmYzZDJkZGY5MmM5MDQwNGM5ODRiMWEifSx7InBhdGgiOiJDT1JSRVNQT05ESU5HLVNPVVJDRVMuanNvbiIsImJ5dGVzIjoyMDIwLCJzaGEyNTYiOiJmYTRjMzQ0ODAxMTU0ODcyZDYxNzllZTJlZjQ5OTIzZGM5Zjg5MDllZjAxZTUzYjg2ZThmNTdjNjI1ODIzMjc0In0seyJwYXRoIjoiTElDRU5TRS50eHQiLCJieXRlcyI6MTEzNDYsInNoYTI1NiI6Ijk0NGMxM2ZmMGZlNzk1ZTI5MWZkMWM0OTQ3M2Y5OGQ0ZmRmMWY3NDYzOGUwMWY4ODI3NjljZDRjYWU3OGI3M2QifSx7InBhdGgiOiJOT1RJQ0UtUFJPVkVOQU5DRS5qc29uIiwiYnl0ZXMiOjQ1MDI2NCwic2hhMjU2IjoiNTM0ZGQ1OWZkNGMxNWRkMTM4MmU4MjdmMGI4NWMxOWY3YzY5OGUyMzVmOTI5OWVhYTIwMmRiNTQwMDgzNDI4OCJ9LHsicGF0aCI6Ik5PVElDRS50eHQiLCJieXRlcyI6NjI2LCJzaGEyNTYiOiIxZGZiZjQ0OThkYzAyNmIyMDU5YzBiMGI1ZWI1ZmExZDgyYWUzMzRlNThmZjExZTdjMjk3MzMzMjdmMjVjNGViIn0seyJwYXRoIjoiUkVCVUlMRElORy5tZCIsImJ5dGVzIjozODQyLCJzaGEyNTYiOiJjZTYwNWI1ZmRiMDMxOTMzOWY5ZjgzZjJmZTdjY2NiYzdlNTcyNmZkZjQ5NGRhNmUyODQzM2JlZjgyOWViMGJlIn0seyJwYXRoIjoiU09VUkNFLU5PVElDRVMudHh0IiwiYnl0ZXMiOjkwMTc3NzEsInNoYTI1NiI6Ijg5OTc2YmVjYzI1NjU0MGU2ZDJlODA3YjQ3YTRlMDVlODg5OTgyYzA2MjJmYzA0NDEzYTdiZjdlNzdhNzdlMzcifSx7InBhdGgiOiJUSElSRC1QQVJUWS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjoyNDkxNDk2LCJzaGEyNTYiOiIxMTY0NDdlZmY3Nzg5MzUxMTc5N2VmNDc2MDExZGVjODAwMjI0ZjkxZTMzNDJlM2Q2NTcwNzA4NzEyYjRiNzcyIn0seyJwYXRoIjoibGljZW5zZXMvbnBtLWNtZC1zaGltLnR4dCIsImJ5dGVzIjo4MTMsInNoYTI1NiI6ImFmZmZkZjEyMDgxMTIyNzQ5YzRiNzFjNWIxYzExYmM2NTlkNzkyNDJkMTllMThmNWU4ZGJhYjA0YTQ1ZTM2YmIifSx7InBhdGgiOiJucG0tYWRhcHRlci1maWxlcy5qc29uIiwiYnl0ZXMiOjE2NjYsInNoYTI1NiI6ImNhMjc3YjA4ZGUwMzFjNzVhMjBlNjA5NWQzYWYwNDJkNzk0NDI4YTcxMzViOTk5MDM2MjZjYzFkNWM4MWE2NDIifV19LHsidGFyZ2V0IjoiYnVuLXdpbmRvd3MtYXJtNjQiLCJmaWxlbmFtZSI6Im5vdGlmYWktMTMuMS4wLWJldGEuNy13aW5kb3dzLWFybTY0LnppcCIsImJ5dGVzIjozODkxMTgyMCwic2hhMjU2IjoiM2FiOGU4MWYwYmYxMTkyM2E5NzRiMDhhZWU5M2I3ZjkwNTZlZjE5YzM4MWQxNWEwNjNmYzVlM2ZiNjA5ZTBhYyIsInJ1bnRpbWVfc2hhMjU2IjoiZTA3YzI1YmQ1MzEyZTYxNDhmN2IyNmZlODJjZmVjMmNkZTljYWVhNzE1MTAwOGIxZjk0ODY2MDk1ZDdmZDc2OSIsImxhdW5jaGVyX3NoYTI1NiI6IjdmMzE1MTRlNDcxZDFiMGQzODM2ZTAxZGVlMWIwNjQ4NmE4OTA0Mjc3YTI4ZWEzNTM4YTM5YWMzNTY2MzU0NzYiLCJtYXRlcmlhbHMiOlt7InBhdGgiOiJCVU4tTElDRU5TRS5tZCIsImJ5dGVzIjo1NjEzLCJzaGEyNTYiOiJiOWNhZjUyNzI4NjkxYjQwNTdlMzcxMjMyYzIyMWExMzI4ODMxOThiZTJmM2QyZGRmOTJjOTA0MDRjOTg0YjFhIn0seyJwYXRoIjoiQ09SUkVTUE9ORElORy1TT1VSQ0VTLmpzb24iLCJieXRlcyI6MjAyMCwic2hhMjU2IjoiZmE0YzM0NDgwMTE1NDg3MmQ2MTc5ZWUyZWY0OTkyM2RjOWY4OTA5ZWYwMWU1M2I4NmU4ZjU3YzYyNTgyMzI3NCJ9LHsicGF0aCI6IkxJQ0VOU0UudHh0IiwiYnl0ZXMiOjExMzQ2LCJzaGEyNTYiOiI5NDRjMTNmZjBmZTc5NWUyOTFmZDFjNDk0NzNmOThkNGZkZjFmNzQ2MzhlMDFmODgyNzY5Y2Q0Y2FlNzhiNzNkIn0seyJwYXRoIjoiTk9USUNFLVBST1ZFTkFOQ0UuanNvbiIsImJ5dGVzIjo0NTAyNjQsInNoYTI1NiI6IjUzNGRkNTlmZDRjMTVkZDEzODJlODI3ZjBiODVjMTlmN2M2OThlMjM1ZjkyOTllYWEyMDJkYjU0MDA4MzQyODgifSx7InBhdGgiOiJOT1RJQ0UudHh0IiwiYnl0ZXMiOjYyNiwic2hhMjU2IjoiMWRmYmY0NDk4ZGMwMjZiMjA1OWMwYjBiNWViNWZhMWQ4MmFlMzM0ZTU4ZmYxMWU3YzI5NzMzMzI3ZjI1YzRlYiJ9LHsicGF0aCI6IlJFQlVJTERJTkcubWQiLCJieXRlcyI6Mzg0Miwic2hhMjU2IjoiY2U2MDViNWZkYjAzMTkzMzlmOWY4M2YyZmU3Y2NjYmM3ZTU3MjZmZGY0OTRkYTZlMjg0MzNiZWY4MjllYjBiZSJ9LHsicGF0aCI6IlNPVVJDRS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjo5MDE3NzcxLCJzaGEyNTYiOiI4OTk3NmJlY2MyNTY1NDBlNmQyZTgwN2I0N2E0ZTA1ZTg4OTk4MmMwNjIyZmMwNDQxM2E3YmY3ZTc3YTc3ZTM3In0seyJwYXRoIjoiVEhJUkQtUEFSVFktTk9USUNFUy50eHQiLCJieXRlcyI6MjQ5MTQ5Niwic2hhMjU2IjoiMTE2NDQ3ZWZmNzc4OTM1MTE3OTdlZjQ3NjAxMWRlYzgwMDIyNGY5MWUzMzQyZTNkNjU3MDcwODcxMmI0Yjc3MiJ9LHsicGF0aCI6ImxpY2Vuc2VzL25wbS1jbWQtc2hpbS50eHQiLCJieXRlcyI6ODEzLCJzaGEyNTYiOiJhZmZmZGYxMjA4MTEyMjc0OWM0YjcxYzViMWMxMWJjNjU5ZDc5MjQyZDE5ZTE4ZjVlOGRiYWIwNGE0NWUzNmJiIn0seyJwYXRoIjoibnBtLWFkYXB0ZXItZmlsZXMuanNvbiIsImJ5dGVzIjoxNjY2LCJzaGEyNTYiOiJjYTI3N2IwOGRlMDMxYzc1YTIwZTYwOTVkM2FmMDQyZDc5NDQyOGE3MTM1Yjk5OTAzNjI2Y2MxZDVjODFhNjQyIn1dfSx7InRhcmdldCI6ImJ1bi13aW5kb3dzLXg2NCIsImZpbGVuYW1lIjoibm90aWZhaS0xMy4xLjAtYmV0YS43LXdpbmRvd3MteDY0LnppcCIsImJ5dGVzIjo0MjA1ODc1OCwic2hhMjU2IjoiYTA4NzdkNmMyYzAzOWE1OTBjYmVlNmIzODYwN2E0MzE1OTAxYWQwNzcxYjM3YzdjMDllNGU2YWIzZGEyZmNjZCIsInJ1bnRpbWVfc2hhMjU2IjoiYjVjZjUyYzNhZTJlODM1M2YyOTcyYjE4MTk0Yjc5ZGI4OWQxYTNmYmE4ZmE2NmNmNTM3ZjNmZjIyNjI1MTA0MCIsImxhdW5jaGVyX3NoYTI1NiI6ImU2Y2I1Nzg3MDY0ZTRjNWIxYjJiNjZlOWE5MTJiZDhmMzllYzJmMTU4NmZjMGIwOWM4MWI2YjA1YzRhMmNmNjYiLCJtYXRlcmlhbHMiOlt7InBhdGgiOiJCVU4tTElDRU5TRS5tZCIsImJ5dGVzIjo1NjEzLCJzaGEyNTYiOiJiOWNhZjUyNzI4NjkxYjQwNTdlMzcxMjMyYzIyMWExMzI4ODMxOThiZTJmM2QyZGRmOTJjOTA0MDRjOTg0YjFhIn0seyJwYXRoIjoiQ09SUkVTUE9ORElORy1TT1VSQ0VTLmpzb24iLCJieXRlcyI6MjAyMCwic2hhMjU2IjoiZmE0YzM0NDgwMTE1NDg3MmQ2MTc5ZWUyZWY0OTkyM2RjOWY4OTA5ZWYwMWU1M2I4NmU4ZjU3YzYyNTgyMzI3NCJ9LHsicGF0aCI6IkxJQ0VOU0UudHh0IiwiYnl0ZXMiOjExMzQ2LCJzaGEyNTYiOiI5NDRjMTNmZjBmZTc5NWUyOTFmZDFjNDk0NzNmOThkNGZkZjFmNzQ2MzhlMDFmODgyNzY5Y2Q0Y2FlNzhiNzNkIn0seyJwYXRoIjoiTk9USUNFLVBST1ZFTkFOQ0UuanNvbiIsImJ5dGVzIjo0NTAyNjQsInNoYTI1NiI6IjUzNGRkNTlmZDRjMTVkZDEzODJlODI3ZjBiODVjMTlmN2M2OThlMjM1ZjkyOTllYWEyMDJkYjU0MDA4MzQyODgifSx7InBhdGgiOiJOT1RJQ0UudHh0IiwiYnl0ZXMiOjYyNiwic2hhMjU2IjoiMWRmYmY0NDk4ZGMwMjZiMjA1OWMwYjBiNWViNWZhMWQ4MmFlMzM0ZTU4ZmYxMWU3YzI5NzMzMzI3ZjI1YzRlYiJ9LHsicGF0aCI6IlJFQlVJTERJTkcubWQiLCJieXRlcyI6Mzg0Miwic2hhMjU2IjoiY2U2MDViNWZkYjAzMTkzMzlmOWY4M2YyZmU3Y2NjYmM3ZTU3MjZmZGY0OTRkYTZlMjg0MzNiZWY4MjllYjBiZSJ9LHsicGF0aCI6IlNPVVJDRS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjo5MDE3NzcxLCJzaGEyNTYiOiI4OTk3NmJlY2MyNTY1NDBlNmQyZTgwN2I0N2E0ZTA1ZTg4OTk4MmMwNjIyZmMwNDQxM2E3YmY3ZTc3YTc3ZTM3In0seyJwYXRoIjoiVEhJUkQtUEFSVFktTk9USUNFUy50eHQiLCJieXRlcyI6MjQ5MTQ5Niwic2hhMjU2IjoiMTE2NDQ3ZWZmNzc4OTM1MTE3OTdlZjQ3NjAxMWRlYzgwMDIyNGY5MWUzMzQyZTNkNjU3MDcwODcxMmI0Yjc3MiJ9LHsicGF0aCI6ImxpY2Vuc2VzL25wbS1jbWQtc2hpbS50eHQiLCJieXRlcyI6ODEzLCJzaGEyNTYiOiJhZmZmZGYxMjA4MTEyMjc0OWM0YjcxYzViMWMxMWJjNjU5ZDc5MjQyZDE5ZTE4ZjVlOGRiYWIwNGE0NWUzNmJiIn0seyJwYXRoIjoibnBtLWFkYXB0ZXItZmlsZXMuanNvbiIsImJ5dGVzIjoxNjY2LCJzaGEyNTYiOiJjYTI3N2IwOGRlMDMxYzc1YTIwZTYwOTVkM2FmMDQyZDc5NDQyOGE3MTM1Yjk5OTAzNjI2Y2MxZDVjODFhNjQyIn1dfV19","signature":"3kJIzX2vnGPQHzN9wWmyH5cgv/jRWZA5SbjoXqFTnIFOO+xC0J4OyI9e3RYXPxFdN0NuvVYjcTeid75aA8joBg=="}
1
+ {"key_id":"notifai-release-2026-10","payload":"eyJzY2hlbWEiOjIsInZlcnNpb24iOiIxNC4wLjAtYmV0YS4xIiwic291cmNlX3JldmlzaW9uIjoiNDEzYjY1YWM2NDZiOGVkMjVjNTIyNjhmYWZjZmQwY2ZhZjRhYmY0ZiIsImxvY2FsX2NvbnRpbnVpdHkiOnsiY29udHJhY3QiOiJub3RpZmFpLXNlc3Npb24tc3RhdGUtdjIiLCJjb21wYXRpYmxlIjp7Im5vdGlmYWktc2Vzc2lvbi1zdGF0ZS12MSI6WyJidW4tZGFyd2luLWFybTY0IiwiYnVuLWRhcndpbi14NjQiLCJidW4td2luZG93cy1hcm02NCIsImJ1bi13aW5kb3dzLXg2NCJdfX0sInN0b3JlX3NjaGVtYSI6MiwibGF1bmNoZXJfc2NoZW1hIjoxLCJhcnRpZmFjdHMiOlt7InRhcmdldCI6ImJ1bi1kYXJ3aW4tYXJtNjQiLCJmaWxlbmFtZSI6Im5vdGlmYWktMTQuMC4wLWJldGEuMS1kYXJ3aW4tYXJtNjQudGFyLmd6IiwiYnl0ZXMiOjI4MDI1MDg4LCJzaGEyNTYiOiJjYjZmOWM4OTI4NjQ0ZTc0M2RkMTlkN2MwMDA1MGYxOWZhNThiZjM2MDEyZDUwMmI5ZTYyYzNhOTNlZmE5YjlhIiwicnVudGltZV9zaGEyNTYiOiIzMzI0NzA0YjUzZjg1OTU2NzUwMmE1NTdhZjcxMGUzNmY1YThlMWYzZGRiMDM4MDRmY2MzYmVkZjllZWM1MTM5IiwibGF1bmNoZXJfc2hhMjU2IjoiNjIzZWU2NDQ2ODlhZGI3YzNiNzMzYmI5NzBiNjY5ZGExNzc0ZjgzNGI4YjA5MWU3NTJmZjVjNGI1N2M0OGU1NSIsIm1hdGVyaWFscyI6W3sicGF0aCI6IkJVTi1MSUNFTlNFLm1kIiwiYnl0ZXMiOjU2MTMsInNoYTI1NiI6ImI5Y2FmNTI3Mjg2OTFiNDA1N2UzNzEyMzJjMjIxYTEzMjg4MzE5OGJlMmYzZDJkZGY5MmM5MDQwNGM5ODRiMWEifSx7InBhdGgiOiJDT1JSRVNQT05ESU5HLVNPVVJDRVMuanNvbiIsImJ5dGVzIjoyMDIwLCJzaGEyNTYiOiJmYTRjMzQ0ODAxMTU0ODcyZDYxNzllZTJlZjQ5OTIzZGM5Zjg5MDllZjAxZTUzYjg2ZThmNTdjNjI1ODIzMjc0In0seyJwYXRoIjoiTElDRU5TRS50eHQiLCJieXRlcyI6MTEzNDYsInNoYTI1NiI6Ijk0NGMxM2ZmMGZlNzk1ZTI5MWZkMWM0OTQ3M2Y5OGQ0ZmRmMWY3NDYzOGUwMWY4ODI3NjljZDRjYWU3OGI3M2QifSx7InBhdGgiOiJOT1RJQ0UtUFJPVkVOQU5DRS5qc29uIiwiYnl0ZXMiOjQ1MDI2NCwic2hhMjU2IjoiNTM0ZGQ1OWZkNGMxNWRkMTM4MmU4MjdmMGI4NWMxOWY3YzY5OGUyMzVmOTI5OWVhYTIwMmRiNTQwMDgzNDI4OCJ9LHsicGF0aCI6Ik5PVElDRS50eHQiLCJieXRlcyI6NjI2LCJzaGEyNTYiOiIxZGZiZjQ0OThkYzAyNmIyMDU5YzBiMGI1ZWI1ZmExZDgyYWUzMzRlNThmZjExZTdjMjk3MzMzMjdmMjVjNGViIn0seyJwYXRoIjoiUkVCVUlMRElORy5tZCIsImJ5dGVzIjozODQyLCJzaGEyNTYiOiJjZTYwNWI1ZmRiMDMxOTMzOWY5ZjgzZjJmZTdjY2NiYzdlNTcyNmZkZjQ5NGRhNmUyODQzM2JlZjgyOWViMGJlIn0seyJwYXRoIjoiU09VUkNFLU5PVElDRVMudHh0IiwiYnl0ZXMiOjkwMTc3NzEsInNoYTI1NiI6Ijg5OTc2YmVjYzI1NjU0MGU2ZDJlODA3YjQ3YTRlMDVlODg5OTgyYzA2MjJmYzA0NDEzYTdiZjdlNzdhNzdlMzcifSx7InBhdGgiOiJUSElSRC1QQVJUWS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjoyNDkxNDk2LCJzaGEyNTYiOiIxMTY0NDdlZmY3Nzg5MzUxMTc5N2VmNDc2MDExZGVjODAwMjI0ZjkxZTMzNDJlM2Q2NTcwNzA4NzEyYjRiNzcyIn0seyJwYXRoIjoibGljZW5zZXMvbnBtLWNtZC1zaGltLnR4dCIsImJ5dGVzIjo4MTMsInNoYTI1NiI6ImFmZmZkZjEyMDgxMTIyNzQ5YzRiNzFjNWIxYzExYmM2NTlkNzkyNDJkMTllMThmNWU4ZGJhYjA0YTQ1ZTM2YmIifSx7InBhdGgiOiJucG0tYWRhcHRlci1maWxlcy5qc29uIiwiYnl0ZXMiOjE2NjYsInNoYTI1NiI6IjY0NjI4ZTI2ZGFkNmVlODk1OTZlZmYwYTdmYTI3MDEwYzE3Y2ZlZDQ1NzAzOTllYWZhOWNmNTVlNDY5YjVkOWIifV19LHsidGFyZ2V0IjoiYnVuLWRhcndpbi14NjQiLCJmaWxlbmFtZSI6Im5vdGlmYWktMTQuMC4wLWJldGEuMS1kYXJ3aW4teDY0LnRhci5neiIsImJ5dGVzIjozMDI2ODU5MCwic2hhMjU2IjoiY2Y4ZjMyY2NiYzQ2M2E5MTgxY2Y2YTUxNjVhYmJiM2Q5NmU5MzM3Mzc3NjMzZDJlYTAzZDRhOTg5N2Q4NGU4MCIsInJ1bnRpbWVfc2hhMjU2IjoiYjFjOWQ0N2VhODk1OGEyZTllOThkMDUzYjc4ZDFkNmVkNzI4ZmYxYmRlYjMzY2EyNmQzOTQwZjI0MDM5NjFhZiIsImxhdW5jaGVyX3NoYTI1NiI6Ijc0YzBlYzM5MTY4MTRlODYzNjE3NDY0NzcyYjY1NmZkMDYwYjZkZmFjZGZmOTlhMjMyZGE5NzhhZWY1YTUzMTIiLCJtYXRlcmlhbHMiOlt7InBhdGgiOiJCVU4tTElDRU5TRS5tZCIsImJ5dGVzIjo1NjEzLCJzaGEyNTYiOiJiOWNhZjUyNzI4NjkxYjQwNTdlMzcxMjMyYzIyMWExMzI4ODMxOThiZTJmM2QyZGRmOTJjOTA0MDRjOTg0YjFhIn0seyJwYXRoIjoiQ09SUkVTUE9ORElORy1TT1VSQ0VTLmpzb24iLCJieXRlcyI6MjAyMCwic2hhMjU2IjoiZmE0YzM0NDgwMTE1NDg3MmQ2MTc5ZWUyZWY0OTkyM2RjOWY4OTA5ZWYwMWU1M2I4NmU4ZjU3YzYyNTgyMzI3NCJ9LHsicGF0aCI6IkxJQ0VOU0UudHh0IiwiYnl0ZXMiOjExMzQ2LCJzaGEyNTYiOiI5NDRjMTNmZjBmZTc5NWUyOTFmZDFjNDk0NzNmOThkNGZkZjFmNzQ2MzhlMDFmODgyNzY5Y2Q0Y2FlNzhiNzNkIn0seyJwYXRoIjoiTk9USUNFLVBST1ZFTkFOQ0UuanNvbiIsImJ5dGVzIjo0NTAyNjQsInNoYTI1NiI6IjUzNGRkNTlmZDRjMTVkZDEzODJlODI3ZjBiODVjMTlmN2M2OThlMjM1ZjkyOTllYWEyMDJkYjU0MDA4MzQyODgifSx7InBhdGgiOiJOT1RJQ0UudHh0IiwiYnl0ZXMiOjYyNiwic2hhMjU2IjoiMWRmYmY0NDk4ZGMwMjZiMjA1OWMwYjBiNWViNWZhMWQ4MmFlMzM0ZTU4ZmYxMWU3YzI5NzMzMzI3ZjI1YzRlYiJ9LHsicGF0aCI6IlJFQlVJTERJTkcubWQiLCJieXRlcyI6Mzg0Miwic2hhMjU2IjoiY2U2MDViNWZkYjAzMTkzMzlmOWY4M2YyZmU3Y2NjYmM3ZTU3MjZmZGY0OTRkYTZlMjg0MzNiZWY4MjllYjBiZSJ9LHsicGF0aCI6IlNPVVJDRS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjo5MDE3NzcxLCJzaGEyNTYiOiI4OTk3NmJlY2MyNTY1NDBlNmQyZTgwN2I0N2E0ZTA1ZTg4OTk4MmMwNjIyZmMwNDQxM2E3YmY3ZTc3YTc3ZTM3In0seyJwYXRoIjoiVEhJUkQtUEFSVFktTk9USUNFUy50eHQiLCJieXRlcyI6MjQ5MTQ5Niwic2hhMjU2IjoiMTE2NDQ3ZWZmNzc4OTM1MTE3OTdlZjQ3NjAxMWRlYzgwMDIyNGY5MWUzMzQyZTNkNjU3MDcwODcxMmI0Yjc3MiJ9LHsicGF0aCI6ImxpY2Vuc2VzL25wbS1jbWQtc2hpbS50eHQiLCJieXRlcyI6ODEzLCJzaGEyNTYiOiJhZmZmZGYxMjA4MTEyMjc0OWM0YjcxYzViMWMxMWJjNjU5ZDc5MjQyZDE5ZTE4ZjVlOGRiYWIwNGE0NWUzNmJiIn0seyJwYXRoIjoibnBtLWFkYXB0ZXItZmlsZXMuanNvbiIsImJ5dGVzIjoxNjY2LCJzaGEyNTYiOiI2NDYyOGUyNmRhZDZlZTg5NTk2ZWZmMGE3ZmEyNzAxMGMxN2NmZWQ0NTcwMzk5ZWFmYTljZjU1ZTQ2OWI1ZDliIn1dfSx7InRhcmdldCI6ImJ1bi1saW51eC1hcm02NCIsImZpbGVuYW1lIjoibm90aWZhaS0xNC4wLjAtYmV0YS4xLWxpbnV4LWFybTY0LnRhci5neiIsImJ5dGVzIjozOTU4NzI3MSwic2hhMjU2IjoiY2JjMTc1MjRlZTA0ODRjZThjNjkyNWJjOWE4NTIwNjcxMjMwZTllMzljMmIwNzI1OWI2ZDhmODBhMzcwZmQ5NiIsInJ1bnRpbWVfc2hhMjU2IjoiNTliMDg1NWJjNWJjZmFlMGIwMzY3ZjY2OGJiMTQ3YzdiMjZkMjY2ODEzZjE0N2Y1NGJjZjRjMDUyNmI3OTAxZCIsImxhdW5jaGVyX3NoYTI1NiI6IjEzOGI3NTRiYmU0Njg3ZDJhZWRhNmU2MjM1NDZhZTkxZTZhYmMyZGY5ZWE0ZWY3YzEyMjdiOWM1NzdiNjgzMGQiLCJtYXRlcmlhbHMiOlt7InBhdGgiOiJCVU4tTElDRU5TRS5tZCIsImJ5dGVzIjo1NjEzLCJzaGEyNTYiOiJiOWNhZjUyNzI4NjkxYjQwNTdlMzcxMjMyYzIyMWExMzI4ODMxOThiZTJmM2QyZGRmOTJjOTA0MDRjOTg0YjFhIn0seyJwYXRoIjoiQ09SUkVTUE9ORElORy1TT1VSQ0VTLmpzb24iLCJieXRlcyI6MjAyMCwic2hhMjU2IjoiZmE0YzM0NDgwMTE1NDg3MmQ2MTc5ZWUyZWY0OTkyM2RjOWY4OTA5ZWYwMWU1M2I4NmU4ZjU3YzYyNTgyMzI3NCJ9LHsicGF0aCI6IkxJQ0VOU0UudHh0IiwiYnl0ZXMiOjExMzQ2LCJzaGEyNTYiOiI5NDRjMTNmZjBmZTc5NWUyOTFmZDFjNDk0NzNmOThkNGZkZjFmNzQ2MzhlMDFmODgyNzY5Y2Q0Y2FlNzhiNzNkIn0seyJwYXRoIjoiTk9USUNFLVBST1ZFTkFOQ0UuanNvbiIsImJ5dGVzIjo0NTAyNjQsInNoYTI1NiI6IjUzNGRkNTlmZDRjMTVkZDEzODJlODI3ZjBiODVjMTlmN2M2OThlMjM1ZjkyOTllYWEyMDJkYjU0MDA4MzQyODgifSx7InBhdGgiOiJOT1RJQ0UudHh0IiwiYnl0ZXMiOjYyNiwic2hhMjU2IjoiMWRmYmY0NDk4ZGMwMjZiMjA1OWMwYjBiNWViNWZhMWQ4MmFlMzM0ZTU4ZmYxMWU3YzI5NzMzMzI3ZjI1YzRlYiJ9LHsicGF0aCI6IlJFQlVJTERJTkcubWQiLCJieXRlcyI6Mzg0Miwic2hhMjU2IjoiY2U2MDViNWZkYjAzMTkzMzlmOWY4M2YyZmU3Y2NjYmM3ZTU3MjZmZGY0OTRkYTZlMjg0MzNiZWY4MjllYjBiZSJ9LHsicGF0aCI6IlNPVVJDRS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjo5MDE3NzcxLCJzaGEyNTYiOiI4OTk3NmJlY2MyNTY1NDBlNmQyZTgwN2I0N2E0ZTA1ZTg4OTk4MmMwNjIyZmMwNDQxM2E3YmY3ZTc3YTc3ZTM3In0seyJwYXRoIjoiVEhJUkQtUEFSVFktTk9USUNFUy50eHQiLCJieXRlcyI6MjQ5MTQ5Niwic2hhMjU2IjoiMTE2NDQ3ZWZmNzc4OTM1MTE3OTdlZjQ3NjAxMWRlYzgwMDIyNGY5MWUzMzQyZTNkNjU3MDcwODcxMmI0Yjc3MiJ9LHsicGF0aCI6ImxpY2Vuc2VzL25wbS1jbWQtc2hpbS50eHQiLCJieXRlcyI6ODEzLCJzaGEyNTYiOiJhZmZmZGYxMjA4MTEyMjc0OWM0YjcxYzViMWMxMWJjNjU5ZDc5MjQyZDE5ZTE4ZjVlOGRiYWIwNGE0NWUzNmJiIn0seyJwYXRoIjoibnBtLWFkYXB0ZXItZmlsZXMuanNvbiIsImJ5dGVzIjoxNjY2LCJzaGEyNTYiOiI2NDYyOGUyNmRhZDZlZTg5NTk2ZWZmMGE3ZmEyNzAxMGMxN2NmZWQ0NTcwMzk5ZWFmYTljZjU1ZTQ2OWI1ZDliIn1dfSx7InRhcmdldCI6ImJ1bi1saW51eC14NjQiLCJmaWxlbmFtZSI6Im5vdGlmYWktMTQuMC4wLWJldGEuMS1saW51eC14NjQudGFyLmd6IiwiYnl0ZXMiOjM5MTUzMTgyLCJzaGEyNTYiOiJmZjBkYmQwMDljMTlkZDRjMDExZjY1ZjQ5Y2RlYWYxNjdmY2FjYzNjN2NkZTY5MDQ0YTJiNzE2ZmRiOTEyNmJkIiwicnVudGltZV9zaGEyNTYiOiI4M2JhYjMzNzM1Mjk0NWYxOWE1MTU0NWE5ZmY4NjBlZjg2Mzc4YTZkMThkOWRlYjQ3NDBiOWM4NWE1ZGE0YTM2IiwibGF1bmNoZXJfc2hhMjU2IjoiODlhYzNmN2I2MjJiODNmNzE4NTM4YTljZDM1ZGQ4ZmYxMTg2Yjg3ZGM3ZjY4YzY0YWI4NzQ4YjU5ZWI0MTNhNyIsIm1hdGVyaWFscyI6W3sicGF0aCI6IkJVTi1MSUNFTlNFLm1kIiwiYnl0ZXMiOjU2MTMsInNoYTI1NiI6ImI5Y2FmNTI3Mjg2OTFiNDA1N2UzNzEyMzJjMjIxYTEzMjg4MzE5OGJlMmYzZDJkZGY5MmM5MDQwNGM5ODRiMWEifSx7InBhdGgiOiJDT1JSRVNQT05ESU5HLVNPVVJDRVMuanNvbiIsImJ5dGVzIjoyMDIwLCJzaGEyNTYiOiJmYTRjMzQ0ODAxMTU0ODcyZDYxNzllZTJlZjQ5OTIzZGM5Zjg5MDllZjAxZTUzYjg2ZThmNTdjNjI1ODIzMjc0In0seyJwYXRoIjoiTElDRU5TRS50eHQiLCJieXRlcyI6MTEzNDYsInNoYTI1NiI6Ijk0NGMxM2ZmMGZlNzk1ZTI5MWZkMWM0OTQ3M2Y5OGQ0ZmRmMWY3NDYzOGUwMWY4ODI3NjljZDRjYWU3OGI3M2QifSx7InBhdGgiOiJOT1RJQ0UtUFJPVkVOQU5DRS5qc29uIiwiYnl0ZXMiOjQ1MDI2NCwic2hhMjU2IjoiNTM0ZGQ1OWZkNGMxNWRkMTM4MmU4MjdmMGI4NWMxOWY3YzY5OGUyMzVmOTI5OWVhYTIwMmRiNTQwMDgzNDI4OCJ9LHsicGF0aCI6Ik5PVElDRS50eHQiLCJieXRlcyI6NjI2LCJzaGEyNTYiOiIxZGZiZjQ0OThkYzAyNmIyMDU5YzBiMGI1ZWI1ZmExZDgyYWUzMzRlNThmZjExZTdjMjk3MzMzMjdmMjVjNGViIn0seyJwYXRoIjoiUkVCVUlMRElORy5tZCIsImJ5dGVzIjozODQyLCJzaGEyNTYiOiJjZTYwNWI1ZmRiMDMxOTMzOWY5ZjgzZjJmZTdjY2NiYzdlNTcyNmZkZjQ5NGRhNmUyODQzM2JlZjgyOWViMGJlIn0seyJwYXRoIjoiU09VUkNFLU5PVElDRVMudHh0IiwiYnl0ZXMiOjkwMTc3NzEsInNoYTI1NiI6Ijg5OTc2YmVjYzI1NjU0MGU2ZDJlODA3YjQ3YTRlMDVlODg5OTgyYzA2MjJmYzA0NDEzYTdiZjdlNzdhNzdlMzcifSx7InBhdGgiOiJUSElSRC1QQVJUWS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjoyNDkxNDk2LCJzaGEyNTYiOiIxMTY0NDdlZmY3Nzg5MzUxMTc5N2VmNDc2MDExZGVjODAwMjI0ZjkxZTMzNDJlM2Q2NTcwNzA4NzEyYjRiNzcyIn0seyJwYXRoIjoibGljZW5zZXMvbnBtLWNtZC1zaGltLnR4dCIsImJ5dGVzIjo4MTMsInNoYTI1NiI6ImFmZmZkZjEyMDgxMTIyNzQ5YzRiNzFjNWIxYzExYmM2NTlkNzkyNDJkMTllMThmNWU4ZGJhYjA0YTQ1ZTM2YmIifSx7InBhdGgiOiJucG0tYWRhcHRlci1maWxlcy5qc29uIiwiYnl0ZXMiOjE2NjYsInNoYTI1NiI6IjY0NjI4ZTI2ZGFkNmVlODk1OTZlZmYwYTdmYTI3MDEwYzE3Y2ZlZDQ1NzAzOTllYWZhOWNmNTVlNDY5YjVkOWIifV19LHsidGFyZ2V0IjoiYnVuLXdpbmRvd3MtYXJtNjQiLCJmaWxlbmFtZSI6Im5vdGlmYWktMTQuMC4wLWJldGEuMS13aW5kb3dzLWFybTY0LnppcCIsImJ5dGVzIjozODkzNjM2MSwic2hhMjU2IjoiZjY5MWJkZTI1MjAwOGFhNjBlZTFiMTA4M2VlMzFhOTkwZWRmNzE0NTE3NWE3MDdhODBkNGQ1MjA1YjA1ZTA3ZCIsInJ1bnRpbWVfc2hhMjU2IjoiMmYwYTViZGY0OWI3MDFiYWI2NDQxYzU4ODI5ODBhNjAyMzEzNjQwMGU3YmYwZDhkYTc5ZDg2NmEyZGQ5NjQ4YyIsImxhdW5jaGVyX3NoYTI1NiI6Ijg3YmUyZjAyMWZhMTU3YTc4ZjRiNTlmMTdmYjYyMGNhNTFjM2M1MTQ4NGVmNDQwZmM5MGJiNTM5N2E3ZTgzODEiLCJtYXRlcmlhbHMiOlt7InBhdGgiOiJCVU4tTElDRU5TRS5tZCIsImJ5dGVzIjo1NjEzLCJzaGEyNTYiOiJiOWNhZjUyNzI4NjkxYjQwNTdlMzcxMjMyYzIyMWExMzI4ODMxOThiZTJmM2QyZGRmOTJjOTA0MDRjOTg0YjFhIn0seyJwYXRoIjoiQ09SUkVTUE9ORElORy1TT1VSQ0VTLmpzb24iLCJieXRlcyI6MjAyMCwic2hhMjU2IjoiZmE0YzM0NDgwMTE1NDg3MmQ2MTc5ZWUyZWY0OTkyM2RjOWY4OTA5ZWYwMWU1M2I4NmU4ZjU3YzYyNTgyMzI3NCJ9LHsicGF0aCI6IkxJQ0VOU0UudHh0IiwiYnl0ZXMiOjExMzQ2LCJzaGEyNTYiOiI5NDRjMTNmZjBmZTc5NWUyOTFmZDFjNDk0NzNmOThkNGZkZjFmNzQ2MzhlMDFmODgyNzY5Y2Q0Y2FlNzhiNzNkIn0seyJwYXRoIjoiTk9USUNFLVBST1ZFTkFOQ0UuanNvbiIsImJ5dGVzIjo0NTAyNjQsInNoYTI1NiI6IjUzNGRkNTlmZDRjMTVkZDEzODJlODI3ZjBiODVjMTlmN2M2OThlMjM1ZjkyOTllYWEyMDJkYjU0MDA4MzQyODgifSx7InBhdGgiOiJOT1RJQ0UudHh0IiwiYnl0ZXMiOjYyNiwic2hhMjU2IjoiMWRmYmY0NDk4ZGMwMjZiMjA1OWMwYjBiNWViNWZhMWQ4MmFlMzM0ZTU4ZmYxMWU3YzI5NzMzMzI3ZjI1YzRlYiJ9LHsicGF0aCI6IlJFQlVJTERJTkcubWQiLCJieXRlcyI6Mzg0Miwic2hhMjU2IjoiY2U2MDViNWZkYjAzMTkzMzlmOWY4M2YyZmU3Y2NjYmM3ZTU3MjZmZGY0OTRkYTZlMjg0MzNiZWY4MjllYjBiZSJ9LHsicGF0aCI6IlNPVVJDRS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjo5MDE3NzcxLCJzaGEyNTYiOiI4OTk3NmJlY2MyNTY1NDBlNmQyZTgwN2I0N2E0ZTA1ZTg4OTk4MmMwNjIyZmMwNDQxM2E3YmY3ZTc3YTc3ZTM3In0seyJwYXRoIjoiVEhJUkQtUEFSVFktTk9USUNFUy50eHQiLCJieXRlcyI6MjQ5MTQ5Niwic2hhMjU2IjoiMTE2NDQ3ZWZmNzc4OTM1MTE3OTdlZjQ3NjAxMWRlYzgwMDIyNGY5MWUzMzQyZTNkNjU3MDcwODcxMmI0Yjc3MiJ9LHsicGF0aCI6ImxpY2Vuc2VzL25wbS1jbWQtc2hpbS50eHQiLCJieXRlcyI6ODEzLCJzaGEyNTYiOiJhZmZmZGYxMjA4MTEyMjc0OWM0YjcxYzViMWMxMWJjNjU5ZDc5MjQyZDE5ZTE4ZjVlOGRiYWIwNGE0NWUzNmJiIn0seyJwYXRoIjoibnBtLWFkYXB0ZXItZmlsZXMuanNvbiIsImJ5dGVzIjoxNjY2LCJzaGEyNTYiOiI2NDYyOGUyNmRhZDZlZTg5NTk2ZWZmMGE3ZmEyNzAxMGMxN2NmZWQ0NTcwMzk5ZWFmYTljZjU1ZTQ2OWI1ZDliIn1dfSx7InRhcmdldCI6ImJ1bi13aW5kb3dzLXg2NCIsImZpbGVuYW1lIjoibm90aWZhaS0xNC4wLjAtYmV0YS4xLXdpbmRvd3MteDY0LnppcCIsImJ5dGVzIjo0MjA4Mzc5NCwic2hhMjU2IjoiZGM3OWVhYTZkNDgxOTVkYzRmNzRlNjU4MmU5ODVlMTNkZTg2MTZlZDM1ODA2MWI3MjJkZDE1ODY2NjFmZmJlZSIsInJ1bnRpbWVfc2hhMjU2IjoiNDcyN2M4MzU5MWU3M2Q4NGU0ZDFhMzIxYmEyM2Y5NGY2MWE5MTAzNzY0OGIxMTAwNzE4NmM0MjVjNmIyNjg5MCIsImxhdW5jaGVyX3NoYTI1NiI6ImU2ZGQ1N2U5NTJlZjBjOGM4MTNhM2I0MWU2YTgyM2NiZThkNDE2OThlYmZjZmIxZmQ1ZWQ2ZDdmN2M0NDU2NmMiLCJtYXRlcmlhbHMiOlt7InBhdGgiOiJCVU4tTElDRU5TRS5tZCIsImJ5dGVzIjo1NjEzLCJzaGEyNTYiOiJiOWNhZjUyNzI4NjkxYjQwNTdlMzcxMjMyYzIyMWExMzI4ODMxOThiZTJmM2QyZGRmOTJjOTA0MDRjOTg0YjFhIn0seyJwYXRoIjoiQ09SUkVTUE9ORElORy1TT1VSQ0VTLmpzb24iLCJieXRlcyI6MjAyMCwic2hhMjU2IjoiZmE0YzM0NDgwMTE1NDg3MmQ2MTc5ZWUyZWY0OTkyM2RjOWY4OTA5ZWYwMWU1M2I4NmU4ZjU3YzYyNTgyMzI3NCJ9LHsicGF0aCI6IkxJQ0VOU0UudHh0IiwiYnl0ZXMiOjExMzQ2LCJzaGEyNTYiOiI5NDRjMTNmZjBmZTc5NWUyOTFmZDFjNDk0NzNmOThkNGZkZjFmNzQ2MzhlMDFmODgyNzY5Y2Q0Y2FlNzhiNzNkIn0seyJwYXRoIjoiTk9USUNFLVBST1ZFTkFOQ0UuanNvbiIsImJ5dGVzIjo0NTAyNjQsInNoYTI1NiI6IjUzNGRkNTlmZDRjMTVkZDEzODJlODI3ZjBiODVjMTlmN2M2OThlMjM1ZjkyOTllYWEyMDJkYjU0MDA4MzQyODgifSx7InBhdGgiOiJOT1RJQ0UudHh0IiwiYnl0ZXMiOjYyNiwic2hhMjU2IjoiMWRmYmY0NDk4ZGMwMjZiMjA1OWMwYjBiNWViNWZhMWQ4MmFlMzM0ZTU4ZmYxMWU3YzI5NzMzMzI3ZjI1YzRlYiJ9LHsicGF0aCI6IlJFQlVJTERJTkcubWQiLCJieXRlcyI6Mzg0Miwic2hhMjU2IjoiY2U2MDViNWZkYjAzMTkzMzlmOWY4M2YyZmU3Y2NjYmM3ZTU3MjZmZGY0OTRkYTZlMjg0MzNiZWY4MjllYjBiZSJ9LHsicGF0aCI6IlNPVVJDRS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjo5MDE3NzcxLCJzaGEyNTYiOiI4OTk3NmJlY2MyNTY1NDBlNmQyZTgwN2I0N2E0ZTA1ZTg4OTk4MmMwNjIyZmMwNDQxM2E3YmY3ZTc3YTc3ZTM3In0seyJwYXRoIjoiVEhJUkQtUEFSVFktTk9USUNFUy50eHQiLCJieXRlcyI6MjQ5MTQ5Niwic2hhMjU2IjoiMTE2NDQ3ZWZmNzc4OTM1MTE3OTdlZjQ3NjAxMWRlYzgwMDIyNGY5MWUzMzQyZTNkNjU3MDcwODcxMmI0Yjc3MiJ9LHsicGF0aCI6ImxpY2Vuc2VzL25wbS1jbWQtc2hpbS50eHQiLCJieXRlcyI6ODEzLCJzaGEyNTYiOiJhZmZmZGYxMjA4MTEyMjc0OWM0YjcxYzViMWMxMWJjNjU5ZDc5MjQyZDE5ZTE4ZjVlOGRiYWIwNGE0NWUzNmJiIn0seyJwYXRoIjoibnBtLWFkYXB0ZXItZmlsZXMuanNvbiIsImJ5dGVzIjoxNjY2LCJzaGEyNTYiOiI2NDYyOGUyNmRhZDZlZTg5NTk2ZWZmMGE3ZmEyNzAxMGMxN2NmZWQ0NTcwMzk5ZWFmYTljZjU1ZTQ2OWI1ZDliIn1dfV19","signature":"jYHREjHYIB0/0ujRk+YvZi5gXHrDdYCxLQ9Gz72T2HgqC8oXGN1/qaz6Rd4L6NK+kqSHpYiSWIaa9Hp7dBt4Cw=="}
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "schema": 1,
3
3
  "package": "@raidiant/notifai",
4
- "adapter_version": "13.1.0-beta.7",
4
+ "adapter_version": "14.0.0-beta.1",
5
5
  "native": {
6
- "version": "13.1.0-beta.7",
7
- "source_revision": "3459f47f2f31b3172552204775318d8ea7a98822",
8
- "inventory_url": "https://github.com/Raidiant-io/notifai/releases/download/v13.1.0-beta.7/inventory.json"
6
+ "version": "14.0.0-beta.1",
7
+ "source_revision": "413b65ac646b8ed25c52268fafcfd0cfaf4abf4f",
8
+ "inventory_url": "https://github.com/Raidiant-io/notifai/releases/download/v14.0.0-beta.1/inventory.json"
9
9
  },
10
10
  "files": [
11
11
  {
12
12
  "path": "CHANGELOG.md",
13
- "bytes": 75161,
14
- "sha256": "d502097a4314aca4b1595df224bfa00ce50ad336fd509146ba31714fa81f6310"
13
+ "bytes": 78197,
14
+ "sha256": "3162c6f195be0b029d7d4d6da4ed37d3a3d82b71e85e748866ef84e4bc257505"
15
15
  },
16
16
  {
17
17
  "path": "LICENSE",
@@ -25,8 +25,8 @@
25
25
  },
26
26
  {
27
27
  "path": "README.md",
28
- "bytes": 9239,
29
- "sha256": "82ce50df422adb56b3bb610c9b34e6fea61571c5895b85780b3d7378f2a9cc33"
28
+ "bytes": 9418,
29
+ "sha256": "4737ebb18526893c91183bf495f178899cdd979f4ed3fb1ae818c601bf76d078"
30
30
  },
31
31
  {
32
32
  "path": "THIRD_PARTY_NOTICES",
@@ -46,12 +46,12 @@
46
46
  {
47
47
  "path": "data/release.json",
48
48
  "bytes": 89,
49
- "sha256": "8e852f8924a699e3df16105dff93bef0319b1feea296377a0efd8d774b242dd4"
49
+ "sha256": "d6eb7a0fc434187ae52bf98157bddc7e535ae74bf056e175c31f21c01b70294a"
50
50
  },
51
51
  {
52
52
  "path": "package.json",
53
53
  "bytes": 1315,
54
- "sha256": "e4e12f5813c29bef5d8d6957fd0211662ac708762ca293f020da87b3d2ffd661"
54
+ "sha256": "73c387ce1dff2a3d5b70afce37c414f2296fa6cc068c859c4b4d114d60cf3837"
55
55
  }
56
56
  ]
57
57
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@raidiant/notifai",
3
- "version": "13.1.0-beta.7",
3
+ "version": "14.0.0-beta.1",
4
4
  "type": "module",
5
5
  "description": "Notifications and questions from your coding agents to your phone. Your answer goes back to the exact session that asked. Claude Code, Codex, Cursor, OpenCode, OpenClaw, Hermes and Grok.",
6
6
  "keywords": [