@pixelzx/genesis 2026.6.5 → 2026.6.6

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 (41) hide show
  1. package/CHANGELOG.md +6 -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-DI9i95nj.js → command-registry-CJeDJ6ZQ.js} +2 -2
  6. package/dist/{command-registry-BJEQrMqR.js → command-registry-CLlMvyEH.js} +2 -2
  7. package/dist/{command-registry-core-BpF1mggD.js → command-registry-core-BfZgHqmv.js} +2 -2
  8. package/dist/{completion-cli-Bb1Tk-vM.js → completion-cli-BS9GGHM0.js} +2 -2
  9. package/dist/{config-cli-CtaRB_f8.js → config-cli-B1bF4s1q.js} +1 -1
  10. package/dist/control-ui/assets/{agents-Dh_TAFxm.js → agents-yxLbGWBi.js} +2 -2
  11. package/dist/control-ui/assets/{canvas-BBkF0c_Z.js → canvas-D2O4KY2F.js} +2 -2
  12. package/dist/control-ui/assets/{channels-DxBxgFLI.js → channels-MV5mvE13.js} +2 -2
  13. package/dist/control-ui/assets/{cron-DI85RTUE.js → cron-nvHn9HVd.js} +2 -2
  14. package/dist/control-ui/assets/{debug-DnDu2pj9.js → debug-BDgyL0QB.js} +2 -2
  15. package/dist/control-ui/assets/index-BSKZQZqm.css +1 -0
  16. package/dist/control-ui/assets/{index-YAwpI05T.js → index-CM19wT50.js} +648 -759
  17. package/dist/control-ui/assets/{instances-CRNiJVGJ.js → instances-i9wzFtbu.js} +2 -2
  18. package/dist/control-ui/assets/{mcp-CAYQSRMs.js → mcp-pb4IaSGI.js} +2 -2
  19. package/dist/control-ui/assets/{nodes-92SUclba.js → nodes-C0846GJV.js} +2 -2
  20. package/dist/control-ui/assets/{plugins-TwSBb6p5.js → plugins-DSCHUDT6.js} +2 -2
  21. package/dist/control-ui/assets/{sessions-CHmx5D2H.js → sessions-C1ziAwB3.js} +2 -2
  22. package/dist/control-ui/assets/{skills-C-34EOwN.js → skills-BPsn23lW.js} +2 -2
  23. package/dist/control-ui/assets/{wallet-DjjoYuDY.js → wallet-BiPoXXEx.js} +2 -2
  24. package/dist/control-ui/index.html +20 -34
  25. package/dist/entry.js +1 -1
  26. package/dist/{gateway-cli-Bzz62NC8.js → gateway-cli-Bh2bCtNy.js} +1 -1
  27. package/dist/index.js +1 -1
  28. package/dist/plugin-sdk/.boundary-entry-shims.stamp +1 -1
  29. package/dist/postinstall-inventory.json +30 -30
  30. package/dist/{program-BFGavenz.js → program-CaXAMkVs.js} +1 -1
  31. package/dist/{register.subclis-BD4fuAci.js → register.subclis-C4zdCa8t.js} +1 -1
  32. package/dist/{register.subclis-core-Dtq9dAjI.js → register.subclis-core-DKMsWmjc.js} +1 -1
  33. package/dist/{register.subclis-CbRd3F_m.js → register.subclis-hUizvi2-.js} +2 -2
  34. package/dist/{run-main-CJYYkV6H.js → run-main-DrO3awL8.js} +4 -4
  35. package/dist/{runtime-schema-R7LWe58K.js → runtime-schema-BaM8e_HG.js} +1 -1
  36. package/dist/{server-Ceiopn_v.js → server-CSSVuQzS.js} +1 -1
  37. package/dist/{server-plugin-bootstrap-Dfuf75EN.js → server-plugin-bootstrap-B5JaynXk.js} +1 -1
  38. package/dist/{server-plugin-bootstrap-CgsjzB17.js → server-plugin-bootstrap-fIJyUQIz.js} +1 -1
  39. package/dist/{server.impl-CCoQpvB7.js → server.impl-Ch3-ajhz.js} +2 -2
  40. package/package.json +1 -1
  41. package/dist/control-ui/assets/index-DrnKQaGF.css +0 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  Docs: https://genesis.pixelzx.com/docs
4
4
 
5
+ ## 2026.6.6
6
+
7
+ ### Changes
8
+
9
+ - Control UI: redesigned with a monochrome, iOS-style flat look. The Claw, Knot, and Dash color themes and the tweakcn custom-theme importer are replaced by a single black-and-white theme with light, dark, and system modes. Adds iOS-style segmented controls, grouped inset lists, sheet dialogs, and large page titles, and rounded corners now ship by default. Existing installs migrate to the monochrome theme automatically while keeping their light and dark preference.
10
+
5
11
  ## 2026.6.5
6
12
 
7
13
  ### Changes
package/dist/.buildstamp CHANGED
@@ -1 +1 @@
1
- {"builtAt":1780668585878,"head":"720bbfe8a8296e7a070824812ab64b3e84f480e9"}
1
+ {"builtAt":1780696394646,"head":"ee4c0f677e67dc46465a1c75700517f00308a5ad"}
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "2026.6.5",
3
- "commit": "720bbfe8a8296e7a070824812ab64b3e84f480e9",
4
- "builtAt": "2026-06-05T14:09:46.235Z"
2
+ "version": "2026.6.6",
3
+ "commit": "ee4c0f677e67dc46465a1c75700517f00308a5ad",
4
+ "builtAt": "2026-06-05T21:53:15.000Z"
5
5
  }
@@ -26,5 +26,5 @@
26
26
  ],
27
27
  "channelCatalogSignature": "2cf7b5d82eaef962bd90332e65d1df91db750a3a",
28
28
  "rootHelpBundleSignature": "7b547ce8a2ae455402e0a33f437c971fe3109606",
29
- "rootHelpText": "\n🦞 Genesis 2026.6.5 (720bbfe) — I'll refactor your busywork like it owes me money.\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://genesis.pixelzx.com/docs/cli\n\n"
29
+ "rootHelpText": "\n🦞 Genesis 2026.6.6 (ee4c0f6) — I can grep it, git blame it, and gently roast it—pick your coping mechanism.\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://genesis.pixelzx.com/docs/cli\n\n"
30
30
  }
@@ -1,5 +1,5 @@
1
- import { n as registerCoreCliCommands } from "./command-registry-core-BpF1mggD.js";
2
- import { n as registerSubCliCommands } from "./register.subclis-CbRd3F_m.js";
1
+ import { n as registerCoreCliCommands } from "./command-registry-core-BfZgHqmv.js";
2
+ import { n as registerSubCliCommands } from "./register.subclis-hUizvi2-.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-DYk2dX5P.js";
2
- import { t as registerCoreCliByName } from "./command-registry-core-BpF1mggD.js";
3
- import "./command-registry-DI9i95nj.js";
2
+ import { t as registerCoreCliByName } from "./command-registry-core-BfZgHqmv.js";
3
+ import "./command-registry-CJeDJ6ZQ.js";
4
4
  export { registerCoreCliByName };
@@ -1,6 +1,6 @@
1
1
  import { t as resolveCliArgvInvocation } from "./argv-invocation-DXsyrCs-.js";
2
2
  import { n as shouldRegisterPrimaryCommandOnly } from "./command-registration-policy-CQtKxiaR.js";
3
- import { a as defineImportedCommandGroupSpec, i as buildCommandGroupEntries, o as defineImportedProgramCommandGroupSpecs } from "./register.subclis-core-Dtq9dAjI.js";
3
+ import { a as defineImportedCommandGroupSpec, i as buildCommandGroupEntries, o as defineImportedProgramCommandGroupSpecs } from "./register.subclis-core-DKMsWmjc.js";
4
4
  import { t as getCoreCliCommandDescriptors } from "./core-command-descriptors-DYk2dX5P.js";
5
5
  import { i as registerCommandGroups, r as registerCommandGroupByName } from "./register-command-groups-DV5RxtDJ.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-CtaRB_f8.js"),
34
+ loadModule: () => import("./config-cli-B1bF4s1q.js"),
35
35
  exportName: "registerConfigCli"
36
36
  },
37
37
  {
@@ -2,9 +2,9 @@ import { c as routeLogsToStderr } from "./subsystem-CNq69MoE.js";
2
2
  import { t as formatDocsLink } from "./links-C1-jbHJx.js";
3
3
  import { r as theme } from "./theme-DD6pQv2_.js";
4
4
  import { a as isCompletionShell, o as resolveCompletionCachePath, r as installCompletion, s as resolveShellFromEnv, t as COMPLETION_SHELLS } from "./completion-runtime-CUdMWalC.js";
5
- import { n as registerSubCliByName, t as getSubCliEntries } from "./register.subclis-core-Dtq9dAjI.js";
5
+ import { n as registerSubCliByName, t as getSubCliEntries } from "./register.subclis-core-DKMsWmjc.js";
6
6
  import { t as getCoreCliCommandDescriptors } from "./core-command-descriptors-DYk2dX5P.js";
7
- import "./command-registry-core-BpF1mggD.js";
7
+ import "./command-registry-core-BfZgHqmv.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-BW5qum-I.js";
17
17
  import "./config-Cuf4dwjh.js";
18
18
  import { a as normalizeConfigIssues, n as formatConfigIssueLines } from "./issue-format-CvKVSqgv.js";
19
19
  import { t as redactConfigObject } from "./redact-snapshot-9DNZ_-3n.js";
20
- import { n as readBestEffortRuntimeConfigSchema } from "./runtime-schema-R7LWe58K.js";
20
+ import { n as readBestEffortRuntimeConfigSchema } from "./runtime-schema-BaM8e_HG.js";
21
21
  import { n as setCommandJsonMode } from "./json-mode-C0BH0JXy.js";
22
22
  import fs from "node:fs";
23
23
  import JSON5 from "json5";
@@ -1,4 +1,4 @@
1
- import{f as e,o as t,r as n,u as r}from"./i18n-BiXTtoQW.js";import{t as i}from"./string-coerce-LCfkQHEZ.js";import{u as a}from"./format-BvrOTETl.js";import{A as o,C as s,D as c,E as l,F as u,L as d,M as f,N as p,O as m,P as ee,S as te,T as h,a as g,b as ne,g as _,h as v,j as y,k as b,m as x,n as S,r as C,t as w,w as T,x as E}from"./index-YAwpI05T.js";import{r as D}from"./channel-config-extras-CNdHdere.js";import{i as O,n as re,r as k,t as A}from"./skills-shared-BbxW-wNm.js";function ie(t){let{agent:i,configForm:a,agentFilesList:s,configLoading:u,configSaving:d,configDirty:f,onConfigReload:p,onConfigSave:ee,onModelChange:h,onModelFallbacksChange:g,onSelectPanel:ne}=t,_=m(a,i.id),v=i.model,x=(s&&s.agentId===i.id?s.workspace:null)||_.entry?.workspace||_.defaults?.workspace||i.workspace||`default`,S=_.entry?.model?o(_.entry?.model):_.defaults?.model?o(_.defaults?.model):o(v),C=o(_.defaults?.model??v),w=y(_.entry?.model),T=y(_.defaults?.model)||(C===`-`?null:l(C))||(a?null:y(v)),E=w??T??null,D=b(_.entry?.model)??b(_.defaults?.model)??(a?null:b(v))??[],O=Array.isArray(_.entry?.skills)?_.entry?.skills:null,re=O?.length??null,k=!!(t.defaultId&&i.id===t.defaultId),A=!a||u||d,ie=e=>{let t=D.filter((t,n)=>n!==e);g(i.id,t)};return e`
1
+ import{f as e,o as t,r as n,u as r}from"./i18n-BiXTtoQW.js";import{t as i}from"./string-coerce-LCfkQHEZ.js";import{u as a}from"./format-BvrOTETl.js";import{A as o,C as s,D as c,E as l,F as u,L as d,M as f,N as p,O as m,P as ee,S as te,T as h,a as g,b as ne,g as _,h as v,j as y,k as b,m as x,n as S,r as C,t as w,w as T,x as E}from"./index-CM19wT50.js";import{r as D}from"./channel-config-extras-CNdHdere.js";import{i as O,n as re,r as k,t as A}from"./skills-shared-BbxW-wNm.js";function ie(t){let{agent:i,configForm:a,agentFilesList:s,configLoading:u,configSaving:d,configDirty:f,onConfigReload:p,onConfigSave:ee,onModelChange:h,onModelFallbacksChange:g,onSelectPanel:ne}=t,_=m(a,i.id),v=i.model,x=(s&&s.agentId===i.id?s.workspace:null)||_.entry?.workspace||_.defaults?.workspace||i.workspace||`default`,S=_.entry?.model?o(_.entry?.model):_.defaults?.model?o(_.defaults?.model):o(v),C=o(_.defaults?.model??v),w=y(_.entry?.model),T=y(_.defaults?.model)||(C===`-`?null:l(C))||(a?null:y(v)),E=w??T??null,D=b(_.entry?.model)??b(_.defaults?.model)??(a?null:b(v))??[],O=Array.isArray(_.entry?.skills)?_.entry?.skills:null,re=O?.length??null,k=!!(t.defaultId&&i.id===t.defaultId),A=!a||u||d,ie=e=>{let t=D.filter((t,n)=>n!==e);g(i.id,t)};return e`
2
2
  <section class="card">
3
3
  <div class="card-title">Overview</div>
4
4
  <div class="card-sub">Workspace paths and identity metadata.</div>
@@ -1049,4 +1049,4 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
1049
1049
  `)}
1050
1050
  </div>
1051
1051
  `}export{gn as renderAgents};
1052
- //# sourceMappingURL=agents-Dh_TAFxm.js.map
1052
+ //# sourceMappingURL=agents-yxLbGWBi.js.map
@@ -1,4 +1,4 @@
1
- import{f as e,r as t,u as n}from"./i18n-BiXTtoQW.js";import{H as r,U as i,V as a,_ as o,d as s,f as c,g as l,v as u}from"./index-YAwpI05T.js";var d=`/__genesis__/canvas/`,f=`/__genesis__/canvas-upload`,p=`<!doctype html>
1
+ import{f as e,r as t,u as n}from"./i18n-BiXTtoQW.js";import{H as r,U as i,V as a,_ as o,d as s,f as c,g as l,v as u}from"./index-CM19wT50.js";var d=`/__genesis__/canvas/`,f=`/__genesis__/canvas-upload`,p=`<!doctype html>
2
2
  <html>
3
3
  <head>
4
4
  <meta charset="utf-8" />
@@ -266,4 +266,4 @@ import{f as e,r as t,u as n}from"./i18n-BiXTtoQW.js";import{H as r,U as i,V as a
266
266
  </section>
267
267
  </div>
268
268
  `}export{ie as renderCanvas,ee as resetCanvasViewForTests};
269
- //# sourceMappingURL=canvas-BBkF0c_Z.js.map
269
+ //# sourceMappingURL=canvas-D2O4KY2F.js.map
@@ -1,4 +1,4 @@
1
- import{f as e,r as t,u as n}from"./i18n-BiXTtoQW.js";import{f as r,u as i}from"./format-BvrOTETl.js";import{B as a,L as o,g as s,l as c,u as l,z as u}from"./index-YAwpI05T.js";import{n as d,t as f}from"./channel-config-extras-CNdHdere.js";function p(e,t){let n=e;for(let e of t){if(!n)return null;let t=a(n);if(t===`object`){let t=n.properties??{};if(typeof e==`string`&&t[e]){n=t[e];continue}let r=n.additionalProperties;if(typeof e==`string`&&r&&typeof r==`object`){n=r;continue}return null}if(t===`array`){if(typeof e!=`number`)return null;n=(Array.isArray(n.items)?n.items[0]:n.items)??null;continue}return null}return n}function m(e,t){return d(e,t)??{}}var h=[`groupPolicy`,`streamMode`,`dmPolicy`];function g(t){let n=h.flatMap(e=>e in t?[[e,t[e]]]:[]);return n.length===0?null:e`
1
+ import{f as e,r as t,u as n}from"./i18n-BiXTtoQW.js";import{f as r,u as i}from"./format-BvrOTETl.js";import{B as a,L as o,g as s,l as c,u as l,z as u}from"./index-CM19wT50.js";import{n as d,t as f}from"./channel-config-extras-CNdHdere.js";function p(e,t){let n=e;for(let e of t){if(!n)return null;let t=a(n);if(t===`object`){let t=n.properties??{};if(typeof e==`string`&&t[e]){n=t[e];continue}let r=n.additionalProperties;if(typeof e==`string`&&r&&typeof r==`object`){n=r;continue}return null}if(t===`array`){if(typeof e!=`number`)return null;n=(Array.isArray(n.items)?n.items[0]:n.items)??null;continue}return null}return n}function m(e,t){return d(e,t)??{}}var h=[`groupPolicy`,`streamMode`,`dmPolicy`];function g(t){let n=h.flatMap(e=>e in t?[[e,t[e]]]:[]);return n.length===0?null:e`
2
2
  <div class="status-list" style="margin-top: 12px;">
3
3
  ${n.map(([t,n])=>e`
4
4
  <div>
@@ -460,4 +460,4 @@ ${r.snapshot?JSON.stringify(r.snapshot,null,2):t(`channels.health.noSnapshotYet`
460
460
  </div>
461
461
  </div>
462
462
  `}export{L as renderChannels};
463
- //# sourceMappingURL=channels-DxBxgFLI.js.map
463
+ //# sourceMappingURL=channels-MV5mvE13.js.map
@@ -1,4 +1,4 @@
1
- import{f as e,r as t,u as n}from"./i18n-BiXTtoQW.js";import{i as r,u as i}from"./format-BvrOTETl.js";import{I as a,L as o,a as s,n as c}from"./index-YAwpI05T.js";var l=e=>e??n;function u(){return[{value:`ok`,label:t(`cron.runs.runStatusOk`)},{value:`error`,label:t(`cron.runs.runStatusError`)},{value:`skipped`,label:t(`cron.runs.runStatusSkipped`)}]}function d(){return[{value:`delivered`,label:t(`cron.runs.deliveryDelivered`)},{value:`not-delivered`,label:t(`cron.runs.deliveryNotDelivered`)},{value:`unknown`,label:t(`cron.runs.deliveryUnknown`)},{value:`not-requested`,label:t(`cron.runs.deliveryNotRequested`)}]}function f(e,t,n){let r=new Set(e);return n?r.add(t):r.delete(t),Array.from(r)}function p(e,t){return e.length===0?t:e.length<=2?e.join(`, `):`${e[0]} +${e.length-1}`}function m(e){let t=[`last`,...e.channels.filter(Boolean)],n=e.form.deliveryChannel?.trim();n&&!t.includes(n)&&t.push(n);let r=new Set;return t.filter(e=>r.has(e)?!1:(r.add(e),!0))}function h(e,t){if(t===`last`)return`last`;let n=e.channelMeta?.find(e=>e.id===t);return n?.label?n.label:e.channelLabels?.[t]??t}function g(n){return e`
1
+ import{f as e,r as t,u as n}from"./i18n-BiXTtoQW.js";import{i as r,u as i}from"./format-BvrOTETl.js";import{I as a,L as o,a as s,n as c}from"./index-CM19wT50.js";var l=e=>e??n;function u(){return[{value:`ok`,label:t(`cron.runs.runStatusOk`)},{value:`error`,label:t(`cron.runs.runStatusError`)},{value:`skipped`,label:t(`cron.runs.runStatusSkipped`)}]}function d(){return[{value:`delivered`,label:t(`cron.runs.deliveryDelivered`)},{value:`not-delivered`,label:t(`cron.runs.deliveryNotDelivered`)},{value:`unknown`,label:t(`cron.runs.deliveryUnknown`)},{value:`not-requested`,label:t(`cron.runs.deliveryNotRequested`)}]}function f(e,t,n){let r=new Set(e);return n?r.add(t):r.delete(t),Array.from(r)}function p(e,t){return e.length===0?t:e.length<=2?e.join(`, `):`${e[0]} +${e.length-1}`}function m(e){let t=[`last`,...e.channels.filter(Boolean)],n=e.form.deliveryChannel?.trim();n&&!t.includes(n)&&t.push(n);let r=new Set;return t.filter(e=>r.has(e)?!1:(r.add(e),!0))}function h(e,t){if(t===`last`)return`last`;let n=e.channelMeta?.find(e=>e.id===t);return n?.label?n.label:e.channelLabels?.[t]??t}function g(n){return e`
2
2
  <div class="field cron-filter-dropdown" data-filter=${n.id}>
3
3
  <span>${n.title}</span>
4
4
  <details class="cron-filter-dropdown__details">
@@ -930,4 +930,4 @@ import{f as e,r as t,u as n}from"./i18n-BiXTtoQW.js";import{i as r,u as i}from".
930
930
  </div>
931
931
  </div>
932
932
  `}export{w as renderCron};
933
- //# sourceMappingURL=cron-DI85RTUE.js.map
933
+ //# sourceMappingURL=cron-nvHn9HVd.js.map
@@ -1,4 +1,4 @@
1
- import{f as e,r as t,u as n}from"./i18n-BiXTtoQW.js";import{i as r}from"./index-YAwpI05T.js";function i(i){let a=(i.status&&typeof i.status==`object`?i.status.securityAudit:null)?.summary??null,o=a?.critical??0,s=a?.warn??0,c=a?.info??0,l=o>0?`danger`:s>0?`warn`:`success`,u=o>0?`${o} critical`:s>0?`${s} warnings`:`No critical issues`;return e`
1
+ import{f as e,r as t,u as n}from"./i18n-BiXTtoQW.js";import{i as r}from"./index-CM19wT50.js";function i(i){let a=(i.status&&typeof i.status==`object`?i.status.securityAudit:null)?.summary??null,o=a?.critical??0,s=a?.warn??0,c=a?.info??0,l=o>0?`danger`:s>0?`warn`:`success`,u=o>0?`${o} critical`:s>0?`${s} warnings`:`No critical issues`;return e`
2
2
  <section class="grid">
3
3
  <div class="card">
4
4
  <div class="row" style="justify-content: space-between;">
@@ -91,4 +91,4 @@ ${r(t.payload)}</pre
91
91
  `}
92
92
  </section>
93
93
  `}export{i as renderDebug};
94
- //# sourceMappingURL=debug-DnDu2pj9.js.map
94
+ //# sourceMappingURL=debug-BDgyL0QB.js.map