nodmix 2026.5.30 → 2026.5.31

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 (118) hide show
  1. package/dist/build-info.json +2 -2
  2. package/dist/{bundled-channel-config-schema-BIdcnQVO.d.ts → bundled-channel-config-schema-Bte--ZlY.d.ts} +2 -2
  3. package/dist/cli-startup-metadata.json +8 -8
  4. package/dist/control-ui/assets/{activity-BEHmWjpC.js → activity-BajxTPw0.js} +2 -2
  5. package/dist/control-ui/assets/{agents-CLg-rdua.js → agents-DjueD_Yf.js} +2 -2
  6. package/dist/control-ui/assets/{channels-B8hVgLGm.js → channels-0qZbHWS3.js} +2 -2
  7. package/dist/control-ui/assets/{cron-DEzIxvCR.js → cron-B1bixjH8.js} +2 -2
  8. package/dist/control-ui/assets/{debug-DxFfETwr.js → debug-BiUm-SHM.js} +2 -2
  9. package/dist/control-ui/assets/{index-CH3B3Ew0.js → index-CPtQr6Hf.js} +4 -4
  10. package/dist/control-ui/assets/{instances-4dCIOhLr.js → instances-DL6ezCJt.js} +2 -2
  11. package/dist/control-ui/assets/{nodes-DQmbOBGX.js → nodes-46u4E5yG.js} +2 -2
  12. package/dist/control-ui/assets/{sessions-B_jpkzcD.js → sessions-B-xt2IA0.js} +2 -2
  13. package/dist/control-ui/assets/{skills-DwAaDEeA.js → skills-CE3CKX5W.js} +2 -2
  14. package/dist/control-ui/assets/{workboard-i5w43_06.js → workboard-RB7au_iS.js} +2 -2
  15. package/dist/control-ui/index.html +1 -1
  16. package/dist/control-ui/sw.js +1 -1
  17. package/dist/plugin-sdk/.boundary-entry-shims.stamp +1 -1
  18. package/dist/plugin-sdk/{agent-harness-runtime-BJjC2IqV.d.ts → agent-harness-runtime-Cv1hP9_v.d.ts} +2 -2
  19. package/dist/plugin-sdk/agent-harness-runtime.d.ts +4 -4
  20. package/dist/plugin-sdk/agent-harness-task-runtime.d.ts +1 -1
  21. package/dist/plugin-sdk/agent-harness.d.ts +4 -4
  22. package/dist/plugin-sdk/agent-runtime.d.ts +1 -1
  23. package/dist/plugin-sdk/{bundled-channel-config-schema-Dfn3b8sF.d.ts → bundled-channel-config-schema-TClEwG46.d.ts} +3 -3
  24. package/dist/plugin-sdk/bundled-channel-config-schema.d.ts +1 -1
  25. package/dist/plugin-sdk/channel-config-schema-legacy.d.ts +1 -1
  26. package/dist/plugin-sdk/channel-core.d.ts +2 -2
  27. package/dist/plugin-sdk/channel-entry-contract.d.ts +1 -1
  28. package/dist/plugin-sdk/{channel-pairing-C2iYH7YN.d.ts → channel-pairing-Cpj2dPZ8.d.ts} +1 -1
  29. package/dist/plugin-sdk/channel-pairing.d.ts +1 -1
  30. package/dist/plugin-sdk/channel-plugin-common.d.ts +2 -2
  31. package/dist/plugin-sdk/cli-backend.d.ts +1 -1
  32. package/dist/plugin-sdk/compat.d.ts +4 -4
  33. package/dist/plugin-sdk/{config-schema-BDhLzCZz.d.ts → config-schema-xupjd5Jy.d.ts} +1 -1
  34. package/dist/plugin-sdk/config-schema.d.ts +4 -4
  35. package/dist/plugin-sdk/{core-CX5fMtSM.d.ts → core-N7eu3mOq.d.ts} +1 -1
  36. package/dist/plugin-sdk/core.d.ts +7 -7
  37. package/dist/plugin-sdk/{delegate-D1xilwuE.d.ts → delegate-DVt1xWTm.d.ts} +1 -1
  38. package/dist/plugin-sdk/discord.d.ts +3 -3
  39. package/dist/plugin-sdk/gateway-runtime.d.ts +1 -1
  40. package/dist/plugin-sdk/{host-compat-y6zdKyDf.d.ts → host-compat-4A2otUz7.d.ts} +1 -1
  41. package/dist/plugin-sdk/{http-registry-Dn72ubhp.d.ts → http-registry-D-zFZky-.d.ts} +2 -2
  42. package/dist/plugin-sdk/image-generation-core.d.ts +4 -4
  43. package/dist/plugin-sdk/image-generation-runtime.d.ts +3 -3
  44. package/dist/plugin-sdk/index.d.ts +4 -4
  45. package/dist/plugin-sdk/lmstudio.d.ts +1 -1
  46. package/dist/plugin-sdk/{loader-R8_dWoZ3.d.ts → loader-2K7wXzrJ.d.ts} +3 -3
  47. package/dist/plugin-sdk/{logger-BhKVs01h.d.ts → logger-4c0ymKyI.d.ts} +1 -1
  48. package/dist/plugin-sdk/logging-core.d.ts +3 -3
  49. package/dist/plugin-sdk/memory-core-host-engine-embeddings.d.ts +2 -2
  50. package/dist/plugin-sdk/memory-core-host-engine-foundation.d.ts +3 -3
  51. package/dist/plugin-sdk/{memory-core-host-engine-storage-CPFiBol1.d.ts → memory-core-host-engine-storage-Ce8df6fP.d.ts} +1 -1
  52. package/dist/plugin-sdk/memory-core-host-engine-storage.d.ts +1 -1
  53. package/dist/plugin-sdk/memory-core-host-runtime-cli.d.ts +1 -1
  54. package/dist/plugin-sdk/memory-core-host-runtime-core.d.ts +3 -3
  55. package/dist/plugin-sdk/memory-core.d.ts +3 -3
  56. package/dist/plugin-sdk/memory-host-core.d.ts +3 -3
  57. package/dist/plugin-sdk/migration-runtime.d.ts +1 -1
  58. package/dist/plugin-sdk/migration.d.ts +1 -1
  59. package/dist/plugin-sdk/music-generation-core.d.ts +2 -2
  60. package/dist/plugin-sdk/{nodmix-runtime-DmWcd0E7.d.ts → nodmix-runtime-D0Pka-zx.d.ts} +1 -1
  61. package/dist/plugin-sdk/{plugin-entry-BCDhC-m6.d.ts → plugin-entry-B0N9l7sW.d.ts} +1 -1
  62. package/dist/plugin-sdk/plugin-entry.d.ts +3 -3
  63. package/dist/plugin-sdk/plugin-runtime.d.ts +3 -3
  64. package/dist/plugin-sdk/{provider-api-key-auth-C1ZvTSW2.d.ts → provider-api-key-auth-6IjLsHOe.d.ts} +1 -1
  65. package/dist/plugin-sdk/provider-auth-api-key.d.ts +4 -4
  66. package/dist/plugin-sdk/{provider-auth-helpers-BpmmIXzG.d.ts → provider-auth-helpers-D_7V1Y_8.d.ts} +1 -1
  67. package/dist/plugin-sdk/{provider-auth-input-Dn7ven7D.d.ts → provider-auth-input-DzoFmgdq.d.ts} +1 -1
  68. package/dist/plugin-sdk/provider-auth-result.d.ts +1 -1
  69. package/dist/plugin-sdk/provider-auth-runtime.d.ts +1 -1
  70. package/dist/plugin-sdk/provider-auth.d.ts +5 -5
  71. package/dist/plugin-sdk/provider-catalog-runtime.d.ts +2 -2
  72. package/dist/plugin-sdk/{provider-catalog-shared-B_BBrpZC.d.ts → provider-catalog-shared-KosjE7ID.d.ts} +1 -1
  73. package/dist/plugin-sdk/provider-catalog-shared.d.ts +2 -2
  74. package/dist/plugin-sdk/provider-entry.d.ts +3 -3
  75. package/dist/plugin-sdk/{provider-model-shared-ByzgXC4f.d.ts → provider-model-shared-BwixJXc_.d.ts} +1 -1
  76. package/dist/plugin-sdk/provider-model-shared.d.ts +2 -2
  77. package/dist/plugin-sdk/{provider-registry-BSZmLa3K.d.ts → provider-registry-BBmy37bh.d.ts} +1 -1
  78. package/dist/plugin-sdk/{provider-registry-B8ED5_MO.d.ts → provider-registry-BvqOXInW.d.ts} +1 -1
  79. package/dist/plugin-sdk/{provider-registry-D8VqwNCf.d.ts → provider-registry-CytxNFtx.d.ts} +1 -1
  80. package/dist/plugin-sdk/{provider-self-hosted-setup-BoaypThj.d.ts → provider-self-hosted-setup-DzrF8R8f.d.ts} +1 -1
  81. package/dist/plugin-sdk/provider-setup.d.ts +2 -2
  82. package/dist/plugin-sdk/{provider-stream-Dicz1nnv.d.ts → provider-stream-D1qp4l8n.d.ts} +1 -1
  83. package/dist/plugin-sdk/provider-stream-family.d.ts +2 -2
  84. package/dist/plugin-sdk/{provider-stream-shared-BKxiq-Dz.d.ts → provider-stream-shared-Bgi9wa1r.d.ts} +1 -1
  85. package/dist/plugin-sdk/provider-stream-shared.d.ts +1 -1
  86. package/dist/plugin-sdk/provider-stream.d.ts +2 -2
  87. package/dist/plugin-sdk/provider-tools.d.ts +1 -1
  88. package/dist/plugin-sdk/provider-web-fetch-contract.d.ts +1 -1
  89. package/dist/plugin-sdk/provider-web-fetch.d.ts +1 -1
  90. package/dist/plugin-sdk/provider-web-search-config-contract.d.ts +2 -2
  91. package/dist/plugin-sdk/{provider-web-search-contract-fields-ga4t48DD.d.ts → provider-web-search-contract-fields-DryuHyz7.d.ts} +1 -1
  92. package/dist/plugin-sdk/provider-web-search-contract.d.ts +2 -2
  93. package/dist/plugin-sdk/provider-web-search.d.ts +1 -1
  94. package/dist/plugin-sdk/realtime-transcription.d.ts +1 -1
  95. package/dist/plugin-sdk/realtime-voice.d.ts +1 -1
  96. package/dist/plugin-sdk/{redact-identifier-B9QD3Imt.d.ts → redact-identifier-DaCtlJyu.d.ts} +1 -1
  97. package/dist/plugin-sdk/{registry-4cnYbPMt.d.ts → registry-BsOAdpv5.d.ts} +2 -2
  98. package/dist/plugin-sdk/{registry-types-DstG_aFv.d.ts → registry-types-Cb5mZxPP.d.ts} +2 -2
  99. package/dist/plugin-sdk/reply-runtime.d.ts +1 -1
  100. package/dist/plugin-sdk/runtime-env.d.ts +3 -3
  101. package/dist/plugin-sdk/runtime-store.d.ts +1 -1
  102. package/dist/plugin-sdk/runtime.d.ts +3 -3
  103. package/dist/plugin-sdk/self-hosted-provider-setup.d.ts +2 -2
  104. package/dist/plugin-sdk/simple-completion-runtime.d.ts +1 -1
  105. package/dist/plugin-sdk/speech-core.d.ts +2 -2
  106. package/dist/plugin-sdk/speech.d.ts +2 -2
  107. package/dist/plugin-sdk/{subsystem-n4Y4vCcQ.d.ts → subsystem-Boo2DQIV.d.ts} +1 -1
  108. package/dist/plugin-sdk/text-runtime.d.ts +2 -2
  109. package/dist/plugin-sdk/tool-plugin.d.ts +2 -2
  110. package/dist/plugin-sdk/{types-BXJ_w-6s.d.ts → types-BrFqPVb2.d.ts} +1 -1
  111. package/dist/plugin-sdk/{types-DE3aaJpr.d.ts → types-DN0mga_r.d.ts} +2 -2
  112. package/dist/plugin-sdk/{unhandled-rejections-CZ5pbrhp.d.ts → unhandled-rejections-CrMPDo5U.d.ts} +2 -2
  113. package/dist/plugin-sdk/video-generation-core.d.ts +3 -3
  114. package/dist/plugin-sdk/video-generation-runtime.d.ts +3 -3
  115. package/dist/plugin-sdk/webhook-ingress.d.ts +1 -1
  116. package/dist/plugin-sdk/webhook-targets.d.ts +1 -1
  117. package/dist/postinstall-inventory.json +44 -44
  118. package/package.json +2 -7
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "version": "2026.5.30",
3
- "commit": "b30ec22b2c035e867b434214ec7195037325a67a",
4
- "builtAt": "2026-06-04T06:45:41.301Z"
3
+ "commit": "e9920205710304df846c961ce61f5ec9b8c040b5",
4
+ "builtAt": "2026-06-04T07:39:32.703Z"
5
5
  }
@@ -958,9 +958,9 @@ declare const DiscordConfigSchema: ZodObject<{
958
958
  requireWakeName: ZodOptional<ZodBoolean>;
959
959
  wakeNames: ZodOptional<ZodArray<ZodString>>;
960
960
  bootstrapContextFiles: ZodOptional<ZodArray<ZodEnum<{
961
- "SOUL.md": "SOUL.md";
962
961
  "IDENTITY.md": "IDENTITY.md";
963
962
  "USER.md": "USER.md";
963
+ "SOUL.md": "SOUL.md";
964
964
  }>>>;
965
965
  bargeIn: ZodOptional<ZodBoolean>;
966
966
  minBargeInAudioEndMs: ZodOptional<ZodNumber>;
@@ -1407,9 +1407,9 @@ declare const DiscordConfigSchema: ZodObject<{
1407
1407
  requireWakeName: ZodOptional<ZodBoolean>;
1408
1408
  wakeNames: ZodOptional<ZodArray<ZodString>>;
1409
1409
  bootstrapContextFiles: ZodOptional<ZodArray<ZodEnum<{
1410
- "SOUL.md": "SOUL.md";
1411
1410
  "IDENTITY.md": "IDENTITY.md";
1412
1411
  "USER.md": "USER.md";
1412
+ "SOUL.md": "SOUL.md";
1413
1413
  }>>>;
1414
1414
  bargeIn: ZodOptional<ZodBoolean>;
1415
1415
  minBargeInAudioEndMs: ZodOptional<ZodNumber>;
@@ -31,14 +31,14 @@
31
31
  "secretsHelpSourceSignature": "6da08a86e06a6eb913aa65d127bfc012b8d6d767",
32
32
  "nodesHelpSourceSignature": "b9e4c01e2067cc2cc8029da0727eacb818429746",
33
33
  "subcommandHelpSourceSignature": "b077d7b26757e595c8a967f756f2a39e1facffdc",
34
- "browserHelpText": "\nNodmix 2026.5.30 (b30ec22) — All your chats, one Nodmix.\n\nUsage: nodmix browser [options] [command]\n\nManage Nodmix's dedicated browser (Chrome/Chromium)\n\nOptions:\n --browser-profile <name> Browser profile name (default from config)\n --expect-final Wait for final response (agent) (default: false)\n -h, --help Display help for command\n --json Output machine-readable JSON (default: false)\n --timeout <ms> Timeout in ms (default: \"30000\")\n --token <token> Gateway token (if required)\n --url <url> Gateway WebSocket URL (defaults to\n gateway.remote.url when configured)\n\nCommands:\n click Click an element by ref from snapshot\n click-coords Click viewport coordinates\n close Close a tab (target id optional)\n console Get recent console messages\n cookies Read/write cookies\n create-profile Create a new browser profile\n delete-profile Delete a browser profile\n dialog Arm the next modal dialog (alert/confirm/prompt)\n doctor Check browser plugin readiness\n download Click a ref and save the resulting download\n drag Drag from one ref to another\n errors Get recent page errors\n evaluate Evaluate a function against the page or a ref\n fill Fill a form with JSON field descriptors\n focus Focus a tab by target id, tab id, label, or unique\n target id prefix\n highlight Highlight an element by ref\n hover Hover an element by ai ref\n navigate Navigate the current tab to a URL\n open Open a URL in a new tab\n pdf Save page as PDF\n press Press a key\n profiles List all browser profiles\n requests Get recent network requests (best-effort)\n reset-profile Reset browser profile (moves it to Trash)\n resize Resize the viewport\n responsebody Wait for a network response and return its body\n screenshot Capture a screenshot (MEDIA:<path>)\n scrollintoview Scroll an element into view by ref from snapshot\n select Select option(s) in a select element\n set Browser environment settings\n snapshot Capture a snapshot (default: ai; aria is the\n accessibility tree)\n start Start the browser (no-op if already running)\n status Show browser status\n stop Stop the browser (best-effort)\n storage Read/write localStorage/sessionStorage\n tab Tab shortcuts (index-based)\n tabs List open tabs\n trace Record a Playwright trace\n type Type into an element by ref from snapshot\n upload Arm file upload for the next file chooser\n wait Wait for time, selector, URL, load state, or JS\n conditions\n waitfordownload Wait for the next download (and save it)\n\nExamples:\n nodmix browser status\n nodmix browser start\n nodmix browser start --headless\n nodmix browser stop\n nodmix browser tabs\n nodmix browser open https://example.com\n nodmix browser focus abcd1234\n nodmix browser close abcd1234\n nodmix browser screenshot\n nodmix browser screenshot --full-page\n nodmix browser screenshot --ref 12\n nodmix browser snapshot\n nodmix browser snapshot --format aria --limit 200\n nodmix browser snapshot --efficient\n nodmix browser snapshot --labels\n nodmix browser navigate https://example.com\n nodmix browser resize 1280 720\n nodmix browser click 12 --double\n nodmix browser click-coords 120 340\n nodmix browser type 23 \"hello\" --submit\n nodmix browser press Enter\n nodmix browser hover 44\n nodmix browser drag 10 11\n nodmix browser select 9 OptionA OptionB\n nodmix browser upload /tmp/nodmix/uploads/file.pdf\n nodmix browser fill --fields '[{\"ref\":\"1\",\"value\":\"Ada\"}]'\n nodmix browser dialog --accept\n nodmix browser wait --text \"Done\"\n nodmix browser evaluate --fn '(el) => el.textContent' --ref 7\n nodmix browser console --level error\n nodmix browser pdf\n\nDocs: https://docs.nodmix.ai/cli/browser\n\n",
35
- "secretsHelpText": "\nNodmix 2026.5.30 (b30ec22) — All your chats, one Nodmix.\n\nUsage: nodmix secrets [options] [command]\n\nSecrets runtime controls\n\nOptions:\n -h, --help Display help for command\n\nCommands:\n apply Apply a previously generated secrets plan\n audit Audit plaintext secrets, unresolved refs, and precedence drift\n configure Interactive secrets helper (provider setup + SecretRef mapping +\n preflight)\n help Display help for command\n reload Re-resolve secret references and atomically swap runtime snapshot\n\nDocs: https://docs.nodmix.ai/gateway/security\n\n",
36
- "nodesHelpText": "\nNodmix 2026.5.30 (b30ec22) — All your chats, one Nodmix.\n\nUsage: nodmix nodes [options] [command]\n\nManage gateway-owned nodes (pairing, status, invoke, and media)\n\nOptions:\n -h, --help Display help for command\n\nCommands:\n approve Approve a pending pairing request\n camera Capture camera media from a paired node\n canvas Capture or render canvas content from a paired node\n describe Describe a node (capabilities + supported invoke commands)\n help Display help for command\n invoke Invoke a command on a paired node\n list List pending and paired nodes\n location Fetch location from a paired node\n notify Send a local notification on a node (mac only)\n pending List pending pairing requests\n push Send an APNs test push to an iOS node\n reject Reject a pending pairing request\n remove Remove a paired node entry\n rename Rename a paired node (display name override)\n screen Capture screen recordings from a paired node\n status List known nodes with connection status and capabilities\n\nExamples:\n nodmix nodes status\n List known nodes with live status.\n nodmix nodes pairing pending\n Show pending node pairing requests.\n nodmix nodes remove --node <id|name|ip>\n Remove a stale paired node entry.\n nodmix nodes invoke --node <id> --command system.which --params '{\"name\":\"uname\"}'\n Invoke a node command directly.\n nodmix nodes camera snap --node <id>\n Capture a photo from a node camera.\n\nDocs: https://docs.nodmix.ai/cli/nodes\n\n",
34
+ "browserHelpText": "\nNodmix 2026.5.30 (e992020) — All your chats, one Nodmix.\n\nUsage: nodmix browser [options] [command]\n\nManage Nodmix's dedicated browser (Chrome/Chromium)\n\nOptions:\n --browser-profile <name> Browser profile name (default from config)\n --expect-final Wait for final response (agent) (default: false)\n -h, --help Display help for command\n --json Output machine-readable JSON (default: false)\n --timeout <ms> Timeout in ms (default: \"30000\")\n --token <token> Gateway token (if required)\n --url <url> Gateway WebSocket URL (defaults to\n gateway.remote.url when configured)\n\nCommands:\n click Click an element by ref from snapshot\n click-coords Click viewport coordinates\n close Close a tab (target id optional)\n console Get recent console messages\n cookies Read/write cookies\n create-profile Create a new browser profile\n delete-profile Delete a browser profile\n dialog Arm the next modal dialog (alert/confirm/prompt)\n doctor Check browser plugin readiness\n download Click a ref and save the resulting download\n drag Drag from one ref to another\n errors Get recent page errors\n evaluate Evaluate a function against the page or a ref\n fill Fill a form with JSON field descriptors\n focus Focus a tab by target id, tab id, label, or unique\n target id prefix\n highlight Highlight an element by ref\n hover Hover an element by ai ref\n navigate Navigate the current tab to a URL\n open Open a URL in a new tab\n pdf Save page as PDF\n press Press a key\n profiles List all browser profiles\n requests Get recent network requests (best-effort)\n reset-profile Reset browser profile (moves it to Trash)\n resize Resize the viewport\n responsebody Wait for a network response and return its body\n screenshot Capture a screenshot (MEDIA:<path>)\n scrollintoview Scroll an element into view by ref from snapshot\n select Select option(s) in a select element\n set Browser environment settings\n snapshot Capture a snapshot (default: ai; aria is the\n accessibility tree)\n start Start the browser (no-op if already running)\n status Show browser status\n stop Stop the browser (best-effort)\n storage Read/write localStorage/sessionStorage\n tab Tab shortcuts (index-based)\n tabs List open tabs\n trace Record a Playwright trace\n type Type into an element by ref from snapshot\n upload Arm file upload for the next file chooser\n wait Wait for time, selector, URL, load state, or JS\n conditions\n waitfordownload Wait for the next download (and save it)\n\nExamples:\n nodmix browser status\n nodmix browser start\n nodmix browser start --headless\n nodmix browser stop\n nodmix browser tabs\n nodmix browser open https://example.com\n nodmix browser focus abcd1234\n nodmix browser close abcd1234\n nodmix browser screenshot\n nodmix browser screenshot --full-page\n nodmix browser screenshot --ref 12\n nodmix browser snapshot\n nodmix browser snapshot --format aria --limit 200\n nodmix browser snapshot --efficient\n nodmix browser snapshot --labels\n nodmix browser navigate https://example.com\n nodmix browser resize 1280 720\n nodmix browser click 12 --double\n nodmix browser click-coords 120 340\n nodmix browser type 23 \"hello\" --submit\n nodmix browser press Enter\n nodmix browser hover 44\n nodmix browser drag 10 11\n nodmix browser select 9 OptionA OptionB\n nodmix browser upload /tmp/nodmix/uploads/file.pdf\n nodmix browser fill --fields '[{\"ref\":\"1\",\"value\":\"Ada\"}]'\n nodmix browser dialog --accept\n nodmix browser wait --text \"Done\"\n nodmix browser evaluate --fn '(el) => el.textContent' --ref 7\n nodmix browser console --level error\n nodmix browser pdf\n\nDocs: https://docs.nodmix.ai/cli/browser\n\n",
35
+ "secretsHelpText": "\nNodmix 2026.5.30 (e992020) — All your chats, one Nodmix.\n\nUsage: nodmix secrets [options] [command]\n\nSecrets runtime controls\n\nOptions:\n -h, --help Display help for command\n\nCommands:\n apply Apply a previously generated secrets plan\n audit Audit plaintext secrets, unresolved refs, and precedence drift\n configure Interactive secrets helper (provider setup + SecretRef mapping +\n preflight)\n help Display help for command\n reload Re-resolve secret references and atomically swap runtime snapshot\n\nDocs: https://docs.nodmix.ai/gateway/security\n\n",
36
+ "nodesHelpText": "\nNodmix 2026.5.30 (e992020) — All your chats, one Nodmix.\n\nUsage: nodmix nodes [options] [command]\n\nManage gateway-owned nodes (pairing, status, invoke, and media)\n\nOptions:\n -h, --help Display help for command\n\nCommands:\n approve Approve a pending pairing request\n camera Capture camera media from a paired node\n canvas Capture or render canvas content from a paired node\n describe Describe a node (capabilities + supported invoke commands)\n help Display help for command\n invoke Invoke a command on a paired node\n list List pending and paired nodes\n location Fetch location from a paired node\n notify Send a local notification on a node (mac only)\n pending List pending pairing requests\n push Send an APNs test push to an iOS node\n reject Reject a pending pairing request\n remove Remove a paired node entry\n rename Rename a paired node (display name override)\n screen Capture screen recordings from a paired node\n status List known nodes with connection status and capabilities\n\nExamples:\n nodmix nodes status\n List known nodes with live status.\n nodmix nodes pairing pending\n Show pending node pairing requests.\n nodmix nodes remove --node <id|name|ip>\n Remove a stale paired node entry.\n nodmix nodes invoke --node <id> --command system.which --params '{\"name\":\"uname\"}'\n Invoke a node command directly.\n nodmix nodes camera snap --node <id>\n Capture a photo from a node camera.\n\nDocs: https://docs.nodmix.ai/cli/nodes\n\n",
37
37
  "subcommandHelpText": {
38
- "doctor": "\nNodmix 2026.5.30 (b30ec22) — All your chats, one Nodmix.\n\nUsage: nodmix doctor [options]\n\nHealth checks + quick fixes for the gateway and channels\n\nOptions:\n --allow-exec Allow doctor to execute exec SecretRefs while\n verifying configured secrets (default: false)\n --deep Scan system services for extra gateway installs\n (default: false)\n --fix Apply recommended repairs (alias for --repair)\n (default: false)\n --force Apply aggressive repairs (overwrites custom\n service config) (default: false)\n --generate-gateway-token Generate and configure a gateway token (default:\n false)\n -h, --help Display help for command\n --json With --lint: emit JSON findings instead of human\n output (default: false)\n --lint Run read-only health checks and report findings\n (default: false)\n --no-workspace-suggestions Disable workspace memory system suggestions\n --non-interactive Run without prompts (safe migrations only)\n (default: false)\n --only <id> With --lint: run only the specified check id\n (repeatable) (default: [])\n --repair Apply recommended repairs without prompting\n (default: false)\n --severity-min <level> With --lint: drop findings below this severity\n (info|warning|error)\n --skip <id> With --lint: skip a specific check id (repeatable)\n (default: [])\n --yes Accept defaults without prompting (default: false)\n\nDocs: https://docs.nodmix.ai/cli/doctor\n\n",
39
- "gateway": "\nNodmix 2026.5.30 (b30ec22) — All your chats, one Nodmix.\n\nUsage: nodmix gateway [options] [command]\n\nRun, inspect, and query the WebSocket Gateway\n\nOptions:\n --allow-unconfigured Allow gateway start without enforcing\n gateway.mode=local in config (does not repair\n config) (default: false)\n --auth <mode> Gateway auth mode\n (\"none\"|\"token\"|\"password\"|\"trusted-proxy\")\n --bind <mode> Bind mode\n (\"loopback\"|\"lan\"|\"tailnet\"|\"auto\"|\"custom\").\n Defaults to config gateway.bind (or loopback).\n --claude-cli-logs Deprecated alias for --cli-backend-logs (default:\n false)\n --cli-backend-logs Only show CLI backend logs in the console (includes\n stdout/stderr) (default: false)\n --compact Alias for \"--ws-log compact\" (default: false)\n --dev Create a dev config + workspace if missing (no\n BOOTSTRAP.md) (default: false)\n --force Kill any existing listener on the target port\n before starting (default: false)\n -h, --help Display help for command\n --password <password> Password for auth mode=password\n --password-file <path> Read gateway password from file\n --port <port> Port for the gateway WebSocket\n --raw-stream Log raw model stream events to jsonl (default:\n false)\n --raw-stream-path <path> Raw stream jsonl path\n --reset Reset dev config + credentials + sessions +\n workspace (requires --dev) (default: false)\n --tailscale <mode> Tailscale exposure mode (\"off\"|\"serve\"|\"funnel\")\n --tailscale-reset-on-exit Reset Tailscale serve/funnel configuration on\n shutdown (default: false)\n --token <token> Shared token required in connect.params.auth.token\n (default: NODMIX_GATEWAY_TOKEN env if set)\n --verbose Verbose logging to stdout/stderr (default: false)\n --ws-log <style> WebSocket log style (\"auto\"|\"full\"|\"compact\")\n (default: \"auto\")\n\nCommands:\n call Call a Gateway method\n diagnostics Export local support diagnostics\n discover Discover gateways via Bonjour (local + wide-area if\n configured)\n health Fetch Gateway health\n install Install the Gateway service\n (launchd/systemd/schtasks)\n probe Show gateway reachability, auth capability, and\n read-probe summary (local + remote)\n restart Restart the Gateway service\n (launchd/systemd/schtasks)\n run Run the WebSocket Gateway (foreground)\n stability Fetch payload-free Gateway stability diagnostics\n start Start the Gateway service\n (launchd/systemd/schtasks)\n status Show gateway service status + probe\n connectivity/capability\n stop Stop the Gateway service (launchd/systemd/schtasks)\n uninstall Uninstall the Gateway service\n (launchd/systemd/schtasks)\n usage-cost Fetch usage cost summary from session logs\n\nExamples:\n nodmix gateway run\n Run the gateway in the foreground.\n nodmix gateway status\n Show service status plus connectivity/capability.\n nodmix gateway discover\n Find local and wide-area gateway beacons.\n nodmix gateway stability\n Show recent stability diagnostics.\n nodmix gateway call health\n Call a gateway RPC method directly.\n\nDocs: https://docs.nodmix.ai/cli/gateway\n\n",
40
- "models": "\nNodmix 2026.5.30 (b30ec22) — All your chats, one Nodmix.\n\nUsage: nodmix models [options] [command]\n\nModel discovery, scanning, and configuration\n\nOptions:\n --agent <id> Agent id to inspect (overrides NODMIX_AGENT_DIR)\n -h, --help Display help for command\n --status-json Output JSON (alias for `models status --json`) (default:\n false)\n --status-plain Plain output (alias for `models status --plain`) (default:\n false)\n\nCommands:\n aliases Manage model aliases\n auth Manage model auth profiles\n fallbacks Manage model fallback list\n image-fallbacks Manage image model fallback list\n list List models (configured by default)\n scan Scan OpenRouter free models for tools + images\n set Set the default model\n set-image Set the image model\n status Show configured model state\n\nDocs: https://docs.nodmix.ai/cli/models\n\n",
41
- "plugins": "\nNodmix 2026.5.30 (b30ec22) — All your chats, one Nodmix.\n\nUsage: nodmix plugins [options] [command]\n\nManage Nodmix plugins and extensions\n\nOptions:\n -h, --help Display help for command\n\nCommands:\n build Generate simple tool plugin metadata\n disable Disable a plugin in config\n doctor Report plugin load issues\n enable Enable a plugin in config\n init Create a simple tool plugin project\n inspect Inspect plugin details\n install Install a plugin or hook pack (path, archive, npm spec, git repo,\n clawhub:package, or marketplace entry)\n list List discovered plugins\n marketplace Inspect Claude-compatible plugin marketplaces\n registry Inspect or rebuild the persisted plugin registry\n search Search ClawHub plugin packages\n uninstall Uninstall a plugin\n update Update installed plugins and tracked hook packs\n validate Validate simple tool plugin metadata\n\nDocs: https://docs.nodmix.ai/cli/plugins\n\n"
38
+ "doctor": "\nNodmix 2026.5.30 (e992020) — All your chats, one Nodmix.\n\nUsage: nodmix doctor [options]\n\nHealth checks + quick fixes for the gateway and channels\n\nOptions:\n --allow-exec Allow doctor to execute exec SecretRefs while\n verifying configured secrets (default: false)\n --deep Scan system services for extra gateway installs\n (default: false)\n --fix Apply recommended repairs (alias for --repair)\n (default: false)\n --force Apply aggressive repairs (overwrites custom\n service config) (default: false)\n --generate-gateway-token Generate and configure a gateway token (default:\n false)\n -h, --help Display help for command\n --json With --lint: emit JSON findings instead of human\n output (default: false)\n --lint Run read-only health checks and report findings\n (default: false)\n --no-workspace-suggestions Disable workspace memory system suggestions\n --non-interactive Run without prompts (safe migrations only)\n (default: false)\n --only <id> With --lint: run only the specified check id\n (repeatable) (default: [])\n --repair Apply recommended repairs without prompting\n (default: false)\n --severity-min <level> With --lint: drop findings below this severity\n (info|warning|error)\n --skip <id> With --lint: skip a specific check id (repeatable)\n (default: [])\n --yes Accept defaults without prompting (default: false)\n\nDocs: https://docs.nodmix.ai/cli/doctor\n\n",
39
+ "gateway": "\nNodmix 2026.5.30 (e992020) — All your chats, one Nodmix.\n\nUsage: nodmix gateway [options] [command]\n\nRun, inspect, and query the WebSocket Gateway\n\nOptions:\n --allow-unconfigured Allow gateway start without enforcing\n gateway.mode=local in config (does not repair\n config) (default: false)\n --auth <mode> Gateway auth mode\n (\"none\"|\"token\"|\"password\"|\"trusted-proxy\")\n --bind <mode> Bind mode\n (\"loopback\"|\"lan\"|\"tailnet\"|\"auto\"|\"custom\").\n Defaults to config gateway.bind (or loopback).\n --claude-cli-logs Deprecated alias for --cli-backend-logs (default:\n false)\n --cli-backend-logs Only show CLI backend logs in the console (includes\n stdout/stderr) (default: false)\n --compact Alias for \"--ws-log compact\" (default: false)\n --dev Create a dev config + workspace if missing (no\n BOOTSTRAP.md) (default: false)\n --force Kill any existing listener on the target port\n before starting (default: false)\n -h, --help Display help for command\n --password <password> Password for auth mode=password\n --password-file <path> Read gateway password from file\n --port <port> Port for the gateway WebSocket\n --raw-stream Log raw model stream events to jsonl (default:\n false)\n --raw-stream-path <path> Raw stream jsonl path\n --reset Reset dev config + credentials + sessions +\n workspace (requires --dev) (default: false)\n --tailscale <mode> Tailscale exposure mode (\"off\"|\"serve\"|\"funnel\")\n --tailscale-reset-on-exit Reset Tailscale serve/funnel configuration on\n shutdown (default: false)\n --token <token> Shared token required in connect.params.auth.token\n (default: NODMIX_GATEWAY_TOKEN env if set)\n --verbose Verbose logging to stdout/stderr (default: false)\n --ws-log <style> WebSocket log style (\"auto\"|\"full\"|\"compact\")\n (default: \"auto\")\n\nCommands:\n call Call a Gateway method\n diagnostics Export local support diagnostics\n discover Discover gateways via Bonjour (local + wide-area if\n configured)\n health Fetch Gateway health\n install Install the Gateway service\n (launchd/systemd/schtasks)\n probe Show gateway reachability, auth capability, and\n read-probe summary (local + remote)\n restart Restart the Gateway service\n (launchd/systemd/schtasks)\n run Run the WebSocket Gateway (foreground)\n stability Fetch payload-free Gateway stability diagnostics\n start Start the Gateway service\n (launchd/systemd/schtasks)\n status Show gateway service status + probe\n connectivity/capability\n stop Stop the Gateway service (launchd/systemd/schtasks)\n uninstall Uninstall the Gateway service\n (launchd/systemd/schtasks)\n usage-cost Fetch usage cost summary from session logs\n\nExamples:\n nodmix gateway run\n Run the gateway in the foreground.\n nodmix gateway status\n Show service status plus connectivity/capability.\n nodmix gateway discover\n Find local and wide-area gateway beacons.\n nodmix gateway stability\n Show recent stability diagnostics.\n nodmix gateway call health\n Call a gateway RPC method directly.\n\nDocs: https://docs.nodmix.ai/cli/gateway\n\n",
40
+ "models": "\nNodmix 2026.5.30 (e992020) — All your chats, one Nodmix.\n\nUsage: nodmix models [options] [command]\n\nModel discovery, scanning, and configuration\n\nOptions:\n --agent <id> Agent id to inspect (overrides NODMIX_AGENT_DIR)\n -h, --help Display help for command\n --status-json Output JSON (alias for `models status --json`) (default:\n false)\n --status-plain Plain output (alias for `models status --plain`) (default:\n false)\n\nCommands:\n aliases Manage model aliases\n auth Manage model auth profiles\n fallbacks Manage model fallback list\n image-fallbacks Manage image model fallback list\n list List models (configured by default)\n scan Scan OpenRouter free models for tools + images\n set Set the default model\n set-image Set the image model\n status Show configured model state\n\nDocs: https://docs.nodmix.ai/cli/models\n\n",
41
+ "plugins": "\nNodmix 2026.5.30 (e992020) — All your chats, one Nodmix.\n\nUsage: nodmix plugins [options] [command]\n\nManage Nodmix plugins and extensions\n\nOptions:\n -h, --help Display help for command\n\nCommands:\n build Generate simple tool plugin metadata\n disable Disable a plugin in config\n doctor Report plugin load issues\n enable Enable a plugin in config\n init Create a simple tool plugin project\n inspect Inspect plugin details\n install Install a plugin or hook pack (path, archive, npm spec, git repo,\n clawhub:package, or marketplace entry)\n list List discovered plugins\n marketplace Inspect Claude-compatible plugin marketplaces\n registry Inspect or rebuild the persisted plugin registry\n search Search ClawHub plugin packages\n uninstall Uninstall a plugin\n update Update installed plugins and tracked hook packs\n validate Validate simple tool plugin metadata\n\nDocs: https://docs.nodmix.ai/cli/plugins\n\n"
42
42
  },
43
- "rootHelpText": "\nNodmix 2026.5.30 (b30ec22) — All your chats, one Nodmix.\n\nUsage: nodmix [options] [command]\n\nOptions:\n --container <name> Run the CLI inside a running Podman/Docker container\n named <name> (default: env NODMIX_CONTAINER)\n --dev Dev profile: isolate state under ~/.nodmix-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 NODMIX_STATE_DIR/NODMIX_CONFIG_PATH under\n ~/.nodmix-<name>)\n -V, --version output the version number\n\nCommands:\n Hint: commands suffixed with * have subcommands. Run <command> --help for details.\n acp * Run and manage ACP-backed coding agents\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 Nodmix state\n capability * Run provider capability commands (fallback alias: infer)\n channels * Add, remove, login, and inspect messaging channels\n chat Open a local terminal UI (alias for tui --local)\n clawbot * Legacy clawbot command aliases\n commitments * List and manage inferred follow-up commitments\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 crestodian Open the interactive setup and repair assistant\n cron * Schedule and inspect Gateway background jobs\n daemon * Manage the 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 Nodmix docs\n doctor Diagnose and repair config, Gateway, plugin, and channel\n problems\n exec-policy * Show or synchronize requested exec policy with host\n approvals\n gateway * Run, inspect, and query the Nodmix Gateway\n health Fetch detailed health from the running Gateway\n help Display help for command\n hooks * Manage internal agent hooks\n infer * Run provider-backed model, media, search, and embedding\n commands\n logs Tail Gateway logs locally or via RPC\n mcp * Manage Nodmix MCP config and channel bridge\n memory * Search, inspect, and reindex memory files\n message * Send, read, and manage channel messages\n migrate * Import state from another agent system\n models * List, scan, and set model providers\n node * Run and manage the headless node host service\n nodes * Pair nodes and run node-host commands through the Gateway\n onboard Interactive onboarding for gateway, workspace, and skills\n pairing * Secure DM pairing (approve inbound requests)\n plugins * Install, enable, disable, and inspect plugins\n proxy * Run the Nodmix 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 * Audit, apply, and reload SecretRef-backed credentials\n security * Security tools and local config audits\n sessions * List stored conversation sessions\n setup Initialize local config and an agent workspace\n skills * List, inspect, and install agent skills\n status Show Gateway, channel, model, and recent-session status\n system * System events, heartbeat, and presence\n tasks * Inspect durable background tasks and flows\n terminal Open a local terminal UI (alias for tui --local)\n transcripts * Inspect stored transcripts\n tui Open a terminal UI connected to the Gateway\n uninstall Uninstall the gateway service + local data (CLI remains)\n update * Update Nodmix and inspect update channel status\n webhooks * Webhook helpers and integrations\n\nExamples:\n nodmix onboard\n Run guided setup for a local Gateway, workspace, auth, and channels.\n nodmix setup\n Create the baseline config, workspace, and session folders.\n nodmix configure\n Change models, Gateway, channels, plugins, skills, and health checks.\n nodmix status\n Check Gateway, channel, model, and recent-session status.\n nodmix doctor --fix\n Repair common config, service, plugin, and channel problems.\n nodmix channels add\n Add or update a chat channel account with guided prompts.\n nodmix channels status\n See connected messaging accounts and login state.\n nodmix --dev gateway\n Run a dev Gateway (isolated state/config) on ws://127.0.0.1:19001.\n nodmix gateway run --force\n Start the Gateway and replace anything bound to its port.\n nodmix models status\n Show model/provider auth health before running agents.\n nodmix plugins list\n Inspect enabled, disabled, and installed plugins.\n nodmix agent --to +15555550123 --message \"Run summary\" --deliver\n Run one agent turn through the Gateway and optionally deliver the reply.\n nodmix message send --channel telegram --target @mychat --message \"Hi\"\n Send via your Telegram bot.\n\nDocs: https://docs.nodmix.ai/cli\n\n"
43
+ "rootHelpText": "\nNodmix 2026.5.30 (e992020) — All your chats, one Nodmix.\n\nUsage: nodmix [options] [command]\n\nOptions:\n --container <name> Run the CLI inside a running Podman/Docker container\n named <name> (default: env NODMIX_CONTAINER)\n --dev Dev profile: isolate state under ~/.nodmix-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 NODMIX_STATE_DIR/NODMIX_CONFIG_PATH under\n ~/.nodmix-<name>)\n -V, --version output the version number\n\nCommands:\n Hint: commands suffixed with * have subcommands. Run <command> --help for details.\n acp * Run and manage ACP-backed coding agents\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 Nodmix state\n capability * Run provider capability commands (fallback alias: infer)\n channels * Add, remove, login, and inspect messaging channels\n chat Open a local terminal UI (alias for tui --local)\n clawbot * Legacy clawbot command aliases\n commitments * List and manage inferred follow-up commitments\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 crestodian Open the interactive setup and repair assistant\n cron * Schedule and inspect Gateway background jobs\n daemon * Manage the 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 Nodmix docs\n doctor Diagnose and repair config, Gateway, plugin, and channel\n problems\n exec-policy * Show or synchronize requested exec policy with host\n approvals\n gateway * Run, inspect, and query the Nodmix Gateway\n health Fetch detailed health from the running Gateway\n help Display help for command\n hooks * Manage internal agent hooks\n infer * Run provider-backed model, media, search, and embedding\n commands\n logs Tail Gateway logs locally or via RPC\n mcp * Manage Nodmix MCP config and channel bridge\n memory * Search, inspect, and reindex memory files\n message * Send, read, and manage channel messages\n migrate * Import state from another agent system\n models * List, scan, and set model providers\n node * Run and manage the headless node host service\n nodes * Pair nodes and run node-host commands through the Gateway\n onboard Interactive onboarding for gateway, workspace, and skills\n pairing * Secure DM pairing (approve inbound requests)\n plugins * Install, enable, disable, and inspect plugins\n proxy * Run the Nodmix 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 * Audit, apply, and reload SecretRef-backed credentials\n security * Security tools and local config audits\n sessions * List stored conversation sessions\n setup Initialize local config and an agent workspace\n skills * List, inspect, and install agent skills\n status Show Gateway, channel, model, and recent-session status\n system * System events, heartbeat, and presence\n tasks * Inspect durable background tasks and flows\n terminal Open a local terminal UI (alias for tui --local)\n transcripts * Inspect stored transcripts\n tui Open a terminal UI connected to the Gateway\n uninstall Uninstall the gateway service + local data (CLI remains)\n update * Update Nodmix and inspect update channel status\n webhooks * Webhook helpers and integrations\n\nExamples:\n nodmix onboard\n Run guided setup for a local Gateway, workspace, auth, and channels.\n nodmix setup\n Create the baseline config, workspace, and session folders.\n nodmix configure\n Change models, Gateway, channels, plugins, skills, and health checks.\n nodmix status\n Check Gateway, channel, model, and recent-session status.\n nodmix doctor --fix\n Repair common config, service, plugin, and channel problems.\n nodmix channels add\n Add or update a chat channel account with guided prompts.\n nodmix channels status\n See connected messaging accounts and login state.\n nodmix --dev gateway\n Run a dev Gateway (isolated state/config) on ws://127.0.0.1:19001.\n nodmix gateway run --force\n Start the Gateway and replace anything bound to its port.\n nodmix models status\n Show model/provider auth health before running agents.\n nodmix plugins list\n Inspect enabled, disabled, and installed plugins.\n nodmix agent --to +15555550123 --message \"Run summary\" --deliver\n Run one agent turn through the Gateway and optionally deliver the reply.\n nodmix message send --channel telegram --target @mychat --message \"Hi\"\n Send via your Telegram bot.\n\nDocs: https://docs.nodmix.ai/cli\n\n"
44
44
  }
@@ -1,4 +1,4 @@
1
- import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{o as n,t as r}from"./string-coerce-t1ZxFEIA.js";import{_ as i,ft as a,z as o}from"./index-CH3B3Ew0.js";var s=[`running`,`done`,`error`];function c(e){return o(e,{hour:`numeric`,minute:`2-digit`,second:`2-digit`},``)}function l(e){if(!Number.isFinite(e)||e<0)return n(`common.na`);if(e<1e3)return n(`activity.duration.ms`,{count:String(Math.round(e))});if(e<6e4)return n(`activity.duration.seconds`,{count:(e/1e3).toFixed(1)});let t=Math.round(e/1e3),r=Math.floor(t/60),i=t%60;return n(`activity.duration.minutes`,{minutes:String(r),seconds:String(i)})}function u(e){return n(`activity.status.${e}`)}function d(e){return e===1?n(`activity.argumentHiddenOne`):n(`activity.argumentsHidden`,{count:String(e)})}function f(e){return n(`activity.entrySummary`,{argumentSummary:d(e.hiddenArgumentCount),status:u(e.status),tool:e.toolName})}function p(e,t){return t?r([e.toolName,e.status,e.summary,f(e),e.outputPreview,e.runId,e.toolCallId,e.sessionKey].filter(Boolean).join(` `)).includes(t):!0}function m(e){return a(e.map(e=>e.toolName))}function h(e){let t=r(e.filterText);return e.entries.filter(n=>!e.statusFilters[n.status]||e.toolFilter&&n.toolName!==e.toolFilter?!1:p(n,t))}function g(e,n){return t`
1
+ import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{o as n,t as r}from"./string-coerce-t1ZxFEIA.js";import{_ as i,ft as a,z as o}from"./index-CPtQr6Hf.js";var s=[`running`,`done`,`error`];function c(e){return o(e,{hour:`numeric`,minute:`2-digit`,second:`2-digit`},``)}function l(e){if(!Number.isFinite(e)||e<0)return n(`common.na`);if(e<1e3)return n(`activity.duration.ms`,{count:String(Math.round(e))});if(e<6e4)return n(`activity.duration.seconds`,{count:(e/1e3).toFixed(1)});let t=Math.round(e/1e3),r=Math.floor(t/60),i=t%60;return n(`activity.duration.minutes`,{minutes:String(r),seconds:String(i)})}function u(e){return n(`activity.status.${e}`)}function d(e){return e===1?n(`activity.argumentHiddenOne`):n(`activity.argumentsHidden`,{count:String(e)})}function f(e){return n(`activity.entrySummary`,{argumentSummary:d(e.hiddenArgumentCount),status:u(e.status),tool:e.toolName})}function p(e,t){return t?r([e.toolName,e.status,e.summary,f(e),e.outputPreview,e.runId,e.toolCallId,e.sessionKey].filter(Boolean).join(` `)).includes(t):!0}function m(e){return a(e.map(e=>e.toolName))}function h(e){let t=r(e.filterText);return e.entries.filter(n=>!e.statusFilters[n.status]||e.toolFilter&&n.toolName!==e.toolFilter?!1:p(n,t))}function g(e,n){return t`
2
2
  <label class="activity-status-filter activity-status-filter--${n}">
3
3
  <input
4
4
  type="checkbox"
@@ -121,4 +121,4 @@ import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{o as n,t as r}from".
121
121
  </div>
122
122
  </section>
123
123
  `}export{v as renderActivity};
124
- //# sourceMappingURL=activity-BEHmWjpC.js.map
124
+ //# sourceMappingURL=activity-BajxTPw0.js.map
@@ -1,4 +1,4 @@
1
- import{f as e,i as t,p as n,t as r}from"./lit-runtime-DA0-mbwP.js";import{c as i,o as a,t as o}from"./string-coerce-t1ZxFEIA.js";import{v as s}from"./markdown-runtime-C9Jq8Bu5.js";import{$ as c,G as l,J as u,K as d,Q as f,U as p,V as m,W as h,X as g,Y as _,Z as ee,_ as v,a as y,at as b,dt as x,et as S,it as te,n as C,nt as w,ot as T,q as ne,r as E,rt as D,t as re,tt as O}from"./index-CH3B3Ew0.js";import{r as k}from"./channel-config-extras-Ci25jsHo.js";import{i as A,n as ie,r as j,t as ae}from"./skills-shared-CXH5_9Ow.js";function oe(t){let{agent:r,configForm:i,agentFilesList:o,configLoading:s,configSaving:u,configDirty:d,onConfigReload:p,onConfigSave:m,onModelChange:h,onModelFallbacksChange:_,onSelectPanel:v}=t,y=!!(t.defaultId&&r.id===t.defaultId),b=f(i,r.id),x=r.model,te=(o&&o.agentId===r.id?o.workspace:null)||b.entry?.workspace||b.defaults?.workspace||r.workspace||`default`,C=b.entry?.model?O(b.entry?.model):b.defaults?.model?O(b.defaults?.model):O(x),T=c(r.agentRuntime),ne=O(b.defaults?.model??x),E=w(b.entry?.model),D=w(b.defaults?.model)||(ne===`-`?null:g(ne))||(i?null:w(x)),re=E??D??null,k=y?re:E,A=S(b.entry?.model)??S(b.defaults?.model)??(i?null:S(x))??[],ie=Array.isArray(b.entry?.skills)?b.entry?.skills:null,j=ie?.length??null,ae=!i||s||u,oe=e=>{let t=A.filter((t,n)=>n!==e);_(r.id,t)};return n`
1
+ import{f as e,i as t,p as n,t as r}from"./lit-runtime-DA0-mbwP.js";import{c as i,o as a,t as o}from"./string-coerce-t1ZxFEIA.js";import{v as s}from"./markdown-runtime-C9Jq8Bu5.js";import{$ as c,G as l,J as u,K as d,Q as f,U as p,V as m,W as h,X as g,Y as _,Z as ee,_ as v,a as y,at as b,dt as x,et as S,it as te,n as C,nt as w,ot as T,q as ne,r as E,rt as D,t as re,tt as O}from"./index-CPtQr6Hf.js";import{r as k}from"./channel-config-extras-Ci25jsHo.js";import{i as A,n as ie,r as j,t as ae}from"./skills-shared-CXH5_9Ow.js";function oe(t){let{agent:r,configForm:i,agentFilesList:o,configLoading:s,configSaving:u,configDirty:d,onConfigReload:p,onConfigSave:m,onModelChange:h,onModelFallbacksChange:_,onSelectPanel:v}=t,y=!!(t.defaultId&&r.id===t.defaultId),b=f(i,r.id),x=r.model,te=(o&&o.agentId===r.id?o.workspace:null)||b.entry?.workspace||b.defaults?.workspace||r.workspace||`default`,C=b.entry?.model?O(b.entry?.model):b.defaults?.model?O(b.defaults?.model):O(x),T=c(r.agentRuntime),ne=O(b.defaults?.model??x),E=w(b.entry?.model),D=w(b.defaults?.model)||(ne===`-`?null:g(ne))||(i?null:w(x)),re=E??D??null,k=y?re:E,A=S(b.entry?.model)??S(b.defaults?.model)??(i?null:S(x))??[],ie=Array.isArray(b.entry?.skills)?b.entry?.skills:null,j=ie?.length??null,ae=!i||s||u,oe=e=>{let t=A.filter((t,n)=>n!==e);_(r.id,t)};return n`
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>
@@ -1061,4 +1061,4 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
1061
1061
  `)}
1062
1062
  </div>
1063
1063
  `}export{Cn as renderAgents};
1064
- //# sourceMappingURL=agents-CLg-rdua.js.map
1064
+ //# sourceMappingURL=agents-DjueD_Yf.js.map
@@ -1,4 +1,4 @@
1
- import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{o as n}from"./string-coerce-t1ZxFEIA.js";import{H as r,V as i,c as a,ct as o,l as s,lt as c}from"./index-CH3B3Ew0.js";import{n as l,t as u}from"./channel-config-extras-Ci25jsHo.js";function d(e,t){let n=e;for(let e of t){if(!n)return null;let t=c(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 f(e,t){return l(e,t)??{}}var p=[`groupPolicy`,`streamMode`,`dmPolicy`];function m(e){let n=p.flatMap(t=>t in e?[[t,e[t]]]:[]);return n.length===0?null:t`
1
+ import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{o as n}from"./string-coerce-t1ZxFEIA.js";import{H as r,V as i,c as a,ct as o,l as s,lt as c}from"./index-CPtQr6Hf.js";import{n as l,t as u}from"./channel-config-extras-Ci25jsHo.js";function d(e,t){let n=e;for(let e of t){if(!n)return null;let t=c(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 f(e,t){return l(e,t)??{}}var p=[`groupPolicy`,`streamMode`,`dmPolicy`];function m(e){let n=p.flatMap(t=>t in e?[[t,e[t]]]:[]);return n.length===0?null:t`
2
2
  <div class="status-list" style="margin-top: 12px;">
3
3
  ${n.map(([e,n])=>t`
4
4
  <div>
@@ -364,4 +364,4 @@ ${r.snapshot?JSON.stringify(r.snapshot,null,2):n(`channels.health.noSnapshotYet`
364
364
  </div>
365
365
  </div>
366
366
  `}export{F as renderChannels};
367
- //# sourceMappingURL=channels-B8hVgLGm.js.map
367
+ //# sourceMappingURL=channels-0qZbHWS3.js.map
@@ -1,4 +1,4 @@
1
- import{f as e,i as t,p as n,s as r}from"./lit-runtime-DA0-mbwP.js";import{o as i}from"./string-coerce-t1ZxFEIA.js";import{M as a,N as o,R as s,V as c,a as l,dt as u,g as d,n as f,pt as p,st as m}from"./index-CH3B3Ew0.js";function h(){return[{value:`ok`,label:i(`cron.runs.runStatusOk`)},{value:`error`,label:i(`cron.runs.runStatusError`)},{value:`skipped`,label:i(`cron.runs.runStatusSkipped`)}]}function g(){return[{value:`delivered`,label:i(`cron.runs.deliveryDelivered`)},{value:`not-delivered`,label:i(`cron.runs.deliveryNotDelivered`)},{value:`unknown`,label:i(`cron.runs.deliveryUnknown`)},{value:`not-requested`,label:i(`cron.runs.deliveryNotRequested`)}]}function _(e,t,n){let r=new Set(e);return n?r.add(t):r.delete(t),Array.from(r)}function v(e,t){return e.length===0?t:e.length<=2?e.join(`, `):`${e[0]} +${e.length-1}`}function y(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 b(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 x(e){return n`
1
+ import{f as e,i as t,p as n,s as r}from"./lit-runtime-DA0-mbwP.js";import{o as i}from"./string-coerce-t1ZxFEIA.js";import{M as a,N as o,R as s,V as c,a as l,dt as u,g as d,n as f,pt as p,st as m}from"./index-CPtQr6Hf.js";function h(){return[{value:`ok`,label:i(`cron.runs.runStatusOk`)},{value:`error`,label:i(`cron.runs.runStatusError`)},{value:`skipped`,label:i(`cron.runs.runStatusSkipped`)}]}function g(){return[{value:`delivered`,label:i(`cron.runs.deliveryDelivered`)},{value:`not-delivered`,label:i(`cron.runs.deliveryNotDelivered`)},{value:`unknown`,label:i(`cron.runs.deliveryUnknown`)},{value:`not-requested`,label:i(`cron.runs.deliveryNotRequested`)}]}function _(e,t,n){let r=new Set(e);return n?r.add(t):r.delete(t),Array.from(r)}function v(e,t){return e.length===0?t:e.length<=2?e.join(`, `):`${e[0]} +${e.length-1}`}function y(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 b(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 x(e){return n`
2
2
  <div class="field cron-filter-dropdown" data-filter=${e.id}>
3
3
  <span>${e.title}</span>
4
4
  <details class="cron-filter-dropdown__details">
@@ -1011,4 +1011,4 @@ import{f as e,i as t,p as n,s as r}from"./lit-runtime-DA0-mbwP.js";import{o as i
1011
1011
  </div>
1012
1012
  </div>
1013
1013
  `}export{k as renderCron};
1014
- //# sourceMappingURL=cron-DEzIxvCR.js.map
1014
+ //# sourceMappingURL=cron-B1bixjH8.js.map
@@ -1,4 +1,4 @@
1
- import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{o as n}from"./string-coerce-t1ZxFEIA.js";import{i as r,z as i}from"./index-CH3B3Ew0.js";function a(a){let o=(a.status&&typeof a.status==`object`?a.status.securityAudit:null)?.summary??null,s=o?.critical??0,c=o?.warn??0,l=o?.info??0,u=s>0?`danger`:c>0?`warn`:`success`,d=s>0?n(`debug.security.critical`,{count:String(s)}):c>0?n(`debug.security.warnings`,{count:String(c)}):n(`debug.security.noCriticalIssues`);return t`
1
+ import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{o as n}from"./string-coerce-t1ZxFEIA.js";import{i as r,z as i}from"./index-CPtQr6Hf.js";function a(a){let o=(a.status&&typeof a.status==`object`?a.status.securityAudit:null)?.summary??null,s=o?.critical??0,c=o?.warn??0,l=o?.info??0,u=s>0?`danger`:c>0?`warn`:`success`,d=s>0?n(`debug.security.critical`,{count:String(s)}):c>0?n(`debug.security.warnings`,{count:String(c)}):n(`debug.security.noCriticalIssues`);return t`
2
2
  <section class="grid">
3
3
  <div class="card">
4
4
  <div class="row" style="justify-content: space-between;">
@@ -104,4 +104,4 @@ ${r(e.payload)}</pre
104
104
  `}
105
105
  </section>
106
106
  `}export{a as renderDebug};
107
- //# sourceMappingURL=debug-DxFfETwr.js.map
107
+ //# sourceMappingURL=debug-BiUm-SHM.js.map