@raidiant/notifai 14.2.0-beta.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,7 +8,7 @@ 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.1](https://github.com/Raidiant-io/notifai/compare/v14.1.1...v14.2.0-beta.1) (2026-10-24)
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
12
 
13
13
  ### Harness support
14
14
 
@@ -18,6 +18,8 @@ and [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/).
18
18
 
19
19
  ### Release reliability
20
20
 
21
+ * Capture failed macOS notarization checks and retry only evidenced lookup failures; rejection and unknown errors remain fatal.
22
+
21
23
  * Vendor verified Bun license materials so native packaging does not depend on fetching them.
22
24
  * Bound npm-adapter verification phases with timeouts and process diagnostics.
23
25
  * Check agent guidance before builds and tests, and retain focused contract and routing regressions.
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.2.0-beta.1","source_revision":"faa339f2619899f3f82e13072e60aac31db5b7b1"}
1
+ {"version":"14.2.0-beta.2","source_revision":"048c2129dff26bc472b4580466604eb8782b6bb7"}
package/inventory.json CHANGED
@@ -1 +1 @@
1
- {"key_id":"notifai-release-2026-10","payload":"eyJzY2hlbWEiOjIsInZlcnNpb24iOiIxNC4yLjAtYmV0YS4xIiwic291cmNlX3JldmlzaW9uIjoiZmFhMzM5ZjI2MTk4OTlmM2Y4MmUxMzA3MmU2MGFhYzMxZGI1YjdiMSIsImxvY2FsX2NvbnRpbnVpdHkiOnsiY29udHJhY3QiOiJub3RpZmFpLXNlc3Npb24tc3RhdGUtdjIiLCJjb21wYXRpYmxlIjp7Im5vdGlmYWktc2Vzc2lvbi1zdGF0ZS12MSI6WyJidW4tZGFyd2luLWFybTY0IiwiYnVuLWRhcndpbi14NjQiLCJidW4td2luZG93cy1hcm02NCIsImJ1bi13aW5kb3dzLXg2NCJdfX0sInN0b3JlX3NjaGVtYSI6MiwibGF1bmNoZXJfc2NoZW1hIjoxLCJhcnRpZmFjdHMiOlt7InRhcmdldCI6ImJ1bi1kYXJ3aW4tYXJtNjQiLCJmaWxlbmFtZSI6Im5vdGlmYWktMTQuMi4wLWJldGEuMS1kYXJ3aW4tYXJtNjQudGFyLmd6IiwiYnl0ZXMiOjI4MDc0MDQ4LCJzaGEyNTYiOiI4ZTVkNDQ0MTYwNzhjMTE5NGU3ZWI1MDUzMzcyNDVkMmU2OTAyMTgzNzc4M2NhZmY0MmE3ODk2ZGEyYTE1NzM0IiwicnVudGltZV9zaGEyNTYiOiI1MTAyOTZkMmY5OWIzODhhNjEzN2U5YmI2ZmFkODA1M2RjM2FhZjQ5N2I5MDJmOGIwMThhOTNjODYwYzFmZDgzIiwibGF1bmNoZXJfc2hhMjU2IjoiZGFjMTY2ZDEzZGM3YmRhNGJiYjVkMjJiMDE4N2QzZWIzMzhmM2M2MzgzY2JiYzU2OTU5MmQyNjk4ZDRhM2Q5NCIsIm1hdGVyaWFscyI6W3sicGF0aCI6IkJVTi1MSUNFTlNFLm1kIiwiYnl0ZXMiOjU2MTMsInNoYTI1NiI6ImI5Y2FmNTI3Mjg2OTFiNDA1N2UzNzEyMzJjMjIxYTEzMjg4MzE5OGJlMmYzZDJkZGY5MmM5MDQwNGM5ODRiMWEifSx7InBhdGgiOiJDT1JSRVNQT05ESU5HLVNPVVJDRVMuanNvbiIsImJ5dGVzIjoyMDIwLCJzaGEyNTYiOiJmYTRjMzQ0ODAxMTU0ODcyZDYxNzllZTJlZjQ5OTIzZGM5Zjg5MDllZjAxZTUzYjg2ZThmNTdjNjI1ODIzMjc0In0seyJwYXRoIjoiTElDRU5TRS50eHQiLCJieXRlcyI6MTEzNDYsInNoYTI1NiI6Ijk0NGMxM2ZmMGZlNzk1ZTI5MWZkMWM0OTQ3M2Y5OGQ0ZmRmMWY3NDYzOGUwMWY4ODI3NjljZDRjYWU3OGI3M2QifSx7InBhdGgiOiJOT1RJQ0UtUFJPVkVOQU5DRS5qc29uIiwiYnl0ZXMiOjQ1MDI2NCwic2hhMjU2IjoiNTM0ZGQ1OWZkNGMxNWRkMTM4MmU4MjdmMGI4NWMxOWY3YzY5OGUyMzVmOTI5OWVhYTIwMmRiNTQwMDgzNDI4OCJ9LHsicGF0aCI6Ik5PVElDRS50eHQiLCJieXRlcyI6NjI2LCJzaGEyNTYiOiIxZGZiZjQ0OThkYzAyNmIyMDU5YzBiMGI1ZWI1ZmExZDgyYWUzMzRlNThmZjExZTdjMjk3MzMzMjdmMjVjNGViIn0seyJwYXRoIjoiUkVCVUlMRElORy5tZCIsImJ5dGVzIjozODQyLCJzaGEyNTYiOiJjZTYwNWI1ZmRiMDMxOTMzOWY5ZjgzZjJmZTdjY2NiYzdlNTcyNmZkZjQ5NGRhNmUyODQzM2JlZjgyOWViMGJlIn0seyJwYXRoIjoiU09VUkNFLU5PVElDRVMudHh0IiwiYnl0ZXMiOjkwMTc3NzEsInNoYTI1NiI6Ijg5OTc2YmVjYzI1NjU0MGU2ZDJlODA3YjQ3YTRlMDVlODg5OTgyYzA2MjJmYzA0NDEzYTdiZjdlNzdhNzdlMzcifSx7InBhdGgiOiJUSElSRC1QQVJUWS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjoyNDkxNDk2LCJzaGEyNTYiOiIxMTY0NDdlZmY3Nzg5MzUxMTc5N2VmNDc2MDExZGVjODAwMjI0ZjkxZTMzNDJlM2Q2NTcwNzA4NzEyYjRiNzcyIn0seyJwYXRoIjoibGljZW5zZXMvbnBtLWNtZC1zaGltLnR4dCIsImJ5dGVzIjo4MTMsInNoYTI1NiI6ImFmZmZkZjEyMDgxMTIyNzQ5YzRiNzFjNWIxYzExYmM2NTlkNzkyNDJkMTllMThmNWU4ZGJhYjA0YTQ1ZTM2YmIifSx7InBhdGgiOiJucG0tYWRhcHRlci1maWxlcy5qc29uIiwiYnl0ZXMiOjE2NjYsInNoYTI1NiI6IjMwNDQyNzg3ZWI0YmVhZDExODJjZGUwYmJiZjc5ZjU1Mzk0ZDQ5Y2ZjNzEzNWI4YjU4YmQ5NGE1MGJlMWRjYjUifV19LHsidGFyZ2V0IjoiYnVuLWRhcndpbi14NjQiLCJmaWxlbmFtZSI6Im5vdGlmYWktMTQuMi4wLWJldGEuMS1kYXJ3aW4teDY0LnRhci5neiIsImJ5dGVzIjozMDMxOTE1Mywic2hhMjU2IjoiYmRiZTM0YzBlZWYzMmIzOGIyODgzNzRjOTcxZDdlYmNlYTlkODExOGFkNTljMzc0YTUwMzgzNTBhMWRmOGUwYyIsInJ1bnRpbWVfc2hhMjU2IjoiNDlhMjUyNzY0NDA5MjNkYTRjNGYwZmU2ZTIxZjBlYTE0YzM0OTRlYjYzOTkzMDNkMDZhNDM5MWJhZTBmODU0NiIsImxhdW5jaGVyX3NoYTI1NiI6IjZkYWM4ZWZhOWFkY2RhMGQ1NjU3ZTA5NTNjYzE5ZmEzYjA2MjAwYjMwNzk0OTIwYWVkYWQ0Njg0ZDc2YjJlNmQiLCJtYXRlcmlhbHMiOlt7InBhdGgiOiJCVU4tTElDRU5TRS5tZCIsImJ5dGVzIjo1NjEzLCJzaGEyNTYiOiJiOWNhZjUyNzI4NjkxYjQwNTdlMzcxMjMyYzIyMWExMzI4ODMxOThiZTJmM2QyZGRmOTJjOTA0MDRjOTg0YjFhIn0seyJwYXRoIjoiQ09SUkVTUE9ORElORy1TT1VSQ0VTLmpzb24iLCJieXRlcyI6MjAyMCwic2hhMjU2IjoiZmE0YzM0NDgwMTE1NDg3MmQ2MTc5ZWUyZWY0OTkyM2RjOWY4OTA5ZWYwMWU1M2I4NmU4ZjU3YzYyNTgyMzI3NCJ9LHsicGF0aCI6IkxJQ0VOU0UudHh0IiwiYnl0ZXMiOjExMzQ2LCJzaGEyNTYiOiI5NDRjMTNmZjBmZTc5NWUyOTFmZDFjNDk0NzNmOThkNGZkZjFmNzQ2MzhlMDFmODgyNzY5Y2Q0Y2FlNzhiNzNkIn0seyJwYXRoIjoiTk9USUNFLVBST1ZFTkFOQ0UuanNvbiIsImJ5dGVzIjo0NTAyNjQsInNoYTI1NiI6IjUzNGRkNTlmZDRjMTVkZDEzODJlODI3ZjBiODVjMTlmN2M2OThlMjM1ZjkyOTllYWEyMDJkYjU0MDA4MzQyODgifSx7InBhdGgiOiJOT1RJQ0UudHh0IiwiYnl0ZXMiOjYyNiwic2hhMjU2IjoiMWRmYmY0NDk4ZGMwMjZiMjA1OWMwYjBiNWViNWZhMWQ4MmFlMzM0ZTU4ZmYxMWU3YzI5NzMzMzI3ZjI1YzRlYiJ9LHsicGF0aCI6IlJFQlVJTERJTkcubWQiLCJieXRlcyI6Mzg0Miwic2hhMjU2IjoiY2U2MDViNWZkYjAzMTkzMzlmOWY4M2YyZmU3Y2NjYmM3ZTU3MjZmZGY0OTRkYTZlMjg0MzNiZWY4MjllYjBiZSJ9LHsicGF0aCI6IlNPVVJDRS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjo5MDE3NzcxLCJzaGEyNTYiOiI4OTk3NmJlY2MyNTY1NDBlNmQyZTgwN2I0N2E0ZTA1ZTg4OTk4MmMwNjIyZmMwNDQxM2E3YmY3ZTc3YTc3ZTM3In0seyJwYXRoIjoiVEhJUkQtUEFSVFktTk9USUNFUy50eHQiLCJieXRlcyI6MjQ5MTQ5Niwic2hhMjU2IjoiMTE2NDQ3ZWZmNzc4OTM1MTE3OTdlZjQ3NjAxMWRlYzgwMDIyNGY5MWUzMzQyZTNkNjU3MDcwODcxMmI0Yjc3MiJ9LHsicGF0aCI6ImxpY2Vuc2VzL25wbS1jbWQtc2hpbS50eHQiLCJieXRlcyI6ODEzLCJzaGEyNTYiOiJhZmZmZGYxMjA4MTEyMjc0OWM0YjcxYzViMWMxMWJjNjU5ZDc5MjQyZDE5ZTE4ZjVlOGRiYWIwNGE0NWUzNmJiIn0seyJwYXRoIjoibnBtLWFkYXB0ZXItZmlsZXMuanNvbiIsImJ5dGVzIjoxNjY2LCJzaGEyNTYiOiIzMDQ0Mjc4N2ViNGJlYWQxMTgyY2RlMGJiYmY3OWY1NTM5NGQ0OWNmYzcxMzViOGI1OGJkOTRhNTBiZTFkY2I1In1dfSx7InRhcmdldCI6ImJ1bi1saW51eC1hcm02NCIsImZpbGVuYW1lIjoibm90aWZhaS0xNC4yLjAtYmV0YS4xLWxpbnV4LWFybTY0LnRhci5neiIsImJ5dGVzIjozOTYzNTcyMywic2hhMjU2IjoiZTdmYWU0M2JhYjU5NzFhY2EyYTcyYjM4YTYzN2UxYjQ2MjcxYTVmMWNlZjY0MjJiNzkzYTE5ZTg5NGI2ZGJkOCIsInJ1bnRpbWVfc2hhMjU2IjoiNGU5YmFmM2U2MWViYThjZjVhMDc4MjdlMzEwN2JmMjRiM2ZmYjc5NjAyYjM2ZmEzYTczZTIzOWUwNzg4MGZmNSIsImxhdW5jaGVyX3NoYTI1NiI6ImMyYWI1ZjgwOTBjMTNmMDcwYjg3Yzg2NThiODAwM2MyYjg3OGMwYThjNWNjZGJmNWI5NDJjMTU3OTFlOGFkNzYiLCJtYXRlcmlhbHMiOlt7InBhdGgiOiJCVU4tTElDRU5TRS5tZCIsImJ5dGVzIjo1NjEzLCJzaGEyNTYiOiJiOWNhZjUyNzI4NjkxYjQwNTdlMzcxMjMyYzIyMWExMzI4ODMxOThiZTJmM2QyZGRmOTJjOTA0MDRjOTg0YjFhIn0seyJwYXRoIjoiQ09SUkVTUE9ORElORy1TT1VSQ0VTLmpzb24iLCJieXRlcyI6MjAyMCwic2hhMjU2IjoiZmE0YzM0NDgwMTE1NDg3MmQ2MTc5ZWUyZWY0OTkyM2RjOWY4OTA5ZWYwMWU1M2I4NmU4ZjU3YzYyNTgyMzI3NCJ9LHsicGF0aCI6IkxJQ0VOU0UudHh0IiwiYnl0ZXMiOjExMzQ2LCJzaGEyNTYiOiI5NDRjMTNmZjBmZTc5NWUyOTFmZDFjNDk0NzNmOThkNGZkZjFmNzQ2MzhlMDFmODgyNzY5Y2Q0Y2FlNzhiNzNkIn0seyJwYXRoIjoiTk9USUNFLVBST1ZFTkFOQ0UuanNvbiIsImJ5dGVzIjo0NTAyNjQsInNoYTI1NiI6IjUzNGRkNTlmZDRjMTVkZDEzODJlODI3ZjBiODVjMTlmN2M2OThlMjM1ZjkyOTllYWEyMDJkYjU0MDA4MzQyODgifSx7InBhdGgiOiJOT1RJQ0UudHh0IiwiYnl0ZXMiOjYyNiwic2hhMjU2IjoiMWRmYmY0NDk4ZGMwMjZiMjA1OWMwYjBiNWViNWZhMWQ4MmFlMzM0ZTU4ZmYxMWU3YzI5NzMzMzI3ZjI1YzRlYiJ9LHsicGF0aCI6IlJFQlVJTERJTkcubWQiLCJieXRlcyI6Mzg0Miwic2hhMjU2IjoiY2U2MDViNWZkYjAzMTkzMzlmOWY4M2YyZmU3Y2NjYmM3ZTU3MjZmZGY0OTRkYTZlMjg0MzNiZWY4MjllYjBiZSJ9LHsicGF0aCI6IlNPVVJDRS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjo5MDE3NzcxLCJzaGEyNTYiOiI4OTk3NmJlY2MyNTY1NDBlNmQyZTgwN2I0N2E0ZTA1ZTg4OTk4MmMwNjIyZmMwNDQxM2E3YmY3ZTc3YTc3ZTM3In0seyJwYXRoIjoiVEhJUkQtUEFSVFktTk9USUNFUy50eHQiLCJieXRlcyI6MjQ5MTQ5Niwic2hhMjU2IjoiMTE2NDQ3ZWZmNzc4OTM1MTE3OTdlZjQ3NjAxMWRlYzgwMDIyNGY5MWUzMzQyZTNkNjU3MDcwODcxMmI0Yjc3MiJ9LHsicGF0aCI6ImxpY2Vuc2VzL25wbS1jbWQtc2hpbS50eHQiLCJieXRlcyI6ODEzLCJzaGEyNTYiOiJhZmZmZGYxMjA4MTEyMjc0OWM0YjcxYzViMWMxMWJjNjU5ZDc5MjQyZDE5ZTE4ZjVlOGRiYWIwNGE0NWUzNmJiIn0seyJwYXRoIjoibnBtLWFkYXB0ZXItZmlsZXMuanNvbiIsImJ5dGVzIjoxNjY2LCJzaGEyNTYiOiIzMDQ0Mjc4N2ViNGJlYWQxMTgyY2RlMGJiYmY3OWY1NTM5NGQ0OWNmYzcxMzViOGI1OGJkOTRhNTBiZTFkY2I1In1dfSx7InRhcmdldCI6ImJ1bi1saW51eC14NjQiLCJmaWxlbmFtZSI6Im5vdGlmYWktMTQuMi4wLWJldGEuMS1saW51eC14NjQudGFyLmd6IiwiYnl0ZXMiOjM5MTk5NDEzLCJzaGEyNTYiOiI3ZDA4NDg0MmUxZWM4ZDJmYjZkZDQwNTUwZTY1YTA5Njk0Y2M4NzllMGRmMTA1N2Y4N2ZhZjE2M2UwYmVhZWU5IiwicnVudGltZV9zaGEyNTYiOiIyZTYzOWQzNDZjNzYxZDkyNjRjZDM4MWNlNDdkNDFkYmVjZWYwMjg5N2Y3OTQxYmY3YjY3MzgwYzQzNDYxMmM1IiwibGF1bmNoZXJfc2hhMjU2IjoiODNmM2Y5NWVhNzZhMTNjYTU2YmFmM2ZjM2EwMzYyOTdjZTkwZDk1NjAzZjliNDhkMDg5ZDAzMDM3N2JhZTM5ZSIsIm1hdGVyaWFscyI6W3sicGF0aCI6IkJVTi1MSUNFTlNFLm1kIiwiYnl0ZXMiOjU2MTMsInNoYTI1NiI6ImI5Y2FmNTI3Mjg2OTFiNDA1N2UzNzEyMzJjMjIxYTEzMjg4MzE5OGJlMmYzZDJkZGY5MmM5MDQwNGM5ODRiMWEifSx7InBhdGgiOiJDT1JSRVNQT05ESU5HLVNPVVJDRVMuanNvbiIsImJ5dGVzIjoyMDIwLCJzaGEyNTYiOiJmYTRjMzQ0ODAxMTU0ODcyZDYxNzllZTJlZjQ5OTIzZGM5Zjg5MDllZjAxZTUzYjg2ZThmNTdjNjI1ODIzMjc0In0seyJwYXRoIjoiTElDRU5TRS50eHQiLCJieXRlcyI6MTEzNDYsInNoYTI1NiI6Ijk0NGMxM2ZmMGZlNzk1ZTI5MWZkMWM0OTQ3M2Y5OGQ0ZmRmMWY3NDYzOGUwMWY4ODI3NjljZDRjYWU3OGI3M2QifSx7InBhdGgiOiJOT1RJQ0UtUFJPVkVOQU5DRS5qc29uIiwiYnl0ZXMiOjQ1MDI2NCwic2hhMjU2IjoiNTM0ZGQ1OWZkNGMxNWRkMTM4MmU4MjdmMGI4NWMxOWY3YzY5OGUyMzVmOTI5OWVhYTIwMmRiNTQwMDgzNDI4OCJ9LHsicGF0aCI6Ik5PVElDRS50eHQiLCJieXRlcyI6NjI2LCJzaGEyNTYiOiIxZGZiZjQ0OThkYzAyNmIyMDU5YzBiMGI1ZWI1ZmExZDgyYWUzMzRlNThmZjExZTdjMjk3MzMzMjdmMjVjNGViIn0seyJwYXRoIjoiUkVCVUlMRElORy5tZCIsImJ5dGVzIjozODQyLCJzaGEyNTYiOiJjZTYwNWI1ZmRiMDMxOTMzOWY5ZjgzZjJmZTdjY2NiYzdlNTcyNmZkZjQ5NGRhNmUyODQzM2JlZjgyOWViMGJlIn0seyJwYXRoIjoiU09VUkNFLU5PVElDRVMudHh0IiwiYnl0ZXMiOjkwMTc3NzEsInNoYTI1NiI6Ijg5OTc2YmVjYzI1NjU0MGU2ZDJlODA3YjQ3YTRlMDVlODg5OTgyYzA2MjJmYzA0NDEzYTdiZjdlNzdhNzdlMzcifSx7InBhdGgiOiJUSElSRC1QQVJUWS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjoyNDkxNDk2LCJzaGEyNTYiOiIxMTY0NDdlZmY3Nzg5MzUxMTc5N2VmNDc2MDExZGVjODAwMjI0ZjkxZTMzNDJlM2Q2NTcwNzA4NzEyYjRiNzcyIn0seyJwYXRoIjoibGljZW5zZXMvbnBtLWNtZC1zaGltLnR4dCIsImJ5dGVzIjo4MTMsInNoYTI1NiI6ImFmZmZkZjEyMDgxMTIyNzQ5YzRiNzFjNWIxYzExYmM2NTlkNzkyNDJkMTllMThmNWU4ZGJhYjA0YTQ1ZTM2YmIifSx7InBhdGgiOiJucG0tYWRhcHRlci1maWxlcy5qc29uIiwiYnl0ZXMiOjE2NjYsInNoYTI1NiI6IjMwNDQyNzg3ZWI0YmVhZDExODJjZGUwYmJiZjc5ZjU1Mzk0ZDQ5Y2ZjNzEzNWI4YjU4YmQ5NGE1MGJlMWRjYjUifV19LHsidGFyZ2V0IjoiYnVuLXdpbmRvd3MtYXJtNjQiLCJmaWxlbmFtZSI6Im5vdGlmYWktMTQuMi4wLWJldGEuMS13aW5kb3dzLWFybTY0LnppcCIsImJ5dGVzIjozODk4NDQzMCwic2hhMjU2IjoiMWI5NmRhZGI5MjFmNmYxOGNhMjA4OThmNmJiMGZhYTA2YmM3NGE1MTE3NjUxODMyODYzMmQ2ZDI4ZjJkZGM1ZCIsInJ1bnRpbWVfc2hhMjU2IjoiY2EwYjg4M2UyMzk4MDk0MDNmYjQwYWFlM2FiZjQzYjAzMDc4OWRiOThmZDYxN2IwMDJlYWNlNTBhMDNlMDY2YSIsImxhdW5jaGVyX3NoYTI1NiI6IjJmYWRlNmRhODdmNzBmN2QwNjBkNDA5NzQ3ZDYyNWUwMDUyNjNkNGRkNDI1ZGQxMjhmZjBhNTJkNGQxMDkzODUiLCJtYXRlcmlhbHMiOlt7InBhdGgiOiJCVU4tTElDRU5TRS5tZCIsImJ5dGVzIjo1NjEzLCJzaGEyNTYiOiJiOWNhZjUyNzI4NjkxYjQwNTdlMzcxMjMyYzIyMWExMzI4ODMxOThiZTJmM2QyZGRmOTJjOTA0MDRjOTg0YjFhIn0seyJwYXRoIjoiQ09SUkVTUE9ORElORy1TT1VSQ0VTLmpzb24iLCJieXRlcyI6MjAyMCwic2hhMjU2IjoiZmE0YzM0NDgwMTE1NDg3MmQ2MTc5ZWUyZWY0OTkyM2RjOWY4OTA5ZWYwMWU1M2I4NmU4ZjU3YzYyNTgyMzI3NCJ9LHsicGF0aCI6IkxJQ0VOU0UudHh0IiwiYnl0ZXMiOjExMzQ2LCJzaGEyNTYiOiI5NDRjMTNmZjBmZTc5NWUyOTFmZDFjNDk0NzNmOThkNGZkZjFmNzQ2MzhlMDFmODgyNzY5Y2Q0Y2FlNzhiNzNkIn0seyJwYXRoIjoiTk9USUNFLVBST1ZFTkFOQ0UuanNvbiIsImJ5dGVzIjo0NTAyNjQsInNoYTI1NiI6IjUzNGRkNTlmZDRjMTVkZDEzODJlODI3ZjBiODVjMTlmN2M2OThlMjM1ZjkyOTllYWEyMDJkYjU0MDA4MzQyODgifSx7InBhdGgiOiJOT1RJQ0UudHh0IiwiYnl0ZXMiOjYyNiwic2hhMjU2IjoiMWRmYmY0NDk4ZGMwMjZiMjA1OWMwYjBiNWViNWZhMWQ4MmFlMzM0ZTU4ZmYxMWU3YzI5NzMzMzI3ZjI1YzRlYiJ9LHsicGF0aCI6IlJFQlVJTERJTkcubWQiLCJieXRlcyI6Mzg0Miwic2hhMjU2IjoiY2U2MDViNWZkYjAzMTkzMzlmOWY4M2YyZmU3Y2NjYmM3ZTU3MjZmZGY0OTRkYTZlMjg0MzNiZWY4MjllYjBiZSJ9LHsicGF0aCI6IlNPVVJDRS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjo5MDE3NzcxLCJzaGEyNTYiOiI4OTk3NmJlY2MyNTY1NDBlNmQyZTgwN2I0N2E0ZTA1ZTg4OTk4MmMwNjIyZmMwNDQxM2E3YmY3ZTc3YTc3ZTM3In0seyJwYXRoIjoiVEhJUkQtUEFSVFktTk9USUNFUy50eHQiLCJieXRlcyI6MjQ5MTQ5Niwic2hhMjU2IjoiMTE2NDQ3ZWZmNzc4OTM1MTE3OTdlZjQ3NjAxMWRlYzgwMDIyNGY5MWUzMzQyZTNkNjU3MDcwODcxMmI0Yjc3MiJ9LHsicGF0aCI6ImxpY2Vuc2VzL25wbS1jbWQtc2hpbS50eHQiLCJieXRlcyI6ODEzLCJzaGEyNTYiOiJhZmZmZGYxMjA4MTEyMjc0OWM0YjcxYzViMWMxMWJjNjU5ZDc5MjQyZDE5ZTE4ZjVlOGRiYWIwNGE0NWUzNmJiIn0seyJwYXRoIjoibnBtLWFkYXB0ZXItZmlsZXMuanNvbiIsImJ5dGVzIjoxNjY2LCJzaGEyNTYiOiIzMDQ0Mjc4N2ViNGJlYWQxMTgyY2RlMGJiYmY3OWY1NTM5NGQ0OWNmYzcxMzViOGI1OGJkOTRhNTBiZTFkY2I1In1dfSx7InRhcmdldCI6ImJ1bi13aW5kb3dzLXg2NCIsImZpbGVuYW1lIjoibm90aWZhaS0xNC4yLjAtYmV0YS4xLXdpbmRvd3MteDY0LnppcCIsImJ5dGVzIjo0MjEzMTA5OCwic2hhMjU2IjoiYjQwZWUwZjA1NzdjNDgwYzc0ZTViOWYyZDE0ZjE2OGYyM2ZiNWRmYWYxMDQwYWViNjg1Nzc5NGVhOTRmYTA5NSIsInJ1bnRpbWVfc2hhMjU2IjoiM2RhZTQ4NjIzODA2ZWU3ODQ2M2IzMWZlMTM5MTU3ZWIwZDY2ZTA2NjlkMDVlZmJlN2NiNGMwNzgwMGZiMTIyZiIsImxhdW5jaGVyX3NoYTI1NiI6IjdmOTgwMmJlZGQzMDA2ZmY0Zjg3OGIzZDQ4OGI0MzUyNmM5OWM5MWE2NTdlYzI0ZjU5Yzc3MDE5ZjVlMzBiZjAiLCJtYXRlcmlhbHMiOlt7InBhdGgiOiJCVU4tTElDRU5TRS5tZCIsImJ5dGVzIjo1NjEzLCJzaGEyNTYiOiJiOWNhZjUyNzI4NjkxYjQwNTdlMzcxMjMyYzIyMWExMzI4ODMxOThiZTJmM2QyZGRmOTJjOTA0MDRjOTg0YjFhIn0seyJwYXRoIjoiQ09SUkVTUE9ORElORy1TT1VSQ0VTLmpzb24iLCJieXRlcyI6MjAyMCwic2hhMjU2IjoiZmE0YzM0NDgwMTE1NDg3MmQ2MTc5ZWUyZWY0OTkyM2RjOWY4OTA5ZWYwMWU1M2I4NmU4ZjU3YzYyNTgyMzI3NCJ9LHsicGF0aCI6IkxJQ0VOU0UudHh0IiwiYnl0ZXMiOjExMzQ2LCJzaGEyNTYiOiI5NDRjMTNmZjBmZTc5NWUyOTFmZDFjNDk0NzNmOThkNGZkZjFmNzQ2MzhlMDFmODgyNzY5Y2Q0Y2FlNzhiNzNkIn0seyJwYXRoIjoiTk9USUNFLVBST1ZFTkFOQ0UuanNvbiIsImJ5dGVzIjo0NTAyNjQsInNoYTI1NiI6IjUzNGRkNTlmZDRjMTVkZDEzODJlODI3ZjBiODVjMTlmN2M2OThlMjM1ZjkyOTllYWEyMDJkYjU0MDA4MzQyODgifSx7InBhdGgiOiJOT1RJQ0UudHh0IiwiYnl0ZXMiOjYyNiwic2hhMjU2IjoiMWRmYmY0NDk4ZGMwMjZiMjA1OWMwYjBiNWViNWZhMWQ4MmFlMzM0ZTU4ZmYxMWU3YzI5NzMzMzI3ZjI1YzRlYiJ9LHsicGF0aCI6IlJFQlVJTERJTkcubWQiLCJieXRlcyI6Mzg0Miwic2hhMjU2IjoiY2U2MDViNWZkYjAzMTkzMzlmOWY4M2YyZmU3Y2NjYmM3ZTU3MjZmZGY0OTRkYTZlMjg0MzNiZWY4MjllYjBiZSJ9LHsicGF0aCI6IlNPVVJDRS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjo5MDE3NzcxLCJzaGEyNTYiOiI4OTk3NmJlY2MyNTY1NDBlNmQyZTgwN2I0N2E0ZTA1ZTg4OTk4MmMwNjIyZmMwNDQxM2E3YmY3ZTc3YTc3ZTM3In0seyJwYXRoIjoiVEhJUkQtUEFSVFktTk9USUNFUy50eHQiLCJieXRlcyI6MjQ5MTQ5Niwic2hhMjU2IjoiMTE2NDQ3ZWZmNzc4OTM1MTE3OTdlZjQ3NjAxMWRlYzgwMDIyNGY5MWUzMzQyZTNkNjU3MDcwODcxMmI0Yjc3MiJ9LHsicGF0aCI6ImxpY2Vuc2VzL25wbS1jbWQtc2hpbS50eHQiLCJieXRlcyI6ODEzLCJzaGEyNTYiOiJhZmZmZGYxMjA4MTEyMjc0OWM0YjcxYzViMWMxMWJjNjU5ZDc5MjQyZDE5ZTE4ZjVlOGRiYWIwNGE0NWUzNmJiIn0seyJwYXRoIjoibnBtLWFkYXB0ZXItZmlsZXMuanNvbiIsImJ5dGVzIjoxNjY2LCJzaGEyNTYiOiIzMDQ0Mjc4N2ViNGJlYWQxMTgyY2RlMGJiYmY3OWY1NTM5NGQ0OWNmYzcxMzViOGI1OGJkOTRhNTBiZTFkY2I1In1dfV19","signature":"hs2nOAWQbWN+L+duzbdKEHJ7cOhULzbzsoixUqi40rtWB4GVu7tmO7fe1DOPo1M3V+foRZEWa7jYN637mIkkCQ=="}
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.2.0-beta.1",
4
+ "adapter_version": "14.2.0-beta.2",
5
5
  "native": {
6
- "version": "14.2.0-beta.1",
7
- "source_revision": "faa339f2619899f3f82e13072e60aac31db5b7b1",
8
- "inventory_url": "https://github.com/Raidiant-io/notifai/releases/download/v14.2.0-beta.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": 89041,
14
- "sha256": "5de166d35c9ac9ed5d721345b2d5b29b772fa3812cbbc1c7a703effae567068f"
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",
@@ -46,12 +46,12 @@
46
46
  {
47
47
  "path": "data/release.json",
48
48
  "bytes": 89,
49
- "sha256": "19700de579b81c28b2a68c6514e6e55dc294a53c5e49e2db72897a693cfe9306"
49
+ "sha256": "936eac5fa2d264990b45e6f33e9f275195119a9b527bc50aac933aa46a294856"
50
50
  },
51
51
  {
52
52
  "path": "package.json",
53
53
  "bytes": 1315,
54
- "sha256": "d98cc080ebf13de7b34b7f9a448b1245ee2caf995c05184710a56a43449deacc"
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.2.0-beta.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": [