@raidiant/notifai 13.0.0-beta.1 → 13.1.0-beta.2

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,36 +8,47 @@ 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.0.0-beta.1](https://github.com/Raidiant-io/notifai/compare/v12.1.1...v13.0.0-beta.1) (2026-10-18)
11
+ ## [13.1.0-beta.2](https://github.com/Raidiant-io/notifai/compare/v13.0.0...v13.1.0-beta.2) (2026-10-19)
12
+
13
+ ### Features
14
+
15
+ * Closing an Agent Session ends its questions: they expire on every device at once, 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.
16
+ * 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.
17
+
18
+ ### Bug Fixes
19
+
20
+ * Never revive a closed session. Claude Code cold resume (`claude -p --resume`) is removed; idle but open sessions still receive their answers, and the delivery contracts shown by `doctor` say so.
21
+ * 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.
22
+ * Register Codex questions from the native question card itself, so an answered card no longer leaves a separately copied question pending.
23
+ * 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.
24
+ * Beta updates always choose the newer of the beta and stable releases.
25
+
26
+ ## [13.0.0](https://github.com/Raidiant-io/notifai/compare/v12.1.1...v13.0.0) (2026-10-18)
27
+
12
28
 
13
29
  ### ⚠ BREAKING CHANGES
14
30
 
15
- * In a Claude Code session with Notifai's picker hooks installed, `notifai ask` refuses a question the question picker can show (code `use_question_picker`, exit 2) and returns the AskUserQuestion input to use instead. It no longer returns `native_question` for Claude Code.
31
+ * **cli:** in a Claude Code session with the picker hooks installed, `notifai ask` refuses a question the picker can show (code `use_question_picker`, exit 2) and returns the AskUserQuestion input to use instead. `ask` no longer returns `native_question` for Claude Code.
16
32
 
17
33
  ### Features
18
34
 
19
- * Make the Claude Code question picker the question: every picker in an enabled Project reaches the user's devices by itself, and a device answer closes it. A terminal answer is recorded so devices stop asking; Esc or chatting instead withdraws the device question. Question and hook outcomes are kept in a slower-rotating events log that `notifai logs` reads.
35
+ * **cli:** make the Claude Code question picker the question ([#320](https://github.com/Raidiant-io/notifai/issues/320)) ([9a4e729](https://github.com/Raidiant-io/notifai/commit/9a4e7299630ec7662502dd9dad0d96826ac75647))
20
36
 
21
- ### Bug Fixes
22
37
 
23
- * Log `project-not-enabled` when a picker stays in the terminal because its Project is not enabled.
24
- * Judge doctor, setup and update readiness for the harness that runs them: another harness's condition is reported as not applying and no longer fails the session, and a missing Codex shared app-server no longer turns Question Routing readiness off.
25
- * Keep every Notifai skill copy current: setup and updates refresh any outdated copy in a harness skill location in place, a linked skill directory counts as one copy, and project-scope writes stay inside the project.
26
- * Repair Grok activation and question delivery across main sessions, subagents, resume, compaction, long answers and interrupted turns.
27
- * Support continuing questions, Session Notes and Answer Edits in an existing Grok shared-leader session, with exact-session delivery claims and acknowledgements.
28
- * Avoid duplicate imported Notifai hooks and explain how to disable incompatible Cursor hook imports in Grok.
38
+ ### Bug Fixes
29
39
 
30
- * Hold unanswered reply requests longer and back off after concurrent-wait limits, reducing repeated requests while an agent waits.
31
- * Stop watching retired questions while preserving prompt answers to concurrent questions and recovering replies received near a wait deadline.
32
- * Keep remote question conversations flowing after three acknowledged answers, while preserving retry protection for the same answer.
33
- * Distinguish scheduled question submission from confirmed submission and delivery.
34
- * Settle questions answered through native harness forms so they do not remain outstanding.
40
+ * **cli:** bound reply polling and retire stale observers ([#312](https://github.com/Raidiant-io/notifai/issues/312)) ([e634f3b](https://github.com/Raidiant-io/notifai/commit/e634f3b133dd8b23a9d6ed94055f7ae0bfece4ba))
41
+ * **cli:** judge readiness per harness and refresh every Notifai skill copy ([#318](https://github.com/Raidiant-io/notifai/issues/318)) ([41a2a6a](https://github.com/Raidiant-io/notifai/commit/41a2a6a1e983e882e59b6c7bced6b5982be624be))
42
+ * **cli:** keep acknowledged remote question conversations flowing ([#309](https://github.com/Raidiant-io/notifai/issues/309)) ([e1ccf59](https://github.com/Raidiant-io/notifai/commit/e1ccf59eae00ce35bddcc273be3c95841bc11b29))
43
+ * **cli:** settle questions the agent answered natively ([#305](https://github.com/Raidiant-io/notifai/issues/305)) ([f660441](https://github.com/Raidiant-io/notifai/commit/f660441d8e1ca164ca6443936b36ad8e20bf6c74))
44
+ * **grok:** repair native hooks and live session delivery ([5a5a68d](https://github.com/Raidiant-io/notifai/commit/5a5a68d43ba7d6cb36a39ccf3b39fe35f5e01165))
35
45
 
36
- ### Documentation
37
46
 
38
- * Clarify Grok capabilities and limits; improve the package setup README and npm discovery metadata.
47
+ ### Dependencies
39
48
 
40
- * Direct invited Android testers to the Google Play closed Alpha instructions.
49
+ * The following workspace dependencies were updated
50
+ * dependencies
51
+ * @raidiant/notifai-protocol bumped from 8.3.3 to 8.4.0
41
52
 
42
53
  ## [12.1.1](https://github.com/Raidiant-io/notifai/compare/v12.1.0...v12.1.1) (2026-10-15)
43
54
 
package/bin/notifai.mjs CHANGED
@@ -7046,9 +7046,49 @@ function releaseMaterialPath(value) {
7046
7046
 
7047
7047
  // apps/cli/src/version.js
7048
7048
  var SEMVER = /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[A-Za-z-][0-9A-Za-z-]*)(?:\.(?:0|[1-9]\d*|\d*[A-Za-z-][0-9A-Za-z-]*))*))?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/;
7049
+ var NUMERIC_IDENTIFIER = /^\d+$/;
7049
7050
  function isSemVer(value) {
7050
7051
  return SEMVER.test(value);
7051
7052
  }
7053
+ function compareDigits(left, right) {
7054
+ if (left.length !== right.length) return left.length < right.length ? -1 : 1;
7055
+ return left === right ? 0 : left < right ? -1 : 1;
7056
+ }
7057
+ function comparePrerelease(left, right) {
7058
+ for (let index = 0; index < Math.max(left.length, right.length); index += 1) {
7059
+ const a = left[index];
7060
+ const b2 = right[index];
7061
+ if (a === void 0) return -1;
7062
+ if (b2 === void 0) return 1;
7063
+ const aNumeric = NUMERIC_IDENTIFIER.test(a);
7064
+ const bNumeric = NUMERIC_IDENTIFIER.test(b2);
7065
+ const order = aNumeric && bNumeric ? compareDigits(a, b2) : aNumeric !== bNumeric ? aNumeric ? -1 : 1 : a === b2 ? 0 : a < b2 ? -1 : 1;
7066
+ if (order !== 0) return order;
7067
+ }
7068
+ return 0;
7069
+ }
7070
+ function compareReleasePrecedence(left, right) {
7071
+ const a = SEMVER.exec(left);
7072
+ const b2 = SEMVER.exec(right);
7073
+ if (a === null || b2 === null) return "unparseable";
7074
+ for (let index = 1; index <= 3; index += 1) {
7075
+ const order2 = compareDigits(
7076
+ /** @type {string} */
7077
+ a[index],
7078
+ /** @type {string} */
7079
+ b2[index]
7080
+ );
7081
+ if (order2 !== 0) return order2 < 0 ? "before" : "after";
7082
+ }
7083
+ const aPrerelease = a[4];
7084
+ const bPrerelease = b2[4];
7085
+ if (aPrerelease === void 0 || bPrerelease === void 0) {
7086
+ if (aPrerelease === bPrerelease) return "equal";
7087
+ return aPrerelease === void 0 ? "after" : "before";
7088
+ }
7089
+ const order = comparePrerelease(aPrerelease.split("."), bPrerelease.split("."));
7090
+ return order === 0 ? "equal" : order < 0 ? "before" : "after";
7091
+ }
7052
7092
  function isPrerelease(value) {
7053
7093
  return SEMVER.exec(value)?.[4] !== void 0;
7054
7094
  }
@@ -7192,15 +7232,23 @@ var Distribution = class {
7192
7232
  async resolveRelease(options) {
7193
7233
  if (!["stable", "beta"].includes(options.channel)) throw new Error("Unknown release channel");
7194
7234
  if (!RELEASE_TARGETS.includes(options.target)) throw new Error("Unsupported release target");
7195
- const bytes = (await this.download(`https://raw.githubusercontent.com/${REPOSITORY}/release-metadata/${options.channel}.json`, MAX_METADATA)).toString("utf8");
7196
- const channel = this.verifyChannel(bytes, options.channel, options.seen);
7197
- options.acceptChannel?.(bytes);
7235
+ const records = [];
7236
+ const seen = {};
7237
+ for (const name of options.channel === "beta" ? ["beta", "stable"] : ["stable"]) {
7238
+ const bytes2 = (await this.download(`https://raw.githubusercontent.com/${REPOSITORY}/release-metadata/${name}.json`, MAX_METADATA)).toString("utf8");
7239
+ const record2 = this.verifyChannel(bytes2, name, options.seen?.[name]);
7240
+ options.acceptChannel?.(name, bytes2);
7241
+ seen[name] = Object.freeze({ sequence: record2.sequence, digest: sha256(bytes2) });
7242
+ records.push({ record: record2, bytes: bytes2 });
7243
+ }
7244
+ const chosen = records.reduce((best, next) => compareReleasePrecedence(next.record.version, best.record.version) === "after" ? next : best);
7245
+ const { record: channel, bytes } = chosen;
7198
7246
  const selected = options.version ?? channel.version;
7199
7247
  if (!version(selected)) throw new Error("Invalid exact release version");
7200
7248
  if (options.channel === "stable" && isPrerelease(selected)) throw new Error("Prerelease cannot enter the stable channel");
7201
- if (channel.withdrawn_versions.includes(selected)) throw new Error("This release has been withdrawn");
7249
+ if (records.some((entry) => entry.record.withdrawn_versions.includes(selected))) throw new Error("This release has been withdrawn");
7202
7250
  const signedInventory = (await this.download(releaseUrl(selected, "inventory.json"), MAX_METADATA)).toString("utf8");
7203
- if (selected === channel.version && sha256(signedInventory) !== channel.inventory_sha256) {
7251
+ if (records.some((entry) => selected === entry.record.version && sha256(signedInventory) !== entry.record.inventory_sha256)) {
7204
7252
  throw new Error("Release inventory integrity mismatch");
7205
7253
  }
7206
7254
  const inventory = this.verifyInventory(signedInventory);
@@ -7209,7 +7257,7 @@ var Distribution = class {
7209
7257
  if (!artifact) throw new Error("Release does not contain the requested target");
7210
7258
  return Object.freeze({
7211
7259
  channel: options.channel,
7212
- seen: Object.freeze({ sequence: channel.sequence, digest: sha256(bytes) }),
7260
+ seen: Object.freeze(seen),
7213
7261
  inventory,
7214
7262
  signedInventory,
7215
7263
  signedChannel: bytes,
package/data/release.json CHANGED
@@ -1 +1 @@
1
- {"version":"13.0.0-beta.1","source_revision":"252c3a1fc237f064f4cd22ebc1f7aa35982690f3"}
1
+ {"version":"13.1.0-beta.2","source_revision":"dee351ef7d9f426a908cc5724da4d7057f3bae4c"}
package/inventory.json CHANGED
@@ -1 +1 @@
1
- {"key_id":"notifai-release-2026-10","payload":"eyJzY2hlbWEiOjIsInZlcnNpb24iOiIxMy4wLjAtYmV0YS4xIiwic291cmNlX3JldmlzaW9uIjoiMjUyYzNhMWZjMjM3ZjA2NGY0Y2QyMmViYzFmN2FhMzU5ODI2OTBmMyIsImxvY2FsX2NvbnRpbnVpdHkiOnsiY29udHJhY3QiOiJub3RpZmFpLXNlc3Npb24tc3RhdGUtdjIiLCJjb21wYXRpYmxlIjp7Im5vdGlmYWktc2Vzc2lvbi1zdGF0ZS12MSI6WyJidW4tZGFyd2luLWFybTY0IiwiYnVuLWRhcndpbi14NjQiLCJidW4td2luZG93cy1hcm02NCIsImJ1bi13aW5kb3dzLXg2NCJdfX0sInN0b3JlX3NjaGVtYSI6MiwibGF1bmNoZXJfc2NoZW1hIjoxLCJhcnRpZmFjdHMiOlt7InRhcmdldCI6ImJ1bi1kYXJ3aW4tYXJtNjQiLCJmaWxlbmFtZSI6Im5vdGlmYWktMTMuMC4wLWJldGEuMS1kYXJ3aW4tYXJtNjQudGFyLmd6IiwiYnl0ZXMiOjI3ODM4NDg2LCJzaGEyNTYiOiI3ZjEzNDJhZDZlYTI5Y2VmZTc4YTFjNzU2NDkxOTE3NmE0YTg3ZGVkZDZjYzk2NzcyMGY0MzRhZjExN2M5MjljIiwicnVudGltZV9zaGEyNTYiOiJhNmVhOTJlNWNmMzI4M2RiMjI3ZTFiZjdkYTE1NGI5MWU1OWM2ODA3ZTI3OGYyYjdkMmNhNTY4MjU5MDQ4MmYxIiwibGF1bmNoZXJfc2hhMjU2IjoiZmNiZWRkMGU4N2E3OGZiNjliMzczOTQ4ZTVhOTUwMTlmYTY2YzU1NTdiZWMyZWRhNDkwY2E5YjJiNzIzOTI3OSIsIm1hdGVyaWFscyI6W3sicGF0aCI6IkJVTi1MSUNFTlNFLm1kIiwiYnl0ZXMiOjU2MTMsInNoYTI1NiI6ImI5Y2FmNTI3Mjg2OTFiNDA1N2UzNzEyMzJjMjIxYTEzMjg4MzE5OGJlMmYzZDJkZGY5MmM5MDQwNGM5ODRiMWEifSx7InBhdGgiOiJDT1JSRVNQT05ESU5HLVNPVVJDRVMuanNvbiIsImJ5dGVzIjoyMDIwLCJzaGEyNTYiOiJmYTRjMzQ0ODAxMTU0ODcyZDYxNzllZTJlZjQ5OTIzZGM5Zjg5MDllZjAxZTUzYjg2ZThmNTdjNjI1ODIzMjc0In0seyJwYXRoIjoiTElDRU5TRS50eHQiLCJieXRlcyI6MTEzNDYsInNoYTI1NiI6Ijk0NGMxM2ZmMGZlNzk1ZTI5MWZkMWM0OTQ3M2Y5OGQ0ZmRmMWY3NDYzOGUwMWY4ODI3NjljZDRjYWU3OGI3M2QifSx7InBhdGgiOiJOT1RJQ0UtUFJPVkVOQU5DRS5qc29uIiwiYnl0ZXMiOjQ1MDI2NCwic2hhMjU2IjoiNTM0ZGQ1OWZkNGMxNWRkMTM4MmU4MjdmMGI4NWMxOWY3YzY5OGUyMzVmOTI5OWVhYTIwMmRiNTQwMDgzNDI4OCJ9LHsicGF0aCI6Ik5PVElDRS50eHQiLCJieXRlcyI6NjI2LCJzaGEyNTYiOiIxZGZiZjQ0OThkYzAyNmIyMDU5YzBiMGI1ZWI1ZmExZDgyYWUzMzRlNThmZjExZTdjMjk3MzMzMjdmMjVjNGViIn0seyJwYXRoIjoiUkVCVUlMRElORy5tZCIsImJ5dGVzIjozODQyLCJzaGEyNTYiOiJjZTYwNWI1ZmRiMDMxOTMzOWY5ZjgzZjJmZTdjY2NiYzdlNTcyNmZkZjQ5NGRhNmUyODQzM2JlZjgyOWViMGJlIn0seyJwYXRoIjoiU09VUkNFLU5PVElDRVMudHh0IiwiYnl0ZXMiOjkwMTc3NzEsInNoYTI1NiI6Ijg5OTc2YmVjYzI1NjU0MGU2ZDJlODA3YjQ3YTRlMDVlODg5OTgyYzA2MjJmYzA0NDEzYTdiZjdlNzdhNzdlMzcifSx7InBhdGgiOiJUSElSRC1QQVJUWS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjoyNDkxNDk2LCJzaGEyNTYiOiIxMTY0NDdlZmY3Nzg5MzUxMTc5N2VmNDc2MDExZGVjODAwMjI0ZjkxZTMzNDJlM2Q2NTcwNzA4NzEyYjRiNzcyIn0seyJwYXRoIjoibGljZW5zZXMvbnBtLWNtZC1zaGltLnR4dCIsImJ5dGVzIjo4MTMsInNoYTI1NiI6ImFmZmZkZjEyMDgxMTIyNzQ5YzRiNzFjNWIxYzExYmM2NTlkNzkyNDJkMTllMThmNWU4ZGJhYjA0YTQ1ZTM2YmIifSx7InBhdGgiOiJucG0tYWRhcHRlci1maWxlcy5qc29uIiwiYnl0ZXMiOjE2NjYsInNoYTI1NiI6IjZiNzZmNTA0NzI2NzZhYzY4YzhlNzg2MmJjN2VmODhiNjgzOTVjNWNlMTIxZDU5ZTRkNjg3ZTMwOTk1NjM0MjIifV19LHsidGFyZ2V0IjoiYnVuLWRhcndpbi14NjQiLCJmaWxlbmFtZSI6Im5vdGlmYWktMTMuMC4wLWJldGEuMS1kYXJ3aW4teDY0LnRhci5neiIsImJ5dGVzIjozMDA3NjU2Mywic2hhMjU2IjoiOThhODU3MDI4MjBjZWVjYzA4OTY4NjQwMTJjZWI4MmYxZDkxNTI2Y2MwYjBmYmYxZWNjZWNkYzFlN2JhNDJmMSIsInJ1bnRpbWVfc2hhMjU2IjoiNGE4MTdlYWIyY2I5NTY4YmEyNDg0Mzk1M2NkZjljZDcyMzZmODQ4YzVmZGQzMWIzNDljODA4ZGU3MDhkNjUxMCIsImxhdW5jaGVyX3NoYTI1NiI6ImQ0ODhmMzU3NjkzZDYxMTNhYjk5MGJlZDAxZTQxYzk5Y2YwYzUxYmJhNDBhMzQ4ZGJjMjI0MDAzYjU5NmJkMjYiLCJtYXRlcmlhbHMiOlt7InBhdGgiOiJCVU4tTElDRU5TRS5tZCIsImJ5dGVzIjo1NjEzLCJzaGEyNTYiOiJiOWNhZjUyNzI4NjkxYjQwNTdlMzcxMjMyYzIyMWExMzI4ODMxOThiZTJmM2QyZGRmOTJjOTA0MDRjOTg0YjFhIn0seyJwYXRoIjoiQ09SUkVTUE9ORElORy1TT1VSQ0VTLmpzb24iLCJieXRlcyI6MjAyMCwic2hhMjU2IjoiZmE0YzM0NDgwMTE1NDg3MmQ2MTc5ZWUyZWY0OTkyM2RjOWY4OTA5ZWYwMWU1M2I4NmU4ZjU3YzYyNTgyMzI3NCJ9LHsicGF0aCI6IkxJQ0VOU0UudHh0IiwiYnl0ZXMiOjExMzQ2LCJzaGEyNTYiOiI5NDRjMTNmZjBmZTc5NWUyOTFmZDFjNDk0NzNmOThkNGZkZjFmNzQ2MzhlMDFmODgyNzY5Y2Q0Y2FlNzhiNzNkIn0seyJwYXRoIjoiTk9USUNFLVBST1ZFTkFOQ0UuanNvbiIsImJ5dGVzIjo0NTAyNjQsInNoYTI1NiI6IjUzNGRkNTlmZDRjMTVkZDEzODJlODI3ZjBiODVjMTlmN2M2OThlMjM1ZjkyOTllYWEyMDJkYjU0MDA4MzQyODgifSx7InBhdGgiOiJOT1RJQ0UudHh0IiwiYnl0ZXMiOjYyNiwic2hhMjU2IjoiMWRmYmY0NDk4ZGMwMjZiMjA1OWMwYjBiNWViNWZhMWQ4MmFlMzM0ZTU4ZmYxMWU3YzI5NzMzMzI3ZjI1YzRlYiJ9LHsicGF0aCI6IlJFQlVJTERJTkcubWQiLCJieXRlcyI6Mzg0Miwic2hhMjU2IjoiY2U2MDViNWZkYjAzMTkzMzlmOWY4M2YyZmU3Y2NjYmM3ZTU3MjZmZGY0OTRkYTZlMjg0MzNiZWY4MjllYjBiZSJ9LHsicGF0aCI6IlNPVVJDRS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjo5MDE3NzcxLCJzaGEyNTYiOiI4OTk3NmJlY2MyNTY1NDBlNmQyZTgwN2I0N2E0ZTA1ZTg4OTk4MmMwNjIyZmMwNDQxM2E3YmY3ZTc3YTc3ZTM3In0seyJwYXRoIjoiVEhJUkQtUEFSVFktTk9USUNFUy50eHQiLCJieXRlcyI6MjQ5MTQ5Niwic2hhMjU2IjoiMTE2NDQ3ZWZmNzc4OTM1MTE3OTdlZjQ3NjAxMWRlYzgwMDIyNGY5MWUzMzQyZTNkNjU3MDcwODcxMmI0Yjc3MiJ9LHsicGF0aCI6ImxpY2Vuc2VzL25wbS1jbWQtc2hpbS50eHQiLCJieXRlcyI6ODEzLCJzaGEyNTYiOiJhZmZmZGYxMjA4MTEyMjc0OWM0YjcxYzViMWMxMWJjNjU5ZDc5MjQyZDE5ZTE4ZjVlOGRiYWIwNGE0NWUzNmJiIn0seyJwYXRoIjoibnBtLWFkYXB0ZXItZmlsZXMuanNvbiIsImJ5dGVzIjoxNjY2LCJzaGEyNTYiOiI2Yjc2ZjUwNDcyNjc2YWM2OGM4ZTc4NjJiYzdlZjg4YjY4Mzk1YzVjZTEyMWQ1OWU0ZDY4N2UzMDk5NTYzNDIyIn1dfSx7InRhcmdldCI6ImJ1bi1saW51eC1hcm02NCIsImZpbGVuYW1lIjoibm90aWZhaS0xMy4wLjAtYmV0YS4xLWxpbnV4LWFybTY0LnRhci5neiIsImJ5dGVzIjozOTM4NDM3OCwic2hhMjU2IjoiMjc3NTlhODM4MDU5M2YzZmIzYWExMDFlNmRmZWFmZTA4YmI3MDE4NjA4MGRlMmRlOTQ3NzBiYzFjNGNmZWJjYiIsInJ1bnRpbWVfc2hhMjU2IjoiZGJmNzE4ZjJhNDg4YWUzNTg3MDQyYWYxZDE0ZjYxOWUwNzc3NTViMTI3ZGQ0MDA1MDRkMmE2M2VhYmJiMzJmMyIsImxhdW5jaGVyX3NoYTI1NiI6ImY4MGZkYmYzM2ZiYWEzOTAzYzU0NTI2ZjE5NTZjNjE5ZjJmNDcwMWY5ODcxOTBjNWJhMmI0ZDU3NGI0MzEwYTQiLCJtYXRlcmlhbHMiOlt7InBhdGgiOiJCVU4tTElDRU5TRS5tZCIsImJ5dGVzIjo1NjEzLCJzaGEyNTYiOiJiOWNhZjUyNzI4NjkxYjQwNTdlMzcxMjMyYzIyMWExMzI4ODMxOThiZTJmM2QyZGRmOTJjOTA0MDRjOTg0YjFhIn0seyJwYXRoIjoiQ09SUkVTUE9ORElORy1TT1VSQ0VTLmpzb24iLCJieXRlcyI6MjAyMCwic2hhMjU2IjoiZmE0YzM0NDgwMTE1NDg3MmQ2MTc5ZWUyZWY0OTkyM2RjOWY4OTA5ZWYwMWU1M2I4NmU4ZjU3YzYyNTgyMzI3NCJ9LHsicGF0aCI6IkxJQ0VOU0UudHh0IiwiYnl0ZXMiOjExMzQ2LCJzaGEyNTYiOiI5NDRjMTNmZjBmZTc5NWUyOTFmZDFjNDk0NzNmOThkNGZkZjFmNzQ2MzhlMDFmODgyNzY5Y2Q0Y2FlNzhiNzNkIn0seyJwYXRoIjoiTk9USUNFLVBST1ZFTkFOQ0UuanNvbiIsImJ5dGVzIjo0NTAyNjQsInNoYTI1NiI6IjUzNGRkNTlmZDRjMTVkZDEzODJlODI3ZjBiODVjMTlmN2M2OThlMjM1ZjkyOTllYWEyMDJkYjU0MDA4MzQyODgifSx7InBhdGgiOiJOT1RJQ0UudHh0IiwiYnl0ZXMiOjYyNiwic2hhMjU2IjoiMWRmYmY0NDk4ZGMwMjZiMjA1OWMwYjBiNWViNWZhMWQ4MmFlMzM0ZTU4ZmYxMWU3YzI5NzMzMzI3ZjI1YzRlYiJ9LHsicGF0aCI6IlJFQlVJTERJTkcubWQiLCJieXRlcyI6Mzg0Miwic2hhMjU2IjoiY2U2MDViNWZkYjAzMTkzMzlmOWY4M2YyZmU3Y2NjYmM3ZTU3MjZmZGY0OTRkYTZlMjg0MzNiZWY4MjllYjBiZSJ9LHsicGF0aCI6IlNPVVJDRS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjo5MDE3NzcxLCJzaGEyNTYiOiI4OTk3NmJlY2MyNTY1NDBlNmQyZTgwN2I0N2E0ZTA1ZTg4OTk4MmMwNjIyZmMwNDQxM2E3YmY3ZTc3YTc3ZTM3In0seyJwYXRoIjoiVEhJUkQtUEFSVFktTk9USUNFUy50eHQiLCJieXRlcyI6MjQ5MTQ5Niwic2hhMjU2IjoiMTE2NDQ3ZWZmNzc4OTM1MTE3OTdlZjQ3NjAxMWRlYzgwMDIyNGY5MWUzMzQyZTNkNjU3MDcwODcxMmI0Yjc3MiJ9LHsicGF0aCI6ImxpY2Vuc2VzL25wbS1jbWQtc2hpbS50eHQiLCJieXRlcyI6ODEzLCJzaGEyNTYiOiJhZmZmZGYxMjA4MTEyMjc0OWM0YjcxYzViMWMxMWJjNjU5ZDc5MjQyZDE5ZTE4ZjVlOGRiYWIwNGE0NWUzNmJiIn0seyJwYXRoIjoibnBtLWFkYXB0ZXItZmlsZXMuanNvbiIsImJ5dGVzIjoxNjY2LCJzaGEyNTYiOiI2Yjc2ZjUwNDcyNjc2YWM2OGM4ZTc4NjJiYzdlZjg4YjY4Mzk1YzVjZTEyMWQ1OWU0ZDY4N2UzMDk5NTYzNDIyIn1dfSx7InRhcmdldCI6ImJ1bi1saW51eC14NjQiLCJmaWxlbmFtZSI6Im5vdGlmYWktMTMuMC4wLWJldGEuMS1saW51eC14NjQudGFyLmd6IiwiYnl0ZXMiOjM4OTQ3NzMzLCJzaGEyNTYiOiI2NDI1NDEzZTBlZGU3YWY5MWY4YjE4MDcyNjc3MDBhMjRlZTY4OTAzYmRlOTVjZGE1YTM2YmJjNDY0YjM1ZDFhIiwicnVudGltZV9zaGEyNTYiOiIzOGRkMTk4ZjE1NjI4MDBmMzBjNzVhYmQ3YWU1YzY3ZDUyODg5ZDgxYWE5N2RhOTc3YjQ5OGUzNGM4ZWU1ZjNkIiwibGF1bmNoZXJfc2hhMjU2IjoiOGIxZjA5M2U0NGM2ZmQzOTg0MWUzOWJkZTk3YjI3MTUwNDhkMzk2M2I3MDRmNjJmMmFiZWI1OTAyYzdmYmJlNyIsIm1hdGVyaWFscyI6W3sicGF0aCI6IkJVTi1MSUNFTlNFLm1kIiwiYnl0ZXMiOjU2MTMsInNoYTI1NiI6ImI5Y2FmNTI3Mjg2OTFiNDA1N2UzNzEyMzJjMjIxYTEzMjg4MzE5OGJlMmYzZDJkZGY5MmM5MDQwNGM5ODRiMWEifSx7InBhdGgiOiJDT1JSRVNQT05ESU5HLVNPVVJDRVMuanNvbiIsImJ5dGVzIjoyMDIwLCJzaGEyNTYiOiJmYTRjMzQ0ODAxMTU0ODcyZDYxNzllZTJlZjQ5OTIzZGM5Zjg5MDllZjAxZTUzYjg2ZThmNTdjNjI1ODIzMjc0In0seyJwYXRoIjoiTElDRU5TRS50eHQiLCJieXRlcyI6MTEzNDYsInNoYTI1NiI6Ijk0NGMxM2ZmMGZlNzk1ZTI5MWZkMWM0OTQ3M2Y5OGQ0ZmRmMWY3NDYzOGUwMWY4ODI3NjljZDRjYWU3OGI3M2QifSx7InBhdGgiOiJOT1RJQ0UtUFJPVkVOQU5DRS5qc29uIiwiYnl0ZXMiOjQ1MDI2NCwic2hhMjU2IjoiNTM0ZGQ1OWZkNGMxNWRkMTM4MmU4MjdmMGI4NWMxOWY3YzY5OGUyMzVmOTI5OWVhYTIwMmRiNTQwMDgzNDI4OCJ9LHsicGF0aCI6Ik5PVElDRS50eHQiLCJieXRlcyI6NjI2LCJzaGEyNTYiOiIxZGZiZjQ0OThkYzAyNmIyMDU5YzBiMGI1ZWI1ZmExZDgyYWUzMzRlNThmZjExZTdjMjk3MzMzMjdmMjVjNGViIn0seyJwYXRoIjoiUkVCVUlMRElORy5tZCIsImJ5dGVzIjozODQyLCJzaGEyNTYiOiJjZTYwNWI1ZmRiMDMxOTMzOWY5ZjgzZjJmZTdjY2NiYzdlNTcyNmZkZjQ5NGRhNmUyODQzM2JlZjgyOWViMGJlIn0seyJwYXRoIjoiU09VUkNFLU5PVElDRVMudHh0IiwiYnl0ZXMiOjkwMTc3NzEsInNoYTI1NiI6Ijg5OTc2YmVjYzI1NjU0MGU2ZDJlODA3YjQ3YTRlMDVlODg5OTgyYzA2MjJmYzA0NDEzYTdiZjdlNzdhNzdlMzcifSx7InBhdGgiOiJUSElSRC1QQVJUWS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjoyNDkxNDk2LCJzaGEyNTYiOiIxMTY0NDdlZmY3Nzg5MzUxMTc5N2VmNDc2MDExZGVjODAwMjI0ZjkxZTMzNDJlM2Q2NTcwNzA4NzEyYjRiNzcyIn0seyJwYXRoIjoibGljZW5zZXMvbnBtLWNtZC1zaGltLnR4dCIsImJ5dGVzIjo4MTMsInNoYTI1NiI6ImFmZmZkZjEyMDgxMTIyNzQ5YzRiNzFjNWIxYzExYmM2NTlkNzkyNDJkMTllMThmNWU4ZGJhYjA0YTQ1ZTM2YmIifSx7InBhdGgiOiJucG0tYWRhcHRlci1maWxlcy5qc29uIiwiYnl0ZXMiOjE2NjYsInNoYTI1NiI6IjZiNzZmNTA0NzI2NzZhYzY4YzhlNzg2MmJjN2VmODhiNjgzOTVjNWNlMTIxZDU5ZTRkNjg3ZTMwOTk1NjM0MjIifV19LHsidGFyZ2V0IjoiYnVuLXdpbmRvd3MtYXJtNjQiLCJmaWxlbmFtZSI6Im5vdGlmYWktMTMuMC4wLWJldGEuMS13aW5kb3dzLWFybTY0LnppcCIsImJ5dGVzIjozODc4MDE3Nywic2hhMjU2IjoiOTkxZjdlOTc2YzY3NTUwN2YzM2E0NjQxMjcyZjljM2MzZmQxZDhkZDNjZTU3N2Y3MGNmNmY1YzZhNzBhMzU5ZiIsInJ1bnRpbWVfc2hhMjU2IjoiOGIwZjY2OGExNGEzZDZlODJkODI3ZjRkYjk3NDhhYjlmZWRlZjNmZTY2ZmRkYTNmNmNmOGUxYjE1ZjU2OGE1OSIsImxhdW5jaGVyX3NoYTI1NiI6ImI5OTY4ODBmY2EwYmIxMjdiNzE1NjNkZTc5NWMzNTI2OTUwNDcwNGFjZmFkYTRlZjA3Yzk2YjIzZmFkNGViMmUiLCJtYXRlcmlhbHMiOlt7InBhdGgiOiJCVU4tTElDRU5TRS5tZCIsImJ5dGVzIjo1NjEzLCJzaGEyNTYiOiJiOWNhZjUyNzI4NjkxYjQwNTdlMzcxMjMyYzIyMWExMzI4ODMxOThiZTJmM2QyZGRmOTJjOTA0MDRjOTg0YjFhIn0seyJwYXRoIjoiQ09SUkVTUE9ORElORy1TT1VSQ0VTLmpzb24iLCJieXRlcyI6MjAyMCwic2hhMjU2IjoiZmE0YzM0NDgwMTE1NDg3MmQ2MTc5ZWUyZWY0OTkyM2RjOWY4OTA5ZWYwMWU1M2I4NmU4ZjU3YzYyNTgyMzI3NCJ9LHsicGF0aCI6IkxJQ0VOU0UudHh0IiwiYnl0ZXMiOjExMzQ2LCJzaGEyNTYiOiI5NDRjMTNmZjBmZTc5NWUyOTFmZDFjNDk0NzNmOThkNGZkZjFmNzQ2MzhlMDFmODgyNzY5Y2Q0Y2FlNzhiNzNkIn0seyJwYXRoIjoiTk9USUNFLVBST1ZFTkFOQ0UuanNvbiIsImJ5dGVzIjo0NTAyNjQsInNoYTI1NiI6IjUzNGRkNTlmZDRjMTVkZDEzODJlODI3ZjBiODVjMTlmN2M2OThlMjM1ZjkyOTllYWEyMDJkYjU0MDA4MzQyODgifSx7InBhdGgiOiJOT1RJQ0UudHh0IiwiYnl0ZXMiOjYyNiwic2hhMjU2IjoiMWRmYmY0NDk4ZGMwMjZiMjA1OWMwYjBiNWViNWZhMWQ4MmFlMzM0ZTU4ZmYxMWU3YzI5NzMzMzI3ZjI1YzRlYiJ9LHsicGF0aCI6IlJFQlVJTERJTkcubWQiLCJieXRlcyI6Mzg0Miwic2hhMjU2IjoiY2U2MDViNWZkYjAzMTkzMzlmOWY4M2YyZmU3Y2NjYmM3ZTU3MjZmZGY0OTRkYTZlMjg0MzNiZWY4MjllYjBiZSJ9LHsicGF0aCI6IlNPVVJDRS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjo5MDE3NzcxLCJzaGEyNTYiOiI4OTk3NmJlY2MyNTY1NDBlNmQyZTgwN2I0N2E0ZTA1ZTg4OTk4MmMwNjIyZmMwNDQxM2E3YmY3ZTc3YTc3ZTM3In0seyJwYXRoIjoiVEhJUkQtUEFSVFktTk9USUNFUy50eHQiLCJieXRlcyI6MjQ5MTQ5Niwic2hhMjU2IjoiMTE2NDQ3ZWZmNzc4OTM1MTE3OTdlZjQ3NjAxMWRlYzgwMDIyNGY5MWUzMzQyZTNkNjU3MDcwODcxMmI0Yjc3MiJ9LHsicGF0aCI6ImxpY2Vuc2VzL25wbS1jbWQtc2hpbS50eHQiLCJieXRlcyI6ODEzLCJzaGEyNTYiOiJhZmZmZGYxMjA4MTEyMjc0OWM0YjcxYzViMWMxMWJjNjU5ZDc5MjQyZDE5ZTE4ZjVlOGRiYWIwNGE0NWUzNmJiIn0seyJwYXRoIjoibnBtLWFkYXB0ZXItZmlsZXMuanNvbiIsImJ5dGVzIjoxNjY2LCJzaGEyNTYiOiI2Yjc2ZjUwNDcyNjc2YWM2OGM4ZTc4NjJiYzdlZjg4YjY4Mzk1YzVjZTEyMWQ1OWU0ZDY4N2UzMDk5NTYzNDIyIn1dfSx7InRhcmdldCI6ImJ1bi13aW5kb3dzLXg2NCIsImZpbGVuYW1lIjoibm90aWZhaS0xMy4wLjAtYmV0YS4xLXdpbmRvd3MteDY0LnppcCIsImJ5dGVzIjo0MTkyNjU1NSwic2hhMjU2IjoiNGRkMDYwODEyNDgxZGQ2YjVmZTNlNzMzZjNhZmM0YmQ5YWMxNmY5NTRhYzZiNDIxNDE1MTE3NmUwMjIzYjY5NyIsInJ1bnRpbWVfc2hhMjU2IjoiYmM5MDA3OTg4YmJlYzZiNTM3MTIwMjFhNjRkMjI5YmMyNDhmZDdkMTE0MTkwODliMjM2MjE5YzQ2NzVlZDVhYSIsImxhdW5jaGVyX3NoYTI1NiI6IjIzMzBjM2VhZDg0MTg0NjMzZDJkNzRlNTUyZGM5YTliZDE5ODBiNzA3ZmY1ODAwNTgyNWU4NzQ5OTg1MzMzODQiLCJtYXRlcmlhbHMiOlt7InBhdGgiOiJCVU4tTElDRU5TRS5tZCIsImJ5dGVzIjo1NjEzLCJzaGEyNTYiOiJiOWNhZjUyNzI4NjkxYjQwNTdlMzcxMjMyYzIyMWExMzI4ODMxOThiZTJmM2QyZGRmOTJjOTA0MDRjOTg0YjFhIn0seyJwYXRoIjoiQ09SUkVTUE9ORElORy1TT1VSQ0VTLmpzb24iLCJieXRlcyI6MjAyMCwic2hhMjU2IjoiZmE0YzM0NDgwMTE1NDg3MmQ2MTc5ZWUyZWY0OTkyM2RjOWY4OTA5ZWYwMWU1M2I4NmU4ZjU3YzYyNTgyMzI3NCJ9LHsicGF0aCI6IkxJQ0VOU0UudHh0IiwiYnl0ZXMiOjExMzQ2LCJzaGEyNTYiOiI5NDRjMTNmZjBmZTc5NWUyOTFmZDFjNDk0NzNmOThkNGZkZjFmNzQ2MzhlMDFmODgyNzY5Y2Q0Y2FlNzhiNzNkIn0seyJwYXRoIjoiTk9USUNFLVBST1ZFTkFOQ0UuanNvbiIsImJ5dGVzIjo0NTAyNjQsInNoYTI1NiI6IjUzNGRkNTlmZDRjMTVkZDEzODJlODI3ZjBiODVjMTlmN2M2OThlMjM1ZjkyOTllYWEyMDJkYjU0MDA4MzQyODgifSx7InBhdGgiOiJOT1RJQ0UudHh0IiwiYnl0ZXMiOjYyNiwic2hhMjU2IjoiMWRmYmY0NDk4ZGMwMjZiMjA1OWMwYjBiNWViNWZhMWQ4MmFlMzM0ZTU4ZmYxMWU3YzI5NzMzMzI3ZjI1YzRlYiJ9LHsicGF0aCI6IlJFQlVJTERJTkcubWQiLCJieXRlcyI6Mzg0Miwic2hhMjU2IjoiY2U2MDViNWZkYjAzMTkzMzlmOWY4M2YyZmU3Y2NjYmM3ZTU3MjZmZGY0OTRkYTZlMjg0MzNiZWY4MjllYjBiZSJ9LHsicGF0aCI6IlNPVVJDRS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjo5MDE3NzcxLCJzaGEyNTYiOiI4OTk3NmJlY2MyNTY1NDBlNmQyZTgwN2I0N2E0ZTA1ZTg4OTk4MmMwNjIyZmMwNDQxM2E3YmY3ZTc3YTc3ZTM3In0seyJwYXRoIjoiVEhJUkQtUEFSVFktTk9USUNFUy50eHQiLCJieXRlcyI6MjQ5MTQ5Niwic2hhMjU2IjoiMTE2NDQ3ZWZmNzc4OTM1MTE3OTdlZjQ3NjAxMWRlYzgwMDIyNGY5MWUzMzQyZTNkNjU3MDcwODcxMmI0Yjc3MiJ9LHsicGF0aCI6ImxpY2Vuc2VzL25wbS1jbWQtc2hpbS50eHQiLCJieXRlcyI6ODEzLCJzaGEyNTYiOiJhZmZmZGYxMjA4MTEyMjc0OWM0YjcxYzViMWMxMWJjNjU5ZDc5MjQyZDE5ZTE4ZjVlOGRiYWIwNGE0NWUzNmJiIn0seyJwYXRoIjoibnBtLWFkYXB0ZXItZmlsZXMuanNvbiIsImJ5dGVzIjoxNjY2LCJzaGEyNTYiOiI2Yjc2ZjUwNDcyNjc2YWM2OGM4ZTc4NjJiYzdlZjg4YjY4Mzk1YzVjZTEyMWQ1OWU0ZDY4N2UzMDk5NTYzNDIyIn1dfV19","signature":"boCg7PyO3Lf5FC98asR3PmC4e3jWd0OEadiEL83/Zpy6LgX1Mb+NIdUE/fHKKmtB76YDEPWYptqEL2ayVvQhDg=="}
1
+ {"key_id":"notifai-release-2026-10","payload":"eyJzY2hlbWEiOjIsInZlcnNpb24iOiIxMy4xLjAtYmV0YS4yIiwic291cmNlX3JldmlzaW9uIjoiZGVlMzUxZWY3ZDlmNDI2YTkwOGNjNTcyNGRhNGQ3MDU3ZjNiYWU0YyIsImxvY2FsX2NvbnRpbnVpdHkiOnsiY29udHJhY3QiOiJub3RpZmFpLXNlc3Npb24tc3RhdGUtdjIiLCJjb21wYXRpYmxlIjp7Im5vdGlmYWktc2Vzc2lvbi1zdGF0ZS12MSI6WyJidW4tZGFyd2luLWFybTY0IiwiYnVuLWRhcndpbi14NjQiLCJidW4td2luZG93cy1hcm02NCIsImJ1bi13aW5kb3dzLXg2NCJdfX0sInN0b3JlX3NjaGVtYSI6MiwibGF1bmNoZXJfc2NoZW1hIjoxLCJhcnRpZmFjdHMiOlt7InRhcmdldCI6ImJ1bi1kYXJ3aW4tYXJtNjQiLCJmaWxlbmFtZSI6Im5vdGlmYWktMTMuMS4wLWJldGEuMi1kYXJ3aW4tYXJtNjQudGFyLmd6IiwiYnl0ZXMiOjI3ODQ5MzI1LCJzaGEyNTYiOiJlYjZmMmFjMGRkN2NiMDBlY2M1YTBkODE4NzdjYWE1YjNlNzhkMjM3YTQxZDdmYzQ5ZGYzMmVkNDJhMGQ2NmFjIiwicnVudGltZV9zaGEyNTYiOiIxYTE2NGY3ZjY2ODAwMjY3ZjNiZTA0NDkyMDExNTY0YzgyZjdjZjg0M2NkZDVmYmQ0NDE4ZTc3MzE5MWYxZDY1IiwibGF1bmNoZXJfc2hhMjU2IjoiZjQwYjUwMDRmOTI3MGYzNzExZjA5NTg4YjY4NWNhOTI2ODFiZGEwOGQ0ZDBiNzcxN2YzZDNjYzQ5Y2UxNzNiNSIsIm1hdGVyaWFscyI6W3sicGF0aCI6IkJVTi1MSUNFTlNFLm1kIiwiYnl0ZXMiOjU2MTMsInNoYTI1NiI6ImI5Y2FmNTI3Mjg2OTFiNDA1N2UzNzEyMzJjMjIxYTEzMjg4MzE5OGJlMmYzZDJkZGY5MmM5MDQwNGM5ODRiMWEifSx7InBhdGgiOiJDT1JSRVNQT05ESU5HLVNPVVJDRVMuanNvbiIsImJ5dGVzIjoyMDIwLCJzaGEyNTYiOiJmYTRjMzQ0ODAxMTU0ODcyZDYxNzllZTJlZjQ5OTIzZGM5Zjg5MDllZjAxZTUzYjg2ZThmNTdjNjI1ODIzMjc0In0seyJwYXRoIjoiTElDRU5TRS50eHQiLCJieXRlcyI6MTEzNDYsInNoYTI1NiI6Ijk0NGMxM2ZmMGZlNzk1ZTI5MWZkMWM0OTQ3M2Y5OGQ0ZmRmMWY3NDYzOGUwMWY4ODI3NjljZDRjYWU3OGI3M2QifSx7InBhdGgiOiJOT1RJQ0UtUFJPVkVOQU5DRS5qc29uIiwiYnl0ZXMiOjQ1MDI2NCwic2hhMjU2IjoiNTM0ZGQ1OWZkNGMxNWRkMTM4MmU4MjdmMGI4NWMxOWY3YzY5OGUyMzVmOTI5OWVhYTIwMmRiNTQwMDgzNDI4OCJ9LHsicGF0aCI6Ik5PVElDRS50eHQiLCJieXRlcyI6NjI2LCJzaGEyNTYiOiIxZGZiZjQ0OThkYzAyNmIyMDU5YzBiMGI1ZWI1ZmExZDgyYWUzMzRlNThmZjExZTdjMjk3MzMzMjdmMjVjNGViIn0seyJwYXRoIjoiUkVCVUlMRElORy5tZCIsImJ5dGVzIjozODQyLCJzaGEyNTYiOiJjZTYwNWI1ZmRiMDMxOTMzOWY5ZjgzZjJmZTdjY2NiYzdlNTcyNmZkZjQ5NGRhNmUyODQzM2JlZjgyOWViMGJlIn0seyJwYXRoIjoiU09VUkNFLU5PVElDRVMudHh0IiwiYnl0ZXMiOjkwMTc3NzEsInNoYTI1NiI6Ijg5OTc2YmVjYzI1NjU0MGU2ZDJlODA3YjQ3YTRlMDVlODg5OTgyYzA2MjJmYzA0NDEzYTdiZjdlNzdhNzdlMzcifSx7InBhdGgiOiJUSElSRC1QQVJUWS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjoyNDkxNDk2LCJzaGEyNTYiOiIxMTY0NDdlZmY3Nzg5MzUxMTc5N2VmNDc2MDExZGVjODAwMjI0ZjkxZTMzNDJlM2Q2NTcwNzA4NzEyYjRiNzcyIn0seyJwYXRoIjoibGljZW5zZXMvbnBtLWNtZC1zaGltLnR4dCIsImJ5dGVzIjo4MTMsInNoYTI1NiI6ImFmZmZkZjEyMDgxMTIyNzQ5YzRiNzFjNWIxYzExYmM2NTlkNzkyNDJkMTllMThmNWU4ZGJhYjA0YTQ1ZTM2YmIifSx7InBhdGgiOiJucG0tYWRhcHRlci1maWxlcy5qc29uIiwiYnl0ZXMiOjE2NjYsInNoYTI1NiI6IjEyY2Y4ZDZmYmEzMmUwNWM1MTBkOWJhMDZhMTAyOTliYzVkNjZmZjU3MmNkODE5MzM1YzFhMDIzNTU2NDIwYjcifV19LHsidGFyZ2V0IjoiYnVuLWRhcndpbi14NjQiLCJmaWxlbmFtZSI6Im5vdGlmYWktMTMuMS4wLWJldGEuMi1kYXJ3aW4teDY0LnRhci5neiIsImJ5dGVzIjozMDA4OTM0NCwic2hhMjU2IjoiOWFjZjdkY2YyYWUzN2U2ZWMzZjZmMWQzNmYwZTZhMjZkMTc3NDgwZjdlZjJkOTZlZjBhMzdmYTY2NTU5NTgxMiIsInJ1bnRpbWVfc2hhMjU2IjoiNTY5ZDI4Y2EwOWMwMTk3NDFmYzVkMTFhNTViNzNlNWQ2MTViN2E0Njg0YzkzM2MwNjZlMWI0OGZmNzllNDhhMiIsImxhdW5jaGVyX3NoYTI1NiI6IjExZTVhMmExMTZmMzcwYmFhYzc3YTI5NDEwZjMxZGZjMGExZTcwOWVkZGI0MGMxMDUzMTg0N2Q4YzNjMjU1YWEiLCJtYXRlcmlhbHMiOlt7InBhdGgiOiJCVU4tTElDRU5TRS5tZCIsImJ5dGVzIjo1NjEzLCJzaGEyNTYiOiJiOWNhZjUyNzI4NjkxYjQwNTdlMzcxMjMyYzIyMWExMzI4ODMxOThiZTJmM2QyZGRmOTJjOTA0MDRjOTg0YjFhIn0seyJwYXRoIjoiQ09SUkVTUE9ORElORy1TT1VSQ0VTLmpzb24iLCJieXRlcyI6MjAyMCwic2hhMjU2IjoiZmE0YzM0NDgwMTE1NDg3MmQ2MTc5ZWUyZWY0OTkyM2RjOWY4OTA5ZWYwMWU1M2I4NmU4ZjU3YzYyNTgyMzI3NCJ9LHsicGF0aCI6IkxJQ0VOU0UudHh0IiwiYnl0ZXMiOjExMzQ2LCJzaGEyNTYiOiI5NDRjMTNmZjBmZTc5NWUyOTFmZDFjNDk0NzNmOThkNGZkZjFmNzQ2MzhlMDFmODgyNzY5Y2Q0Y2FlNzhiNzNkIn0seyJwYXRoIjoiTk9USUNFLVBST1ZFTkFOQ0UuanNvbiIsImJ5dGVzIjo0NTAyNjQsInNoYTI1NiI6IjUzNGRkNTlmZDRjMTVkZDEzODJlODI3ZjBiODVjMTlmN2M2OThlMjM1ZjkyOTllYWEyMDJkYjU0MDA4MzQyODgifSx7InBhdGgiOiJOT1RJQ0UudHh0IiwiYnl0ZXMiOjYyNiwic2hhMjU2IjoiMWRmYmY0NDk4ZGMwMjZiMjA1OWMwYjBiNWViNWZhMWQ4MmFlMzM0ZTU4ZmYxMWU3YzI5NzMzMzI3ZjI1YzRlYiJ9LHsicGF0aCI6IlJFQlVJTERJTkcubWQiLCJieXRlcyI6Mzg0Miwic2hhMjU2IjoiY2U2MDViNWZkYjAzMTkzMzlmOWY4M2YyZmU3Y2NjYmM3ZTU3MjZmZGY0OTRkYTZlMjg0MzNiZWY4MjllYjBiZSJ9LHsicGF0aCI6IlNPVVJDRS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjo5MDE3NzcxLCJzaGEyNTYiOiI4OTk3NmJlY2MyNTY1NDBlNmQyZTgwN2I0N2E0ZTA1ZTg4OTk4MmMwNjIyZmMwNDQxM2E3YmY3ZTc3YTc3ZTM3In0seyJwYXRoIjoiVEhJUkQtUEFSVFktTk9USUNFUy50eHQiLCJieXRlcyI6MjQ5MTQ5Niwic2hhMjU2IjoiMTE2NDQ3ZWZmNzc4OTM1MTE3OTdlZjQ3NjAxMWRlYzgwMDIyNGY5MWUzMzQyZTNkNjU3MDcwODcxMmI0Yjc3MiJ9LHsicGF0aCI6ImxpY2Vuc2VzL25wbS1jbWQtc2hpbS50eHQiLCJieXRlcyI6ODEzLCJzaGEyNTYiOiJhZmZmZGYxMjA4MTEyMjc0OWM0YjcxYzViMWMxMWJjNjU5ZDc5MjQyZDE5ZTE4ZjVlOGRiYWIwNGE0NWUzNmJiIn0seyJwYXRoIjoibnBtLWFkYXB0ZXItZmlsZXMuanNvbiIsImJ5dGVzIjoxNjY2LCJzaGEyNTYiOiIxMmNmOGQ2ZmJhMzJlMDVjNTEwZDliYTA2YTEwMjk5YmM1ZDY2ZmY1NzJjZDgxOTMzNWMxYTAyMzU1NjQyMGI3In1dfSx7InRhcmdldCI6ImJ1bi1saW51eC1hcm02NCIsImZpbGVuYW1lIjoibm90aWZhaS0xMy4xLjAtYmV0YS4yLWxpbnV4LWFybTY0LnRhci5neiIsImJ5dGVzIjozOTM5NTI3Nywic2hhMjU2IjoiNDgyYjE4MjJiZmUwMDkwOTc4N2Y4Yjg0MDNkZmJiNGUwMWY2MzhiZmRkODM2ZTQ5NWI3OTE1MmJiNjkzNGI4ZiIsInJ1bnRpbWVfc2hhMjU2IjoiZTcxMDMwMjUwYjhhNmFlYzVmMzYzMzBiNWVhZGJjM2ZlYzJiYzVkNDJlYjI3YmQ0YzE3ODc1N2U0NjcwYTY3MiIsImxhdW5jaGVyX3NoYTI1NiI6ImY4MGZkYmYzM2ZiYWEzOTAzYzU0NTI2ZjE5NTZjNjE5ZjJmNDcwMWY5ODcxOTBjNWJhMmI0ZDU3NGI0MzEwYTQiLCJtYXRlcmlhbHMiOlt7InBhdGgiOiJCVU4tTElDRU5TRS5tZCIsImJ5dGVzIjo1NjEzLCJzaGEyNTYiOiJiOWNhZjUyNzI4NjkxYjQwNTdlMzcxMjMyYzIyMWExMzI4ODMxOThiZTJmM2QyZGRmOTJjOTA0MDRjOTg0YjFhIn0seyJwYXRoIjoiQ09SUkVTUE9ORElORy1TT1VSQ0VTLmpzb24iLCJieXRlcyI6MjAyMCwic2hhMjU2IjoiZmE0YzM0NDgwMTE1NDg3MmQ2MTc5ZWUyZWY0OTkyM2RjOWY4OTA5ZWYwMWU1M2I4NmU4ZjU3YzYyNTgyMzI3NCJ9LHsicGF0aCI6IkxJQ0VOU0UudHh0IiwiYnl0ZXMiOjExMzQ2LCJzaGEyNTYiOiI5NDRjMTNmZjBmZTc5NWUyOTFmZDFjNDk0NzNmOThkNGZkZjFmNzQ2MzhlMDFmODgyNzY5Y2Q0Y2FlNzhiNzNkIn0seyJwYXRoIjoiTk9USUNFLVBST1ZFTkFOQ0UuanNvbiIsImJ5dGVzIjo0NTAyNjQsInNoYTI1NiI6IjUzNGRkNTlmZDRjMTVkZDEzODJlODI3ZjBiODVjMTlmN2M2OThlMjM1ZjkyOTllYWEyMDJkYjU0MDA4MzQyODgifSx7InBhdGgiOiJOT1RJQ0UudHh0IiwiYnl0ZXMiOjYyNiwic2hhMjU2IjoiMWRmYmY0NDk4ZGMwMjZiMjA1OWMwYjBiNWViNWZhMWQ4MmFlMzM0ZTU4ZmYxMWU3YzI5NzMzMzI3ZjI1YzRlYiJ9LHsicGF0aCI6IlJFQlVJTERJTkcubWQiLCJieXRlcyI6Mzg0Miwic2hhMjU2IjoiY2U2MDViNWZkYjAzMTkzMzlmOWY4M2YyZmU3Y2NjYmM3ZTU3MjZmZGY0OTRkYTZlMjg0MzNiZWY4MjllYjBiZSJ9LHsicGF0aCI6IlNPVVJDRS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjo5MDE3NzcxLCJzaGEyNTYiOiI4OTk3NmJlY2MyNTY1NDBlNmQyZTgwN2I0N2E0ZTA1ZTg4OTk4MmMwNjIyZmMwNDQxM2E3YmY3ZTc3YTc3ZTM3In0seyJwYXRoIjoiVEhJUkQtUEFSVFktTk9USUNFUy50eHQiLCJieXRlcyI6MjQ5MTQ5Niwic2hhMjU2IjoiMTE2NDQ3ZWZmNzc4OTM1MTE3OTdlZjQ3NjAxMWRlYzgwMDIyNGY5MWUzMzQyZTNkNjU3MDcwODcxMmI0Yjc3MiJ9LHsicGF0aCI6ImxpY2Vuc2VzL25wbS1jbWQtc2hpbS50eHQiLCJieXRlcyI6ODEzLCJzaGEyNTYiOiJhZmZmZGYxMjA4MTEyMjc0OWM0YjcxYzViMWMxMWJjNjU5ZDc5MjQyZDE5ZTE4ZjVlOGRiYWIwNGE0NWUzNmJiIn0seyJwYXRoIjoibnBtLWFkYXB0ZXItZmlsZXMuanNvbiIsImJ5dGVzIjoxNjY2LCJzaGEyNTYiOiIxMmNmOGQ2ZmJhMzJlMDVjNTEwZDliYTA2YTEwMjk5YmM1ZDY2ZmY1NzJjZDgxOTMzNWMxYTAyMzU1NjQyMGI3In1dfSx7InRhcmdldCI6ImJ1bi1saW51eC14NjQiLCJmaWxlbmFtZSI6Im5vdGlmYWktMTMuMS4wLWJldGEuMi1saW51eC14NjQudGFyLmd6IiwiYnl0ZXMiOjM4OTU3NTA5LCJzaGEyNTYiOiIxZTU0ZWVhODI5MmU3NWI0MjE2MzRhMmE3NWVkZDVjODIyZTMxZDZmNDE4OGQyZDNiNzQ5YmYyNjhhOTgxOTI1IiwicnVudGltZV9zaGEyNTYiOiJkMzE0N2FiMzJhMmEwMDczZmRhYWUyN2E2OTZjMDQwMzVmNmM3YzExOTc3MzU3YmJjYmIzYzkyZTA3MzczYmQ1IiwibGF1bmNoZXJfc2hhMjU2IjoiOGIxZjA5M2U0NGM2ZmQzOTg0MWUzOWJkZTk3YjI3MTUwNDhkMzk2M2I3MDRmNjJmMmFiZWI1OTAyYzdmYmJlNyIsIm1hdGVyaWFscyI6W3sicGF0aCI6IkJVTi1MSUNFTlNFLm1kIiwiYnl0ZXMiOjU2MTMsInNoYTI1NiI6ImI5Y2FmNTI3Mjg2OTFiNDA1N2UzNzEyMzJjMjIxYTEzMjg4MzE5OGJlMmYzZDJkZGY5MmM5MDQwNGM5ODRiMWEifSx7InBhdGgiOiJDT1JSRVNQT05ESU5HLVNPVVJDRVMuanNvbiIsImJ5dGVzIjoyMDIwLCJzaGEyNTYiOiJmYTRjMzQ0ODAxMTU0ODcyZDYxNzllZTJlZjQ5OTIzZGM5Zjg5MDllZjAxZTUzYjg2ZThmNTdjNjI1ODIzMjc0In0seyJwYXRoIjoiTElDRU5TRS50eHQiLCJieXRlcyI6MTEzNDYsInNoYTI1NiI6Ijk0NGMxM2ZmMGZlNzk1ZTI5MWZkMWM0OTQ3M2Y5OGQ0ZmRmMWY3NDYzOGUwMWY4ODI3NjljZDRjYWU3OGI3M2QifSx7InBhdGgiOiJOT1RJQ0UtUFJPVkVOQU5DRS5qc29uIiwiYnl0ZXMiOjQ1MDI2NCwic2hhMjU2IjoiNTM0ZGQ1OWZkNGMxNWRkMTM4MmU4MjdmMGI4NWMxOWY3YzY5OGUyMzVmOTI5OWVhYTIwMmRiNTQwMDgzNDI4OCJ9LHsicGF0aCI6Ik5PVElDRS50eHQiLCJieXRlcyI6NjI2LCJzaGEyNTYiOiIxZGZiZjQ0OThkYzAyNmIyMDU5YzBiMGI1ZWI1ZmExZDgyYWUzMzRlNThmZjExZTdjMjk3MzMzMjdmMjVjNGViIn0seyJwYXRoIjoiUkVCVUlMRElORy5tZCIsImJ5dGVzIjozODQyLCJzaGEyNTYiOiJjZTYwNWI1ZmRiMDMxOTMzOWY5ZjgzZjJmZTdjY2NiYzdlNTcyNmZkZjQ5NGRhNmUyODQzM2JlZjgyOWViMGJlIn0seyJwYXRoIjoiU09VUkNFLU5PVElDRVMudHh0IiwiYnl0ZXMiOjkwMTc3NzEsInNoYTI1NiI6Ijg5OTc2YmVjYzI1NjU0MGU2ZDJlODA3YjQ3YTRlMDVlODg5OTgyYzA2MjJmYzA0NDEzYTdiZjdlNzdhNzdlMzcifSx7InBhdGgiOiJUSElSRC1QQVJUWS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjoyNDkxNDk2LCJzaGEyNTYiOiIxMTY0NDdlZmY3Nzg5MzUxMTc5N2VmNDc2MDExZGVjODAwMjI0ZjkxZTMzNDJlM2Q2NTcwNzA4NzEyYjRiNzcyIn0seyJwYXRoIjoibGljZW5zZXMvbnBtLWNtZC1zaGltLnR4dCIsImJ5dGVzIjo4MTMsInNoYTI1NiI6ImFmZmZkZjEyMDgxMTIyNzQ5YzRiNzFjNWIxYzExYmM2NTlkNzkyNDJkMTllMThmNWU4ZGJhYjA0YTQ1ZTM2YmIifSx7InBhdGgiOiJucG0tYWRhcHRlci1maWxlcy5qc29uIiwiYnl0ZXMiOjE2NjYsInNoYTI1NiI6IjEyY2Y4ZDZmYmEzMmUwNWM1MTBkOWJhMDZhMTAyOTliYzVkNjZmZjU3MmNkODE5MzM1YzFhMDIzNTU2NDIwYjcifV19LHsidGFyZ2V0IjoiYnVuLXdpbmRvd3MtYXJtNjQiLCJmaWxlbmFtZSI6Im5vdGlmYWktMTMuMS4wLWJldGEuMi13aW5kb3dzLWFybTY0LnppcCIsImJ5dGVzIjozODc5MTM0NSwic2hhMjU2IjoiZDhkNjc2ZDIzNTc4MzI5ZDY5MGIzY2I1MTgwM2E1ZGU1ZDYyYmJjMDQ1MmY4NmQyNDE1Njk2ODJiZDZiYTMzNCIsInJ1bnRpbWVfc2hhMjU2IjoiMzEzMjQyNmQ1NzM3MGU2ODdhMzkxMjZlNTU5OGI1Yjg4YjYwMGIyMjNkOWIyYWRmZjYxY2FlYzcwZDBjNjhlMCIsImxhdW5jaGVyX3NoYTI1NiI6IjUzMGFhZjdlY2VjZWM4ZTllMzFkMjRhN2U4ZWQ5ZjYwMmY2ZGY5YjEzMWRkY2FmZDlmNmIwZThkMjY1MWJiNDQiLCJtYXRlcmlhbHMiOlt7InBhdGgiOiJCVU4tTElDRU5TRS5tZCIsImJ5dGVzIjo1NjEzLCJzaGEyNTYiOiJiOWNhZjUyNzI4NjkxYjQwNTdlMzcxMjMyYzIyMWExMzI4ODMxOThiZTJmM2QyZGRmOTJjOTA0MDRjOTg0YjFhIn0seyJwYXRoIjoiQ09SUkVTUE9ORElORy1TT1VSQ0VTLmpzb24iLCJieXRlcyI6MjAyMCwic2hhMjU2IjoiZmE0YzM0NDgwMTE1NDg3MmQ2MTc5ZWUyZWY0OTkyM2RjOWY4OTA5ZWYwMWU1M2I4NmU4ZjU3YzYyNTgyMzI3NCJ9LHsicGF0aCI6IkxJQ0VOU0UudHh0IiwiYnl0ZXMiOjExMzQ2LCJzaGEyNTYiOiI5NDRjMTNmZjBmZTc5NWUyOTFmZDFjNDk0NzNmOThkNGZkZjFmNzQ2MzhlMDFmODgyNzY5Y2Q0Y2FlNzhiNzNkIn0seyJwYXRoIjoiTk9USUNFLVBST1ZFTkFOQ0UuanNvbiIsImJ5dGVzIjo0NTAyNjQsInNoYTI1NiI6IjUzNGRkNTlmZDRjMTVkZDEzODJlODI3ZjBiODVjMTlmN2M2OThlMjM1ZjkyOTllYWEyMDJkYjU0MDA4MzQyODgifSx7InBhdGgiOiJOT1RJQ0UudHh0IiwiYnl0ZXMiOjYyNiwic2hhMjU2IjoiMWRmYmY0NDk4ZGMwMjZiMjA1OWMwYjBiNWViNWZhMWQ4MmFlMzM0ZTU4ZmYxMWU3YzI5NzMzMzI3ZjI1YzRlYiJ9LHsicGF0aCI6IlJFQlVJTERJTkcubWQiLCJieXRlcyI6Mzg0Miwic2hhMjU2IjoiY2U2MDViNWZkYjAzMTkzMzlmOWY4M2YyZmU3Y2NjYmM3ZTU3MjZmZGY0OTRkYTZlMjg0MzNiZWY4MjllYjBiZSJ9LHsicGF0aCI6IlNPVVJDRS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjo5MDE3NzcxLCJzaGEyNTYiOiI4OTk3NmJlY2MyNTY1NDBlNmQyZTgwN2I0N2E0ZTA1ZTg4OTk4MmMwNjIyZmMwNDQxM2E3YmY3ZTc3YTc3ZTM3In0seyJwYXRoIjoiVEhJUkQtUEFSVFktTk9USUNFUy50eHQiLCJieXRlcyI6MjQ5MTQ5Niwic2hhMjU2IjoiMTE2NDQ3ZWZmNzc4OTM1MTE3OTdlZjQ3NjAxMWRlYzgwMDIyNGY5MWUzMzQyZTNkNjU3MDcwODcxMmI0Yjc3MiJ9LHsicGF0aCI6ImxpY2Vuc2VzL25wbS1jbWQtc2hpbS50eHQiLCJieXRlcyI6ODEzLCJzaGEyNTYiOiJhZmZmZGYxMjA4MTEyMjc0OWM0YjcxYzViMWMxMWJjNjU5ZDc5MjQyZDE5ZTE4ZjVlOGRiYWIwNGE0NWUzNmJiIn0seyJwYXRoIjoibnBtLWFkYXB0ZXItZmlsZXMuanNvbiIsImJ5dGVzIjoxNjY2LCJzaGEyNTYiOiIxMmNmOGQ2ZmJhMzJlMDVjNTEwZDliYTA2YTEwMjk5YmM1ZDY2ZmY1NzJjZDgxOTMzNWMxYTAyMzU1NjQyMGI3In1dfSx7InRhcmdldCI6ImJ1bi13aW5kb3dzLXg2NCIsImZpbGVuYW1lIjoibm90aWZhaS0xMy4xLjAtYmV0YS4yLXdpbmRvd3MteDY0LnppcCIsImJ5dGVzIjo0MTkzODc3MCwic2hhMjU2IjoiNmU3MjJkY2VkN2FlMGUzM2I3MjY5YTIxMTFjOWFjYmYxMDcwM2EyNDQ0OTNlNGIwNDBhMWUxNmE1ZTMzMWE3YSIsInJ1bnRpbWVfc2hhMjU2IjoiYTAwOTQwYjI5MWI4ODYxNWIwMjZmN2VjZGEzNTJjZDU0MTNmYTFhZDM1NTlhOTE1YWU0OWRiMDk4ZmU4MjFhNyIsImxhdW5jaGVyX3NoYTI1NiI6IjlhODBmZDQ4MmE0YjA4M2FkZTIxNmI1NzcwOTY3MGUzMjI0ZTc3YjQ2MTdmNWMyZTRlNDdjNmEyZGIyZWQ2NWUiLCJtYXRlcmlhbHMiOlt7InBhdGgiOiJCVU4tTElDRU5TRS5tZCIsImJ5dGVzIjo1NjEzLCJzaGEyNTYiOiJiOWNhZjUyNzI4NjkxYjQwNTdlMzcxMjMyYzIyMWExMzI4ODMxOThiZTJmM2QyZGRmOTJjOTA0MDRjOTg0YjFhIn0seyJwYXRoIjoiQ09SUkVTUE9ORElORy1TT1VSQ0VTLmpzb24iLCJieXRlcyI6MjAyMCwic2hhMjU2IjoiZmE0YzM0NDgwMTE1NDg3MmQ2MTc5ZWUyZWY0OTkyM2RjOWY4OTA5ZWYwMWU1M2I4NmU4ZjU3YzYyNTgyMzI3NCJ9LHsicGF0aCI6IkxJQ0VOU0UudHh0IiwiYnl0ZXMiOjExMzQ2LCJzaGEyNTYiOiI5NDRjMTNmZjBmZTc5NWUyOTFmZDFjNDk0NzNmOThkNGZkZjFmNzQ2MzhlMDFmODgyNzY5Y2Q0Y2FlNzhiNzNkIn0seyJwYXRoIjoiTk9USUNFLVBST1ZFTkFOQ0UuanNvbiIsImJ5dGVzIjo0NTAyNjQsInNoYTI1NiI6IjUzNGRkNTlmZDRjMTVkZDEzODJlODI3ZjBiODVjMTlmN2M2OThlMjM1ZjkyOTllYWEyMDJkYjU0MDA4MzQyODgifSx7InBhdGgiOiJOT1RJQ0UudHh0IiwiYnl0ZXMiOjYyNiwic2hhMjU2IjoiMWRmYmY0NDk4ZGMwMjZiMjA1OWMwYjBiNWViNWZhMWQ4MmFlMzM0ZTU4ZmYxMWU3YzI5NzMzMzI3ZjI1YzRlYiJ9LHsicGF0aCI6IlJFQlVJTERJTkcubWQiLCJieXRlcyI6Mzg0Miwic2hhMjU2IjoiY2U2MDViNWZkYjAzMTkzMzlmOWY4M2YyZmU3Y2NjYmM3ZTU3MjZmZGY0OTRkYTZlMjg0MzNiZWY4MjllYjBiZSJ9LHsicGF0aCI6IlNPVVJDRS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjo5MDE3NzcxLCJzaGEyNTYiOiI4OTk3NmJlY2MyNTY1NDBlNmQyZTgwN2I0N2E0ZTA1ZTg4OTk4MmMwNjIyZmMwNDQxM2E3YmY3ZTc3YTc3ZTM3In0seyJwYXRoIjoiVEhJUkQtUEFSVFktTk9USUNFUy50eHQiLCJieXRlcyI6MjQ5MTQ5Niwic2hhMjU2IjoiMTE2NDQ3ZWZmNzc4OTM1MTE3OTdlZjQ3NjAxMWRlYzgwMDIyNGY5MWUzMzQyZTNkNjU3MDcwODcxMmI0Yjc3MiJ9LHsicGF0aCI6ImxpY2Vuc2VzL25wbS1jbWQtc2hpbS50eHQiLCJieXRlcyI6ODEzLCJzaGEyNTYiOiJhZmZmZGYxMjA4MTEyMjc0OWM0YjcxYzViMWMxMWJjNjU5ZDc5MjQyZDE5ZTE4ZjVlOGRiYWIwNGE0NWUzNmJiIn0seyJwYXRoIjoibnBtLWFkYXB0ZXItZmlsZXMuanNvbiIsImJ5dGVzIjoxNjY2LCJzaGEyNTYiOiIxMmNmOGQ2ZmJhMzJlMDVjNTEwZDliYTA2YTEwMjk5YmM1ZDY2ZmY1NzJjZDgxOTMzNWMxYTAyMzU1NjQyMGI3In1dfV19","signature":"QzpM3nRArHi8snNguqv+7QxRzhqhv9eNoND2rqgNzbjzWkBTNGkR9CvWZWd1P1LMx/b3wxaCmUHxsh1Qzu2/Ag=="}
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "schema": 1,
3
3
  "package": "@raidiant/notifai",
4
- "adapter_version": "13.0.0-beta.1",
4
+ "adapter_version": "13.1.0-beta.2",
5
5
  "native": {
6
- "version": "13.0.0-beta.1",
7
- "source_revision": "252c3a1fc237f064f4cd22ebc1f7aa35982690f3",
8
- "inventory_url": "https://github.com/Raidiant-io/notifai/releases/download/v13.0.0-beta.1/inventory.json"
6
+ "version": "13.1.0-beta.2",
7
+ "source_revision": "dee351ef7d9f426a908cc5724da4d7057f3bae4c",
8
+ "inventory_url": "https://github.com/Raidiant-io/notifai/releases/download/v13.1.0-beta.2/inventory.json"
9
9
  },
10
10
  "files": [
11
11
  {
12
12
  "path": "CHANGELOG.md",
13
- "bytes": 67209,
14
- "sha256": "d52d795baad512135919d495e8602a4f24cc37fbcfb38505ebbef804167d1898"
13
+ "bytes": 67998,
14
+ "sha256": "b18c39e2e81c618fb943769f11f8d9d444ef9073b192cb61d864f303797cc9e3"
15
15
  },
16
16
  {
17
17
  "path": "LICENSE",
@@ -35,8 +35,8 @@
35
35
  },
36
36
  {
37
37
  "path": "bin/notifai.mjs",
38
- "bytes": 522895,
39
- "sha256": "b549cdbfd09c49fbe9ebc826b9be40467f2f27084f613392a22bfb418dd4e72c"
38
+ "bytes": 524921,
39
+ "sha256": "60846d8ae78e35fb00da350d08fa18633cdcd91c8155f8745d9be6372668462d"
40
40
  },
41
41
  {
42
42
  "path": "data/install.ps1",
@@ -46,12 +46,12 @@
46
46
  {
47
47
  "path": "data/release.json",
48
48
  "bytes": 89,
49
- "sha256": "88b07176e5f13f44b47ffda354aa8724fc752e0ef0342a2d87d7b3b034a4b262"
49
+ "sha256": "05e85de1806887b27a4bf907e23edcb1a49246d3155f5c42d7a2a014649c716d"
50
50
  },
51
51
  {
52
52
  "path": "package.json",
53
53
  "bytes": 1315,
54
- "sha256": "2ab5ded5ea1c95807a979325cdb68fd22688e9423e634e0283d67baa67e7a712"
54
+ "sha256": "d0aec52ecf8dd7f3f239302cc74280e07117fc73fa337ba35228f300ff664d58"
55
55
  }
56
56
  ]
57
57
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@raidiant/notifai",
3
- "version": "13.0.0-beta.1",
3
+ "version": "13.1.0-beta.2",
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": [