@raidiant/notifai 14.1.1 → 14.2.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,6 +8,22 @@ 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
+ ## [14.2.0-beta.2](https://github.com/Raidiant-io/notifai/compare/v14.1.1...v14.2.0-beta.2) (2026-10-24)
12
+
13
+ ### Harness support
14
+
15
+ * Identify Cursor conversations exactly for sends, maintain idle Session Presence on the macOS interactive CLI, and deliver notes without crossing prompt boundaries.
16
+ * Identify OpenClaw sessions running on its Codex engine as OpenClaw, maintain Session Presence, and deliver notes.
17
+ * Preserve OpenClaw notes when its prompt is rebuilt.
18
+
19
+ ### Release reliability
20
+
21
+ * Capture failed macOS notarization checks and retry only evidenced lookup failures; rejection and unknown errors remain fatal.
22
+
23
+ * Vendor verified Bun license materials so native packaging does not depend on fetching them.
24
+ * Bound npm-adapter verification phases with timeouts and process diagnostics.
25
+ * Check agent guidance before builds and tests, and retain focused contract and routing regressions.
26
+
11
27
  ## [14.1.1](https://github.com/Raidiant-io/notifai/compare/v14.1.0...v14.1.1) (2026-10-23)
12
28
 
13
29
 
package/bin/notifai.mjs CHANGED
@@ -11283,9 +11283,61 @@ async function runNpmAdapter(args, { locator, platform, distribution, verify: ve
11283
11283
  return platform.execute(stable, args);
11284
11284
  }
11285
11285
 
11286
+ // apps/cli/npm/notarization.mjs
11287
+ import { spawnSync } from "node:child_process";
11288
+ var backoff = [5e3, 15e3];
11289
+ var pause = (ms) => Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, ms);
11290
+ var rejected = (text) => /revoked|CSSMERR_TP_|invalid signature|code or signature have been modified|\brejected\b/i.test(text);
11291
+ var unavailable = (text) => /NSURLErrorDomain\s+Code=-(?:1001|1003|1004|1005|1006|1009)\b/.test(text);
11292
+ var snapshot = (result) => ({
11293
+ status: result.status,
11294
+ signal: result.signal ?? null,
11295
+ error: result.error?.code ?? null,
11296
+ stdout: String(result.stdout ?? ""),
11297
+ stderr: String(result.stderr ?? "")
11298
+ });
11299
+ function verifyNotarization(file, {
11300
+ run = spawnSync,
11301
+ pause: wait = pause,
11302
+ report = (entry) => console.error(`notifai-notarization: ${JSON.stringify(entry)}`)
11303
+ } = {}) {
11304
+ const history = [];
11305
+ for (let attempt = 1; attempt <= backoff.length + 1; attempt += 1) {
11306
+ const options = { encoding: "utf8", timeout: 6e4, maxBuffer: 256 * 1024, stdio: ["ignore", "pipe", "pipe"] };
11307
+ const codesign = snapshot(run("/usr/bin/codesign", ["-vvvv", "-R=notarized", "--check-notarization", file], options));
11308
+ if (codesign.status === 0 && !codesign.error && !codesign.signal) {
11309
+ return { stdout: codesign.stdout, stderr: codesign.stderr, attempts: attempt, failures: history };
11310
+ }
11311
+ let classification = "rejected-or-unknown", assessment;
11312
+ const diagnostic = codesign.stderr + codesign.stdout;
11313
+ if (!codesign.error && !codesign.signal && !rejected(diagnostic)) {
11314
+ if (unavailable(diagnostic)) classification = "lookup-unavailable";
11315
+ else if (diagnostic.includes("code failed to satisfy specified code requirement(s)")) {
11316
+ assessment = snapshot(run("/usr/sbin/spctl", ["-a", "-vvv", "-t", "install", file], options));
11317
+ const detail = assessment.stderr + assessment.stdout;
11318
+ if (!assessment.error && !assessment.signal && !rejected(detail)) {
11319
+ if (assessment.status === 0 && /^source=Notarized Developer ID\s*$/m.test(detail) && /: accepted\s*$/m.test(detail)) {
11320
+ classification = "lookup-inconsistent";
11321
+ } else if (unavailable(detail)) classification = "lookup-unavailable";
11322
+ }
11323
+ }
11324
+ }
11325
+ const entry = { attempt, classification, codesign, ...assessment ? { assessment } : {} };
11326
+ history.push(entry);
11327
+ report(entry);
11328
+ if (classification === "rejected-or-unknown" || attempt > backoff.length) {
11329
+ const error = new Error(`Apple notarization verification failed (${classification}, attempt ${attempt}): ${JSON.stringify(history)}`);
11330
+ error.code = "NOTARIZATION_VERIFICATION_FAILED";
11331
+ error.attempts = history;
11332
+ throw error;
11333
+ }
11334
+ wait(backoff[attempt - 1]);
11335
+ }
11336
+ }
11337
+
11286
11338
  // apps/cli/npm/platform.mjs
11287
11339
  import assert3 from "node:assert/strict";
11288
- import { execFileSync, spawn, spawnSync } from "node:child_process";
11340
+ import { execFileSync, spawn, spawnSync as spawnSync2 } from "node:child_process";
11289
11341
  import { randomUUID } from "node:crypto";
11290
11342
  import { lstatSync as lstatSync5, mkdtempSync as mkdtempSync2, readFileSync as readFileSync4, readdirSync as readdirSync2 } from "node:fs";
11291
11343
  import os from "node:os";
@@ -11462,7 +11514,7 @@ function nativePlatform() {
11462
11514
  if (windows) return powershell("Get-NotifaiWindowsTarget");
11463
11515
  let arch = process.arch;
11464
11516
  if (process.platform === "darwin") {
11465
- const result = spawnSync("/usr/sbin/sysctl", ["-n", "hw.optional.arm64"], { encoding: "utf8", timeout: 5e3 });
11517
+ const result = spawnSync2("/usr/sbin/sysctl", ["-n", "hw.optional.arm64"], { encoding: "utf8", timeout: 5e3 });
11466
11518
  if (result.status === 0 && result.stdout.trim() === "1") arch = "arm64";
11467
11519
  } else {
11468
11520
  const report = process.report.getReport();
@@ -11487,7 +11539,7 @@ function nativePlatform() {
11487
11539
  for (const name of ["notifai", "notifai-runtime"]) {
11488
11540
  const executable = path6.join(directory, name);
11489
11541
  execFileSync("/usr/bin/codesign", ["--verify", "--strict", executable], { timeout: 3e4, stdio: ["ignore", "ignore", "pipe"] });
11490
- execFileSync("/usr/bin/codesign", ["-vvvv", "-R=notarized", "--check-notarization", executable], { timeout: 6e4, stdio: ["ignore", "ignore", "pipe"] });
11542
+ verifyNotarization(executable);
11491
11543
  }
11492
11544
  },
11493
11545
  execute: (executable, args) => executeNative(executable, args, { env: childEnvironment }),
package/data/release.json CHANGED
@@ -1 +1 @@
1
- {"version":"14.1.1","source_revision":"e0fc74d34dcabcd9dba4461f3e871106399e407e"}
1
+ {"version":"14.2.0-beta.2","source_revision":"048c2129dff26bc472b4580466604eb8782b6bb7"}
package/inventory.json CHANGED
@@ -1 +1 @@
1
- {"key_id":"notifai-release-2026-10","payload":"eyJzY2hlbWEiOjIsInZlcnNpb24iOiIxNC4xLjEiLCJzb3VyY2VfcmV2aXNpb24iOiJlMGZjNzRkMzRkY2FiY2Q5ZGJhNDQ2MWYzZTg3MTEwNjM5OWU0MDdlIiwibG9jYWxfY29udGludWl0eSI6eyJjb250cmFjdCI6Im5vdGlmYWktc2Vzc2lvbi1zdGF0ZS12MiIsImNvbXBhdGlibGUiOnsibm90aWZhaS1zZXNzaW9uLXN0YXRlLXYxIjpbImJ1bi1kYXJ3aW4tYXJtNjQiLCJidW4tZGFyd2luLXg2NCIsImJ1bi13aW5kb3dzLWFybTY0IiwiYnVuLXdpbmRvd3MteDY0Il19fSwic3RvcmVfc2NoZW1hIjoyLCJsYXVuY2hlcl9zY2hlbWEiOjEsImFydGlmYWN0cyI6W3sidGFyZ2V0IjoiYnVuLWRhcndpbi1hcm02NCIsImZpbGVuYW1lIjoibm90aWZhaS0xNC4xLjEtZGFyd2luLWFybTY0LnRhci5neiIsImJ5dGVzIjoyODA3MDkwNCwic2hhMjU2IjoiMmRlMDc1OGE5NjE2OWFhZTQ0ZDgwYzQ1MWJhMGYzYWJlMGFiNzZiMDY1ZjQzZTI2OTcwZmU5MDUxNWIxNGZmMSIsInJ1bnRpbWVfc2hhMjU2IjoiYTYwYmFmZTZmYWY2ZDhjM2JhYmU3NmVmN2FiZTIyN2Q3ZmUxNzM4OWUwNzA4MDVmNzgzZmI1NjBiMTY3YzdmZCIsImxhdW5jaGVyX3NoYTI1NiI6IjI1NjdkYWUzZDg2YjIwZGNmM2VhODk0NmMxOThhN2IxZGIxMjU2OTExMWUwNDQ2YjdhMjU0Yzk4M2Y2OGFhNTgiLCJtYXRlcmlhbHMiOlt7InBhdGgiOiJCVU4tTElDRU5TRS5tZCIsImJ5dGVzIjo1NjEzLCJzaGEyNTYiOiJiOWNhZjUyNzI4NjkxYjQwNTdlMzcxMjMyYzIyMWExMzI4ODMxOThiZTJmM2QyZGRmOTJjOTA0MDRjOTg0YjFhIn0seyJwYXRoIjoiQ09SUkVTUE9ORElORy1TT1VSQ0VTLmpzb24iLCJieXRlcyI6MjAyMCwic2hhMjU2IjoiZmE0YzM0NDgwMTE1NDg3MmQ2MTc5ZWUyZWY0OTkyM2RjOWY4OTA5ZWYwMWU1M2I4NmU4ZjU3YzYyNTgyMzI3NCJ9LHsicGF0aCI6IkxJQ0VOU0UudHh0IiwiYnl0ZXMiOjExMzQ2LCJzaGEyNTYiOiI5NDRjMTNmZjBmZTc5NWUyOTFmZDFjNDk0NzNmOThkNGZkZjFmNzQ2MzhlMDFmODgyNzY5Y2Q0Y2FlNzhiNzNkIn0seyJwYXRoIjoiTk9USUNFLVBST1ZFTkFOQ0UuanNvbiIsImJ5dGVzIjo0NTAyNjQsInNoYTI1NiI6IjUzNGRkNTlmZDRjMTVkZDEzODJlODI3ZjBiODVjMTlmN2M2OThlMjM1ZjkyOTllYWEyMDJkYjU0MDA4MzQyODgifSx7InBhdGgiOiJOT1RJQ0UudHh0IiwiYnl0ZXMiOjYyNiwic2hhMjU2IjoiMWRmYmY0NDk4ZGMwMjZiMjA1OWMwYjBiNWViNWZhMWQ4MmFlMzM0ZTU4ZmYxMWU3YzI5NzMzMzI3ZjI1YzRlYiJ9LHsicGF0aCI6IlJFQlVJTERJTkcubWQiLCJieXRlcyI6Mzg0Miwic2hhMjU2IjoiY2U2MDViNWZkYjAzMTkzMzlmOWY4M2YyZmU3Y2NjYmM3ZTU3MjZmZGY0OTRkYTZlMjg0MzNiZWY4MjllYjBiZSJ9LHsicGF0aCI6IlNPVVJDRS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjo5MDE3NzcxLCJzaGEyNTYiOiI4OTk3NmJlY2MyNTY1NDBlNmQyZTgwN2I0N2E0ZTA1ZTg4OTk4MmMwNjIyZmMwNDQxM2E3YmY3ZTc3YTc3ZTM3In0seyJwYXRoIjoiVEhJUkQtUEFSVFktTk9USUNFUy50eHQiLCJieXRlcyI6MjQ5MTQ5Niwic2hhMjU2IjoiMTE2NDQ3ZWZmNzc4OTM1MTE3OTdlZjQ3NjAxMWRlYzgwMDIyNGY5MWUzMzQyZTNkNjU3MDcwODcxMmI0Yjc3MiJ9LHsicGF0aCI6ImxpY2Vuc2VzL25wbS1jbWQtc2hpbS50eHQiLCJieXRlcyI6ODEzLCJzaGEyNTYiOiJhZmZmZGYxMjA4MTEyMjc0OWM0YjcxYzViMWMxMWJjNjU5ZDc5MjQyZDE5ZTE4ZjVlOGRiYWIwNGE0NWUzNmJiIn0seyJwYXRoIjoibnBtLWFkYXB0ZXItZmlsZXMuanNvbiIsImJ5dGVzIjoxNjQ1LCJzaGEyNTYiOiI0NmJlODdmY2EwYjk1NjA0N2I0OWViMzRiNDhiZTNhZmFkMGE1Zjk4YmU4MDk0YTliMmQ2MmEyYmYxNzdhMDJiIn1dfSx7InRhcmdldCI6ImJ1bi1kYXJ3aW4teDY0IiwiZmlsZW5hbWUiOiJub3RpZmFpLTE0LjEuMS1kYXJ3aW4teDY0LnRhci5neiIsImJ5dGVzIjozMDMxNDY5Miwic2hhMjU2IjoiZWU2YTI2ZjA4NDhhZWYwZTQwYjIzMDVjYjg1MDQwZDk2NWFjY2IyZjlmY2MyZTM2ODA4Nzk4NDBhMDVhMjczOSIsInJ1bnRpbWVfc2hhMjU2IjoiMDJiM2VjYmVjNDhjODc4MmFjMDg3NDIwMWNhZmY5NjI4OGZiOGQ2NzJiM2U2NjIyNmU4ZjhmZGZiZDMwYzdiYiIsImxhdW5jaGVyX3NoYTI1NiI6ImZhZGQwMmJhYzhiYjQyNzQ2MjY4MTc3MTM4MTRhMGQ3Y2Q4ZWJlOWJiYjFmN2ZmMGRlMDlhZGNlYmZkMmRlMDYiLCJtYXRlcmlhbHMiOlt7InBhdGgiOiJCVU4tTElDRU5TRS5tZCIsImJ5dGVzIjo1NjEzLCJzaGEyNTYiOiJiOWNhZjUyNzI4NjkxYjQwNTdlMzcxMjMyYzIyMWExMzI4ODMxOThiZTJmM2QyZGRmOTJjOTA0MDRjOTg0YjFhIn0seyJwYXRoIjoiQ09SUkVTUE9ORElORy1TT1VSQ0VTLmpzb24iLCJieXRlcyI6MjAyMCwic2hhMjU2IjoiZmE0YzM0NDgwMTE1NDg3MmQ2MTc5ZWUyZWY0OTkyM2RjOWY4OTA5ZWYwMWU1M2I4NmU4ZjU3YzYyNTgyMzI3NCJ9LHsicGF0aCI6IkxJQ0VOU0UudHh0IiwiYnl0ZXMiOjExMzQ2LCJzaGEyNTYiOiI5NDRjMTNmZjBmZTc5NWUyOTFmZDFjNDk0NzNmOThkNGZkZjFmNzQ2MzhlMDFmODgyNzY5Y2Q0Y2FlNzhiNzNkIn0seyJwYXRoIjoiTk9USUNFLVBST1ZFTkFOQ0UuanNvbiIsImJ5dGVzIjo0NTAyNjQsInNoYTI1NiI6IjUzNGRkNTlmZDRjMTVkZDEzODJlODI3ZjBiODVjMTlmN2M2OThlMjM1ZjkyOTllYWEyMDJkYjU0MDA4MzQyODgifSx7InBhdGgiOiJOT1RJQ0UudHh0IiwiYnl0ZXMiOjYyNiwic2hhMjU2IjoiMWRmYmY0NDk4ZGMwMjZiMjA1OWMwYjBiNWViNWZhMWQ4MmFlMzM0ZTU4ZmYxMWU3YzI5NzMzMzI3ZjI1YzRlYiJ9LHsicGF0aCI6IlJFQlVJTERJTkcubWQiLCJieXRlcyI6Mzg0Miwic2hhMjU2IjoiY2U2MDViNWZkYjAzMTkzMzlmOWY4M2YyZmU3Y2NjYmM3ZTU3MjZmZGY0OTRkYTZlMjg0MzNiZWY4MjllYjBiZSJ9LHsicGF0aCI6IlNPVVJDRS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjo5MDE3NzcxLCJzaGEyNTYiOiI4OTk3NmJlY2MyNTY1NDBlNmQyZTgwN2I0N2E0ZTA1ZTg4OTk4MmMwNjIyZmMwNDQxM2E3YmY3ZTc3YTc3ZTM3In0seyJwYXRoIjoiVEhJUkQtUEFSVFktTk9USUNFUy50eHQiLCJieXRlcyI6MjQ5MTQ5Niwic2hhMjU2IjoiMTE2NDQ3ZWZmNzc4OTM1MTE3OTdlZjQ3NjAxMWRlYzgwMDIyNGY5MWUzMzQyZTNkNjU3MDcwODcxMmI0Yjc3MiJ9LHsicGF0aCI6ImxpY2Vuc2VzL25wbS1jbWQtc2hpbS50eHQiLCJieXRlcyI6ODEzLCJzaGEyNTYiOiJhZmZmZGYxMjA4MTEyMjc0OWM0YjcxYzViMWMxMWJjNjU5ZDc5MjQyZDE5ZTE4ZjVlOGRiYWIwNGE0NWUzNmJiIn0seyJwYXRoIjoibnBtLWFkYXB0ZXItZmlsZXMuanNvbiIsImJ5dGVzIjoxNjQ1LCJzaGEyNTYiOiI0NmJlODdmY2EwYjk1NjA0N2I0OWViMzRiNDhiZTNhZmFkMGE1Zjk4YmU4MDk0YTliMmQ2MmEyYmYxNzdhMDJiIn1dfSx7InRhcmdldCI6ImJ1bi1saW51eC1hcm02NCIsImZpbGVuYW1lIjoibm90aWZhaS0xNC4xLjEtbGludXgtYXJtNjQudGFyLmd6IiwiYnl0ZXMiOjM5NjMzNDE1LCJzaGEyNTYiOiJlOGE0YTM5YjhiNTRmNDVhNGI2N2ViOTI4OTlmMDI2ZGVhZjkzN2QxNWUzYjgxODU5ZGU0YjI4ZjQ1OGUxMmQ3IiwicnVudGltZV9zaGEyNTYiOiI3MmVlNmRhNTBlZmNmNzliMjk3MmU5YTYzNjEwYjkyOWZhN2RmZDUzZGU3YmJlOTI2ZDlhMzBjMGMwYWYzMWE2IiwibGF1bmNoZXJfc2hhMjU2IjoiYzJhYjVmODA5MGMxM2YwNzBiODdjODY1OGI4MDAzYzJiODc4YzBhOGM1Y2NkYmY1Yjk0MmMxNTc5MWU4YWQ3NiIsIm1hdGVyaWFscyI6W3sicGF0aCI6IkJVTi1MSUNFTlNFLm1kIiwiYnl0ZXMiOjU2MTMsInNoYTI1NiI6ImI5Y2FmNTI3Mjg2OTFiNDA1N2UzNzEyMzJjMjIxYTEzMjg4MzE5OGJlMmYzZDJkZGY5MmM5MDQwNGM5ODRiMWEifSx7InBhdGgiOiJDT1JSRVNQT05ESU5HLVNPVVJDRVMuanNvbiIsImJ5dGVzIjoyMDIwLCJzaGEyNTYiOiJmYTRjMzQ0ODAxMTU0ODcyZDYxNzllZTJlZjQ5OTIzZGM5Zjg5MDllZjAxZTUzYjg2ZThmNTdjNjI1ODIzMjc0In0seyJwYXRoIjoiTElDRU5TRS50eHQiLCJieXRlcyI6MTEzNDYsInNoYTI1NiI6Ijk0NGMxM2ZmMGZlNzk1ZTI5MWZkMWM0OTQ3M2Y5OGQ0ZmRmMWY3NDYzOGUwMWY4ODI3NjljZDRjYWU3OGI3M2QifSx7InBhdGgiOiJOT1RJQ0UtUFJPVkVOQU5DRS5qc29uIiwiYnl0ZXMiOjQ1MDI2NCwic2hhMjU2IjoiNTM0ZGQ1OWZkNGMxNWRkMTM4MmU4MjdmMGI4NWMxOWY3YzY5OGUyMzVmOTI5OWVhYTIwMmRiNTQwMDgzNDI4OCJ9LHsicGF0aCI6Ik5PVElDRS50eHQiLCJieXRlcyI6NjI2LCJzaGEyNTYiOiIxZGZiZjQ0OThkYzAyNmIyMDU5YzBiMGI1ZWI1ZmExZDgyYWUzMzRlNThmZjExZTdjMjk3MzMzMjdmMjVjNGViIn0seyJwYXRoIjoiUkVCVUlMRElORy5tZCIsImJ5dGVzIjozODQyLCJzaGEyNTYiOiJjZTYwNWI1ZmRiMDMxOTMzOWY5ZjgzZjJmZTdjY2NiYzdlNTcyNmZkZjQ5NGRhNmUyODQzM2JlZjgyOWViMGJlIn0seyJwYXRoIjoiU09VUkNFLU5PVElDRVMudHh0IiwiYnl0ZXMiOjkwMTc3NzEsInNoYTI1NiI6Ijg5OTc2YmVjYzI1NjU0MGU2ZDJlODA3YjQ3YTRlMDVlODg5OTgyYzA2MjJmYzA0NDEzYTdiZjdlNzdhNzdlMzcifSx7InBhdGgiOiJUSElSRC1QQVJUWS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjoyNDkxNDk2LCJzaGEyNTYiOiIxMTY0NDdlZmY3Nzg5MzUxMTc5N2VmNDc2MDExZGVjODAwMjI0ZjkxZTMzNDJlM2Q2NTcwNzA4NzEyYjRiNzcyIn0seyJwYXRoIjoibGljZW5zZXMvbnBtLWNtZC1zaGltLnR4dCIsImJ5dGVzIjo4MTMsInNoYTI1NiI6ImFmZmZkZjEyMDgxMTIyNzQ5YzRiNzFjNWIxYzExYmM2NTlkNzkyNDJkMTllMThmNWU4ZGJhYjA0YTQ1ZTM2YmIifSx7InBhdGgiOiJucG0tYWRhcHRlci1maWxlcy5qc29uIiwiYnl0ZXMiOjE2NDUsInNoYTI1NiI6IjQ2YmU4N2ZjYTBiOTU2MDQ3YjQ5ZWIzNGI0OGJlM2FmYWQwYTVmOThiZTgwOTRhOWIyZDYyYTJiZjE3N2EwMmIifV19LHsidGFyZ2V0IjoiYnVuLWxpbnV4LXg2NCIsImZpbGVuYW1lIjoibm90aWZhaS0xNC4xLjEtbGludXgteDY0LnRhci5neiIsImJ5dGVzIjozOTE5NTIwNCwic2hhMjU2IjoiZGY5MjlmN2UyNmY1MGY5ZDRkOWJmYzcwODgzMGM4OWNjY2M1OWU3YzdiODc1ZmI0MjZiMzk1YTlkNmM0NTk5NyIsInJ1bnRpbWVfc2hhMjU2IjoiNDkyOGYwOGQxZmU0OTBiNTcyNzNlZGVmNjc0ODc4Y2YxMzQzMGEwOTE1NWIwY2IyMzEzNmZiODBmNDc0MzRlYiIsImxhdW5jaGVyX3NoYTI1NiI6IjgzZjNmOTVlYTc2YTEzY2E1NmJhZjNmYzNhMDM2Mjk3Y2U5MGQ5NTYwM2Y5YjQ4ZDA4OWQwMzAzNzdiYWUzOWUiLCJtYXRlcmlhbHMiOlt7InBhdGgiOiJCVU4tTElDRU5TRS5tZCIsImJ5dGVzIjo1NjEzLCJzaGEyNTYiOiJiOWNhZjUyNzI4NjkxYjQwNTdlMzcxMjMyYzIyMWExMzI4ODMxOThiZTJmM2QyZGRmOTJjOTA0MDRjOTg0YjFhIn0seyJwYXRoIjoiQ09SUkVTUE9ORElORy1TT1VSQ0VTLmpzb24iLCJieXRlcyI6MjAyMCwic2hhMjU2IjoiZmE0YzM0NDgwMTE1NDg3MmQ2MTc5ZWUyZWY0OTkyM2RjOWY4OTA5ZWYwMWU1M2I4NmU4ZjU3YzYyNTgyMzI3NCJ9LHsicGF0aCI6IkxJQ0VOU0UudHh0IiwiYnl0ZXMiOjExMzQ2LCJzaGEyNTYiOiI5NDRjMTNmZjBmZTc5NWUyOTFmZDFjNDk0NzNmOThkNGZkZjFmNzQ2MzhlMDFmODgyNzY5Y2Q0Y2FlNzhiNzNkIn0seyJwYXRoIjoiTk9USUNFLVBST1ZFTkFOQ0UuanNvbiIsImJ5dGVzIjo0NTAyNjQsInNoYTI1NiI6IjUzNGRkNTlmZDRjMTVkZDEzODJlODI3ZjBiODVjMTlmN2M2OThlMjM1ZjkyOTllYWEyMDJkYjU0MDA4MzQyODgifSx7InBhdGgiOiJOT1RJQ0UudHh0IiwiYnl0ZXMiOjYyNiwic2hhMjU2IjoiMWRmYmY0NDk4ZGMwMjZiMjA1OWMwYjBiNWViNWZhMWQ4MmFlMzM0ZTU4ZmYxMWU3YzI5NzMzMzI3ZjI1YzRlYiJ9LHsicGF0aCI6IlJFQlVJTERJTkcubWQiLCJieXRlcyI6Mzg0Miwic2hhMjU2IjoiY2U2MDViNWZkYjAzMTkzMzlmOWY4M2YyZmU3Y2NjYmM3ZTU3MjZmZGY0OTRkYTZlMjg0MzNiZWY4MjllYjBiZSJ9LHsicGF0aCI6IlNPVVJDRS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjo5MDE3NzcxLCJzaGEyNTYiOiI4OTk3NmJlY2MyNTY1NDBlNmQyZTgwN2I0N2E0ZTA1ZTg4OTk4MmMwNjIyZmMwNDQxM2E3YmY3ZTc3YTc3ZTM3In0seyJwYXRoIjoiVEhJUkQtUEFSVFktTk9USUNFUy50eHQiLCJieXRlcyI6MjQ5MTQ5Niwic2hhMjU2IjoiMTE2NDQ3ZWZmNzc4OTM1MTE3OTdlZjQ3NjAxMWRlYzgwMDIyNGY5MWUzMzQyZTNkNjU3MDcwODcxMmI0Yjc3MiJ9LHsicGF0aCI6ImxpY2Vuc2VzL25wbS1jbWQtc2hpbS50eHQiLCJieXRlcyI6ODEzLCJzaGEyNTYiOiJhZmZmZGYxMjA4MTEyMjc0OWM0YjcxYzViMWMxMWJjNjU5ZDc5MjQyZDE5ZTE4ZjVlOGRiYWIwNGE0NWUzNmJiIn0seyJwYXRoIjoibnBtLWFkYXB0ZXItZmlsZXMuanNvbiIsImJ5dGVzIjoxNjQ1LCJzaGEyNTYiOiI0NmJlODdmY2EwYjk1NjA0N2I0OWViMzRiNDhiZTNhZmFkMGE1Zjk4YmU4MDk0YTliMmQ2MmEyYmYxNzdhMDJiIn1dfSx7InRhcmdldCI6ImJ1bi13aW5kb3dzLWFybTY0IiwiZmlsZW5hbWUiOiJub3RpZmFpLTE0LjEuMS13aW5kb3dzLWFybTY0LnppcCIsImJ5dGVzIjozODk4MTAzNywic2hhMjU2IjoiMzcyMjdmZDllYjM5YTJhNGNkZWEzNjM1YjE4ZDhiNzc5ZWViN2U4NmMzMmUyODcwYzJkNGY0NDkwOWI2ZmMwZSIsInJ1bnRpbWVfc2hhMjU2IjoiNDZlYTI3YzQ3YWM0ZTMwNjgzZTNhMzVhZjA0NmQ2MzI2YzBjMjIyZGQ1NDkwMjVlZWMzMjM3OWVjNWQ0ZmMxNCIsImxhdW5jaGVyX3NoYTI1NiI6IjRhYTNlZjBhZjQzMzI2NjFiYWMyMmIxOTFjYTBmNTA3NTEzMWI2YmY0YjlmYzcyZWU1NzMwNzQ5MmYzNjA1ZTYiLCJtYXRlcmlhbHMiOlt7InBhdGgiOiJCVU4tTElDRU5TRS5tZCIsImJ5dGVzIjo1NjEzLCJzaGEyNTYiOiJiOWNhZjUyNzI4NjkxYjQwNTdlMzcxMjMyYzIyMWExMzI4ODMxOThiZTJmM2QyZGRmOTJjOTA0MDRjOTg0YjFhIn0seyJwYXRoIjoiQ09SUkVTUE9ORElORy1TT1VSQ0VTLmpzb24iLCJieXRlcyI6MjAyMCwic2hhMjU2IjoiZmE0YzM0NDgwMTE1NDg3MmQ2MTc5ZWUyZWY0OTkyM2RjOWY4OTA5ZWYwMWU1M2I4NmU4ZjU3YzYyNTgyMzI3NCJ9LHsicGF0aCI6IkxJQ0VOU0UudHh0IiwiYnl0ZXMiOjExMzQ2LCJzaGEyNTYiOiI5NDRjMTNmZjBmZTc5NWUyOTFmZDFjNDk0NzNmOThkNGZkZjFmNzQ2MzhlMDFmODgyNzY5Y2Q0Y2FlNzhiNzNkIn0seyJwYXRoIjoiTk9USUNFLVBST1ZFTkFOQ0UuanNvbiIsImJ5dGVzIjo0NTAyNjQsInNoYTI1NiI6IjUzNGRkNTlmZDRjMTVkZDEzODJlODI3ZjBiODVjMTlmN2M2OThlMjM1ZjkyOTllYWEyMDJkYjU0MDA4MzQyODgifSx7InBhdGgiOiJOT1RJQ0UudHh0IiwiYnl0ZXMiOjYyNiwic2hhMjU2IjoiMWRmYmY0NDk4ZGMwMjZiMjA1OWMwYjBiNWViNWZhMWQ4MmFlMzM0ZTU4ZmYxMWU3YzI5NzMzMzI3ZjI1YzRlYiJ9LHsicGF0aCI6IlJFQlVJTERJTkcubWQiLCJieXRlcyI6Mzg0Miwic2hhMjU2IjoiY2U2MDViNWZkYjAzMTkzMzlmOWY4M2YyZmU3Y2NjYmM3ZTU3MjZmZGY0OTRkYTZlMjg0MzNiZWY4MjllYjBiZSJ9LHsicGF0aCI6IlNPVVJDRS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjo5MDE3NzcxLCJzaGEyNTYiOiI4OTk3NmJlY2MyNTY1NDBlNmQyZTgwN2I0N2E0ZTA1ZTg4OTk4MmMwNjIyZmMwNDQxM2E3YmY3ZTc3YTc3ZTM3In0seyJwYXRoIjoiVEhJUkQtUEFSVFktTk9USUNFUy50eHQiLCJieXRlcyI6MjQ5MTQ5Niwic2hhMjU2IjoiMTE2NDQ3ZWZmNzc4OTM1MTE3OTdlZjQ3NjAxMWRlYzgwMDIyNGY5MWUzMzQyZTNkNjU3MDcwODcxMmI0Yjc3MiJ9LHsicGF0aCI6ImxpY2Vuc2VzL25wbS1jbWQtc2hpbS50eHQiLCJieXRlcyI6ODEzLCJzaGEyNTYiOiJhZmZmZGYxMjA4MTEyMjc0OWM0YjcxYzViMWMxMWJjNjU5ZDc5MjQyZDE5ZTE4ZjVlOGRiYWIwNGE0NWUzNmJiIn0seyJwYXRoIjoibnBtLWFkYXB0ZXItZmlsZXMuanNvbiIsImJ5dGVzIjoxNjQ1LCJzaGEyNTYiOiI0NmJlODdmY2EwYjk1NjA0N2I0OWViMzRiNDhiZTNhZmFkMGE1Zjk4YmU4MDk0YTliMmQ2MmEyYmYxNzdhMDJiIn1dfSx7InRhcmdldCI6ImJ1bi13aW5kb3dzLXg2NCIsImZpbGVuYW1lIjoibm90aWZhaS0xNC4xLjEtd2luZG93cy14NjQuemlwIiwiYnl0ZXMiOjQyMTI3NzQ5LCJzaGEyNTYiOiI4ZTU4OWEyMWU4NDA0Zjg1ZjMxYzFiYzZhMDRhZDVlZmQ4NmJhNWY2ZjRiNDAxODI3YmE2NzQwMmViZjE3OGZjIiwicnVudGltZV9zaGEyNTYiOiIwZmEyMmNjODU0ODFjYjJjYzcyYWIyN2E2ZWEwM2Q5NGRiMDQ0MzUwNmQ4NTZjOTRiOGM0Njg0YmZiNjg3MWRkIiwibGF1bmNoZXJfc2hhMjU2IjoiZmE1MzYyM2E2NTYzZTQ0MDYzOGFkNmU3MTNjMGM5MjRkNzJmNWIxYWRkZDA4ZTA2ZmUzYWQ1YmM0YzI2OTlkMiIsIm1hdGVyaWFscyI6W3sicGF0aCI6IkJVTi1MSUNFTlNFLm1kIiwiYnl0ZXMiOjU2MTMsInNoYTI1NiI6ImI5Y2FmNTI3Mjg2OTFiNDA1N2UzNzEyMzJjMjIxYTEzMjg4MzE5OGJlMmYzZDJkZGY5MmM5MDQwNGM5ODRiMWEifSx7InBhdGgiOiJDT1JSRVNQT05ESU5HLVNPVVJDRVMuanNvbiIsImJ5dGVzIjoyMDIwLCJzaGEyNTYiOiJmYTRjMzQ0ODAxMTU0ODcyZDYxNzllZTJlZjQ5OTIzZGM5Zjg5MDllZjAxZTUzYjg2ZThmNTdjNjI1ODIzMjc0In0seyJwYXRoIjoiTElDRU5TRS50eHQiLCJieXRlcyI6MTEzNDYsInNoYTI1NiI6Ijk0NGMxM2ZmMGZlNzk1ZTI5MWZkMWM0OTQ3M2Y5OGQ0ZmRmMWY3NDYzOGUwMWY4ODI3NjljZDRjYWU3OGI3M2QifSx7InBhdGgiOiJOT1RJQ0UtUFJPVkVOQU5DRS5qc29uIiwiYnl0ZXMiOjQ1MDI2NCwic2hhMjU2IjoiNTM0ZGQ1OWZkNGMxNWRkMTM4MmU4MjdmMGI4NWMxOWY3YzY5OGUyMzVmOTI5OWVhYTIwMmRiNTQwMDgzNDI4OCJ9LHsicGF0aCI6Ik5PVElDRS50eHQiLCJieXRlcyI6NjI2LCJzaGEyNTYiOiIxZGZiZjQ0OThkYzAyNmIyMDU5YzBiMGI1ZWI1ZmExZDgyYWUzMzRlNThmZjExZTdjMjk3MzMzMjdmMjVjNGViIn0seyJwYXRoIjoiUkVCVUlMRElORy5tZCIsImJ5dGVzIjozODQyLCJzaGEyNTYiOiJjZTYwNWI1ZmRiMDMxOTMzOWY5ZjgzZjJmZTdjY2NiYzdlNTcyNmZkZjQ5NGRhNmUyODQzM2JlZjgyOWViMGJlIn0seyJwYXRoIjoiU09VUkNFLU5PVElDRVMudHh0IiwiYnl0ZXMiOjkwMTc3NzEsInNoYTI1NiI6Ijg5OTc2YmVjYzI1NjU0MGU2ZDJlODA3YjQ3YTRlMDVlODg5OTgyYzA2MjJmYzA0NDEzYTdiZjdlNzdhNzdlMzcifSx7InBhdGgiOiJUSElSRC1QQVJUWS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjoyNDkxNDk2LCJzaGEyNTYiOiIxMTY0NDdlZmY3Nzg5MzUxMTc5N2VmNDc2MDExZGVjODAwMjI0ZjkxZTMzNDJlM2Q2NTcwNzA4NzEyYjRiNzcyIn0seyJwYXRoIjoibGljZW5zZXMvbnBtLWNtZC1zaGltLnR4dCIsImJ5dGVzIjo4MTMsInNoYTI1NiI6ImFmZmZkZjEyMDgxMTIyNzQ5YzRiNzFjNWIxYzExYmM2NTlkNzkyNDJkMTllMThmNWU4ZGJhYjA0YTQ1ZTM2YmIifSx7InBhdGgiOiJucG0tYWRhcHRlci1maWxlcy5qc29uIiwiYnl0ZXMiOjE2NDUsInNoYTI1NiI6IjQ2YmU4N2ZjYTBiOTU2MDQ3YjQ5ZWIzNGI0OGJlM2FmYWQwYTVmOThiZTgwOTRhOWIyZDYyYTJiZjE3N2EwMmIifV19XX0=","signature":"cAx/eu9YUagieWzbjUUE5arT+0pcWZS6g+udpdAztO3JLSNbcJSZSBTs+OfRbhZdO4dkPva4Pt5rNE5tmR4eDw=="}
1
+ {"key_id":"notifai-release-2026-10","payload":"eyJzY2hlbWEiOjIsInZlcnNpb24iOiIxNC4yLjAtYmV0YS4yIiwic291cmNlX3JldmlzaW9uIjoiMDQ4YzIxMjlkZmYyNmJjNDcyYjQ1ODA0NjY2MDRlYjg3ODJiNmJiNyIsImxvY2FsX2NvbnRpbnVpdHkiOnsiY29udHJhY3QiOiJub3RpZmFpLXNlc3Npb24tc3RhdGUtdjIiLCJjb21wYXRpYmxlIjp7Im5vdGlmYWktc2Vzc2lvbi1zdGF0ZS12MSI6WyJidW4tZGFyd2luLWFybTY0IiwiYnVuLWRhcndpbi14NjQiLCJidW4td2luZG93cy1hcm02NCIsImJ1bi13aW5kb3dzLXg2NCJdfX0sInN0b3JlX3NjaGVtYSI6MiwibGF1bmNoZXJfc2NoZW1hIjoxLCJhcnRpZmFjdHMiOlt7InRhcmdldCI6ImJ1bi1kYXJ3aW4tYXJtNjQiLCJmaWxlbmFtZSI6Im5vdGlmYWktMTQuMi4wLWJldGEuMi1kYXJ3aW4tYXJtNjQudGFyLmd6IiwiYnl0ZXMiOjI4MDc0MTI2LCJzaGEyNTYiOiJkN2FlNTUwYzJjZjM2N2U1ZGNjMTg2MjhjMTFkMDY4MzIwNzVlMTMxOTc0ZDUzNjA3NjYyZDk5YzAxZWRmYjcxIiwicnVudGltZV9zaGEyNTYiOiI2NGNkNjFkYzI5N2Y2MGZhMzNkMzBhZmI3Yzc3MzFjMjRlYzg5ZjMyNjU1NDA1N2RjNmY5ZTgxNjliZWM0OWU4IiwibGF1bmNoZXJfc2hhMjU2IjoiMjAwMDU0N2Y1NjViYWQ5MDgwZWEyZWNiZWRjZjMxZTBmZDA1MzZkYWYxZTI4YTk3ZDQ5ZjBmZTBkMGRiNmNmNCIsIm1hdGVyaWFscyI6W3sicGF0aCI6IkJVTi1MSUNFTlNFLm1kIiwiYnl0ZXMiOjU2MTMsInNoYTI1NiI6ImI5Y2FmNTI3Mjg2OTFiNDA1N2UzNzEyMzJjMjIxYTEzMjg4MzE5OGJlMmYzZDJkZGY5MmM5MDQwNGM5ODRiMWEifSx7InBhdGgiOiJDT1JSRVNQT05ESU5HLVNPVVJDRVMuanNvbiIsImJ5dGVzIjoyMDIwLCJzaGEyNTYiOiJmYTRjMzQ0ODAxMTU0ODcyZDYxNzllZTJlZjQ5OTIzZGM5Zjg5MDllZjAxZTUzYjg2ZThmNTdjNjI1ODIzMjc0In0seyJwYXRoIjoiTElDRU5TRS50eHQiLCJieXRlcyI6MTEzNDYsInNoYTI1NiI6Ijk0NGMxM2ZmMGZlNzk1ZTI5MWZkMWM0OTQ3M2Y5OGQ0ZmRmMWY3NDYzOGUwMWY4ODI3NjljZDRjYWU3OGI3M2QifSx7InBhdGgiOiJOT1RJQ0UtUFJPVkVOQU5DRS5qc29uIiwiYnl0ZXMiOjQ1MDI2NCwic2hhMjU2IjoiNTM0ZGQ1OWZkNGMxNWRkMTM4MmU4MjdmMGI4NWMxOWY3YzY5OGUyMzVmOTI5OWVhYTIwMmRiNTQwMDgzNDI4OCJ9LHsicGF0aCI6Ik5PVElDRS50eHQiLCJieXRlcyI6NjI2LCJzaGEyNTYiOiIxZGZiZjQ0OThkYzAyNmIyMDU5YzBiMGI1ZWI1ZmExZDgyYWUzMzRlNThmZjExZTdjMjk3MzMzMjdmMjVjNGViIn0seyJwYXRoIjoiUkVCVUlMRElORy5tZCIsImJ5dGVzIjozODQyLCJzaGEyNTYiOiJjZTYwNWI1ZmRiMDMxOTMzOWY5ZjgzZjJmZTdjY2NiYzdlNTcyNmZkZjQ5NGRhNmUyODQzM2JlZjgyOWViMGJlIn0seyJwYXRoIjoiU09VUkNFLU5PVElDRVMudHh0IiwiYnl0ZXMiOjkwMTc3NzEsInNoYTI1NiI6Ijg5OTc2YmVjYzI1NjU0MGU2ZDJlODA3YjQ3YTRlMDVlODg5OTgyYzA2MjJmYzA0NDEzYTdiZjdlNzdhNzdlMzcifSx7InBhdGgiOiJUSElSRC1QQVJUWS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjoyNDkxNDk2LCJzaGEyNTYiOiIxMTY0NDdlZmY3Nzg5MzUxMTc5N2VmNDc2MDExZGVjODAwMjI0ZjkxZTMzNDJlM2Q2NTcwNzA4NzEyYjRiNzcyIn0seyJwYXRoIjoibGljZW5zZXMvbnBtLWNtZC1zaGltLnR4dCIsImJ5dGVzIjo4MTMsInNoYTI1NiI6ImFmZmZkZjEyMDgxMTIyNzQ5YzRiNzFjNWIxYzExYmM2NTlkNzkyNDJkMTllMThmNWU4ZGJhYjA0YTQ1ZTM2YmIifSx7InBhdGgiOiJucG0tYWRhcHRlci1maWxlcy5qc29uIiwiYnl0ZXMiOjE2NjYsInNoYTI1NiI6IjBmOGFkYjIxODYzYTMzMDc1MTkxYWI2YWM3YWYyYzYzNWZmYTU2NDg4OGVhMzg5MDljN2U0NzcxM2NjYzcxZTkifV19LHsidGFyZ2V0IjoiYnVuLWRhcndpbi14NjQiLCJmaWxlbmFtZSI6Im5vdGlmYWktMTQuMi4wLWJldGEuMi1kYXJ3aW4teDY0LnRhci5neiIsImJ5dGVzIjozMDMxOTIxMSwic2hhMjU2IjoiYTc1M2RhZTQxMzA0ZTFmODYwODNlNzU4MjljNGM0NTk0OTQ3ZDE2NmM4NWJlMDNhNzY5NWY2MWI2NmJhMDI5ZiIsInJ1bnRpbWVfc2hhMjU2IjoiYWQ0NDE1NDFhMDllODAzZDkzMWE0YjM5N2E5OGU5NmZkNzA4OGNmMTY1YzBkZTYwNGQxYTJiOTExZWI4ZGU5NSIsImxhdW5jaGVyX3NoYTI1NiI6IjFjY2IwNTNjMTllNjk5NzM5Zjk5MGYyYmExMGI2YmQ1YWM4ZDJlZWMzZjExMmY4MGJlZDdmZGE1OWNhOTE1MzAiLCJtYXRlcmlhbHMiOlt7InBhdGgiOiJCVU4tTElDRU5TRS5tZCIsImJ5dGVzIjo1NjEzLCJzaGEyNTYiOiJiOWNhZjUyNzI4NjkxYjQwNTdlMzcxMjMyYzIyMWExMzI4ODMxOThiZTJmM2QyZGRmOTJjOTA0MDRjOTg0YjFhIn0seyJwYXRoIjoiQ09SUkVTUE9ORElORy1TT1VSQ0VTLmpzb24iLCJieXRlcyI6MjAyMCwic2hhMjU2IjoiZmE0YzM0NDgwMTE1NDg3MmQ2MTc5ZWUyZWY0OTkyM2RjOWY4OTA5ZWYwMWU1M2I4NmU4ZjU3YzYyNTgyMzI3NCJ9LHsicGF0aCI6IkxJQ0VOU0UudHh0IiwiYnl0ZXMiOjExMzQ2LCJzaGEyNTYiOiI5NDRjMTNmZjBmZTc5NWUyOTFmZDFjNDk0NzNmOThkNGZkZjFmNzQ2MzhlMDFmODgyNzY5Y2Q0Y2FlNzhiNzNkIn0seyJwYXRoIjoiTk9USUNFLVBST1ZFTkFOQ0UuanNvbiIsImJ5dGVzIjo0NTAyNjQsInNoYTI1NiI6IjUzNGRkNTlmZDRjMTVkZDEzODJlODI3ZjBiODVjMTlmN2M2OThlMjM1ZjkyOTllYWEyMDJkYjU0MDA4MzQyODgifSx7InBhdGgiOiJOT1RJQ0UudHh0IiwiYnl0ZXMiOjYyNiwic2hhMjU2IjoiMWRmYmY0NDk4ZGMwMjZiMjA1OWMwYjBiNWViNWZhMWQ4MmFlMzM0ZTU4ZmYxMWU3YzI5NzMzMzI3ZjI1YzRlYiJ9LHsicGF0aCI6IlJFQlVJTERJTkcubWQiLCJieXRlcyI6Mzg0Miwic2hhMjU2IjoiY2U2MDViNWZkYjAzMTkzMzlmOWY4M2YyZmU3Y2NjYmM3ZTU3MjZmZGY0OTRkYTZlMjg0MzNiZWY4MjllYjBiZSJ9LHsicGF0aCI6IlNPVVJDRS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjo5MDE3NzcxLCJzaGEyNTYiOiI4OTk3NmJlY2MyNTY1NDBlNmQyZTgwN2I0N2E0ZTA1ZTg4OTk4MmMwNjIyZmMwNDQxM2E3YmY3ZTc3YTc3ZTM3In0seyJwYXRoIjoiVEhJUkQtUEFSVFktTk9USUNFUy50eHQiLCJieXRlcyI6MjQ5MTQ5Niwic2hhMjU2IjoiMTE2NDQ3ZWZmNzc4OTM1MTE3OTdlZjQ3NjAxMWRlYzgwMDIyNGY5MWUzMzQyZTNkNjU3MDcwODcxMmI0Yjc3MiJ9LHsicGF0aCI6ImxpY2Vuc2VzL25wbS1jbWQtc2hpbS50eHQiLCJieXRlcyI6ODEzLCJzaGEyNTYiOiJhZmZmZGYxMjA4MTEyMjc0OWM0YjcxYzViMWMxMWJjNjU5ZDc5MjQyZDE5ZTE4ZjVlOGRiYWIwNGE0NWUzNmJiIn0seyJwYXRoIjoibnBtLWFkYXB0ZXItZmlsZXMuanNvbiIsImJ5dGVzIjoxNjY2LCJzaGEyNTYiOiIwZjhhZGIyMTg2M2EzMzA3NTE5MWFiNmFjN2FmMmM2MzVmZmE1NjQ4ODhlYTM4OTA5YzdlNDc3MTNjY2M3MWU5In1dfSx7InRhcmdldCI6ImJ1bi1saW51eC1hcm02NCIsImZpbGVuYW1lIjoibm90aWZhaS0xNC4yLjAtYmV0YS4yLWxpbnV4LWFybTY0LnRhci5neiIsImJ5dGVzIjozOTYzNTc4Miwic2hhMjU2IjoiYmU1OTE3MWQ3ZmRjNDE4MDJmYWJhYmVmNzMzMmJhMGIwNjlkZDkyZjlhZTQxZGUwM2U4YjM0MzE5MDcxZDQ2MCIsInJ1bnRpbWVfc2hhMjU2IjoiMzllOGQ3NWFjZWNhZjkwYTFhMjZmYTE1NjcyMjYwMDdjMzczMDA1NTQ0NWQwYTQyODgyZGJhYzFkMjM5YTc0ZiIsImxhdW5jaGVyX3NoYTI1NiI6ImMyYWI1ZjgwOTBjMTNmMDcwYjg3Yzg2NThiODAwM2MyYjg3OGMwYThjNWNjZGJmNWI5NDJjMTU3OTFlOGFkNzYiLCJtYXRlcmlhbHMiOlt7InBhdGgiOiJCVU4tTElDRU5TRS5tZCIsImJ5dGVzIjo1NjEzLCJzaGEyNTYiOiJiOWNhZjUyNzI4NjkxYjQwNTdlMzcxMjMyYzIyMWExMzI4ODMxOThiZTJmM2QyZGRmOTJjOTA0MDRjOTg0YjFhIn0seyJwYXRoIjoiQ09SUkVTUE9ORElORy1TT1VSQ0VTLmpzb24iLCJieXRlcyI6MjAyMCwic2hhMjU2IjoiZmE0YzM0NDgwMTE1NDg3MmQ2MTc5ZWUyZWY0OTkyM2RjOWY4OTA5ZWYwMWU1M2I4NmU4ZjU3YzYyNTgyMzI3NCJ9LHsicGF0aCI6IkxJQ0VOU0UudHh0IiwiYnl0ZXMiOjExMzQ2LCJzaGEyNTYiOiI5NDRjMTNmZjBmZTc5NWUyOTFmZDFjNDk0NzNmOThkNGZkZjFmNzQ2MzhlMDFmODgyNzY5Y2Q0Y2FlNzhiNzNkIn0seyJwYXRoIjoiTk9USUNFLVBST1ZFTkFOQ0UuanNvbiIsImJ5dGVzIjo0NTAyNjQsInNoYTI1NiI6IjUzNGRkNTlmZDRjMTVkZDEzODJlODI3ZjBiODVjMTlmN2M2OThlMjM1ZjkyOTllYWEyMDJkYjU0MDA4MzQyODgifSx7InBhdGgiOiJOT1RJQ0UudHh0IiwiYnl0ZXMiOjYyNiwic2hhMjU2IjoiMWRmYmY0NDk4ZGMwMjZiMjA1OWMwYjBiNWViNWZhMWQ4MmFlMzM0ZTU4ZmYxMWU3YzI5NzMzMzI3ZjI1YzRlYiJ9LHsicGF0aCI6IlJFQlVJTERJTkcubWQiLCJieXRlcyI6Mzg0Miwic2hhMjU2IjoiY2U2MDViNWZkYjAzMTkzMzlmOWY4M2YyZmU3Y2NjYmM3ZTU3MjZmZGY0OTRkYTZlMjg0MzNiZWY4MjllYjBiZSJ9LHsicGF0aCI6IlNPVVJDRS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjo5MDE3NzcxLCJzaGEyNTYiOiI4OTk3NmJlY2MyNTY1NDBlNmQyZTgwN2I0N2E0ZTA1ZTg4OTk4MmMwNjIyZmMwNDQxM2E3YmY3ZTc3YTc3ZTM3In0seyJwYXRoIjoiVEhJUkQtUEFSVFktTk9USUNFUy50eHQiLCJieXRlcyI6MjQ5MTQ5Niwic2hhMjU2IjoiMTE2NDQ3ZWZmNzc4OTM1MTE3OTdlZjQ3NjAxMWRlYzgwMDIyNGY5MWUzMzQyZTNkNjU3MDcwODcxMmI0Yjc3MiJ9LHsicGF0aCI6ImxpY2Vuc2VzL25wbS1jbWQtc2hpbS50eHQiLCJieXRlcyI6ODEzLCJzaGEyNTYiOiJhZmZmZGYxMjA4MTEyMjc0OWM0YjcxYzViMWMxMWJjNjU5ZDc5MjQyZDE5ZTE4ZjVlOGRiYWIwNGE0NWUzNmJiIn0seyJwYXRoIjoibnBtLWFkYXB0ZXItZmlsZXMuanNvbiIsImJ5dGVzIjoxNjY2LCJzaGEyNTYiOiIwZjhhZGIyMTg2M2EzMzA3NTE5MWFiNmFjN2FmMmM2MzVmZmE1NjQ4ODhlYTM4OTA5YzdlNDc3MTNjY2M3MWU5In1dfSx7InRhcmdldCI6ImJ1bi1saW51eC14NjQiLCJmaWxlbmFtZSI6Im5vdGlmYWktMTQuMi4wLWJldGEuMi1saW51eC14NjQudGFyLmd6IiwiYnl0ZXMiOjM5MTk5NDg1LCJzaGEyNTYiOiJmYTU0MDhlYmZhOTEyN2I0ZGU3Zjk5ZDI1MDE1YWVhODVkOGYxZGRlNjJmMWI2NzVjNzYxODdhNjU5NDg4Nzg0IiwicnVudGltZV9zaGEyNTYiOiJlOTYxMDViYjlkZmJjZjc0NzRlNDAwNjQ0NzAzN2UyNjY3NGFlNDIyNmJlNmYwZjJlZTgwZGUzMzllOWExNjk4IiwibGF1bmNoZXJfc2hhMjU2IjoiODNmM2Y5NWVhNzZhMTNjYTU2YmFmM2ZjM2EwMzYyOTdjZTkwZDk1NjAzZjliNDhkMDg5ZDAzMDM3N2JhZTM5ZSIsIm1hdGVyaWFscyI6W3sicGF0aCI6IkJVTi1MSUNFTlNFLm1kIiwiYnl0ZXMiOjU2MTMsInNoYTI1NiI6ImI5Y2FmNTI3Mjg2OTFiNDA1N2UzNzEyMzJjMjIxYTEzMjg4MzE5OGJlMmYzZDJkZGY5MmM5MDQwNGM5ODRiMWEifSx7InBhdGgiOiJDT1JSRVNQT05ESU5HLVNPVVJDRVMuanNvbiIsImJ5dGVzIjoyMDIwLCJzaGEyNTYiOiJmYTRjMzQ0ODAxMTU0ODcyZDYxNzllZTJlZjQ5OTIzZGM5Zjg5MDllZjAxZTUzYjg2ZThmNTdjNjI1ODIzMjc0In0seyJwYXRoIjoiTElDRU5TRS50eHQiLCJieXRlcyI6MTEzNDYsInNoYTI1NiI6Ijk0NGMxM2ZmMGZlNzk1ZTI5MWZkMWM0OTQ3M2Y5OGQ0ZmRmMWY3NDYzOGUwMWY4ODI3NjljZDRjYWU3OGI3M2QifSx7InBhdGgiOiJOT1RJQ0UtUFJPVkVOQU5DRS5qc29uIiwiYnl0ZXMiOjQ1MDI2NCwic2hhMjU2IjoiNTM0ZGQ1OWZkNGMxNWRkMTM4MmU4MjdmMGI4NWMxOWY3YzY5OGUyMzVmOTI5OWVhYTIwMmRiNTQwMDgzNDI4OCJ9LHsicGF0aCI6Ik5PVElDRS50eHQiLCJieXRlcyI6NjI2LCJzaGEyNTYiOiIxZGZiZjQ0OThkYzAyNmIyMDU5YzBiMGI1ZWI1ZmExZDgyYWUzMzRlNThmZjExZTdjMjk3MzMzMjdmMjVjNGViIn0seyJwYXRoIjoiUkVCVUlMRElORy5tZCIsImJ5dGVzIjozODQyLCJzaGEyNTYiOiJjZTYwNWI1ZmRiMDMxOTMzOWY5ZjgzZjJmZTdjY2NiYzdlNTcyNmZkZjQ5NGRhNmUyODQzM2JlZjgyOWViMGJlIn0seyJwYXRoIjoiU09VUkNFLU5PVElDRVMudHh0IiwiYnl0ZXMiOjkwMTc3NzEsInNoYTI1NiI6Ijg5OTc2YmVjYzI1NjU0MGU2ZDJlODA3YjQ3YTRlMDVlODg5OTgyYzA2MjJmYzA0NDEzYTdiZjdlNzdhNzdlMzcifSx7InBhdGgiOiJUSElSRC1QQVJUWS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjoyNDkxNDk2LCJzaGEyNTYiOiIxMTY0NDdlZmY3Nzg5MzUxMTc5N2VmNDc2MDExZGVjODAwMjI0ZjkxZTMzNDJlM2Q2NTcwNzA4NzEyYjRiNzcyIn0seyJwYXRoIjoibGljZW5zZXMvbnBtLWNtZC1zaGltLnR4dCIsImJ5dGVzIjo4MTMsInNoYTI1NiI6ImFmZmZkZjEyMDgxMTIyNzQ5YzRiNzFjNWIxYzExYmM2NTlkNzkyNDJkMTllMThmNWU4ZGJhYjA0YTQ1ZTM2YmIifSx7InBhdGgiOiJucG0tYWRhcHRlci1maWxlcy5qc29uIiwiYnl0ZXMiOjE2NjYsInNoYTI1NiI6IjBmOGFkYjIxODYzYTMzMDc1MTkxYWI2YWM3YWYyYzYzNWZmYTU2NDg4OGVhMzg5MDljN2U0NzcxM2NjYzcxZTkifV19LHsidGFyZ2V0IjoiYnVuLXdpbmRvd3MtYXJtNjQiLCJmaWxlbmFtZSI6Im5vdGlmYWktMTQuMi4wLWJldGEuMi13aW5kb3dzLWFybTY0LnppcCIsImJ5dGVzIjozODk4NDQ4Nywic2hhMjU2IjoiZGJhZWY5NzVjMzAxOTUxMjc3YjFhODQ4OWFiZTcxZDMzYWY3MWI0NDMyOGIwOGM3Zjc5ZjVmYmVhODQyYzYyNCIsInJ1bnRpbWVfc2hhMjU2IjoiMjdjZDQ5MGIwZTg3ZGJkOWQ2YmMzMzFjODE3YjNjMDhjNTQ5ODMzNjRkZjBiYjEyMzhlYzNiNjNlZmQ2M2YwZiIsImxhdW5jaGVyX3NoYTI1NiI6Ijc4YzA2MDg3YmQ2NGZjYjg5YjlhODU5NzcxMGY4MDE5OWQ3YWZiZTAyZjBhMjY5MGVhNTI5YjM4OWFhYjc1MzYiLCJtYXRlcmlhbHMiOlt7InBhdGgiOiJCVU4tTElDRU5TRS5tZCIsImJ5dGVzIjo1NjEzLCJzaGEyNTYiOiJiOWNhZjUyNzI4NjkxYjQwNTdlMzcxMjMyYzIyMWExMzI4ODMxOThiZTJmM2QyZGRmOTJjOTA0MDRjOTg0YjFhIn0seyJwYXRoIjoiQ09SUkVTUE9ORElORy1TT1VSQ0VTLmpzb24iLCJieXRlcyI6MjAyMCwic2hhMjU2IjoiZmE0YzM0NDgwMTE1NDg3MmQ2MTc5ZWUyZWY0OTkyM2RjOWY4OTA5ZWYwMWU1M2I4NmU4ZjU3YzYyNTgyMzI3NCJ9LHsicGF0aCI6IkxJQ0VOU0UudHh0IiwiYnl0ZXMiOjExMzQ2LCJzaGEyNTYiOiI5NDRjMTNmZjBmZTc5NWUyOTFmZDFjNDk0NzNmOThkNGZkZjFmNzQ2MzhlMDFmODgyNzY5Y2Q0Y2FlNzhiNzNkIn0seyJwYXRoIjoiTk9USUNFLVBST1ZFTkFOQ0UuanNvbiIsImJ5dGVzIjo0NTAyNjQsInNoYTI1NiI6IjUzNGRkNTlmZDRjMTVkZDEzODJlODI3ZjBiODVjMTlmN2M2OThlMjM1ZjkyOTllYWEyMDJkYjU0MDA4MzQyODgifSx7InBhdGgiOiJOT1RJQ0UudHh0IiwiYnl0ZXMiOjYyNiwic2hhMjU2IjoiMWRmYmY0NDk4ZGMwMjZiMjA1OWMwYjBiNWViNWZhMWQ4MmFlMzM0ZTU4ZmYxMWU3YzI5NzMzMzI3ZjI1YzRlYiJ9LHsicGF0aCI6IlJFQlVJTERJTkcubWQiLCJieXRlcyI6Mzg0Miwic2hhMjU2IjoiY2U2MDViNWZkYjAzMTkzMzlmOWY4M2YyZmU3Y2NjYmM3ZTU3MjZmZGY0OTRkYTZlMjg0MzNiZWY4MjllYjBiZSJ9LHsicGF0aCI6IlNPVVJDRS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjo5MDE3NzcxLCJzaGEyNTYiOiI4OTk3NmJlY2MyNTY1NDBlNmQyZTgwN2I0N2E0ZTA1ZTg4OTk4MmMwNjIyZmMwNDQxM2E3YmY3ZTc3YTc3ZTM3In0seyJwYXRoIjoiVEhJUkQtUEFSVFktTk9USUNFUy50eHQiLCJieXRlcyI6MjQ5MTQ5Niwic2hhMjU2IjoiMTE2NDQ3ZWZmNzc4OTM1MTE3OTdlZjQ3NjAxMWRlYzgwMDIyNGY5MWUzMzQyZTNkNjU3MDcwODcxMmI0Yjc3MiJ9LHsicGF0aCI6ImxpY2Vuc2VzL25wbS1jbWQtc2hpbS50eHQiLCJieXRlcyI6ODEzLCJzaGEyNTYiOiJhZmZmZGYxMjA4MTEyMjc0OWM0YjcxYzViMWMxMWJjNjU5ZDc5MjQyZDE5ZTE4ZjVlOGRiYWIwNGE0NWUzNmJiIn0seyJwYXRoIjoibnBtLWFkYXB0ZXItZmlsZXMuanNvbiIsImJ5dGVzIjoxNjY2LCJzaGEyNTYiOiIwZjhhZGIyMTg2M2EzMzA3NTE5MWFiNmFjN2FmMmM2MzVmZmE1NjQ4ODhlYTM4OTA5YzdlNDc3MTNjY2M3MWU5In1dfSx7InRhcmdldCI6ImJ1bi13aW5kb3dzLXg2NCIsImZpbGVuYW1lIjoibm90aWZhaS0xNC4yLjAtYmV0YS4yLXdpbmRvd3MteDY0LnppcCIsImJ5dGVzIjo0MjEzMTE1NSwic2hhMjU2IjoiNmQyYThmMGYwZTRhODVlMjA3MDY3ZjQxOGJkMTE4NTgxOTA1NDk1ZTdkNzc5MTY2NDk4YjJlODUyYTIwY2JlNyIsInJ1bnRpbWVfc2hhMjU2IjoiMWJiZWQwNWUxNzYyZTdiYTRjNjg0YTJjZjc1YTc1MzYwZWI4YTJjMTA3ZDFmOWU1MjBjMTAwYTczZDJhYjJkMiIsImxhdW5jaGVyX3NoYTI1NiI6ImEyNWI3OGJmOTdkZGU1MGRmNjViZjkyNTNkMjI5OGU3MjcxNjI4N2RmYWNkODdjOTM4OWE2MjVhYzc2Yjk3MTkiLCJtYXRlcmlhbHMiOlt7InBhdGgiOiJCVU4tTElDRU5TRS5tZCIsImJ5dGVzIjo1NjEzLCJzaGEyNTYiOiJiOWNhZjUyNzI4NjkxYjQwNTdlMzcxMjMyYzIyMWExMzI4ODMxOThiZTJmM2QyZGRmOTJjOTA0MDRjOTg0YjFhIn0seyJwYXRoIjoiQ09SUkVTUE9ORElORy1TT1VSQ0VTLmpzb24iLCJieXRlcyI6MjAyMCwic2hhMjU2IjoiZmE0YzM0NDgwMTE1NDg3MmQ2MTc5ZWUyZWY0OTkyM2RjOWY4OTA5ZWYwMWU1M2I4NmU4ZjU3YzYyNTgyMzI3NCJ9LHsicGF0aCI6IkxJQ0VOU0UudHh0IiwiYnl0ZXMiOjExMzQ2LCJzaGEyNTYiOiI5NDRjMTNmZjBmZTc5NWUyOTFmZDFjNDk0NzNmOThkNGZkZjFmNzQ2MzhlMDFmODgyNzY5Y2Q0Y2FlNzhiNzNkIn0seyJwYXRoIjoiTk9USUNFLVBST1ZFTkFOQ0UuanNvbiIsImJ5dGVzIjo0NTAyNjQsInNoYTI1NiI6IjUzNGRkNTlmZDRjMTVkZDEzODJlODI3ZjBiODVjMTlmN2M2OThlMjM1ZjkyOTllYWEyMDJkYjU0MDA4MzQyODgifSx7InBhdGgiOiJOT1RJQ0UudHh0IiwiYnl0ZXMiOjYyNiwic2hhMjU2IjoiMWRmYmY0NDk4ZGMwMjZiMjA1OWMwYjBiNWViNWZhMWQ4MmFlMzM0ZTU4ZmYxMWU3YzI5NzMzMzI3ZjI1YzRlYiJ9LHsicGF0aCI6IlJFQlVJTERJTkcubWQiLCJieXRlcyI6Mzg0Miwic2hhMjU2IjoiY2U2MDViNWZkYjAzMTkzMzlmOWY4M2YyZmU3Y2NjYmM3ZTU3MjZmZGY0OTRkYTZlMjg0MzNiZWY4MjllYjBiZSJ9LHsicGF0aCI6IlNPVVJDRS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjo5MDE3NzcxLCJzaGEyNTYiOiI4OTk3NmJlY2MyNTY1NDBlNmQyZTgwN2I0N2E0ZTA1ZTg4OTk4MmMwNjIyZmMwNDQxM2E3YmY3ZTc3YTc3ZTM3In0seyJwYXRoIjoiVEhJUkQtUEFSVFktTk9USUNFUy50eHQiLCJieXRlcyI6MjQ5MTQ5Niwic2hhMjU2IjoiMTE2NDQ3ZWZmNzc4OTM1MTE3OTdlZjQ3NjAxMWRlYzgwMDIyNGY5MWUzMzQyZTNkNjU3MDcwODcxMmI0Yjc3MiJ9LHsicGF0aCI6ImxpY2Vuc2VzL25wbS1jbWQtc2hpbS50eHQiLCJieXRlcyI6ODEzLCJzaGEyNTYiOiJhZmZmZGYxMjA4MTEyMjc0OWM0YjcxYzViMWMxMWJjNjU5ZDc5MjQyZDE5ZTE4ZjVlOGRiYWIwNGE0NWUzNmJiIn0seyJwYXRoIjoibnBtLWFkYXB0ZXItZmlsZXMuanNvbiIsImJ5dGVzIjoxNjY2LCJzaGEyNTYiOiIwZjhhZGIyMTg2M2EzMzA3NTE5MWFiNmFjN2FmMmM2MzVmZmE1NjQ4ODhlYTM4OTA5YzdlNDc3MTNjY2M3MWU5In1dfV19","signature":"k6ef3UHUydDrGfgdqSepkoe0hcj+pb2EkJim325ec/Zy2EZcjfaEG7/hVoFa2iGujP1VlIjf2+Ox+qJhmrm4CA=="}
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "schema": 1,
3
3
  "package": "@raidiant/notifai",
4
- "adapter_version": "14.1.1",
4
+ "adapter_version": "14.2.0-beta.2",
5
5
  "native": {
6
- "version": "14.1.1",
7
- "source_revision": "e0fc74d34dcabcd9dba4461f3e871106399e407e",
8
- "inventory_url": "https://github.com/Raidiant-io/notifai/releases/download/v14.1.1/inventory.json"
6
+ "version": "14.2.0-beta.2",
7
+ "source_revision": "048c2129dff26bc472b4580466604eb8782b6bb7",
8
+ "inventory_url": "https://github.com/Raidiant-io/notifai/releases/download/v14.2.0-beta.2/inventory.json"
9
9
  },
10
10
  "files": [
11
11
  {
12
12
  "path": "CHANGELOG.md",
13
- "bytes": 88277,
14
- "sha256": "45f7fd650df49159349c898e0c66adce181a9765ff424f9f1995212c3e2eed28"
13
+ "bytes": 89170,
14
+ "sha256": "03a6728661346b1bc3b0137b7f63e56fd93bc6e127d9aa77e1cbd7ed47c85a25"
15
15
  },
16
16
  {
17
17
  "path": "LICENSE",
@@ -35,8 +35,8 @@
35
35
  },
36
36
  {
37
37
  "path": "bin/notifai.mjs",
38
- "bytes": 524921,
39
- "sha256": "60846d8ae78e35fb00da350d08fa18633cdcd91c8155f8745d9be6372668462d"
38
+ "bytes": 527528,
39
+ "sha256": "0153079e239cd714d9b9b83a1b4961475a03fefd40e87c50cb35e9b63ecd6b8d"
40
40
  },
41
41
  {
42
42
  "path": "data/install.ps1",
@@ -45,13 +45,13 @@
45
45
  },
46
46
  {
47
47
  "path": "data/release.json",
48
- "bytes": 82,
49
- "sha256": "c027591506b28a5ef676220cc221c310d2c240cd49d9589e7c996e40f9d1223a"
48
+ "bytes": 89,
49
+ "sha256": "936eac5fa2d264990b45e6f33e9f275195119a9b527bc50aac933aa46a294856"
50
50
  },
51
51
  {
52
52
  "path": "package.json",
53
- "bytes": 1308,
54
- "sha256": "f555178982767afce5b1326b3fab445d541cf083c1300d808914b2dee5d05ae5"
53
+ "bytes": 1315,
54
+ "sha256": "ab87f826468fc07f45a6635f3b878e50b367941dc93fd1da7fe9d7c3ea8abd83"
55
55
  }
56
56
  ]
57
57
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@raidiant/notifai",
3
- "version": "14.1.1",
3
+ "version": "14.2.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": [