@raidiant/notifai 12.1.2-beta.2 → 12.1.2-beta.3

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,10 +8,14 @@ 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
- ## [12.1.2-beta.2](https://github.com/Raidiant-io/notifai/compare/v12.1.1...v12.1.2-beta.2) (2026-10-16)
11
+ ## [12.1.2-beta.3](https://github.com/Raidiant-io/notifai/compare/v12.1.1...v12.1.2-beta.3) (2026-10-16)
12
12
 
13
13
  ### Bug Fixes
14
14
 
15
+ * Repair Grok activation and question delivery across main sessions, subagents, resume, compaction, long answers and interrupted turns.
16
+ * Support continuing questions, Session Notes and Answer Edits in an existing Grok shared-leader session, with exact-session delivery claims and acknowledgements.
17
+ * Avoid duplicate imported Notifai hooks and explain how to disable incompatible Cursor hook imports in Grok.
18
+
15
19
  * Hold unanswered reply requests longer and back off after concurrent-wait limits, reducing repeated requests while an agent waits.
16
20
  * Stop watching retired questions while preserving prompt answers to concurrent questions and recovering replies received near a wait deadline.
17
21
  * Keep remote question conversations flowing after three acknowledged answers, while preserving retry protection for the same answer.
@@ -20,6 +24,8 @@ and [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/).
20
24
 
21
25
  ### Documentation
22
26
 
27
+ * Clarify Grok capabilities and limits; improve the package setup README and npm discovery metadata.
28
+
23
29
  * Direct invited Android testers to the Google Play closed Alpha instructions.
24
30
 
25
31
  ## [12.1.1](https://github.com/Raidiant-io/notifai/compare/v12.1.0...v12.1.1) (2026-10-15)
package/README.md ADDED
@@ -0,0 +1,198 @@
1
+ # Notifai for Claude Code, Codex & more
2
+
3
+ Your agents can reach you, and you can answer from your phone. The answer goes
4
+ back to the exact Agent Session that asked, in whichever harness it runs:
5
+ Claude Code, Codex, Cursor, OpenCode, OpenClaw, Hermes or Grok.
6
+
7
+ An agent working while you are away has no way to reach you, so it either
8
+ guesses or sits blocked in a terminal nobody is watching. `notifai` gives
9
+ it a way to tell you something finished, and a way to ask you a question
10
+ and get your answer back as a banner on your phone. Notifications name the
11
+ Project and Agent Session they come from, so you know which one needs you.
12
+
13
+ Your agent sets it up. Paste this into any agent:
14
+
15
+ ```text
16
+ Set up Notifai: https://app.notifai.sh/setup.md
17
+ ```
18
+
19
+ Website: <https://notifai.sh>
20
+
21
+ To do it yourself, use the native installer for your computer; it installs Notifai and starts setup.
22
+ No Node.js or npm needed.
23
+
24
+ ```sh
25
+ # macOS / Linux / WSL
26
+ curl -fsSL https://notifai.sh/install.sh | sh
27
+ ```
28
+
29
+ ```powershell
30
+ # Windows PowerShell
31
+ irm https://notifai.sh/install.ps1 | iex
32
+ ```
33
+
34
+ Setup defaults to QR approval with your signed-in Companion App; notification
35
+ and browser approval are selectable alternatives. Run `notifai init` to resume.
36
+ See [installation and migration](https://github.com/Raidiant-io/notifai/blob/main/skills/notifai/references/installation.md) for agent-safe script inspection,
37
+ platform prerequisites, channel selection and legacy npm migration.
38
+
39
+ Optional Node/npm launcher, once its replacement package and matching native
40
+ release are verified as published:
41
+
42
+ ```sh
43
+ npx --yes @raidiant/notifai@latest init
44
+ # Or: npm install -g @raidiant/notifai, then notifai init
45
+ ```
46
+
47
+ Requires Node.js 20.12 or newer for this launcher. Notifai installs its own native
48
+ runtime. Use `notifai update` for runtime updates. npm updates/removes only the
49
+ launcher; `notifai uninstall` removes the runtime after its safety checks.
50
+ Existing native versions and channels survive launcher changes. `@version`
51
+ selects launcher code, not a command to replace an existing runtime.
52
+
53
+ Run `notifai doctor` or `notifai update --check --json` to check for a newer
54
+ CLI and inspect release notes, guidance, and session requirements. Enabled
55
+ Projects give root agents a quiet update offer at most once every seven days
56
+ across the machine. A release does not install itself or restart an Agent
57
+ Session automatically. The package includes its changelog.
58
+
59
+ Use `notifai update` for later global updates. It repairs the installation the
60
+ shell actually selects and keeps the stable hook adapter on that same CLI. It
61
+ fails instead of moving the command to a different PATH slot when it cannot
62
+ verify the selected installation or retarget an existing adapter safely.
63
+
64
+ `init` walks the setup one step at a time and tells you the single next
65
+ thing to do. Run it again after each step; it works out what remains.
66
+
67
+ At a human terminal, `init` asks once whether this setup is for this project
68
+ or for every project on this machine. That answer is skill, hooks, and
69
+ config together. Pairing, devices, and credentials stay on this machine
70
+ either way. An unattended caller passes the same choice as a flag:
71
+ `notifai init --setup-scope project` or `notifai init --setup-scope global`.
72
+ `--skills-scope` is an alias of that flag when `--skills` is set. Shared
73
+ project config may live in the repo; personal project preferences live under
74
+ the user config directory and never require a `.gitignore` edit.
75
+
76
+ ## Telling you something happened
77
+
78
+ ```sh
79
+ notifai send --kind done \
80
+ --title "Deploy finished" \
81
+ --summary "The staging deployment is live." \
82
+ --body "The staging deployment is live and ready for review."
83
+ ```
84
+
85
+ Write a brief title whose substance is immediately understandable; type lives
86
+ in `--kind`, and Project identity is inferred from the invocation directory.
87
+ Every Notification Request has a purpose-written, one-line plain-text Summary
88
+ for native banners and list views. It is required and limited to 240 Unicode
89
+ characters. Body is optional standalone Markdown for focused detail; when it is
90
+ absent, the focused view shows Summary. Use `--body-file <path|->` for long
91
+ content. Repeat `--image` for an ordered image
92
+ collection (up to eight) and pair each with `--image-alt`. Every attached
93
+ image appears in the gallery; to place one where the words refer to it, write
94
+ Markdown image syntax with its 1-based position, `![what it shows](media:1)`.
95
+ A bare `media:1` or a link to it is refused before sending.
96
+
97
+ ## Asking you a question
98
+
99
+ ```sh
100
+ notifai ask "Deploy the migration to production?" \
101
+ --choice Yes --choice No
102
+ ```
103
+
104
+ The agent registers the question and starts background submission immediately;
105
+ it can continue independent work while your answer is outstanding. Registration
106
+ alone does not prove Provider Acceptance. Question Routing keeps the exact
107
+ Agent Session's answer path for the complete answer window. Claude Code and
108
+ Codex observe answers out of band. Codex queues a wake-up, then drains current
109
+ notes and answers together at a supported hook or `notifai receive` boundary.
110
+ Queue success proves wake storage, not presentation.
111
+
112
+ By default submission begins without waiting for the turn to end
113
+ (`ask_grace_seconds = 0`). Set a positive grace period for a terminal-only
114
+ answer window first.
115
+
116
+ When you answer, the agent acknowledges it before it does anything else, so you
117
+ find out your reply landed and what it set in motion — not just that you sent
118
+ it. Answering from your phone and wondering whether anything happened is the
119
+ whole problem this solves.
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.
126
+
127
+ ## Agent harnesses
128
+
129
+ The CLI and managed hook adapters support macOS, Linux, and Windows. iPhone
130
+ and Android Companion Apps are both active: Android is distributed as a
131
+ directly downloadable signed APK, with Google Play closed Alpha for invited
132
+ testers. Native desktop Companion
133
+ Apps are not shipped.
134
+
135
+ ```sh
136
+ notifai hooks install
137
+ ```
138
+
139
+ Wires lifecycle hooks into every supported harness detected on this
140
+ machine (Claude Code, Codex, Cursor, OpenCode, OpenClaw, Grok). `notifai init` does the
141
+ same and, at a terminal, lets you keep the detected set, pick a subset,
142
+ or add one it did not see. This is what lets an agent's question reach
143
+ your phone without the agent having to cooperate — no question detection,
144
+ no state in a context window that compaction will eat. Grok's managed hooks
145
+ observe lifecycle events and hold Stop through the complete answer window,
146
+ then return the answer to the same Agent Session. They cannot inject activation
147
+ guidance; load the Notifai skill directly. Exact Source Context comes from
148
+ `GROK_SESSION_ID`.
149
+
150
+ Every harness definition calls one stable user-level adapter under the account
151
+ home (`~/.notifai/bin/hook-adapter` on macOS/Linux and the corresponding user
152
+ profile path on Windows). The adapter resolves the stable native command; npm
153
+ prefixes, NPX caches and repository paths do not own hook execution. Runtime
154
+ updates use retained native generations and preserve the managed definition's
155
+ identity where possible. Legacy Node-based hook migration follows the native
156
+ installer's explicit ownership and pending-work checks.
157
+ Codex SessionStart guidance stays within Codex's built-in inline-context budget,
158
+ so its stable definition does not need an output-limit override that would
159
+ create a different approval identity.
160
+ Claude Code Stop returns immediately into the live inbox route: a socket on
161
+ macOS and Linux, a named pipe on Windows. The first migration may
162
+ require one Codex `/hooks` approval; later repairs keep the same source and
163
+ definition identity.
164
+ Codex's Stop definition declares the full-window timeout explicitly; that
165
+ one-time definition change is why the migration needs approval. Prompt-submit
166
+ and session-end retain fixed short limits.
167
+
168
+ `notifai doctor` compares Codex trust on a best-effort basis against Codex's
169
+ current persisted representation. Notifai never writes that trust store;
170
+ Codex's `/hooks` review is authoritative if the diagnostic and UI disagree.
171
+
172
+ Uninstall removes only the selected harness definition. It intentionally keeps
173
+ the shared adapter because definitions for other harnesses or projects may
174
+ still invoke it and cannot all be discovered from one working directory.
175
+
176
+ ## Checking it works
177
+
178
+ ```sh
179
+ notifai doctor
180
+ ```
181
+
182
+ Reports every part of the setup and names where to start if something is
183
+ wrong. Any `FAIL` line makes the command exit nonzero; informational `--` lines
184
+ do not. `--json` emits the same result with an explicit `exit_code`.
185
+
186
+ ## Reference
187
+
188
+ `notifai <command> --help` is the exhaustive and current flag surface.
189
+ Everything useful is possible non-interactively, so an agent never
190
+ reaches a prompt and hangs.
191
+
192
+ Source, issues and the public/private boundary policy:
193
+ <https://github.com/Raidiant-io/notifai>
194
+
195
+ The URL, self-host exception, guidance-authority and non-exfiltration policy is
196
+ documented in [`docs/TRUST.md`](https://github.com/Raidiant-io/notifai/blob/main/docs/TRUST.md).
197
+
198
+ Apache-2.0.
package/data/release.json CHANGED
@@ -1 +1 @@
1
- {"version":"12.1.2-beta.2","source_revision":"5ea6cabdba912a26383257b4df12fc4342a7c89c"}
1
+ {"version":"12.1.2-beta.3","source_revision":"a9808fb041d7d5cbdee61e87fa4ffcf39353f0fd"}
package/inventory.json CHANGED
@@ -1 +1 @@
1
- {"key_id":"notifai-release-2026-10","payload":"eyJzY2hlbWEiOjIsInZlcnNpb24iOiIxMi4xLjItYmV0YS4yIiwic291cmNlX3JldmlzaW9uIjoiNWVhNmNhYmRiYTkxMmEyNjM4MzI1N2I0ZGYxMmZjNDM0MmE3Yzg5YyIsImxvY2FsX2NvbnRpbnVpdHkiOnsiY29udHJhY3QiOiJub3RpZmFpLXNlc3Npb24tc3RhdGUtdjIiLCJjb21wYXRpYmxlIjp7Im5vdGlmYWktc2Vzc2lvbi1zdGF0ZS12MSI6WyJidW4tZGFyd2luLWFybTY0IiwiYnVuLWRhcndpbi14NjQiLCJidW4td2luZG93cy1hcm02NCIsImJ1bi13aW5kb3dzLXg2NCJdfX0sInN0b3JlX3NjaGVtYSI6MiwibGF1bmNoZXJfc2NoZW1hIjoxLCJhcnRpZmFjdHMiOlt7InRhcmdldCI6ImJ1bi1kYXJ3aW4tYXJtNjQiLCJmaWxlbmFtZSI6Im5vdGlmYWktMTIuMS4yLWJldGEuMi1kYXJ3aW4tYXJtNjQudGFyLmd6IiwiYnl0ZXMiOjI3ODM2NjA5LCJzaGEyNTYiOiJjMmU2NGJmNTg1MTUwMGI2ZGIxOWI4NTViMjA5NjljOTk1YzJhYTdjYjc3MzU0OWFmMDkxNTg4OTQ0MDdiZTcxIiwicnVudGltZV9zaGEyNTYiOiIwZTUyNTg4NzMyNzExOTFkN2EwNzA3NWRmMTBjYWIyZDJhYTkxMDI3YmZlNGEwMzNiZjAwYWM1YTJhNWYxODA0IiwibGF1bmNoZXJfc2hhMjU2IjoiYmQ5Mjc4NzE0NjIxOGQwZTU3NTMwZmIxZGJlZGY0M2YzZjg4OTRlNDJiMzkyNTc3MzUzMDVmOGVjMWE3M2ZjNCIsIm1hdGVyaWFscyI6W3sicGF0aCI6IkJVTi1MSUNFTlNFLm1kIiwiYnl0ZXMiOjU2MTMsInNoYTI1NiI6ImI5Y2FmNTI3Mjg2OTFiNDA1N2UzNzEyMzJjMjIxYTEzMjg4MzE5OGJlMmYzZDJkZGY5MmM5MDQwNGM5ODRiMWEifSx7InBhdGgiOiJDT1JSRVNQT05ESU5HLVNPVVJDRVMuanNvbiIsImJ5dGVzIjoyMDIwLCJzaGEyNTYiOiJmYTRjMzQ0ODAxMTU0ODcyZDYxNzllZTJlZjQ5OTIzZGM5Zjg5MDllZjAxZTUzYjg2ZThmNTdjNjI1ODIzMjc0In0seyJwYXRoIjoiTElDRU5TRS50eHQiLCJieXRlcyI6MTEzNDYsInNoYTI1NiI6Ijk0NGMxM2ZmMGZlNzk1ZTI5MWZkMWM0OTQ3M2Y5OGQ0ZmRmMWY3NDYzOGUwMWY4ODI3NjljZDRjYWU3OGI3M2QifSx7InBhdGgiOiJOT1RJQ0UtUFJPVkVOQU5DRS5qc29uIiwiYnl0ZXMiOjQ1MDI2NCwic2hhMjU2IjoiNTM0ZGQ1OWZkNGMxNWRkMTM4MmU4MjdmMGI4NWMxOWY3YzY5OGUyMzVmOTI5OWVhYTIwMmRiNTQwMDgzNDI4OCJ9LHsicGF0aCI6Ik5PVElDRS50eHQiLCJieXRlcyI6NjI2LCJzaGEyNTYiOiIxZGZiZjQ0OThkYzAyNmIyMDU5YzBiMGI1ZWI1ZmExZDgyYWUzMzRlNThmZjExZTdjMjk3MzMzMjdmMjVjNGViIn0seyJwYXRoIjoiUkVCVUlMRElORy5tZCIsImJ5dGVzIjozODQyLCJzaGEyNTYiOiJjZTYwNWI1ZmRiMDMxOTMzOWY5ZjgzZjJmZTdjY2NiYzdlNTcyNmZkZjQ5NGRhNmUyODQzM2JlZjgyOWViMGJlIn0seyJwYXRoIjoiU09VUkNFLU5PVElDRVMudHh0IiwiYnl0ZXMiOjkwMTc3NzEsInNoYTI1NiI6Ijg5OTc2YmVjYzI1NjU0MGU2ZDJlODA3YjQ3YTRlMDVlODg5OTgyYzA2MjJmYzA0NDEzYTdiZjdlNzdhNzdlMzcifSx7InBhdGgiOiJUSElSRC1QQVJUWS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjoyNDkxNDk2LCJzaGEyNTYiOiIxMTY0NDdlZmY3Nzg5MzUxMTc5N2VmNDc2MDExZGVjODAwMjI0ZjkxZTMzNDJlM2Q2NTcwNzA4NzEyYjRiNzcyIn0seyJwYXRoIjoibGljZW5zZXMvbnBtLWNtZC1zaGltLnR4dCIsImJ5dGVzIjo4MTMsInNoYTI1NiI6ImFmZmZkZjEyMDgxMTIyNzQ5YzRiNzFjNWIxYzExYmM2NTlkNzkyNDJkMTllMThmNWU4ZGJhYjA0YTQ1ZTM2YmIifSx7InBhdGgiOiJucG0tYWRhcHRlci1maWxlcy5qc29uIiwiYnl0ZXMiOjE1MjEsInNoYTI1NiI6IjdlZjU4YTZlNDdiMzlhZjdmM2Q3NTk1ZDA4ZTRlZjdkNjI5NTRhNjcyZjEyNWE4MzgyNzVjMDQ4OTNkOTUzM2EifV19LHsidGFyZ2V0IjoiYnVuLWRhcndpbi14NjQiLCJmaWxlbmFtZSI6Im5vdGlmYWktMTIuMS4yLWJldGEuMi1kYXJ3aW4teDY0LnRhci5neiIsImJ5dGVzIjozMDA3NTIzMSwic2hhMjU2IjoiZjhjODMxMzU0YWZhM2Y0NzY2Zjg0NWQ2Y2MzY2I1MjA3N2RhMWNmNmViNjE3YWIyMjg5NmM2ZDllNTg0NjFmMSIsInJ1bnRpbWVfc2hhMjU2IjoiYzQxN2E2ZTgxMDJhZDAwMmQ3Mjc0OGJiMWEwYzc2NDU3OTNmZDc4YTNhMWEwYTcxODI2MzE4YzdmNmJiOWE0NiIsImxhdW5jaGVyX3NoYTI1NiI6ImFhOTEzYTk0MWU2MzE5N2I5NzNlYzNmOWIwNGM2Mzk4NTI1ZmZlN2Q0N2E1Y2NjMmFhM2ZmYjk1MTQ3NDQ0MGUiLCJtYXRlcmlhbHMiOlt7InBhdGgiOiJCVU4tTElDRU5TRS5tZCIsImJ5dGVzIjo1NjEzLCJzaGEyNTYiOiJiOWNhZjUyNzI4NjkxYjQwNTdlMzcxMjMyYzIyMWExMzI4ODMxOThiZTJmM2QyZGRmOTJjOTA0MDRjOTg0YjFhIn0seyJwYXRoIjoiQ09SUkVTUE9ORElORy1TT1VSQ0VTLmpzb24iLCJieXRlcyI6MjAyMCwic2hhMjU2IjoiZmE0YzM0NDgwMTE1NDg3MmQ2MTc5ZWUyZWY0OTkyM2RjOWY4OTA5ZWYwMWU1M2I4NmU4ZjU3YzYyNTgyMzI3NCJ9LHsicGF0aCI6IkxJQ0VOU0UudHh0IiwiYnl0ZXMiOjExMzQ2LCJzaGEyNTYiOiI5NDRjMTNmZjBmZTc5NWUyOTFmZDFjNDk0NzNmOThkNGZkZjFmNzQ2MzhlMDFmODgyNzY5Y2Q0Y2FlNzhiNzNkIn0seyJwYXRoIjoiTk9USUNFLVBST1ZFTkFOQ0UuanNvbiIsImJ5dGVzIjo0NTAyNjQsInNoYTI1NiI6IjUzNGRkNTlmZDRjMTVkZDEzODJlODI3ZjBiODVjMTlmN2M2OThlMjM1ZjkyOTllYWEyMDJkYjU0MDA4MzQyODgifSx7InBhdGgiOiJOT1RJQ0UudHh0IiwiYnl0ZXMiOjYyNiwic2hhMjU2IjoiMWRmYmY0NDk4ZGMwMjZiMjA1OWMwYjBiNWViNWZhMWQ4MmFlMzM0ZTU4ZmYxMWU3YzI5NzMzMzI3ZjI1YzRlYiJ9LHsicGF0aCI6IlJFQlVJTERJTkcubWQiLCJieXRlcyI6Mzg0Miwic2hhMjU2IjoiY2U2MDViNWZkYjAzMTkzMzlmOWY4M2YyZmU3Y2NjYmM3ZTU3MjZmZGY0OTRkYTZlMjg0MzNiZWY4MjllYjBiZSJ9LHsicGF0aCI6IlNPVVJDRS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjo5MDE3NzcxLCJzaGEyNTYiOiI4OTk3NmJlY2MyNTY1NDBlNmQyZTgwN2I0N2E0ZTA1ZTg4OTk4MmMwNjIyZmMwNDQxM2E3YmY3ZTc3YTc3ZTM3In0seyJwYXRoIjoiVEhJUkQtUEFSVFktTk9USUNFUy50eHQiLCJieXRlcyI6MjQ5MTQ5Niwic2hhMjU2IjoiMTE2NDQ3ZWZmNzc4OTM1MTE3OTdlZjQ3NjAxMWRlYzgwMDIyNGY5MWUzMzQyZTNkNjU3MDcwODcxMmI0Yjc3MiJ9LHsicGF0aCI6ImxpY2Vuc2VzL25wbS1jbWQtc2hpbS50eHQiLCJieXRlcyI6ODEzLCJzaGEyNTYiOiJhZmZmZGYxMjA4MTEyMjc0OWM0YjcxYzViMWMxMWJjNjU5ZDc5MjQyZDE5ZTE4ZjVlOGRiYWIwNGE0NWUzNmJiIn0seyJwYXRoIjoibnBtLWFkYXB0ZXItZmlsZXMuanNvbiIsImJ5dGVzIjoxNTIxLCJzaGEyNTYiOiI3ZWY1OGE2ZTQ3YjM5YWY3ZjNkNzU5NWQwOGU0ZWY3ZDYyOTU0YTY3MmYxMjVhODM4Mjc1YzA0ODkzZDk1MzNhIn1dfSx7InRhcmdldCI6ImJ1bi1saW51eC1hcm02NCIsImZpbGVuYW1lIjoibm90aWZhaS0xMi4xLjItYmV0YS4yLWxpbnV4LWFybTY0LnRhci5neiIsImJ5dGVzIjozOTM4MjEwMiwic2hhMjU2IjoiMjFjOTkyZTczODVkNWNiZGRkM2M0MjM5OTdlYWI4N2RiYjMyYWE3YjhlNzE0NDllZjg1MjJjZDNiNzRmZjU4OSIsInJ1bnRpbWVfc2hhMjU2IjoiN2VhY2NmYzkwNDg3Y2Q5NmQ1Y2VlZGRmZTAyMjdlZmQ5NzVjMDQ1ZjBiMTE4NjAxNzNjYmVmNzEyM2EwMzE3OCIsImxhdW5jaGVyX3NoYTI1NiI6ImY4MGZkYmYzM2ZiYWEzOTAzYzU0NTI2ZjE5NTZjNjE5ZjJmNDcwMWY5ODcxOTBjNWJhMmI0ZDU3NGI0MzEwYTQiLCJtYXRlcmlhbHMiOlt7InBhdGgiOiJCVU4tTElDRU5TRS5tZCIsImJ5dGVzIjo1NjEzLCJzaGEyNTYiOiJiOWNhZjUyNzI4NjkxYjQwNTdlMzcxMjMyYzIyMWExMzI4ODMxOThiZTJmM2QyZGRmOTJjOTA0MDRjOTg0YjFhIn0seyJwYXRoIjoiQ09SUkVTUE9ORElORy1TT1VSQ0VTLmpzb24iLCJieXRlcyI6MjAyMCwic2hhMjU2IjoiZmE0YzM0NDgwMTE1NDg3MmQ2MTc5ZWUyZWY0OTkyM2RjOWY4OTA5ZWYwMWU1M2I4NmU4ZjU3YzYyNTgyMzI3NCJ9LHsicGF0aCI6IkxJQ0VOU0UudHh0IiwiYnl0ZXMiOjExMzQ2LCJzaGEyNTYiOiI5NDRjMTNmZjBmZTc5NWUyOTFmZDFjNDk0NzNmOThkNGZkZjFmNzQ2MzhlMDFmODgyNzY5Y2Q0Y2FlNzhiNzNkIn0seyJwYXRoIjoiTk9USUNFLVBST1ZFTkFOQ0UuanNvbiIsImJ5dGVzIjo0NTAyNjQsInNoYTI1NiI6IjUzNGRkNTlmZDRjMTVkZDEzODJlODI3ZjBiODVjMTlmN2M2OThlMjM1ZjkyOTllYWEyMDJkYjU0MDA4MzQyODgifSx7InBhdGgiOiJOT1RJQ0UudHh0IiwiYnl0ZXMiOjYyNiwic2hhMjU2IjoiMWRmYmY0NDk4ZGMwMjZiMjA1OWMwYjBiNWViNWZhMWQ4MmFlMzM0ZTU4ZmYxMWU3YzI5NzMzMzI3ZjI1YzRlYiJ9LHsicGF0aCI6IlJFQlVJTERJTkcubWQiLCJieXRlcyI6Mzg0Miwic2hhMjU2IjoiY2U2MDViNWZkYjAzMTkzMzlmOWY4M2YyZmU3Y2NjYmM3ZTU3MjZmZGY0OTRkYTZlMjg0MzNiZWY4MjllYjBiZSJ9LHsicGF0aCI6IlNPVVJDRS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjo5MDE3NzcxLCJzaGEyNTYiOiI4OTk3NmJlY2MyNTY1NDBlNmQyZTgwN2I0N2E0ZTA1ZTg4OTk4MmMwNjIyZmMwNDQxM2E3YmY3ZTc3YTc3ZTM3In0seyJwYXRoIjoiVEhJUkQtUEFSVFktTk9USUNFUy50eHQiLCJieXRlcyI6MjQ5MTQ5Niwic2hhMjU2IjoiMTE2NDQ3ZWZmNzc4OTM1MTE3OTdlZjQ3NjAxMWRlYzgwMDIyNGY5MWUzMzQyZTNkNjU3MDcwODcxMmI0Yjc3MiJ9LHsicGF0aCI6ImxpY2Vuc2VzL25wbS1jbWQtc2hpbS50eHQiLCJieXRlcyI6ODEzLCJzaGEyNTYiOiJhZmZmZGYxMjA4MTEyMjc0OWM0YjcxYzViMWMxMWJjNjU5ZDc5MjQyZDE5ZTE4ZjVlOGRiYWIwNGE0NWUzNmJiIn0seyJwYXRoIjoibnBtLWFkYXB0ZXItZmlsZXMuanNvbiIsImJ5dGVzIjoxNTIxLCJzaGEyNTYiOiI3ZWY1OGE2ZTQ3YjM5YWY3ZjNkNzU5NWQwOGU0ZWY3ZDYyOTU0YTY3MmYxMjVhODM4Mjc1YzA0ODkzZDk1MzNhIn1dfSx7InRhcmdldCI6ImJ1bi1saW51eC14NjQiLCJmaWxlbmFtZSI6Im5vdGlmYWktMTIuMS4yLWJldGEuMi1saW51eC14NjQudGFyLmd6IiwiYnl0ZXMiOjM4OTQ2MjczLCJzaGEyNTYiOiI1NjI3ZDdkMWJlZWQ2MzFhODI5NzI5NjUxZDFjYzQ2ZjI4YWIzODJjZGQyNmViOTBkNTAxZmY5MWU1MDljZjY0IiwicnVudGltZV9zaGEyNTYiOiI4ZDE5MDc4ODQ5NWI3NjkwN2YwZDg1NWIwMWRjMTU0OTAwNmExM2NmODI5YjQwMWQ5MDExY2RkYzc0OWQ5MWRiIiwibGF1bmNoZXJfc2hhMjU2IjoiOGIxZjA5M2U0NGM2ZmQzOTg0MWUzOWJkZTk3YjI3MTUwNDhkMzk2M2I3MDRmNjJmMmFiZWI1OTAyYzdmYmJlNyIsIm1hdGVyaWFscyI6W3sicGF0aCI6IkJVTi1MSUNFTlNFLm1kIiwiYnl0ZXMiOjU2MTMsInNoYTI1NiI6ImI5Y2FmNTI3Mjg2OTFiNDA1N2UzNzEyMzJjMjIxYTEzMjg4MzE5OGJlMmYzZDJkZGY5MmM5MDQwNGM5ODRiMWEifSx7InBhdGgiOiJDT1JSRVNQT05ESU5HLVNPVVJDRVMuanNvbiIsImJ5dGVzIjoyMDIwLCJzaGEyNTYiOiJmYTRjMzQ0ODAxMTU0ODcyZDYxNzllZTJlZjQ5OTIzZGM5Zjg5MDllZjAxZTUzYjg2ZThmNTdjNjI1ODIzMjc0In0seyJwYXRoIjoiTElDRU5TRS50eHQiLCJieXRlcyI6MTEzNDYsInNoYTI1NiI6Ijk0NGMxM2ZmMGZlNzk1ZTI5MWZkMWM0OTQ3M2Y5OGQ0ZmRmMWY3NDYzOGUwMWY4ODI3NjljZDRjYWU3OGI3M2QifSx7InBhdGgiOiJOT1RJQ0UtUFJPVkVOQU5DRS5qc29uIiwiYnl0ZXMiOjQ1MDI2NCwic2hhMjU2IjoiNTM0ZGQ1OWZkNGMxNWRkMTM4MmU4MjdmMGI4NWMxOWY3YzY5OGUyMzVmOTI5OWVhYTIwMmRiNTQwMDgzNDI4OCJ9LHsicGF0aCI6Ik5PVElDRS50eHQiLCJieXRlcyI6NjI2LCJzaGEyNTYiOiIxZGZiZjQ0OThkYzAyNmIyMDU5YzBiMGI1ZWI1ZmExZDgyYWUzMzRlNThmZjExZTdjMjk3MzMzMjdmMjVjNGViIn0seyJwYXRoIjoiUkVCVUlMRElORy5tZCIsImJ5dGVzIjozODQyLCJzaGEyNTYiOiJjZTYwNWI1ZmRiMDMxOTMzOWY5ZjgzZjJmZTdjY2NiYzdlNTcyNmZkZjQ5NGRhNmUyODQzM2JlZjgyOWViMGJlIn0seyJwYXRoIjoiU09VUkNFLU5PVElDRVMudHh0IiwiYnl0ZXMiOjkwMTc3NzEsInNoYTI1NiI6Ijg5OTc2YmVjYzI1NjU0MGU2ZDJlODA3YjQ3YTRlMDVlODg5OTgyYzA2MjJmYzA0NDEzYTdiZjdlNzdhNzdlMzcifSx7InBhdGgiOiJUSElSRC1QQVJUWS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjoyNDkxNDk2LCJzaGEyNTYiOiIxMTY0NDdlZmY3Nzg5MzUxMTc5N2VmNDc2MDExZGVjODAwMjI0ZjkxZTMzNDJlM2Q2NTcwNzA4NzEyYjRiNzcyIn0seyJwYXRoIjoibGljZW5zZXMvbnBtLWNtZC1zaGltLnR4dCIsImJ5dGVzIjo4MTMsInNoYTI1NiI6ImFmZmZkZjEyMDgxMTIyNzQ5YzRiNzFjNWIxYzExYmM2NTlkNzkyNDJkMTllMThmNWU4ZGJhYjA0YTQ1ZTM2YmIifSx7InBhdGgiOiJucG0tYWRhcHRlci1maWxlcy5qc29uIiwiYnl0ZXMiOjE1MjEsInNoYTI1NiI6IjdlZjU4YTZlNDdiMzlhZjdmM2Q3NTk1ZDA4ZTRlZjdkNjI5NTRhNjcyZjEyNWE4MzgyNzVjMDQ4OTNkOTUzM2EifV19LHsidGFyZ2V0IjoiYnVuLXdpbmRvd3MtYXJtNjQiLCJmaWxlbmFtZSI6Im5vdGlmYWktMTIuMS4yLWJldGEuMi13aW5kb3dzLWFybTY0LnppcCIsImJ5dGVzIjozODc3ODQ1NSwic2hhMjU2IjoiN2ZmNTY5MmI5OWY0M2IwZGM0OGQ1MGIzYzNkNzJjNTE3MjkwN2EwMTU5NzM2YmI5YzYyNTUwZjAxYzA0NTA1ZiIsInJ1bnRpbWVfc2hhMjU2IjoiNzdmMmIwZjgyOGYwZDQxZjc1MjRiNzY5NzRiMjc2NzY3NWVjZWQwMjI1ZGY0ZWQ1NTBlNGZkZDlkZWJhYzg2YiIsImxhdW5jaGVyX3NoYTI1NiI6ImNkNmFlNWRlZTA1ZjgwMmNhZWM0MTQ3ZjUwYzZhMTI0YmVkMjQyZmRiOTgxMjJhYzA4ZTE3ZjlkMTBlMTBjMjUiLCJtYXRlcmlhbHMiOlt7InBhdGgiOiJCVU4tTElDRU5TRS5tZCIsImJ5dGVzIjo1NjEzLCJzaGEyNTYiOiJiOWNhZjUyNzI4NjkxYjQwNTdlMzcxMjMyYzIyMWExMzI4ODMxOThiZTJmM2QyZGRmOTJjOTA0MDRjOTg0YjFhIn0seyJwYXRoIjoiQ09SUkVTUE9ORElORy1TT1VSQ0VTLmpzb24iLCJieXRlcyI6MjAyMCwic2hhMjU2IjoiZmE0YzM0NDgwMTE1NDg3MmQ2MTc5ZWUyZWY0OTkyM2RjOWY4OTA5ZWYwMWU1M2I4NmU4ZjU3YzYyNTgyMzI3NCJ9LHsicGF0aCI6IkxJQ0VOU0UudHh0IiwiYnl0ZXMiOjExMzQ2LCJzaGEyNTYiOiI5NDRjMTNmZjBmZTc5NWUyOTFmZDFjNDk0NzNmOThkNGZkZjFmNzQ2MzhlMDFmODgyNzY5Y2Q0Y2FlNzhiNzNkIn0seyJwYXRoIjoiTk9USUNFLVBST1ZFTkFOQ0UuanNvbiIsImJ5dGVzIjo0NTAyNjQsInNoYTI1NiI6IjUzNGRkNTlmZDRjMTVkZDEzODJlODI3ZjBiODVjMTlmN2M2OThlMjM1ZjkyOTllYWEyMDJkYjU0MDA4MzQyODgifSx7InBhdGgiOiJOT1RJQ0UudHh0IiwiYnl0ZXMiOjYyNiwic2hhMjU2IjoiMWRmYmY0NDk4ZGMwMjZiMjA1OWMwYjBiNWViNWZhMWQ4MmFlMzM0ZTU4ZmYxMWU3YzI5NzMzMzI3ZjI1YzRlYiJ9LHsicGF0aCI6IlJFQlVJTERJTkcubWQiLCJieXRlcyI6Mzg0Miwic2hhMjU2IjoiY2U2MDViNWZkYjAzMTkzMzlmOWY4M2YyZmU3Y2NjYmM3ZTU3MjZmZGY0OTRkYTZlMjg0MzNiZWY4MjllYjBiZSJ9LHsicGF0aCI6IlNPVVJDRS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjo5MDE3NzcxLCJzaGEyNTYiOiI4OTk3NmJlY2MyNTY1NDBlNmQyZTgwN2I0N2E0ZTA1ZTg4OTk4MmMwNjIyZmMwNDQxM2E3YmY3ZTc3YTc3ZTM3In0seyJwYXRoIjoiVEhJUkQtUEFSVFktTk9USUNFUy50eHQiLCJieXRlcyI6MjQ5MTQ5Niwic2hhMjU2IjoiMTE2NDQ3ZWZmNzc4OTM1MTE3OTdlZjQ3NjAxMWRlYzgwMDIyNGY5MWUzMzQyZTNkNjU3MDcwODcxMmI0Yjc3MiJ9LHsicGF0aCI6ImxpY2Vuc2VzL25wbS1jbWQtc2hpbS50eHQiLCJieXRlcyI6ODEzLCJzaGEyNTYiOiJhZmZmZGYxMjA4MTEyMjc0OWM0YjcxYzViMWMxMWJjNjU5ZDc5MjQyZDE5ZTE4ZjVlOGRiYWIwNGE0NWUzNmJiIn0seyJwYXRoIjoibnBtLWFkYXB0ZXItZmlsZXMuanNvbiIsImJ5dGVzIjoxNTIxLCJzaGEyNTYiOiI3ZWY1OGE2ZTQ3YjM5YWY3ZjNkNzU5NWQwOGU0ZWY3ZDYyOTU0YTY3MmYxMjVhODM4Mjc1YzA0ODkzZDk1MzNhIn1dfSx7InRhcmdldCI6ImJ1bi13aW5kb3dzLXg2NCIsImZpbGVuYW1lIjoibm90aWZhaS0xMi4xLjItYmV0YS4yLXdpbmRvd3MteDY0LnppcCIsImJ5dGVzIjo0MTkyNDU0Mywic2hhMjU2IjoiNTMxMzIyMzkwMjIzYTgwNmIxNGRhNGQxMjM1NmMyNjNjODBmYWUxODI2YWY1ZTFmMjNkNjM0N2VhNWYxM2Q1NCIsInJ1bnRpbWVfc2hhMjU2IjoiNGJlN2EwZTNhNDE5YjZiZjM3ZjVjZTU0MDAyY2M5OGMzZTA2M2E0ZmJkYWFhOTI4ZjJhOTNlNWY0MzFmNDcxNCIsImxhdW5jaGVyX3NoYTI1NiI6ImRhNGRkOTZjMTY5NjE1ZmE0NGY5M2I5YzIxODAzZjM2MWQ2ZWM4YjY2OWFkZGYzM2IwNWMxMGNlYWRkY2E4ODIiLCJtYXRlcmlhbHMiOlt7InBhdGgiOiJCVU4tTElDRU5TRS5tZCIsImJ5dGVzIjo1NjEzLCJzaGEyNTYiOiJiOWNhZjUyNzI4NjkxYjQwNTdlMzcxMjMyYzIyMWExMzI4ODMxOThiZTJmM2QyZGRmOTJjOTA0MDRjOTg0YjFhIn0seyJwYXRoIjoiQ09SUkVTUE9ORElORy1TT1VSQ0VTLmpzb24iLCJieXRlcyI6MjAyMCwic2hhMjU2IjoiZmE0YzM0NDgwMTE1NDg3MmQ2MTc5ZWUyZWY0OTkyM2RjOWY4OTA5ZWYwMWU1M2I4NmU4ZjU3YzYyNTgyMzI3NCJ9LHsicGF0aCI6IkxJQ0VOU0UudHh0IiwiYnl0ZXMiOjExMzQ2LCJzaGEyNTYiOiI5NDRjMTNmZjBmZTc5NWUyOTFmZDFjNDk0NzNmOThkNGZkZjFmNzQ2MzhlMDFmODgyNzY5Y2Q0Y2FlNzhiNzNkIn0seyJwYXRoIjoiTk9USUNFLVBST1ZFTkFOQ0UuanNvbiIsImJ5dGVzIjo0NTAyNjQsInNoYTI1NiI6IjUzNGRkNTlmZDRjMTVkZDEzODJlODI3ZjBiODVjMTlmN2M2OThlMjM1ZjkyOTllYWEyMDJkYjU0MDA4MzQyODgifSx7InBhdGgiOiJOT1RJQ0UudHh0IiwiYnl0ZXMiOjYyNiwic2hhMjU2IjoiMWRmYmY0NDk4ZGMwMjZiMjA1OWMwYjBiNWViNWZhMWQ4MmFlMzM0ZTU4ZmYxMWU3YzI5NzMzMzI3ZjI1YzRlYiJ9LHsicGF0aCI6IlJFQlVJTERJTkcubWQiLCJieXRlcyI6Mzg0Miwic2hhMjU2IjoiY2U2MDViNWZkYjAzMTkzMzlmOWY4M2YyZmU3Y2NjYmM3ZTU3MjZmZGY0OTRkYTZlMjg0MzNiZWY4MjllYjBiZSJ9LHsicGF0aCI6IlNPVVJDRS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjo5MDE3NzcxLCJzaGEyNTYiOiI4OTk3NmJlY2MyNTY1NDBlNmQyZTgwN2I0N2E0ZTA1ZTg4OTk4MmMwNjIyZmMwNDQxM2E3YmY3ZTc3YTc3ZTM3In0seyJwYXRoIjoiVEhJUkQtUEFSVFktTk9USUNFUy50eHQiLCJieXRlcyI6MjQ5MTQ5Niwic2hhMjU2IjoiMTE2NDQ3ZWZmNzc4OTM1MTE3OTdlZjQ3NjAxMWRlYzgwMDIyNGY5MWUzMzQyZTNkNjU3MDcwODcxMmI0Yjc3MiJ9LHsicGF0aCI6ImxpY2Vuc2VzL25wbS1jbWQtc2hpbS50eHQiLCJieXRlcyI6ODEzLCJzaGEyNTYiOiJhZmZmZGYxMjA4MTEyMjc0OWM0YjcxYzViMWMxMWJjNjU5ZDc5MjQyZDE5ZTE4ZjVlOGRiYWIwNGE0NWUzNmJiIn0seyJwYXRoIjoibnBtLWFkYXB0ZXItZmlsZXMuanNvbiIsImJ5dGVzIjoxNTIxLCJzaGEyNTYiOiI3ZWY1OGE2ZTQ3YjM5YWY3ZjNkNzU5NWQwOGU0ZWY3ZDYyOTU0YTY3MmYxMjVhODM4Mjc1YzA0ODkzZDk1MzNhIn1dfV19","signature":"jrSwQFZOeY6klVCBVxoWNNuLF+RRvR8C3FclGbc3tBLb4ECMJlYJ6MrcOVFMaf4AQGh/6Xd+irGOCp+tmJVhCQ=="}
1
+ {"key_id":"notifai-release-2026-10","payload":"eyJzY2hlbWEiOjIsInZlcnNpb24iOiIxMi4xLjItYmV0YS4zIiwic291cmNlX3JldmlzaW9uIjoiYTk4MDhmYjA0MWQ3ZDVjYmRlZTYxZTg3ZmE0ZmZjZjM5MzUzZjBmZCIsImxvY2FsX2NvbnRpbnVpdHkiOnsiY29udHJhY3QiOiJub3RpZmFpLXNlc3Npb24tc3RhdGUtdjIiLCJjb21wYXRpYmxlIjp7Im5vdGlmYWktc2Vzc2lvbi1zdGF0ZS12MSI6WyJidW4tZGFyd2luLWFybTY0IiwiYnVuLWRhcndpbi14NjQiLCJidW4td2luZG93cy1hcm02NCIsImJ1bi13aW5kb3dzLXg2NCJdfX0sInN0b3JlX3NjaGVtYSI6MiwibGF1bmNoZXJfc2NoZW1hIjoxLCJhcnRpZmFjdHMiOlt7InRhcmdldCI6ImJ1bi1kYXJ3aW4tYXJtNjQiLCJmaWxlbmFtZSI6Im5vdGlmYWktMTIuMS4yLWJldGEuMy1kYXJ3aW4tYXJtNjQudGFyLmd6IiwiYnl0ZXMiOjI3ODQyNzc2LCJzaGEyNTYiOiIxYWJmZDg3YmUzMDc5MzVmOTcyMDQzODJiN2IwODA3OTk1OGM3OGY4MzYwNDRiOGZkNTk5MjA0M2Q4MjU0ZDVhIiwicnVudGltZV9zaGEyNTYiOiJiNmQzZjEzZDc3NzIxM2EyMTFmMDdiNTYxZDM1ZDZmMDM5OTJmZjNiMTIzMjdhZmFhZTliMDI4N2I5MTk2ODRiIiwibGF1bmNoZXJfc2hhMjU2IjoiYmU2NmNmYzNmMGRmZTRhOTA2Y2UwZTE3NmZiNTRmODBiNjA2MDUwY2E2NjQzMTM4ZDE4NzUzZTQxNTkzYjU4ZCIsIm1hdGVyaWFscyI6W3sicGF0aCI6IkJVTi1MSUNFTlNFLm1kIiwiYnl0ZXMiOjU2MTMsInNoYTI1NiI6ImI5Y2FmNTI3Mjg2OTFiNDA1N2UzNzEyMzJjMjIxYTEzMjg4MzE5OGJlMmYzZDJkZGY5MmM5MDQwNGM5ODRiMWEifSx7InBhdGgiOiJDT1JSRVNQT05ESU5HLVNPVVJDRVMuanNvbiIsImJ5dGVzIjoyMDIwLCJzaGEyNTYiOiJmYTRjMzQ0ODAxMTU0ODcyZDYxNzllZTJlZjQ5OTIzZGM5Zjg5MDllZjAxZTUzYjg2ZThmNTdjNjI1ODIzMjc0In0seyJwYXRoIjoiTElDRU5TRS50eHQiLCJieXRlcyI6MTEzNDYsInNoYTI1NiI6Ijk0NGMxM2ZmMGZlNzk1ZTI5MWZkMWM0OTQ3M2Y5OGQ0ZmRmMWY3NDYzOGUwMWY4ODI3NjljZDRjYWU3OGI3M2QifSx7InBhdGgiOiJOT1RJQ0UtUFJPVkVOQU5DRS5qc29uIiwiYnl0ZXMiOjQ1MDI2NCwic2hhMjU2IjoiNTM0ZGQ1OWZkNGMxNWRkMTM4MmU4MjdmMGI4NWMxOWY3YzY5OGUyMzVmOTI5OWVhYTIwMmRiNTQwMDgzNDI4OCJ9LHsicGF0aCI6Ik5PVElDRS50eHQiLCJieXRlcyI6NjI2LCJzaGEyNTYiOiIxZGZiZjQ0OThkYzAyNmIyMDU5YzBiMGI1ZWI1ZmExZDgyYWUzMzRlNThmZjExZTdjMjk3MzMzMjdmMjVjNGViIn0seyJwYXRoIjoiUkVCVUlMRElORy5tZCIsImJ5dGVzIjozODQyLCJzaGEyNTYiOiJjZTYwNWI1ZmRiMDMxOTMzOWY5ZjgzZjJmZTdjY2NiYzdlNTcyNmZkZjQ5NGRhNmUyODQzM2JlZjgyOWViMGJlIn0seyJwYXRoIjoiU09VUkNFLU5PVElDRVMudHh0IiwiYnl0ZXMiOjkwMTc3NzEsInNoYTI1NiI6Ijg5OTc2YmVjYzI1NjU0MGU2ZDJlODA3YjQ3YTRlMDVlODg5OTgyYzA2MjJmYzA0NDEzYTdiZjdlNzdhNzdlMzcifSx7InBhdGgiOiJUSElSRC1QQVJUWS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjoyNDkxNDk2LCJzaGEyNTYiOiIxMTY0NDdlZmY3Nzg5MzUxMTc5N2VmNDc2MDExZGVjODAwMjI0ZjkxZTMzNDJlM2Q2NTcwNzA4NzEyYjRiNzcyIn0seyJwYXRoIjoibGljZW5zZXMvbnBtLWNtZC1zaGltLnR4dCIsImJ5dGVzIjo4MTMsInNoYTI1NiI6ImFmZmZkZjEyMDgxMTIyNzQ5YzRiNzFjNWIxYzExYmM2NTlkNzkyNDJkMTllMThmNWU4ZGJhYjA0YTQ1ZTM2YmIifSx7InBhdGgiOiJucG0tYWRhcHRlci1maWxlcy5qc29uIiwiYnl0ZXMiOjE2NjYsInNoYTI1NiI6IjliZThkMDUzOGEyNDY5MDYxZTU1Yjc5NGNlYWNlNTY2NjQ3YzM4NDIyMmM5ZDM2YjhhZmY1YmY0NDhlZDJlNTcifV19LHsidGFyZ2V0IjoiYnVuLWRhcndpbi14NjQiLCJmaWxlbmFtZSI6Im5vdGlmYWktMTIuMS4yLWJldGEuMy1kYXJ3aW4teDY0LnRhci5neiIsImJ5dGVzIjozMDA4MDI4NSwic2hhMjU2IjoiNDZhMDZlMzgyNmYzNDBjMTliYzgyYmFkYjA1ODFkMDExYzVlOGVlZmU4NzRmNDU2MjFhZTQ3OGRhYWZjMDFiYSIsInJ1bnRpbWVfc2hhMjU2IjoiZTJlM2I1NjE0ZGQzMWQ4ZmQwMjhlODEzNWIwZGZjMDk5ZmMzOGU3OTI3YzY0YTU3MGQ3MWI5MzMxYTBmMzU0NCIsImxhdW5jaGVyX3NoYTI1NiI6ImRmMjJiN2VmMmYxMWMxZjY5NGI2YjUzNjZjNWQ3ZjQ2ZjY0OTgwMWViZjAyZjNhYTZjNmQ3Zjg5MTk2YzUzZjciLCJtYXRlcmlhbHMiOlt7InBhdGgiOiJCVU4tTElDRU5TRS5tZCIsImJ5dGVzIjo1NjEzLCJzaGEyNTYiOiJiOWNhZjUyNzI4NjkxYjQwNTdlMzcxMjMyYzIyMWExMzI4ODMxOThiZTJmM2QyZGRmOTJjOTA0MDRjOTg0YjFhIn0seyJwYXRoIjoiQ09SUkVTUE9ORElORy1TT1VSQ0VTLmpzb24iLCJieXRlcyI6MjAyMCwic2hhMjU2IjoiZmE0YzM0NDgwMTE1NDg3MmQ2MTc5ZWUyZWY0OTkyM2RjOWY4OTA5ZWYwMWU1M2I4NmU4ZjU3YzYyNTgyMzI3NCJ9LHsicGF0aCI6IkxJQ0VOU0UudHh0IiwiYnl0ZXMiOjExMzQ2LCJzaGEyNTYiOiI5NDRjMTNmZjBmZTc5NWUyOTFmZDFjNDk0NzNmOThkNGZkZjFmNzQ2MzhlMDFmODgyNzY5Y2Q0Y2FlNzhiNzNkIn0seyJwYXRoIjoiTk9USUNFLVBST1ZFTkFOQ0UuanNvbiIsImJ5dGVzIjo0NTAyNjQsInNoYTI1NiI6IjUzNGRkNTlmZDRjMTVkZDEzODJlODI3ZjBiODVjMTlmN2M2OThlMjM1ZjkyOTllYWEyMDJkYjU0MDA4MzQyODgifSx7InBhdGgiOiJOT1RJQ0UudHh0IiwiYnl0ZXMiOjYyNiwic2hhMjU2IjoiMWRmYmY0NDk4ZGMwMjZiMjA1OWMwYjBiNWViNWZhMWQ4MmFlMzM0ZTU4ZmYxMWU3YzI5NzMzMzI3ZjI1YzRlYiJ9LHsicGF0aCI6IlJFQlVJTERJTkcubWQiLCJieXRlcyI6Mzg0Miwic2hhMjU2IjoiY2U2MDViNWZkYjAzMTkzMzlmOWY4M2YyZmU3Y2NjYmM3ZTU3MjZmZGY0OTRkYTZlMjg0MzNiZWY4MjllYjBiZSJ9LHsicGF0aCI6IlNPVVJDRS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjo5MDE3NzcxLCJzaGEyNTYiOiI4OTk3NmJlY2MyNTY1NDBlNmQyZTgwN2I0N2E0ZTA1ZTg4OTk4MmMwNjIyZmMwNDQxM2E3YmY3ZTc3YTc3ZTM3In0seyJwYXRoIjoiVEhJUkQtUEFSVFktTk9USUNFUy50eHQiLCJieXRlcyI6MjQ5MTQ5Niwic2hhMjU2IjoiMTE2NDQ3ZWZmNzc4OTM1MTE3OTdlZjQ3NjAxMWRlYzgwMDIyNGY5MWUzMzQyZTNkNjU3MDcwODcxMmI0Yjc3MiJ9LHsicGF0aCI6ImxpY2Vuc2VzL25wbS1jbWQtc2hpbS50eHQiLCJieXRlcyI6ODEzLCJzaGEyNTYiOiJhZmZmZGYxMjA4MTEyMjc0OWM0YjcxYzViMWMxMWJjNjU5ZDc5MjQyZDE5ZTE4ZjVlOGRiYWIwNGE0NWUzNmJiIn0seyJwYXRoIjoibnBtLWFkYXB0ZXItZmlsZXMuanNvbiIsImJ5dGVzIjoxNjY2LCJzaGEyNTYiOiI5YmU4ZDA1MzhhMjQ2OTA2MWU1NWI3OTRjZWFjZTU2NjY0N2MzODQyMjJjOWQzNmI4YWZmNWJmNDQ4ZWQyZTU3In1dfSx7InRhcmdldCI6ImJ1bi1saW51eC1hcm02NCIsImZpbGVuYW1lIjoibm90aWZhaS0xMi4xLjItYmV0YS4zLWxpbnV4LWFybTY0LnRhci5neiIsImJ5dGVzIjozOTM4ODYxNSwic2hhMjU2IjoiYTc4M2U5OTc1NWY0ZTZhYmFlN2VkYzdkOWNlMDcxYWNiN2JhNWM0MzQzNTUzOWNhNjFiMjY2MmY1ZjMwMzUxMiIsInJ1bnRpbWVfc2hhMjU2IjoiZWVlYmRmMjNjNjgxMzU2OTYwMWJiY2Y5OGZmMGE3ZjIzM2Y0MDBkMmU1YmQzNTdkMDdjZmM0NzIxNDNkZjBlOCIsImxhdW5jaGVyX3NoYTI1NiI6ImY4MGZkYmYzM2ZiYWEzOTAzYzU0NTI2ZjE5NTZjNjE5ZjJmNDcwMWY5ODcxOTBjNWJhMmI0ZDU3NGI0MzEwYTQiLCJtYXRlcmlhbHMiOlt7InBhdGgiOiJCVU4tTElDRU5TRS5tZCIsImJ5dGVzIjo1NjEzLCJzaGEyNTYiOiJiOWNhZjUyNzI4NjkxYjQwNTdlMzcxMjMyYzIyMWExMzI4ODMxOThiZTJmM2QyZGRmOTJjOTA0MDRjOTg0YjFhIn0seyJwYXRoIjoiQ09SUkVTUE9ORElORy1TT1VSQ0VTLmpzb24iLCJieXRlcyI6MjAyMCwic2hhMjU2IjoiZmE0YzM0NDgwMTE1NDg3MmQ2MTc5ZWUyZWY0OTkyM2RjOWY4OTA5ZWYwMWU1M2I4NmU4ZjU3YzYyNTgyMzI3NCJ9LHsicGF0aCI6IkxJQ0VOU0UudHh0IiwiYnl0ZXMiOjExMzQ2LCJzaGEyNTYiOiI5NDRjMTNmZjBmZTc5NWUyOTFmZDFjNDk0NzNmOThkNGZkZjFmNzQ2MzhlMDFmODgyNzY5Y2Q0Y2FlNzhiNzNkIn0seyJwYXRoIjoiTk9USUNFLVBST1ZFTkFOQ0UuanNvbiIsImJ5dGVzIjo0NTAyNjQsInNoYTI1NiI6IjUzNGRkNTlmZDRjMTVkZDEzODJlODI3ZjBiODVjMTlmN2M2OThlMjM1ZjkyOTllYWEyMDJkYjU0MDA4MzQyODgifSx7InBhdGgiOiJOT1RJQ0UudHh0IiwiYnl0ZXMiOjYyNiwic2hhMjU2IjoiMWRmYmY0NDk4ZGMwMjZiMjA1OWMwYjBiNWViNWZhMWQ4MmFlMzM0ZTU4ZmYxMWU3YzI5NzMzMzI3ZjI1YzRlYiJ9LHsicGF0aCI6IlJFQlVJTERJTkcubWQiLCJieXRlcyI6Mzg0Miwic2hhMjU2IjoiY2U2MDViNWZkYjAzMTkzMzlmOWY4M2YyZmU3Y2NjYmM3ZTU3MjZmZGY0OTRkYTZlMjg0MzNiZWY4MjllYjBiZSJ9LHsicGF0aCI6IlNPVVJDRS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjo5MDE3NzcxLCJzaGEyNTYiOiI4OTk3NmJlY2MyNTY1NDBlNmQyZTgwN2I0N2E0ZTA1ZTg4OTk4MmMwNjIyZmMwNDQxM2E3YmY3ZTc3YTc3ZTM3In0seyJwYXRoIjoiVEhJUkQtUEFSVFktTk9USUNFUy50eHQiLCJieXRlcyI6MjQ5MTQ5Niwic2hhMjU2IjoiMTE2NDQ3ZWZmNzc4OTM1MTE3OTdlZjQ3NjAxMWRlYzgwMDIyNGY5MWUzMzQyZTNkNjU3MDcwODcxMmI0Yjc3MiJ9LHsicGF0aCI6ImxpY2Vuc2VzL25wbS1jbWQtc2hpbS50eHQiLCJieXRlcyI6ODEzLCJzaGEyNTYiOiJhZmZmZGYxMjA4MTEyMjc0OWM0YjcxYzViMWMxMWJjNjU5ZDc5MjQyZDE5ZTE4ZjVlOGRiYWIwNGE0NWUzNmJiIn0seyJwYXRoIjoibnBtLWFkYXB0ZXItZmlsZXMuanNvbiIsImJ5dGVzIjoxNjY2LCJzaGEyNTYiOiI5YmU4ZDA1MzhhMjQ2OTA2MWU1NWI3OTRjZWFjZTU2NjY0N2MzODQyMjJjOWQzNmI4YWZmNWJmNDQ4ZWQyZTU3In1dfSx7InRhcmdldCI6ImJ1bi1saW51eC14NjQiLCJmaWxlbmFtZSI6Im5vdGlmYWktMTIuMS4yLWJldGEuMy1saW51eC14NjQudGFyLmd6IiwiYnl0ZXMiOjM4OTUxNjA1LCJzaGEyNTYiOiIwNTNjZjZhNDNkN2E3MjNhM2I4MzhhMTY3NDg0YWYwNjU0MTBjNTEzMmVjODgxYzYxOGFkMjc2OWQxMTkyYzJkIiwicnVudGltZV9zaGEyNTYiOiJkYTMzNzM5MjBkMzUyMDM2ZmM4NjU1YTY3YmJkYmY0ODA3ZGZkYjM2MmQ5YjU1ZGIyMmZlNGJmYjEwMDFmM2ExIiwibGF1bmNoZXJfc2hhMjU2IjoiOGIxZjA5M2U0NGM2ZmQzOTg0MWUzOWJkZTk3YjI3MTUwNDhkMzk2M2I3MDRmNjJmMmFiZWI1OTAyYzdmYmJlNyIsIm1hdGVyaWFscyI6W3sicGF0aCI6IkJVTi1MSUNFTlNFLm1kIiwiYnl0ZXMiOjU2MTMsInNoYTI1NiI6ImI5Y2FmNTI3Mjg2OTFiNDA1N2UzNzEyMzJjMjIxYTEzMjg4MzE5OGJlMmYzZDJkZGY5MmM5MDQwNGM5ODRiMWEifSx7InBhdGgiOiJDT1JSRVNQT05ESU5HLVNPVVJDRVMuanNvbiIsImJ5dGVzIjoyMDIwLCJzaGEyNTYiOiJmYTRjMzQ0ODAxMTU0ODcyZDYxNzllZTJlZjQ5OTIzZGM5Zjg5MDllZjAxZTUzYjg2ZThmNTdjNjI1ODIzMjc0In0seyJwYXRoIjoiTElDRU5TRS50eHQiLCJieXRlcyI6MTEzNDYsInNoYTI1NiI6Ijk0NGMxM2ZmMGZlNzk1ZTI5MWZkMWM0OTQ3M2Y5OGQ0ZmRmMWY3NDYzOGUwMWY4ODI3NjljZDRjYWU3OGI3M2QifSx7InBhdGgiOiJOT1RJQ0UtUFJPVkVOQU5DRS5qc29uIiwiYnl0ZXMiOjQ1MDI2NCwic2hhMjU2IjoiNTM0ZGQ1OWZkNGMxNWRkMTM4MmU4MjdmMGI4NWMxOWY3YzY5OGUyMzVmOTI5OWVhYTIwMmRiNTQwMDgzNDI4OCJ9LHsicGF0aCI6Ik5PVElDRS50eHQiLCJieXRlcyI6NjI2LCJzaGEyNTYiOiIxZGZiZjQ0OThkYzAyNmIyMDU5YzBiMGI1ZWI1ZmExZDgyYWUzMzRlNThmZjExZTdjMjk3MzMzMjdmMjVjNGViIn0seyJwYXRoIjoiUkVCVUlMRElORy5tZCIsImJ5dGVzIjozODQyLCJzaGEyNTYiOiJjZTYwNWI1ZmRiMDMxOTMzOWY5ZjgzZjJmZTdjY2NiYzdlNTcyNmZkZjQ5NGRhNmUyODQzM2JlZjgyOWViMGJlIn0seyJwYXRoIjoiU09VUkNFLU5PVElDRVMudHh0IiwiYnl0ZXMiOjkwMTc3NzEsInNoYTI1NiI6Ijg5OTc2YmVjYzI1NjU0MGU2ZDJlODA3YjQ3YTRlMDVlODg5OTgyYzA2MjJmYzA0NDEzYTdiZjdlNzdhNzdlMzcifSx7InBhdGgiOiJUSElSRC1QQVJUWS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjoyNDkxNDk2LCJzaGEyNTYiOiIxMTY0NDdlZmY3Nzg5MzUxMTc5N2VmNDc2MDExZGVjODAwMjI0ZjkxZTMzNDJlM2Q2NTcwNzA4NzEyYjRiNzcyIn0seyJwYXRoIjoibGljZW5zZXMvbnBtLWNtZC1zaGltLnR4dCIsImJ5dGVzIjo4MTMsInNoYTI1NiI6ImFmZmZkZjEyMDgxMTIyNzQ5YzRiNzFjNWIxYzExYmM2NTlkNzkyNDJkMTllMThmNWU4ZGJhYjA0YTQ1ZTM2YmIifSx7InBhdGgiOiJucG0tYWRhcHRlci1maWxlcy5qc29uIiwiYnl0ZXMiOjE2NjYsInNoYTI1NiI6IjliZThkMDUzOGEyNDY5MDYxZTU1Yjc5NGNlYWNlNTY2NjQ3YzM4NDIyMmM5ZDM2YjhhZmY1YmY0NDhlZDJlNTcifV19LHsidGFyZ2V0IjoiYnVuLXdpbmRvd3MtYXJtNjQiLCJmaWxlbmFtZSI6Im5vdGlmYWktMTIuMS4yLWJldGEuMy13aW5kb3dzLWFybTY0LnppcCIsImJ5dGVzIjozODc4NDE4Miwic2hhMjU2IjoiNjRjNDA0ZGMxZDc0N2VlNWE2ODMwNjI5ZTZkMzJiM2Q1ODhjM2NlZDBmODRkZDUzYjE0OTNhNjQ2ZGEwNmU1YSIsInJ1bnRpbWVfc2hhMjU2IjoiZWJiMzc2NWQwZTVhMzllZTljM2FmZmQ0MWM1YmRmM2Q5NjIzZmI3YWUyN2EzNzA0Y2EwNjQ4YWYyMDJmNTQzNyIsImxhdW5jaGVyX3NoYTI1NiI6IjFhYWMxMTg2YmJiZGZkOTJkMWI2MjA1NTFhZDFkZjM0NGM5Njc2NmZjM2JkMTc1NjExYTgxNTc3YmZhMzc0MWUiLCJtYXRlcmlhbHMiOlt7InBhdGgiOiJCVU4tTElDRU5TRS5tZCIsImJ5dGVzIjo1NjEzLCJzaGEyNTYiOiJiOWNhZjUyNzI4NjkxYjQwNTdlMzcxMjMyYzIyMWExMzI4ODMxOThiZTJmM2QyZGRmOTJjOTA0MDRjOTg0YjFhIn0seyJwYXRoIjoiQ09SUkVTUE9ORElORy1TT1VSQ0VTLmpzb24iLCJieXRlcyI6MjAyMCwic2hhMjU2IjoiZmE0YzM0NDgwMTE1NDg3MmQ2MTc5ZWUyZWY0OTkyM2RjOWY4OTA5ZWYwMWU1M2I4NmU4ZjU3YzYyNTgyMzI3NCJ9LHsicGF0aCI6IkxJQ0VOU0UudHh0IiwiYnl0ZXMiOjExMzQ2LCJzaGEyNTYiOiI5NDRjMTNmZjBmZTc5NWUyOTFmZDFjNDk0NzNmOThkNGZkZjFmNzQ2MzhlMDFmODgyNzY5Y2Q0Y2FlNzhiNzNkIn0seyJwYXRoIjoiTk9USUNFLVBST1ZFTkFOQ0UuanNvbiIsImJ5dGVzIjo0NTAyNjQsInNoYTI1NiI6IjUzNGRkNTlmZDRjMTVkZDEzODJlODI3ZjBiODVjMTlmN2M2OThlMjM1ZjkyOTllYWEyMDJkYjU0MDA4MzQyODgifSx7InBhdGgiOiJOT1RJQ0UudHh0IiwiYnl0ZXMiOjYyNiwic2hhMjU2IjoiMWRmYmY0NDk4ZGMwMjZiMjA1OWMwYjBiNWViNWZhMWQ4MmFlMzM0ZTU4ZmYxMWU3YzI5NzMzMzI3ZjI1YzRlYiJ9LHsicGF0aCI6IlJFQlVJTERJTkcubWQiLCJieXRlcyI6Mzg0Miwic2hhMjU2IjoiY2U2MDViNWZkYjAzMTkzMzlmOWY4M2YyZmU3Y2NjYmM3ZTU3MjZmZGY0OTRkYTZlMjg0MzNiZWY4MjllYjBiZSJ9LHsicGF0aCI6IlNPVVJDRS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjo5MDE3NzcxLCJzaGEyNTYiOiI4OTk3NmJlY2MyNTY1NDBlNmQyZTgwN2I0N2E0ZTA1ZTg4OTk4MmMwNjIyZmMwNDQxM2E3YmY3ZTc3YTc3ZTM3In0seyJwYXRoIjoiVEhJUkQtUEFSVFktTk9USUNFUy50eHQiLCJieXRlcyI6MjQ5MTQ5Niwic2hhMjU2IjoiMTE2NDQ3ZWZmNzc4OTM1MTE3OTdlZjQ3NjAxMWRlYzgwMDIyNGY5MWUzMzQyZTNkNjU3MDcwODcxMmI0Yjc3MiJ9LHsicGF0aCI6ImxpY2Vuc2VzL25wbS1jbWQtc2hpbS50eHQiLCJieXRlcyI6ODEzLCJzaGEyNTYiOiJhZmZmZGYxMjA4MTEyMjc0OWM0YjcxYzViMWMxMWJjNjU5ZDc5MjQyZDE5ZTE4ZjVlOGRiYWIwNGE0NWUzNmJiIn0seyJwYXRoIjoibnBtLWFkYXB0ZXItZmlsZXMuanNvbiIsImJ5dGVzIjoxNjY2LCJzaGEyNTYiOiI5YmU4ZDA1MzhhMjQ2OTA2MWU1NWI3OTRjZWFjZTU2NjY0N2MzODQyMjJjOWQzNmI4YWZmNWJmNDQ4ZWQyZTU3In1dfSx7InRhcmdldCI6ImJ1bi13aW5kb3dzLXg2NCIsImZpbGVuYW1lIjoibm90aWZhaS0xMi4xLjItYmV0YS4zLXdpbmRvd3MteDY0LnppcCIsImJ5dGVzIjo0MTkzMTIzNiwic2hhMjU2IjoiZjdlNjZjOTkzMmM4ZjQzNWQ3Y2I0ZGY0YzY2ODQwNTMyY2M1MWU3ZWY4YTIzOTYwYjU4MmFhMTU2NmEwNDMzNSIsInJ1bnRpbWVfc2hhMjU2IjoiYzVmMjg4NGRkOWEwZDhkNGZhYzQyOWE1ZWU2NjBjYTRlNmEwYTEwM2Q0ZWRjN2U4YTY1MzU4ZmVkZWMzODJkZiIsImxhdW5jaGVyX3NoYTI1NiI6ImI3YTQyMGVmODVlYTMyNTRkOTM3NjhlZjFjMmYyNWJiODExNTYyMWU1MjViOTJiNzYwNDEyMjI0NjcxZmJjZDEiLCJtYXRlcmlhbHMiOlt7InBhdGgiOiJCVU4tTElDRU5TRS5tZCIsImJ5dGVzIjo1NjEzLCJzaGEyNTYiOiJiOWNhZjUyNzI4NjkxYjQwNTdlMzcxMjMyYzIyMWExMzI4ODMxOThiZTJmM2QyZGRmOTJjOTA0MDRjOTg0YjFhIn0seyJwYXRoIjoiQ09SUkVTUE9ORElORy1TT1VSQ0VTLmpzb24iLCJieXRlcyI6MjAyMCwic2hhMjU2IjoiZmE0YzM0NDgwMTE1NDg3MmQ2MTc5ZWUyZWY0OTkyM2RjOWY4OTA5ZWYwMWU1M2I4NmU4ZjU3YzYyNTgyMzI3NCJ9LHsicGF0aCI6IkxJQ0VOU0UudHh0IiwiYnl0ZXMiOjExMzQ2LCJzaGEyNTYiOiI5NDRjMTNmZjBmZTc5NWUyOTFmZDFjNDk0NzNmOThkNGZkZjFmNzQ2MzhlMDFmODgyNzY5Y2Q0Y2FlNzhiNzNkIn0seyJwYXRoIjoiTk9USUNFLVBST1ZFTkFOQ0UuanNvbiIsImJ5dGVzIjo0NTAyNjQsInNoYTI1NiI6IjUzNGRkNTlmZDRjMTVkZDEzODJlODI3ZjBiODVjMTlmN2M2OThlMjM1ZjkyOTllYWEyMDJkYjU0MDA4MzQyODgifSx7InBhdGgiOiJOT1RJQ0UudHh0IiwiYnl0ZXMiOjYyNiwic2hhMjU2IjoiMWRmYmY0NDk4ZGMwMjZiMjA1OWMwYjBiNWViNWZhMWQ4MmFlMzM0ZTU4ZmYxMWU3YzI5NzMzMzI3ZjI1YzRlYiJ9LHsicGF0aCI6IlJFQlVJTERJTkcubWQiLCJieXRlcyI6Mzg0Miwic2hhMjU2IjoiY2U2MDViNWZkYjAzMTkzMzlmOWY4M2YyZmU3Y2NjYmM3ZTU3MjZmZGY0OTRkYTZlMjg0MzNiZWY4MjllYjBiZSJ9LHsicGF0aCI6IlNPVVJDRS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjo5MDE3NzcxLCJzaGEyNTYiOiI4OTk3NmJlY2MyNTY1NDBlNmQyZTgwN2I0N2E0ZTA1ZTg4OTk4MmMwNjIyZmMwNDQxM2E3YmY3ZTc3YTc3ZTM3In0seyJwYXRoIjoiVEhJUkQtUEFSVFktTk9USUNFUy50eHQiLCJieXRlcyI6MjQ5MTQ5Niwic2hhMjU2IjoiMTE2NDQ3ZWZmNzc4OTM1MTE3OTdlZjQ3NjAxMWRlYzgwMDIyNGY5MWUzMzQyZTNkNjU3MDcwODcxMmI0Yjc3MiJ9LHsicGF0aCI6ImxpY2Vuc2VzL25wbS1jbWQtc2hpbS50eHQiLCJieXRlcyI6ODEzLCJzaGEyNTYiOiJhZmZmZGYxMjA4MTEyMjc0OWM0YjcxYzViMWMxMWJjNjU5ZDc5MjQyZDE5ZTE4ZjVlOGRiYWIwNGE0NWUzNmJiIn0seyJwYXRoIjoibnBtLWFkYXB0ZXItZmlsZXMuanNvbiIsImJ5dGVzIjoxNjY2LCJzaGEyNTYiOiI5YmU4ZDA1MzhhMjQ2OTA2MWU1NWI3OTRjZWFjZTU2NjY0N2MzODQyMjJjOWQzNmI4YWZmNWJmNDQ4ZWQyZTU3In1dfV19","signature":"S5AYfOGj0j47sGwB0u18fWRBqHaoB6a4F4oc0JUtcL1ltYFbsZxW3OrLNA/xkaLwNKjYppDahri77LV4k1uSDA=="}
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "schema": 1,
3
3
  "package": "@raidiant/notifai",
4
- "adapter_version": "12.1.2-beta.2",
4
+ "adapter_version": "12.1.2-beta.3",
5
5
  "native": {
6
- "version": "12.1.2-beta.2",
7
- "source_revision": "5ea6cabdba912a26383257b4df12fc4342a7c89c",
8
- "inventory_url": "https://github.com/Raidiant-io/notifai/releases/download/v12.1.2-beta.2/inventory.json"
6
+ "version": "12.1.2-beta.3",
7
+ "source_revision": "a9808fb041d7d5cbdee61e87fa4ffcf39353f0fd",
8
+ "inventory_url": "https://github.com/Raidiant-io/notifai/releases/download/v12.1.2-beta.3/inventory.json"
9
9
  },
10
10
  "files": [
11
11
  {
12
12
  "path": "CHANGELOG.md",
13
- "bytes": 65451,
14
- "sha256": "7e840399a4b1314eadc253a2985e617f666ca28b9ca94179d4988e4d1eea0439"
13
+ "bytes": 65963,
14
+ "sha256": "9d6d93239c756ec037c87b6b08a425a40f9c08937537f4c7959be380ffa7daf4"
15
15
  },
16
16
  {
17
17
  "path": "LICENSE",
@@ -23,6 +23,11 @@
23
23
  "bytes": 626,
24
24
  "sha256": "1dfbf4498dc026b2059c0b0b5eb5fa1d82ae334e58ff11e7c29733327f25c4eb"
25
25
  },
26
+ {
27
+ "path": "README.md",
28
+ "bytes": 9239,
29
+ "sha256": "82ce50df422adb56b3bb610c9b34e6fea61571c5895b85780b3d7378f2a9cc33"
30
+ },
26
31
  {
27
32
  "path": "THIRD_PARTY_NOTICES",
28
33
  "bytes": 39652,
@@ -41,12 +46,12 @@
41
46
  {
42
47
  "path": "data/release.json",
43
48
  "bytes": 89,
44
- "sha256": "5ffee445a277b872cfb80a3c493388837f42e15a906e12fdd13c3dc35a633118"
49
+ "sha256": "1692222ea9977d751d67f703009a7e4ea0825e84348ff3e4da634ef5c292294a"
45
50
  },
46
51
  {
47
52
  "path": "package.json",
48
- "bytes": 814,
49
- "sha256": "6818dd2ebb31b75d9fec57fa88d34a89ac7943deb6cef81f497d9d754b0deec5"
53
+ "bytes": 1315,
54
+ "sha256": "a4a0a1cb91695f679b6cfa98f15aa3b6825eeb72ba2b32596b076587f8fd113d"
50
55
  }
51
56
  ]
52
57
  }
package/package.json CHANGED
@@ -1,8 +1,30 @@
1
1
  {
2
2
  "name": "@raidiant/notifai",
3
- "version": "12.1.2-beta.2",
3
+ "version": "12.1.2-beta.3",
4
4
  "type": "module",
5
- "description": "Launch the independently managed native Notifai CLI",
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
+ "keywords": [
7
+ "claude-code",
8
+ "codex",
9
+ "cursor",
10
+ "opencode",
11
+ "openclaw",
12
+ "hermes",
13
+ "grok",
14
+ "coding-agent",
15
+ "ai-agents",
16
+ "agentic-coding",
17
+ "agent-skills",
18
+ "claude-code-hooks",
19
+ "notifications",
20
+ "push-notifications",
21
+ "mobile-notifications",
22
+ "phone",
23
+ "ios",
24
+ "android",
25
+ "cli",
26
+ "developer-tools"
27
+ ],
6
28
  "bin": {
7
29
  "notifai": "bin/notifai.mjs"
8
30
  },
@@ -15,14 +37,15 @@
15
37
  "LICENSE",
16
38
  "NOTICE",
17
39
  "THIRD_PARTY_NOTICES",
18
- "CHANGELOG.md"
40
+ "CHANGELOG.md",
41
+ "README.md"
19
42
  ],
20
43
  "engines": {
21
44
  "node": ">=20.12.0"
22
45
  },
23
46
  "license": "Apache-2.0",
24
47
  "author": "Rafael Vidaurre",
25
- "homepage": "https://github.com/Raidiant-io/notifai#readme",
48
+ "homepage": "https://notifai.sh",
26
49
  "bugs": {
27
50
  "url": "https://github.com/Raidiant-io/notifai/issues"
28
51
  },