@pixelzx/genesis 2026.5.14 → 2026.5.16-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/.buildstamp +1 -1
  3. package/dist/build-info.json +3 -3
  4. package/dist/cli-startup-metadata.json +1 -1
  5. package/dist/{command-registry-BSLEuvaP.js → command-registry-CEutuF6h.js} +2 -2
  6. package/dist/{command-registry-Di4H88Ex.js → command-registry-IUMzen5t.js} +2 -2
  7. package/dist/{command-registry-core-CVLFeMly.js → command-registry-core-dhTXkSFE.js} +2 -2
  8. package/dist/{completion-cli-Dy3M9WA7.js → completion-cli-Cmokglnf.js} +2 -2
  9. package/dist/{config-cli-p0tyYOTV.js → config-cli-CUXquLaz.js} +1 -1
  10. package/dist/entry.js +1 -1
  11. package/dist/{gateway-cli-CQA4nImt.js → gateway-cli-ZPcCgahB.js} +1 -1
  12. package/dist/index.js +1 -1
  13. package/dist/plugin-sdk/.boundary-entry-shims.stamp +1 -1
  14. package/dist/postinstall-inventory.json +16 -16
  15. package/dist/{program-CHFQxiK1.js → program-LInAEfJ8.js} +1 -1
  16. package/dist/{register.subclis-DOj2-50Q.js → register.subclis-0sZa4b7M.js} +2 -2
  17. package/dist/{register.subclis-DHGEDg3U.js → register.subclis-D_z-c21p.js} +1 -1
  18. package/dist/{register.subclis-core-BlO3pEGb.js → register.subclis-core-nHLmpKBo.js} +1 -1
  19. package/dist/{run-main-klOr7Cqz.js → run-main-3RcfMsx0.js} +4 -4
  20. package/dist/{runtime-schema-B7_BXHMl.js → runtime-schema-DQ1WKzXr.js} +1 -1
  21. package/dist/{server-BQsyu4ws.js → server-BjnI9kFs.js} +1 -1
  22. package/dist/{server-plugin-bootstrap-DHPKtp9H.js → server-plugin-bootstrap-BKr5Q-qc.js} +1 -1
  23. package/dist/{server-plugin-bootstrap-BudcQZcm.js → server-plugin-bootstrap-SkX3seQa.js} +31 -8
  24. package/dist/{server.impl-CO_m2W0l.js → server.impl-DLBqoOJE.js} +2 -2
  25. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  Docs: https://docs.genesis.ai
4
4
 
5
+ ## 2026.5.16-1
6
+
7
+ ### Fixes
8
+
9
+ - Gateway: writing wallet config or unregistered channel config no longer triggers a full gateway restart; both path prefixes are now treated as no-op reloads.
10
+
11
+ ## 2026.5.16
12
+
13
+ ### Fixes
14
+
15
+ - Agents: creating, updating, or deleting an agent no longer injects runtime-only gateway auth overrides that could trigger an unnecessary gateway restart.
16
+
5
17
  ## 2026.5.14
6
18
 
7
19
  ### Fixes
package/dist/.buildstamp CHANGED
@@ -1 +1 @@
1
- {"builtAt":1778764537703,"head":"7a82aec128685eb7152d93124c4e6abcff9c98fd"}
1
+ {"builtAt":1778910219020,"head":"35d6277456eeb8fce08c16e16b5c2323af3038a8"}
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "2026.5.14",
3
- "commit": "7a82aec128685eb7152d93124c4e6abcff9c98fd",
4
- "builtAt": "2026-05-14T13:15:38.153Z"
2
+ "version": "2026.5.16-1",
3
+ "commit": "35d6277456eeb8fce08c16e16b5c2323af3038a8",
4
+ "builtAt": "2026-05-16T05:43:39.369Z"
5
5
  }
@@ -26,5 +26,5 @@
26
26
  ],
27
27
  "channelCatalogSignature": "42572c297ec512116b06530236f3aa8b204823e5",
28
28
  "rootHelpBundleSignature": "437bdc216eab24f7d121a6c204a83d434b9e5a28",
29
- "rootHelpText": "\n🦞 Genesis 2026.5.14 (7a82aec) — Like having a senior engineer on call, except I don't bill hourly or sigh audibly.\n\nUsage: genesis [options] [command]\n\nOptions:\n --container <name> Run the CLI inside a running Podman/Docker container\n named <name> (default: env GENESIS_CONTAINER)\n --dev Dev profile: isolate state under ~/.genesis-dev, default\n gateway port 19001, and shift derived ports\n (browser/canvas)\n -h, --help Display help for command\n --log-level <level> Global log level override for file + console\n (silent|fatal|error|warn|info|debug|trace)\n --no-color Disable ANSI colors\n --profile <name> Use a named profile (isolates\n GENESIS_STATE_DIR/GENESIS_CONFIG_PATH under\n ~/.genesis-<name>)\n -V, --version output the version number\n\nCommands:\n Hint: commands suffixed with * have subcommands. Run <command> --help for details.\n acp * Agent Control Protocol tools\n agent Run one agent turn via the Gateway\n agents * Manage isolated agents (workspaces, auth, routing)\n approvals * Manage exec approvals (gateway or node host)\n backup * Create and verify local backup archives for Genesis state\n capability * Run provider-backed inference commands (fallback alias:\n infer)\n channels * Manage connected chat channels (Telegram, Discord, etc.)\n chat Open a local terminal UI (alias for tui --local)\n clawbot * Legacy clawbot command aliases\n completion Generate shell completion script\n config * Non-interactive config helpers\n (get/set/unset/file/validate). Default: starts guided\n setup.\n configure Interactive configuration for credentials, channels,\n gateway, and agent defaults\n cron * Manage cron jobs via the Gateway scheduler\n daemon * Gateway service (legacy alias)\n dashboard Open the Control UI with your current token\n devices * Device pairing + token management\n directory * Lookup contact and group IDs (self, peers, groups) for\n supported chat channels\n dns * DNS helpers for wide-area discovery (Tailscale + CoreDNS)\n docs Search the live Genesis docs\n doctor Health checks + quick fixes for the gateway and channels\n exec-policy * Show or synchronize requested exec policy with host\n approvals\n gateway * Run, inspect, and query the WebSocket Gateway\n health Fetch health from the running gateway\n help Display help for command\n hooks * Manage internal agent hooks\n infer * Run provider-backed inference commands\n logs Tail gateway file logs via RPC\n mcp * Manage Genesis MCP config and channel bridge\n memory Search, inspect, and reindex memory files\n message * Send, read, and manage messages\n migrate Import config and local state from OpenClaw or Hermes\n Agent\n models * Discover, scan, and configure models\n node * Run and manage the headless node host service\n nodes * Manage gateway-owned node pairing and node commands\n onboard Interactive onboarding for gateway, workspace, and skills\n pairing * Secure DM pairing (approve inbound requests)\n plugins * Manage Genesis plugins\n proxy * Run the Genesis debug proxy and inspect captured traffic\n qr Generate mobile pairing QR/setup code\n reset Reset local config/state (keeps the CLI installed)\n sandbox * Manage sandbox containers for agent isolation\n secrets * Secrets runtime reload controls\n security * Security tools and local config audits\n sessions * List stored conversation sessions\n setup Initialize local config and agent workspace\n skills * List and inspect available skills\n status Show channel health and recent session recipients\n system * System events, heartbeat, and presence\n tasks * Inspect durable background task state\n terminal Open a local terminal UI (alias for tui --local)\n tui Open a terminal UI connected to the Gateway\n uninstall Uninstall the gateway service + local data (CLI remains)\n update * Update Genesis and inspect update channel status\n wallet * Manage the encrypted local wallet and public addresses\n webhooks * Webhook helpers and integrations\n\nExamples:\n genesis models --help\n Show detailed help for the models command.\n genesis channels login --verbose\n Link personal WhatsApp Web and show QR + connection logs.\n genesis message send --target +15555550123 --message \"Hi\" --json\n Send via your web session and print JSON result.\n genesis gateway --port 18789\n Run the WebSocket Gateway locally.\n genesis --dev gateway\n Run a dev Gateway (isolated state/config) on ws://127.0.0.1:19001.\n genesis gateway --force\n Kill anything bound to the default gateway port, then start it.\n genesis gateway ...\n Gateway control via WebSocket.\n genesis agent --to +15555550123 --message \"Run summary\" --deliver\n Talk directly to the agent using the Gateway; optionally send the WhatsApp reply.\n genesis message send --channel telegram --target @mychat --message \"Hi\"\n Send via your Telegram bot.\n\nDocs: https://docs.genesis.ai/cli\n\n"
29
+ "rootHelpText": "\n🦞 Genesis 2026.5.16-1 (35d6277) — I don't judge, but your missing API keys are absolutely judging you.\n\nUsage: genesis [options] [command]\n\nOptions:\n --container <name> Run the CLI inside a running Podman/Docker container\n named <name> (default: env GENESIS_CONTAINER)\n --dev Dev profile: isolate state under ~/.genesis-dev, default\n gateway port 19001, and shift derived ports\n (browser/canvas)\n -h, --help Display help for command\n --log-level <level> Global log level override for file + console\n (silent|fatal|error|warn|info|debug|trace)\n --no-color Disable ANSI colors\n --profile <name> Use a named profile (isolates\n GENESIS_STATE_DIR/GENESIS_CONFIG_PATH under\n ~/.genesis-<name>)\n -V, --version output the version number\n\nCommands:\n Hint: commands suffixed with * have subcommands. Run <command> --help for details.\n acp * Agent Control Protocol tools\n agent Run one agent turn via the Gateway\n agents * Manage isolated agents (workspaces, auth, routing)\n approvals * Manage exec approvals (gateway or node host)\n backup * Create and verify local backup archives for Genesis state\n capability * Run provider-backed inference commands (fallback alias:\n infer)\n channels * Manage connected chat channels (Telegram, Discord, etc.)\n chat Open a local terminal UI (alias for tui --local)\n clawbot * Legacy clawbot command aliases\n completion Generate shell completion script\n config * Non-interactive config helpers\n (get/set/unset/file/validate). Default: starts guided\n setup.\n configure Interactive configuration for credentials, channels,\n gateway, and agent defaults\n cron * Manage cron jobs via the Gateway scheduler\n daemon * Gateway service (legacy alias)\n dashboard Open the Control UI with your current token\n devices * Device pairing + token management\n directory * Lookup contact and group IDs (self, peers, groups) for\n supported chat channels\n dns * DNS helpers for wide-area discovery (Tailscale + CoreDNS)\n docs Search the live Genesis docs\n doctor Health checks + quick fixes for the gateway and channels\n exec-policy * Show or synchronize requested exec policy with host\n approvals\n gateway * Run, inspect, and query the WebSocket Gateway\n health Fetch health from the running gateway\n help Display help for command\n hooks * Manage internal agent hooks\n infer * Run provider-backed inference commands\n logs Tail gateway file logs via RPC\n mcp * Manage Genesis MCP config and channel bridge\n memory Search, inspect, and reindex memory files\n message * Send, read, and manage messages\n migrate Import config and local state from OpenClaw or Hermes\n Agent\n models * Discover, scan, and configure models\n node * Run and manage the headless node host service\n nodes * Manage gateway-owned node pairing and node commands\n onboard Interactive onboarding for gateway, workspace, and skills\n pairing * Secure DM pairing (approve inbound requests)\n plugins * Manage Genesis plugins\n proxy * Run the Genesis debug proxy and inspect captured traffic\n qr Generate mobile pairing QR/setup code\n reset Reset local config/state (keeps the CLI installed)\n sandbox * Manage sandbox containers for agent isolation\n secrets * Secrets runtime reload controls\n security * Security tools and local config audits\n sessions * List stored conversation sessions\n setup Initialize local config and agent workspace\n skills * List and inspect available skills\n status Show channel health and recent session recipients\n system * System events, heartbeat, and presence\n tasks * Inspect durable background task state\n terminal Open a local terminal UI (alias for tui --local)\n tui Open a terminal UI connected to the Gateway\n uninstall Uninstall the gateway service + local data (CLI remains)\n update * Update Genesis and inspect update channel status\n wallet * Manage the encrypted local wallet and public addresses\n webhooks * Webhook helpers and integrations\n\nExamples:\n genesis models --help\n Show detailed help for the models command.\n genesis channels login --verbose\n Link personal WhatsApp Web and show QR + connection logs.\n genesis message send --target +15555550123 --message \"Hi\" --json\n Send via your web session and print JSON result.\n genesis gateway --port 18789\n Run the WebSocket Gateway locally.\n genesis --dev gateway\n Run a dev Gateway (isolated state/config) on ws://127.0.0.1:19001.\n genesis gateway --force\n Kill anything bound to the default gateway port, then start it.\n genesis gateway ...\n Gateway control via WebSocket.\n genesis agent --to +15555550123 --message \"Run summary\" --deliver\n Talk directly to the agent using the Gateway; optionally send the WhatsApp reply.\n genesis message send --channel telegram --target @mychat --message \"Hi\"\n Send via your Telegram bot.\n\nDocs: https://docs.genesis.ai/cli\n\n"
30
30
  }
@@ -1,5 +1,5 @@
1
- import { n as registerCoreCliCommands } from "./command-registry-core-CVLFeMly.js";
2
- import { n as registerSubCliCommands } from "./register.subclis-DOj2-50Q.js";
1
+ import { n as registerCoreCliCommands } from "./command-registry-core-dhTXkSFE.js";
2
+ import { n as registerSubCliCommands } from "./register.subclis-0sZa4b7M.js";
3
3
  //#region src/cli/program/command-registry.ts
4
4
  function registerProgramCommands(program, ctx, argv = process.argv) {
5
5
  registerCoreCliCommands(program, ctx, argv);
@@ -1,4 +1,4 @@
1
1
  import "./core-command-descriptors-C5qh62Os.js";
2
- import { t as registerCoreCliByName } from "./command-registry-core-CVLFeMly.js";
3
- import "./command-registry-BSLEuvaP.js";
2
+ import { t as registerCoreCliByName } from "./command-registry-core-dhTXkSFE.js";
3
+ import "./command-registry-CEutuF6h.js";
4
4
  export { registerCoreCliByName };
@@ -1,6 +1,6 @@
1
1
  import { t as resolveCliArgvInvocation } from "./argv-invocation-BIP3nEco.js";
2
2
  import { n as shouldRegisterPrimaryCommandOnly } from "./command-registration-policy-BdwKjnCV.js";
3
- import { a as defineImportedCommandGroupSpec, i as buildCommandGroupEntries, o as defineImportedProgramCommandGroupSpecs } from "./register.subclis-core-BlO3pEGb.js";
3
+ import { a as defineImportedCommandGroupSpec, i as buildCommandGroupEntries, o as defineImportedProgramCommandGroupSpecs } from "./register.subclis-core-nHLmpKBo.js";
4
4
  import { t as getCoreCliCommandDescriptors } from "./core-command-descriptors-C5qh62Os.js";
5
5
  import { i as registerCommandGroups, r as registerCommandGroupByName } from "./register-command-groups-DhvN8p0W.js";
6
6
  //#region src/cli/program/command-registry-core.ts
@@ -31,7 +31,7 @@ const coreEntrySpecs = [
31
31
  },
32
32
  {
33
33
  commandNames: ["config"],
34
- loadModule: () => import("./config-cli-p0tyYOTV.js"),
34
+ loadModule: () => import("./config-cli-CUXquLaz.js"),
35
35
  exportName: "registerConfigCli"
36
36
  },
37
37
  {
@@ -2,9 +2,9 @@ import { c as routeLogsToStderr } from "./subsystem-DTMy5YmO.js";
2
2
  import { t as formatDocsLink } from "./links-DmsJCU7L.js";
3
3
  import { r as theme } from "./theme-BrRleVfL.js";
4
4
  import { a as isCompletionShell, o as resolveCompletionCachePath, r as installCompletion, s as resolveShellFromEnv, t as COMPLETION_SHELLS } from "./completion-runtime-BsbwIluW.js";
5
- import { n as registerSubCliByName, t as getSubCliEntries } from "./register.subclis-core-BlO3pEGb.js";
5
+ import { n as registerSubCliByName, t as getSubCliEntries } from "./register.subclis-core-nHLmpKBo.js";
6
6
  import { t as getCoreCliCommandDescriptors } from "./core-command-descriptors-C5qh62Os.js";
7
- import "./command-registry-core-CVLFeMly.js";
7
+ import "./command-registry-core-dhTXkSFE.js";
8
8
  import path from "node:path";
9
9
  import fs from "node:fs/promises";
10
10
  import { Option } from "commander";
@@ -17,7 +17,7 @@ import { r as replaceConfigFile } from "./mutate-Ck2md8xN.js";
17
17
  import "./config-978YFBb1.js";
18
18
  import { a as normalizeConfigIssues, n as formatConfigIssueLines } from "./issue-format-CctGyTV-.js";
19
19
  import { t as redactConfigObject } from "./redact-snapshot-BRzjCxXA.js";
20
- import { n as readBestEffortRuntimeConfigSchema } from "./runtime-schema-B7_BXHMl.js";
20
+ import { n as readBestEffortRuntimeConfigSchema } from "./runtime-schema-DQ1WKzXr.js";
21
21
  import { n as setCommandJsonMode } from "./json-mode-C-v0O8CU.js";
22
22
  import fs from "node:fs";
23
23
  import JSON5 from "json5";
package/dist/entry.js CHANGED
@@ -179,7 +179,7 @@ function tryHandleRootHelpFastPath(argv, deps = {}) {
179
179
  }
180
180
  function runMainOrRootHelp(argv) {
181
181
  if (tryHandleRootHelpFastPath(argv)) return;
182
- import("./run-main-klOr7Cqz.js").then(({ runCli }) => runCli(argv)).catch((error) => {
182
+ import("./run-main-3RcfMsx0.js").then(({ runCli }) => runCli(argv)).catch((error) => {
183
183
  console.error("[genesis] Failed to start CLI:", error instanceof Error ? error.stack ?? error.message : error);
184
184
  process$1.exitCode = 1;
185
185
  });
@@ -707,7 +707,7 @@ async function runGatewayCommand$1(opts) {
707
707
  const { startGatewayServer } = await startupTrace.measure("cli.server-import", () => withProgress({
708
708
  label: "Loading gateway modules…",
709
709
  indeterminate: true
710
- }, async () => import("./server-BQsyu4ws.js")));
710
+ }, async () => import("./server-BjnI9kFs.js")));
711
711
  setConsoleTimestampPrefix(true);
712
712
  if (devMode) await startupTrace.measure("cli.dev-config", () => ensureDevGatewayConfig({ reset: Boolean(opts.reset) }));
713
713
  gatewayLog.info("loading configuration…");
package/dist/index.js CHANGED
@@ -27,7 +27,7 @@ let runExec;
27
27
  let saveSessionStore;
28
28
  let waitForever;
29
29
  async function loadLegacyCliDeps() {
30
- const { runCli } = await import("./run-main-klOr7Cqz.js");
30
+ const { runCli } = await import("./run-main-3RcfMsx0.js");
31
31
  return { runCli };
32
32
  }
33
33
  async function runLegacyCliEntry(argv = process.argv, deps) {
@@ -1 +1 @@
1
- 2026-05-14T13:15:37.926Z
1
+ 2026-05-16T05:43:39.195Z
@@ -468,9 +468,9 @@
468
468
  "dist/command-queue-BVp2ZFpC.js",
469
469
  "dist/command-registration-B-qUrAIO.js",
470
470
  "dist/command-registration-policy-BdwKjnCV.js",
471
- "dist/command-registry-BSLEuvaP.js",
472
- "dist/command-registry-core-CVLFeMly.js",
473
- "dist/command-registry-Di4H88Ex.js",
471
+ "dist/command-registry-CEutuF6h.js",
472
+ "dist/command-registry-core-dhTXkSFE.js",
473
+ "dist/command-registry-IUMzen5t.js",
474
474
  "dist/command-secret-gateway-CeBdQ0UB.js",
475
475
  "dist/command-secret-targets-0Wyup4PV.js",
476
476
  "dist/command-secret-targets-BV4u8JMq.js",
@@ -512,7 +512,7 @@
512
512
  "dist/compact-BIdDCBoG.js",
513
513
  "dist/compact.runtime-DgjjAE5U.js",
514
514
  "dist/compact.runtime.js",
515
- "dist/completion-cli-Dy3M9WA7.js",
515
+ "dist/completion-cli-Cmokglnf.js",
516
516
  "dist/completion-runtime-BsbwIluW.js",
517
517
  "dist/config-7I0knzAJ.js",
518
518
  "dist/config-978YFBb1.js",
@@ -525,7 +525,7 @@
525
525
  "dist/config-BmmeC3qi.js",
526
526
  "dist/config-BNyrkpR-.js",
527
527
  "dist/config-BT5PfloK.js",
528
- "dist/config-cli-p0tyYOTV.js",
528
+ "dist/config-cli-CUXquLaz.js",
529
529
  "dist/config-compat-BhJuQ9Ht.js",
530
530
  "dist/config-compat-BZ4ovP5A.js",
531
531
  "dist/config-compat-RCYFy_Rb.js",
@@ -2434,7 +2434,7 @@
2434
2434
  "dist/gateway-auth-bypass-dbCx0KUx.js",
2435
2435
  "dist/gateway-bindings-ClJ2dExa.js",
2436
2436
  "dist/gateway-CjuxvsvZ.js",
2437
- "dist/gateway-cli-CQA4nImt.js",
2437
+ "dist/gateway-cli-ZPcCgahB.js",
2438
2438
  "dist/gateway-control-ui-origins-BtAQL9cI.js",
2439
2439
  "dist/gateway-discovery-targets-DKx0wuJ4.js",
2440
2440
  "dist/gateway-install-token-U905xAQq.js",
@@ -6924,9 +6924,9 @@
6924
6924
  "dist/profile-list-DxD5kVCL.js",
6925
6925
  "dist/profile-utils-To1CCPIt.js",
6926
6926
  "dist/profiles-iex9FALy.js",
6927
- "dist/program-CHFQxiK1.js",
6928
6927
  "dist/program-context-D0cjwuja.js",
6929
6928
  "dist/program-context-Va23KkRp.js",
6929
+ "dist/program-LInAEfJ8.js",
6930
6930
  "dist/progress-B0hhA4sH.js",
6931
6931
  "dist/progress-BaE4F9na.js",
6932
6932
  "dist/progress-line-xDw3PVgH.js",
@@ -7136,9 +7136,9 @@
7136
7136
  "dist/register.runtime.js",
7137
7137
  "dist/register.setup-VfQ0EfuW.js",
7138
7138
  "dist/register.status-health-sessions-ZXf1H1GV.js",
7139
- "dist/register.subclis-core-BlO3pEGb.js",
7140
- "dist/register.subclis-DHGEDg3U.js",
7141
- "dist/register.subclis-DOj2-50Q.js",
7139
+ "dist/register.subclis-0sZa4b7M.js",
7140
+ "dist/register.subclis-core-nHLmpKBo.js",
7141
+ "dist/register.subclis-D_z-c21p.js",
7142
7142
  "dist/register.wallet-DIhihGeq.js",
7143
7143
  "dist/registry-BFavuj82.js",
7144
7144
  "dist/registry-CXnn3dzM.js",
@@ -7227,7 +7227,7 @@
7227
7227
  "dist/run-external-content.runtime-C3ZQF1m8.js",
7228
7228
  "dist/run-external-content.runtime.js",
7229
7229
  "dist/run-id-C6SoIdjl.js",
7230
- "dist/run-main-klOr7Cqz.js",
7230
+ "dist/run-main-3RcfMsx0.js",
7231
7231
  "dist/run-model-catalog.runtime-D1G1rb2a.js",
7232
7232
  "dist/run-model-catalog.runtime.js",
7233
7233
  "dist/run-session-state-C2B335sY.js",
@@ -7303,7 +7303,7 @@
7303
7303
  "dist/runtime-provider-euu3-9WC.js",
7304
7304
  "dist/runtime-registry-loader-CT5UYVi7.js",
7305
7305
  "dist/runtime-registry-loader-nToq7r4Y.js",
7306
- "dist/runtime-schema-B7_BXHMl.js",
7306
+ "dist/runtime-schema-DQ1WKzXr.js",
7307
7307
  "dist/runtime-shared-BYcgFPa1.js",
7308
7308
  "dist/runtime-shared-wlemx0vJ.js",
7309
7309
  "dist/runtime-Sn8KleIb.js",
@@ -7383,19 +7383,19 @@
7383
7383
  "dist/send-policy-C-G8KVhh.js",
7384
7384
  "dist/send.runtime-CEMrmW9b.js",
7385
7385
  "dist/send.runtime.js",
7386
- "dist/server-BQsyu4ws.js",
7386
+ "dist/server-BjnI9kFs.js",
7387
7387
  "dist/server-context-B6XEIceO.js",
7388
7388
  "dist/server-context-Dsf1Dbvg.js",
7389
7389
  "dist/server-jgippPyH.js",
7390
7390
  "dist/server-middleware-C8S5aVse.js",
7391
7391
  "dist/server-node-events-ClFTdjSU.js",
7392
- "dist/server-plugin-bootstrap-BudcQZcm.js",
7393
- "dist/server-plugin-bootstrap-DHPKtp9H.js",
7392
+ "dist/server-plugin-bootstrap-BKr5Q-qc.js",
7393
+ "dist/server-plugin-bootstrap-SkX3seQa.js",
7394
7394
  "dist/server-restart-sentinel-BHMcnf9r.js",
7395
7395
  "dist/server-startup-log-BxIlUtST.js",
7396
7396
  "dist/server-startup-memory-D55xWFfq.js",
7397
7397
  "dist/server-tailscale-D1PqQsd5.js",
7398
- "dist/server.impl-CO_m2W0l.js",
7398
+ "dist/server.impl-DLBqoOJE.js",
7399
7399
  "dist/service-audit-CuYUK6l5.js",
7400
7400
  "dist/service-audit-FsztusUk.js",
7401
7401
  "dist/service-CQCSbs_d.js",
@@ -7,7 +7,7 @@ import { n as resolveCliChannelOptions } from "./channel-options-cRnHf9Nu.js";
7
7
  import { t as isCommandJsonOutputMode } from "./json-mode-C-v0O8CU.js";
8
8
  import { t as forceFreePort } from "./ports-CCwOHpa_.js";
9
9
  import { n as resolvePluginInstallPreactionRequest, t as resolvePluginInstallInvalidConfigPolicy } from "./plugin-install-config-policy--SxTae7t.js";
10
- import { t as registerProgramCommands } from "./command-registry-BSLEuvaP.js";
10
+ import { t as registerProgramCommands } from "./command-registry-CEutuF6h.js";
11
11
  import { t as configureProgramHelp } from "./help-s987DOEM.js";
12
12
  import { i as shouldBypassConfigGuardForCommandPath, n as ensureCliExecutionBootstrap, r as resolveCliExecutionStartupContext, t as applyCliExecutionStartupPresentation } from "./command-execution-startup-QB6n1mLE.js";
13
13
  import { n as setProgramContext } from "./program-context-Va23KkRp.js";
@@ -1,12 +1,12 @@
1
1
  import { t as resolveCliArgvInvocation } from "./argv-invocation-BIP3nEco.js";
2
2
  import { r as shouldRegisterPrimarySubcommandOnly, t as shouldEagerRegisterSubcommands } from "./command-registration-policy-BdwKjnCV.js";
3
- import { i as buildCommandGroupEntries, n as registerSubCliByName$1, o as defineImportedProgramCommandGroupSpecs, r as registerSubCliCommands$1 } from "./register.subclis-core-BlO3pEGb.js";
3
+ import { i as buildCommandGroupEntries, n as registerSubCliByName$1, o as defineImportedProgramCommandGroupSpecs, r as registerSubCliCommands$1 } from "./register.subclis-core-nHLmpKBo.js";
4
4
  import { i as registerCommandGroups, r as registerCommandGroupByName } from "./register-command-groups-DhvN8p0W.js";
5
5
  import { n as getSubCliEntries } from "./subcli-descriptors-CkIxFGIA.js";
6
6
  //#region src/cli/program/register.subclis.ts
7
7
  const entrySpecs = [...defineImportedProgramCommandGroupSpecs([{
8
8
  commandNames: ["completion"],
9
- loadModule: () => import("./completion-cli-Dy3M9WA7.js"),
9
+ loadModule: () => import("./completion-cli-Cmokglnf.js"),
10
10
  exportName: "registerCompletionCli"
11
11
  }])];
12
12
  function resolveSubCliCommandGroups() {
@@ -1,3 +1,3 @@
1
1
  import "./subcli-descriptors-CkIxFGIA.js";
2
- import { t as registerSubCliByName } from "./register.subclis-DOj2-50Q.js";
2
+ import { t as registerSubCliByName } from "./register.subclis-0sZa4b7M.js";
3
3
  export { registerSubCliByName };
@@ -63,7 +63,7 @@ function buildEntrySpecs(options = {}) {
63
63
  },
64
64
  {
65
65
  commandNames: ["gateway"],
66
- loadModule: () => import("./gateway-cli-CQA4nImt.js"),
66
+ loadModule: () => import("./gateway-cli-ZPcCgahB.js"),
67
67
  exportName: "registerGatewayCli"
68
68
  },
69
69
  {
@@ -240,7 +240,7 @@ function defineRoutedCommand(definition) {
240
240
  let configCliPromise;
241
241
  let modelsListPromise;
242
242
  function loadConfigCli() {
243
- configCliPromise ??= import("./config-cli-p0tyYOTV.js");
243
+ configCliPromise ??= import("./config-cli-CUXquLaz.js");
244
244
  return configCliPromise;
245
245
  }
246
246
  function loadModelsList() {
@@ -508,7 +508,7 @@ async function runCli(argv = process$1.argv) {
508
508
  if (await tryRouteCli(normalizedArgv)) return;
509
509
  enableConsoleCapture();
510
510
  const [{ buildProgram }, { runFatalErrorHooks }, { installUnhandledRejectionHandler }, { restoreTerminalState }] = await Promise.all([
511
- import("./program-CHFQxiK1.js"),
511
+ import("./program-LInAEfJ8.js"),
512
512
  import("./fatal-error-hooks-C54p3nG2.js"),
513
513
  import("./unhandled-rejections-Cr4SP4Pl.js"),
514
514
  import("./restore-Bq3mpjIz.js")
@@ -530,10 +530,10 @@ async function runCli(argv = process$1.argv) {
530
530
  const { getProgramContext } = await import("./program-context-D0cjwuja.js");
531
531
  const ctx = getProgramContext(program);
532
532
  if (ctx) {
533
- const { registerCoreCliByName } = await import("./command-registry-Di4H88Ex.js");
533
+ const { registerCoreCliByName } = await import("./command-registry-IUMzen5t.js");
534
534
  await registerCoreCliByName(program, ctx, primary, parseArgv);
535
535
  }
536
- const { registerSubCliByName } = await import("./register.subclis-DHGEDg3U.js");
536
+ const { registerSubCliByName } = await import("./register.subclis-D_z-c21p.js");
537
537
  await registerSubCliByName(program, primary);
538
538
  }
539
539
  if (!shouldSkipPluginCommandRegistration({
@@ -27398,7 +27398,7 @@ const GENERATED_BASE_CONFIG_SCHEMA = {
27398
27398
  ] },
27399
27399
  "mcp.servers.*.url": { tags: ["advanced", "url-secret"] }
27400
27400
  },
27401
- version: "2026.5.14",
27401
+ version: "2026.5.16-1",
27402
27402
  generatedAt: "2026-03-22T21:17:33.302Z"
27403
27403
  };
27404
27404
  //#endregion
@@ -1,7 +1,7 @@
1
1
  import { t as truncateCloseReason } from "./close-reason-DwPR0L-C.js";
2
2
  //#region src/gateway/server.ts
3
3
  async function loadServerImpl() {
4
- return await import("./server.impl-CO_m2W0l.js");
4
+ return await import("./server.impl-DLBqoOJE.js");
5
5
  }
6
6
  async function startGatewayServer(...args) {
7
7
  return await (await loadServerImpl()).startGatewayServer(...args);
@@ -1,2 +1,2 @@
1
- import { r as reloadDeferredGatewayPlugins } from "./server-plugin-bootstrap-BudcQZcm.js";
1
+ import { r as reloadDeferredGatewayPlugins } from "./server-plugin-bootstrap-SkX3seQa.js";
2
2
  export { reloadDeferredGatewayPlugins };
@@ -14,7 +14,7 @@ import { t as sameFileIdentity } from "./file-identity-DBd-elc3.js";
14
14
  import { a as clearPluginManifestRegistryCache } from "./manifest-registry-DQR_-Eq8.js";
15
15
  import { t as applyExclusiveSlotSelection } from "./slots-ClU32VIo.js";
16
16
  import { o as normalizePluginsConfig } from "./config-state-C9Af4Gv_.js";
17
- import { $ as buildTalkConfigResponse, E as validateConfigObjectWithPlugins, V as shouldAttemptLastKnownGoodRecovery, a as loadConfig, b as writeConfigFileWithResult, d as readConfigFileSnapshotForWrite, et as normalizeTalkSection, o as parseConfigJson5, r as createConfigIO, tt as resolveActiveTalkProviderConfig, u as readConfigFileSnapshot, v as resolveConfigSnapshotHash, y as writeConfigFile } from "./io-DK8qz7fQ.js";
17
+ import { $ as buildTalkConfigResponse, E as validateConfigObjectWithPlugins, V as shouldAttemptLastKnownGoodRecovery, a as loadConfig, b as writeConfigFileWithResult, d as readConfigFileSnapshotForWrite, et as normalizeTalkSection, o as parseConfigJson5, r as createConfigIO, tt as resolveActiveTalkProviderConfig, u as readConfigFileSnapshot, v as resolveConfigSnapshotHash } from "./io-DK8qz7fQ.js";
18
18
  import { i as asOptionalRecord, n as asNullableRecord } from "./record-coerce-BpObaVhi.js";
19
19
  import { a as isSubagentSessionKey, c as parseThreadSessionSuffix, n as isAcpSessionKey, o as parseAgentSessionKey } from "./session-key-utils-BT0y7mVK.js";
20
20
  import { t as DEFAULT_ACCOUNT_ID } from "./account-id-C3j_3_su.js";
@@ -160,7 +160,7 @@ import { n as movePathToTrash } from "./browser-maintenance-DioVSEZf.js";
160
160
  import { a as performGatewaySessionReset } from "./session-reset-service-DQ3zBf6H.js";
161
161
  import { t as buildChannelUiCatalog } from "./catalog-DG_AWp-b.js";
162
162
  import { a as removeBackfillDiaryEntries, c as writeBackfillDiaryEntries, n as dedupeDreamDiaryEntries, o as removeGroundedShortTermCandidates, r as previewGroundedRemMarkdown, s as repairDreamingArtifacts } from "./memory-core-bundled-runtime-BqcQ1Ofv.js";
163
- import { r as lookupConfigSchema, t as loadGatewayRuntimeConfigSchema } from "./runtime-schema-B7_BXHMl.js";
163
+ import { r as lookupConfigSchema, t as loadGatewayRuntimeConfigSchema } from "./runtime-schema-DQ1WKzXr.js";
164
164
  import { t as readConfiguredLogTail } from "./log-tail-DXfzWKxo.js";
165
165
  import { n as purgeAgentSessionStoreEntries } from "./agents.command-shared-By3fc3ma.js";
166
166
  import { a as pruneAgentConfig, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-BZdrxX2O.js";
@@ -1501,7 +1501,8 @@ const agentsHandlers = {
1501
1501
  respond(false, void 0, errorShape(ErrorCodes.INVALID_REQUEST, `invalid agents.create params: ${formatValidationErrors(validateAgentsCreateParams.errors)}`));
1502
1502
  return;
1503
1503
  }
1504
- const cfg = loadConfig();
1504
+ const { snapshot, writeOptions } = await readConfigFileSnapshotForWrite();
1505
+ const cfg = snapshot.config;
1505
1506
  const rawName = params.name.trim();
1506
1507
  const agentId = normalizeAgentId(rawName);
1507
1508
  if (agentId === "main") {
@@ -1553,7 +1554,11 @@ const agentsHandlers = {
1553
1554
  content: identityContent
1554
1555
  })) return;
1555
1556
  }
1556
- await writeConfigFile(nextConfig);
1557
+ await writeConfigFileWithResult(nextConfig, {
1558
+ ...writeOptions,
1559
+ baseSnapshot: snapshot,
1560
+ runtimeRefreshIncludeAuthStoreRefs: false
1561
+ });
1557
1562
  respond(true, {
1558
1563
  ok: true,
1559
1564
  agentId,
@@ -1567,7 +1572,8 @@ const agentsHandlers = {
1567
1572
  respondInvalidMethodParams(respond, "agents.update", validateAgentsUpdateParams.errors);
1568
1573
  return;
1569
1574
  }
1570
- const cfg = loadConfig();
1575
+ const { snapshot, writeOptions } = await readConfigFileSnapshotForWrite();
1576
+ const cfg = snapshot.config;
1571
1577
  const agentId = normalizeAgentId(params.agentId);
1572
1578
  if (!isConfiguredAgent(cfg, agentId)) {
1573
1579
  respondAgentNotFound(respond, agentId);
@@ -1616,7 +1622,11 @@ const agentsHandlers = {
1616
1622
  content: identityContent
1617
1623
  })) return;
1618
1624
  }
1619
- await writeConfigFile(nextConfig);
1625
+ await writeConfigFileWithResult(nextConfig, {
1626
+ ...writeOptions,
1627
+ baseSnapshot: snapshot,
1628
+ runtimeRefreshIncludeAuthStoreRefs: false
1629
+ });
1620
1630
  respond(true, {
1621
1631
  ok: true,
1622
1632
  agentId
@@ -1627,7 +1637,8 @@ const agentsHandlers = {
1627
1637
  respondInvalidMethodParams(respond, "agents.delete", validateAgentsDeleteParams.errors);
1628
1638
  return;
1629
1639
  }
1630
- const cfg = loadConfig();
1640
+ const { snapshot, writeOptions } = await readConfigFileSnapshotForWrite();
1641
+ const cfg = snapshot.config;
1631
1642
  const agentId = normalizeAgentId(params.agentId);
1632
1643
  if (agentId === "main") {
1633
1644
  respond(false, void 0, errorShape(ErrorCodes.INVALID_REQUEST, `"${DEFAULT_AGENT_ID}" cannot be deleted`));
@@ -1642,7 +1653,11 @@ const agentsHandlers = {
1642
1653
  const agentDir = resolveAgentDir(cfg, agentId);
1643
1654
  const sessionsDir = resolveSessionTranscriptsDirForAgent(agentId);
1644
1655
  const result = pruneAgentConfig(cfg, agentId);
1645
- await writeConfigFile(result.config);
1656
+ await writeConfigFileWithResult(result.config, {
1657
+ ...writeOptions,
1658
+ baseSnapshot: snapshot,
1659
+ runtimeRefreshIncludeAuthStoreRefs: false
1660
+ });
1646
1661
  await purgeAgentSessionStoreEntries(cfg, agentId);
1647
1662
  if (deleteFiles) await Promise.all([
1648
1663
  moveToTrashBestEffort(workspaceDir),
@@ -2453,6 +2468,14 @@ const BASE_RELOAD_RULES_TAIL = [
2453
2468
  prefix: "secrets",
2454
2469
  kind: "none"
2455
2470
  },
2471
+ {
2472
+ prefix: "wallet",
2473
+ kind: "none"
2474
+ },
2475
+ {
2476
+ prefix: "channels",
2477
+ kind: "none"
2478
+ },
2456
2479
  {
2457
2480
  prefix: "plugins",
2458
2481
  kind: "restart"
@@ -159,7 +159,7 @@ import { a as resolveCronChannelOutputPolicy, n as markCronSessionPreRun, r as p
159
159
  import { t as runChannelPluginStartupMaintenance } from "./lifecycle-startup-Df7XVuzY.js";
160
160
  import { n as resolveAssistantIdentity } from "./assistant-identity-Ba0DAN-x.js";
161
161
  import { a as resolveApnsAuthConfigFromEnv, c as sendApnsExecApprovalAlert, d as resolveApnsRelayConfigFromEnv, l as sendApnsExecApprovalResolvedWake, n as loadApnsRegistration, t as clearApnsRegistrationIfCurrent, u as shouldClearStoredApnsRegistration } from "./push-apns-Bb6CdO5N.js";
162
- import { C as resolveGatewayReloadSettings, D as roleCanSkipDeviceIdentity, E as parseGatewayRole, O as pruneStaleControlPlaneBuckets, S as diffConfigPaths, T as buildGatewayReloadPlan, _ as appendCronRunLog, a as coreGatewayHandlers, b as resolveCronDeliveryPlan, c as listSystemPresence, d as CANVAS_CAPABILITY_TTL_MS, f as buildCanvasScopedHostUrl, g as loadVoiceWakeConfig, h as formatError, i as setFallbackGatewayContextResolver, l as upsertPresence, m as normalizeCanvasScopedUrl, o as handleGatewayRequest, p as mintCanvasCapabilityToken, s as broadcastPresenceSnapshot, t as loadGatewayStartupPlugins, u as clearNodeWakeState, v as resolveCronRunLogPath, w as startGatewayConfigReloader, x as resolveFailureDestination, y as resolveCronRunLogPruneOptions } from "./server-plugin-bootstrap-BudcQZcm.js";
162
+ import { C as resolveGatewayReloadSettings, D as roleCanSkipDeviceIdentity, E as parseGatewayRole, O as pruneStaleControlPlaneBuckets, S as diffConfigPaths, T as buildGatewayReloadPlan, _ as appendCronRunLog, a as coreGatewayHandlers, b as resolveCronDeliveryPlan, c as listSystemPresence, d as CANVAS_CAPABILITY_TTL_MS, f as buildCanvasScopedHostUrl, g as loadVoiceWakeConfig, h as formatError, i as setFallbackGatewayContextResolver, l as upsertPresence, m as normalizeCanvasScopedUrl, o as handleGatewayRequest, p as mintCanvasCapabilityToken, s as broadcastPresenceSnapshot, t as loadGatewayStartupPlugins, u as clearNodeWakeState, v as resolveCronRunLogPath, w as startGatewayConfigReloader, x as resolveFailureDestination, y as resolveCronRunLogPruneOptions } from "./server-plugin-bootstrap-SkX3seQa.js";
163
163
  import { i as resolveCronSession, n as runHeartbeatOnce, r as startHeartbeatRunner } from "./heartbeat-runner-Bv2kAmU3.js";
164
164
  import { n as stopGmailWatcher, t as startGmailWatcherWithLogs } from "./gmail-watcher-lifecycle-D7YJbR__.js";
165
165
  import "./paths-gBx9AUp_.js";
@@ -12677,7 +12677,7 @@ async function startGatewayServer(port = 18789, opts = {}) {
12677
12677
  setFallbackGatewayContextResolver(() => gatewayRequestContext);
12678
12678
  if (!minimalTestGateway) {
12679
12679
  if (deferredConfiguredChannelPluginIds.length > 0) {
12680
- const { reloadDeferredGatewayPlugins } = await import("./server-plugin-bootstrap-DHPKtp9H.js");
12680
+ const { reloadDeferredGatewayPlugins } = await import("./server-plugin-bootstrap-BKr5Q-qc.js");
12681
12681
  ({pluginRegistry, gatewayMethods: baseGatewayMethods} = reloadDeferredGatewayPlugins({
12682
12682
  cfg: gatewayPluginConfigAtStart,
12683
12683
  workspaceDir: defaultWorkspaceDir,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pixelzx/genesis",
3
- "version": "2026.5.14",
3
+ "version": "2026.5.16-1",
4
4
  "description": "Multi-channel AI gateway with extensible messaging integrations",
5
5
  "keywords": [],
6
6
  "homepage": "https://github.com/PIXELZX0/Genesis#readme",