skykoi 2026.3.420 → 2026.3.422

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 (94) hide show
  1. package/dist/{archive-CN2-nAbf.js → archive-pjM1B8h1.js} +1 -1
  2. package/dist/build-info.json +3 -3
  3. package/dist/{ca-director-CX8CLJlH.js → ca-director-ChHXsgDU.js} +1 -1
  4. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  5. package/dist/{capture-service-DG7Gma9C.js → capture-service-CqdpLLZN.js} +1 -1
  6. package/dist/{channel-options-B59EqUsj.js → channel-options-wh6iow5j.js} +1 -1
  7. package/dist/{channels-cli-CI3J--tT.js → channels-cli-DBYTAvFY.js} +10 -10
  8. package/dist/cli/daemon-cli.js +1 -1
  9. package/dist/{cli-D1Yfc59e.js → cli-yRqDTFuI.js} +5 -5
  10. package/dist/{completion-cli-CBFDxd6w.js → completion-cli-BKOlLJPQ.js} +1 -1
  11. package/dist/{config-guard-iBxStyOh.js → config-guard-BnxrLwXM.js} +16 -16
  12. package/dist/{configure-C1Iay9Lb.js → configure-ByVe7bW5.js} +3 -3
  13. package/dist/{daemon-cli-CM0F89Mh.js → daemon-cli-BnYD180b.js} +1 -1
  14. package/dist/{deps-BDH6Fmay.js → deps-BeA4jp3E.js} +1 -1
  15. package/dist/{doctor-CsJlmY97.js → doctor-CQANevNt.js} +3 -3
  16. package/dist/{doctor-completion-B1-CVjHb.js → doctor-completion-jmuOm0qZ.js} +1 -1
  17. package/dist/entry.js +1 -1
  18. package/dist/extension-api.js +5 -5
  19. package/dist/{gateway-cli-CC4-P2ED.js → gateway-cli-_2j803_p.js} +22 -22
  20. package/dist/{github-copilot-auth-CFQlSOyE.js → github-copilot-auth-CyIRI_Ay.js} +1 -1
  21. package/dist/{health-format-Cgjx3K0g.js → health-format-DDB7xI3P.js} +1 -1
  22. package/dist/{hooks-cli-6NS17o9T.js → hooks-cli-rXsqjTlb.js} +7 -7
  23. package/dist/index.js +24 -24
  24. package/dist/{installs-CFKYIXs0.js → installs-BzJHx4gG.js} +1 -1
  25. package/dist/{koi-5dav_roP.js → koi-C2yX54vv.js} +3 -3
  26. package/dist/{models-cli-CRbrc0tH.js → models-cli-BoA9bZzX.js} +6 -6
  27. package/dist/{onboard-channels-Dw7AeczT.js → onboard-channels-Dq6bey9z.js} +2 -2
  28. package/dist/{onboard-skills-CJIf9aVo.js → onboard-skills-DRlofJbh.js} +3 -3
  29. package/dist/{onboarding-B8_6k9rD.js → onboarding-D78re4OF.js} +8 -8
  30. package/dist/{plugin-registry-8_xjavO9.js → plugin-registry-CPakcW32.js} +1 -1
  31. package/dist/plugin-sdk/index.js +2259 -7
  32. package/dist/plugin-sdk/{pi-model-discovery-CbZNnPh6.js → pi-model-discovery-XTIF7us7.js} +91 -4
  33. package/dist/plugin-sdk/tui/surfaces/surface-schema.d.ts +187 -1
  34. package/dist/plugin-sdk/tui/zen/zen-panes-charts.d.ts +8 -0
  35. package/dist/plugin-sdk/tui/zen/zen-panes-ctx.d.ts +57 -0
  36. package/dist/plugin-sdk/tui/zen/zen-panes-live.d.ts +13 -0
  37. package/dist/plugin-sdk/tui/zen/zen-panes-play2.d.ts +8 -0
  38. package/dist/plugin-sdk/tui/zen/zen-panes-widgets.d.ts +13 -0
  39. package/dist/plugin-sdk/tui/zen/zen-panes-x.d.ts +11 -0
  40. package/dist/plugin-sdk/tui/zen/zen-surface.d.ts +40 -0
  41. package/dist/{plugins-cli-DG6-FLx2.js → plugins-cli-DRfC_Mde.js} +9 -9
  42. package/dist/{proactive-eval-CmTqQdDO.js → proactive-eval-CiifGEDV.js} +1 -1
  43. package/dist/{program-Cs9yBUct.js → program-Df7_EhU0.js} +5 -5
  44. package/dist/{register.subclis-DvYNYZuD.js → register.subclis-BoVG0RWg.js} +11 -11
  45. package/dist/{reply-BM6yYhCx.js → reply-Bgz2HS1S.js} +5 -5
  46. package/dist/{run-main-B6zGAMqZ.js → run-main-CUqN-Ek5.js} +25 -25
  47. package/dist/{server-node-events-Ddoee9tr.js → server-node-events-BYqE0iDV.js} +7 -7
  48. package/dist/{status-DH_QVDRn.js → status-DNp69FcF.js} +1 -1
  49. package/dist/{surface-tool-lPNzOXy0.js → surface-tool-BKvwJwgV.js} +21 -4
  50. package/dist/{tui-BAX0XIQG.js → tui-DzY8T4_A.js} +3 -2
  51. package/dist/{tui-cli-BudM9sLF.js → tui-cli-CgYGlfum.js} +4 -4
  52. package/dist/{tui-shell-BXFIvXZT.js → tui-shell-DMiczbd5.js} +26 -5
  53. package/dist/{update-CuHATA4n.js → update-Bubqv05m.js} +1 -1
  54. package/dist/{update-cli-DmBSn0w7.js → update-cli-Dl6XRT5A.js} +15 -15
  55. package/dist/zen-surface-CRziRlLn.js +4293 -0
  56. package/extensions/bluebubbles/package.json +1 -1
  57. package/extensions/copilot-proxy/package.json +1 -1
  58. package/extensions/diagnostics-otel/package.json +1 -1
  59. package/extensions/discord/package.json +1 -1
  60. package/extensions/feishu/package.json +1 -1
  61. package/extensions/google-antigravity-auth/package.json +1 -1
  62. package/extensions/google-gemini-cli-auth/package.json +1 -1
  63. package/extensions/googlechat/package.json +1 -1
  64. package/extensions/imessage/package.json +1 -1
  65. package/extensions/line/package.json +1 -1
  66. package/extensions/llm-task/package.json +1 -1
  67. package/extensions/lobster/package.json +1 -1
  68. package/extensions/matrix/CHANGELOG.md +10 -0
  69. package/extensions/matrix/package.json +1 -1
  70. package/extensions/mattermost/package.json +1 -1
  71. package/extensions/memory-core/package.json +1 -1
  72. package/extensions/memory-lancedb/package.json +1 -1
  73. package/extensions/minimax-portal-auth/package.json +1 -1
  74. package/extensions/msteams/CHANGELOG.md +10 -0
  75. package/extensions/msteams/package.json +1 -1
  76. package/extensions/nextcloud-talk/package.json +1 -1
  77. package/extensions/nostr/CHANGELOG.md +10 -0
  78. package/extensions/nostr/package.json +1 -1
  79. package/extensions/open-prose/package.json +1 -1
  80. package/extensions/signal/package.json +1 -1
  81. package/extensions/slack/package.json +1 -1
  82. package/extensions/telegram/package.json +1 -1
  83. package/extensions/tlon/package.json +1 -1
  84. package/extensions/twitch/CHANGELOG.md +10 -0
  85. package/extensions/twitch/package.json +1 -1
  86. package/extensions/voice-call/CHANGELOG.md +10 -0
  87. package/extensions/voice-call/package.json +1 -1
  88. package/extensions/whatsapp/package.json +1 -1
  89. package/extensions/zalo/CHANGELOG.md +10 -0
  90. package/extensions/zalo/package.json +1 -1
  91. package/extensions/zalouser/CHANGELOG.md +10 -0
  92. package/extensions/zalouser/package.json +1 -1
  93. package/package.json +2 -1
  94. package/dist/zen-surface-Bs0QlPVj.js +0 -1713
@@ -1,5 +1,5 @@
1
1
  import { i as __require, o as __toESM, t as __commonJSMin } from "./chunk-D_gEzPfs.js";
2
- import { Y as require_inherits } from "./reply-BM6yYhCx.js";
2
+ import { Y as require_inherits } from "./reply-Bgz2HS1S.js";
3
3
  import path from "node:path";
4
4
  import fs from "node:fs/promises";
5
5
  import * as tar from "tar";
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "2026.3.420",
3
- "commit": "332a89401c1d5e42f92e26a9caebc4fc2fb3ab25",
4
- "builtAt": "2026-07-08T03:01:34.279Z"
2
+ "version": "2026.3.422",
3
+ "commit": "c23021d5af313ae51111b3b8486a80e26c38b4b8",
4
+ "builtAt": "2026-07-08T07:48:44.179Z"
5
5
  }
@@ -3341,7 +3341,7 @@ function buildFastLaneSystemPrompt() {
3341
3341
  "{\"type\":\"answer\",\"text\":\"...\"} — reply directly. ONLY for: chit-chat, greetings, quick factual follow-ups already answered in the context, status questions (\"what are you doing\"), settings talk.",
3342
3342
  "{\"type\":\"command\",\"commands\":[\"/speak on\"]} — execute slash commands for natural-language settings changes (\"turn on voice\"→/speak on, \"stop talking\"→/speak off, \"think harder\"→/think high, \"switch model to X\"→/model X, \"show/hide the task list\"→/tasks).",
3343
3343
  "{\"type\":\"delegate\",\"ack\":\"on it — digging in now\"} — ANYTHING needing tools, files, web, code, email, messages, reservations, purchases, builds, or long reasoning. ALSO always delegate recall/retrieval questions about past meetings, calls, or conversations (\"what did we talk about\", \"what did they say\", \"action items from the call\") — the transcripts live on disk and only the smart model can search them. The ack is a short natural acknowledgment (max 12 words).",
3344
- "{\"type\":\"surface\",\"surface\":{...}} — INSTANT INTERFACE: when the answer has SHAPE (a list, comparison, steps, numbers, options), mount a small UI in the same beat as your answer. Schema: {\"surfaceId\":\"kebab-id\",\"title\":\"short title\",\"accent\":\"#hex or name\",\"icon\":\"emoji\",\"panes\":[{\"id\":\"p1\",\"type\":\"table|steps|stat|barchart|progress|checklist|markdown|sparkline|tree\",\"title\":\"section\",\"text\":\"INLINE content, ≤10 short lines\",\"region\":\"main\"}],\"actions\":[{\"id\":\"a1\",\"label\":\"Button\",\"shortcut\":\"x\",\"message\":\"what pressing it asks\"}],\"details\":{\"row text\":\"drill-down shown on click\"}}. Content formats: table rows \"a | b | c\" (first row header) · steps \"done|Label\" \"active|Label\" \"pending|Label\" · stat \"42 | label\" · barchart \"Label | 97\" · progress \"Label | 0.42\" · sparkline \"Label | 3 5 8 13\". 1-3 panes, inline text ONLY (you have no files). Pair it with a one-line answer action. For deep/fresh data you don't have, delegate instead — never invent numbers.",
3344
+ "{\"type\":\"surface\",\"surface\":{...}} — INSTANT INTERFACE: when the answer has SHAPE (a list, comparison, steps, numbers, options), mount a small UI in the same beat as your answer. Schema: {\"surfaceId\":\"kebab-id\",\"title\":\"short title\",\"accent\":\"#hex or name\",\"icon\":\"emoji\",\"panes\":[{\"id\":\"p1\",\"type\":\"table|steps|stat|barchart|progress|checklist|markdown|sparkline|tree|kv|donut|gauge|timeline|feed\",\"title\":\"section\",\"text\":\"INLINE content, ≤10 short lines\",\"region\":\"main\"}],\"actions\":[{\"id\":\"a1\",\"label\":\"Button\",\"shortcut\":\"x\",\"message\":\"what pressing it asks\"}],\"details\":{\"row text\":\"drill-down shown on click\"}}. Content formats: table rows \"a | b | c\" (first row header) · steps \"done|Label\" \"active|Label\" \"pending|Label\" · stat \"42 | label\" · barchart \"Label | 97\" · progress \"Label | 0.42\" · sparkline \"Label | 3 5 8 13\" · kv \"key | value\" · donut \"label | value\" (proportions) · gauge \"label | 0.73\" (one arc meter) · timeline \"when | ● | what\" · feed \"source | headline | age\". VARY the pane type across turns — never the same encoding twice in a row when an alternative fits. 1-3 panes, inline text ONLY (you have no files). Pair it with a one-line answer action. For deep/fresh data you don't have, delegate instead — never invent numbers.",
3345
3345
  "Multi-intent messages may produce multiple actions in order (e.g. answer + surface, command then delegate).",
3346
3346
  "When unsure, DELEGATE. Never claim to have done work you cannot do — you have no tools.",
3347
3347
  "NEVER ANSWER A QUESTION WITH A QUESTION: bouncing it back ('what aspects interest you?') is a hard failure. Substantive questions (comparisons, explanations, technical/research topics, their projects) always DELEGATE — the smart model takes the most ambitious reasonable interpretation and answers in full.",
@@ -1 +1 @@
1
- fc4af6e108ce11eceabfd6605fe77f6f1f44268214e599db42beea06d28b0e78
1
+ b9bdfc5c6d0d922cee641dd45197db0aa118358aad43a72f243d375bd9fcbaec
@@ -2253,7 +2253,7 @@ async function startCaptureService(opts) {
2253
2253
  console.error(`[capture] Voice-ID failed to start: ${err}`);
2254
2254
  }
2255
2255
  try {
2256
- const { startProactiveEval } = await import("./proactive-eval-CmTqQdDO.js").then((n) => n.t);
2256
+ const { startProactiveEval } = await import("./proactive-eval-CiifGEDV.js").then((n) => n.t);
2257
2257
  const proactiveHandle = startProactiveEval();
2258
2258
  stops.push(proactiveHandle.stop);
2259
2259
  } catch (err) {
@@ -2,7 +2,7 @@ import { p as CHAT_CHANNEL_ORDER } from "./subsystem-gU4M25gl.js";
2
2
  import { t as isTruthyEnvValue } from "./env-BEtXFLod.js";
3
3
  import { n as listChannelPlugins } from "./plugins-C450DgVP.js";
4
4
  import { i as listChannelPluginCatalogEntries } from "./plugin-auto-enable-DI7yF7Cc.js";
5
- import { t as ensurePluginRegistryLoaded } from "./plugin-registry-8_xjavO9.js";
5
+ import { t as ensurePluginRegistryLoaded } from "./plugin-registry-CPakcW32.js";
6
6
 
7
7
  //#region src/cli/channel-options.ts
8
8
  function dedupe(values) {
@@ -1,5 +1,5 @@
1
1
  import "./pi-embedded-helpers-epijF7kQ.js";
2
- import { Dt as fetchChannelPermissionsDiscord, Et as parseDiscordTarget, G as formatUsageReportLines, W as loadProviderUsageSummary, zt as createSlackWebClient } from "./reply-BM6yYhCx.js";
2
+ import { Dt as fetchChannelPermissionsDiscord, Et as parseDiscordTarget, G as formatUsageReportLines, W as loadProviderUsageSummary, zt as createSlackWebClient } from "./reply-Bgz2HS1S.js";
3
3
  import { s as defaultRuntime } from "./subsystem-gU4M25gl.js";
4
4
  import "./paths-VdmjGGyc.js";
5
5
  import { p as getResolvedLoggerSettings, t as danger } from "./globals-4hwkGgXA.js";
@@ -47,7 +47,7 @@ import "./tool-images-wgRd-_EF.js";
47
47
  import "./redact-ZAoMZTIY.js";
48
48
  import "./tool-display-Dg79vOSW.js";
49
49
  import "./deliver-DIExvjND.js";
50
- import "./ca-director-CX8CLJlH.js";
50
+ import "./ca-director-ChHXsgDU.js";
51
51
  import "./dispatcher-CWMz7Cyv.js";
52
52
  import "./dist-DsdylfIW.js";
53
53
  import "./platform-billing-fV9sjjQz.js";
@@ -77,15 +77,15 @@ import "./satisfies-B0N-0Ebw.js";
77
77
  import "./session-cost-usage-BHaRWnZF.js";
78
78
  import { n as formatAge } from "./channel-summary-DWF4XIW6.js";
79
79
  import "./control-service-CGicvFxv.js";
80
- import "./surface-tool-lPNzOXy0.js";
80
+ import "./surface-tool-BKvwJwgV.js";
81
81
  import "./ledger-BdUzGXai.js";
82
82
  import "./restart-sentinel-CcKTmaz7.js";
83
83
  import "./dotenv-DnO0eRof.js";
84
84
  import "./nylas-CGpgSprO.js";
85
85
  import { n as resolveMessageChannelSelection } from "./channel-selection-JDc1W7hU.js";
86
- import "./zen-surface-Bs0QlPVj.js";
86
+ import "./zen-surface-CRziRlLn.js";
87
87
  import "./rich-t60oVsBn.js";
88
- import "./proactive-eval-CmTqQdDO.js";
88
+ import "./proactive-eval-CiifGEDV.js";
89
89
  import "./identify-BoluV5CV.js";
90
90
  import "./registry-D-gnHADJ.js";
91
91
  import "./native-window-C_txmQ01.js";
@@ -94,21 +94,21 @@ import "./event-log-Dfu6U72C.js";
94
94
  import { n as resolveChannelDefaultAccountId } from "./helpers-Jz6ppAYo.js";
95
95
  import "./note-8tBKXM3Y.js";
96
96
  import { t as createClackPrompter } from "./clack-prompter-B8vgSXns.js";
97
- import { i as reloadOnboardingPluginRegistry, n as setupChannels, r as ensureOnboardingPluginInstalled } from "./onboard-channels-Dw7AeczT.js";
97
+ import { i as reloadOnboardingPluginRegistry, n as setupChannels, r as ensureOnboardingPluginInstalled } from "./onboard-channels-Dq6bey9z.js";
98
98
  import { i as listChannelPluginCatalogEntries } from "./plugin-auto-enable-DI7yF7Cc.js";
99
- import "./archive-CN2-nAbf.js";
99
+ import "./archive-pjM1B8h1.js";
100
100
  import "./skill-scanner-wcRvvBRm.js";
101
- import "./installs-CFKYIXs0.js";
101
+ import "./installs-BzJHx4gG.js";
102
102
  import "./service-CJCq4R_b.js";
103
103
  import "./systemd-cESLgm7E.js";
104
104
  import "./diagnostics-VjGrBFy1.js";
105
105
  import { t as collectChannelStatusIssues } from "./channels-status-issues-CUjFhxft.js";
106
- import { n as hasExplicitOptions } from "./plugin-registry-8_xjavO9.js";
106
+ import { n as hasExplicitOptions } from "./plugin-registry-CPakcW32.js";
107
107
  import "./daemon-runtime-BCgA9PFA.js";
108
108
  import "./ensure-local-gateway-CEtQeEN3.js";
109
109
  import "./connect-BapV23cV.js";
110
110
  import { n as runChannelLoginAll, r as runChannelLogout, t as runChannelLogin } from "./channel-auth-DZRHFKcd.js";
111
- import { t as formatCliChannelOptions } from "./channel-options-B59EqUsj.js";
111
+ import { t as formatCliChannelOptions } from "./channel-options-wh6iow5j.js";
112
112
  import { t as buildChannelAccountSnapshot } from "./status-q8odUh8K.js";
113
113
  import { t as parseLogLine } from "./parse-log-line-BtnrcIoi.js";
114
114
  import fs from "node:fs/promises";
@@ -1,2 +1,2 @@
1
1
  // Legacy shim for pre-tsdown update-cli imports.
2
- export { registerDaemonCli, runDaemonInstall, runDaemonRestart, runDaemonStart, runDaemonStatus, runDaemonStop, runDaemonUninstall } from "../daemon-cli-CM0F89Mh.js";
2
+ export { registerDaemonCli, runDaemonInstall, runDaemonRestart, runDaemonStart, runDaemonStatus, runDaemonStop, runDaemonUninstall } from "../daemon-cli-BnYD180b.js";
@@ -1,5 +1,5 @@
1
1
  import "./pi-embedded-helpers-epijF7kQ.js";
2
- import { U as loadSKYKOIPlugins } from "./reply-BM6yYhCx.js";
2
+ import { U as loadSKYKOIPlugins } from "./reply-Bgz2HS1S.js";
3
3
  import { t as createSubsystemLogger } from "./subsystem-gU4M25gl.js";
4
4
  import "./paths-VdmjGGyc.js";
5
5
  import "./globals-4hwkGgXA.js";
@@ -45,7 +45,7 @@ import "./tool-images-wgRd-_EF.js";
45
45
  import "./redact-ZAoMZTIY.js";
46
46
  import "./tool-display-Dg79vOSW.js";
47
47
  import "./deliver-DIExvjND.js";
48
- import "./ca-director-CX8CLJlH.js";
48
+ import "./ca-director-ChHXsgDU.js";
49
49
  import "./dispatcher-CWMz7Cyv.js";
50
50
  import "./dist-DsdylfIW.js";
51
51
  import "./platform-billing-fV9sjjQz.js";
@@ -74,15 +74,15 @@ import "./satisfies-B0N-0Ebw.js";
74
74
  import "./session-cost-usage-BHaRWnZF.js";
75
75
  import "./channel-summary-DWF4XIW6.js";
76
76
  import "./control-service-CGicvFxv.js";
77
- import "./surface-tool-lPNzOXy0.js";
77
+ import "./surface-tool-BKvwJwgV.js";
78
78
  import "./ledger-BdUzGXai.js";
79
79
  import "./restart-sentinel-CcKTmaz7.js";
80
80
  import "./dotenv-DnO0eRof.js";
81
81
  import "./nylas-CGpgSprO.js";
82
82
  import "./channel-selection-JDc1W7hU.js";
83
- import "./zen-surface-Bs0QlPVj.js";
83
+ import "./zen-surface-CRziRlLn.js";
84
84
  import "./rich-t60oVsBn.js";
85
- import "./proactive-eval-CmTqQdDO.js";
85
+ import "./proactive-eval-CiifGEDV.js";
86
86
  import "./identify-BoluV5CV.js";
87
87
  import "./registry-D-gnHADJ.js";
88
88
  import "./native-window-C_txmQ01.js";
@@ -1,6 +1,6 @@
1
1
  import { r as __exportAll } from "./chunk-D_gEzPfs.js";
2
2
  import { g as resolveStateDir } from "./paths-VdmjGGyc.js";
3
- import { n as registerSubCliByName, t as getSubCliEntries } from "./register.subclis-DvYNYZuD.js";
3
+ import { n as registerSubCliByName, t as getSubCliEntries } from "./register.subclis-BoVG0RWg.js";
4
4
  import path from "node:path";
5
5
  import os from "node:os";
6
6
  import fs from "node:fs/promises";
@@ -1,4 +1,4 @@
1
- import { C as CHANNEL_MESSAGE_ACTION_NAMES, lt as registerMemoryCli, ut as runMemoryStatus, v as runMessageAction, x as formatTargetDisplay } from "./reply-BM6yYhCx.js";
1
+ import { C as CHANNEL_MESSAGE_ACTION_NAMES, lt as registerMemoryCli, ut as runMemoryStatus, v as runMessageAction, x as formatTargetDisplay } from "./reply-Bgz2HS1S.js";
2
2
  import { _ as getChatChannelMeta, c as restoreTerminalState, m as DEFAULT_CHAT_CHANNEL, s as defaultRuntime, x as normalizeChatChannelId } from "./subsystem-gU4M25gl.js";
3
3
  import { g as resolveStateDir, i as isNixMode, m as resolveOAuthDir, o as resolveConfigPath, r as STATE_DIR, t as CONFIG_PATH, u as resolveGatewayPort } from "./paths-VdmjGGyc.js";
4
4
  import { n as info, s as setVerbose, t as danger } from "./globals-4hwkGgXA.js";
@@ -16,40 +16,40 @@ import { i as loadSessionStore } from "./sessions-Bp3n5YA_.js";
16
16
  import { n as movePathToTrash } from "./server-context-CX441p0h.js";
17
17
  import { h as GATEWAY_CLIENT_NAMES, l as normalizeMessageChannel, m as GATEWAY_CLIENT_MODES } from "./message-channel-CaFjzGb5.js";
18
18
  import { a as resolveSessionTranscriptsDirForKoi, i as resolveSessionTranscriptsDir, o as resolveStorePath } from "./paths-6OemP7gm.js";
19
- import { _t as lookupContextTokens } from "./ca-director-CX8CLJlH.js";
19
+ import { _t as lookupContextTokens } from "./ca-director-ChHXsgDU.js";
20
20
  import { a as randomIdempotencyKey, n as callGateway } from "./call-BEVX8c7Z.js";
21
21
  import { t as formatDocsLink } from "./links-B-3YwG1H.js";
22
22
  import { n as runCommandWithRuntime } from "./cli-utils-D2X_bDLt.js";
23
23
  import { n as withProgress } from "./progress-CxDBFZz4.js";
24
24
  import { a as ensureWorkspaceAndSessions, c as handleReset, d as openUrl, h as resolveControlUiLinks, i as detectBrowserOpenSupport, l as moveToTrash, m as randomToken, n as applyWizardMetadata, o as formatControlUiSshHint, t as DEFAULT_WORKSPACE, v as waitForGatewayReachable } from "./onboard-helpers-D69_1Asy.js";
25
25
  import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint } from "./prompt-style-N11TfIHe.js";
26
- import { h as CHANNEL_TARGET_DESCRIPTION, m as CHANNEL_TARGETS_DESCRIPTION } from "./surface-tool-lPNzOXy0.js";
27
- import { t as createDefaultDeps } from "./deps-BDH6Fmay.js";
26
+ import { h as CHANNEL_TARGET_DESCRIPTION, m as CHANNEL_TARGETS_DESCRIPTION } from "./surface-tool-BKvwJwgV.js";
27
+ import { t as createDefaultDeps } from "./deps-BeA4jp3E.js";
28
28
  import { t as assertSupportedRuntime } from "./runtime-guard-DLzsEGzz.js";
29
29
  import { n as resolveChannelDefaultAccountId } from "./helpers-Jz6ppAYo.js";
30
30
  import { n as logConfigUpdated, t as formatConfigPath } from "./logging-DBZsukx5.js";
31
31
  import { t as WizardCancelledError } from "./prompts-OFJRqDDg.js";
32
32
  import { t as createClackPrompter } from "./clack-prompter-B8vgSXns.js";
33
- import { a as buildKoiSummaries, c as loadKoiIdentity, f as parseIdentityMarkdown, i as applyKoiConfig, l as pruneKoiConfig, n as statusCommand, o as findKoiEntryIndex, s as listKoiEntries, t as runOnboardingWizard, u as identityHasValues } from "./onboarding-B8_6k9rD.js";
34
- import { d as applyAuthChoice, f as applyOpenAIConfig, h as promptAuthChoiceGrouped, m as applyGoogleGeminiModelDefault, p as upsertSharedEnvVar, u as warnIfModelConfigLooksOff } from "./onboard-skills-CJIf9aVo.js";
35
- import { $ as setOpenrouterApiKey, C as applyMoonshotConfig, D as applyOpenrouterConfig, F as applyVercelAiGatewayConfig, J as setGeminiApiKey, K as setAnthropicApiKey, L as applyXaiConfig, N as applyVeniceConfig, Q as setOpencodeZenApiKey, V as applyZaiConfig, X as setMinimaxApiKey, Y as setKimiCodingApiKey, Z as setMoonshotApiKey, at as setXiaomiApiKey, et as setQianfanApiKey, f as applyOpencodeZenConfig, ft as buildTokenProfileId, g as applyMinimaxConfig, it as setXaiApiKey, j as applySyntheticConfig, k as applyQianfanConfig, m as applyMinimaxApiConfig, nt as setVeniceApiKey, ot as setZaiApiKey, pt as validateAnthropicSetupToken, q as setCloudflareAiGatewayConfig, rt as setVercelAiGatewayApiKey, tt as setSyntheticApiKey, v as applyAuthProfileConfig, w as applyMoonshotConfigCn, x as applyKimiCodeConfig, y as applyCloudflareAiGatewayConfig, z as applyXiaomiConfig } from "./github-copilot-auth-CFQlSOyE.js";
36
- import { n as setupChannels } from "./onboard-channels-Dw7AeczT.js";
37
- import { i as healthCommand } from "./health-format-Cgjx3K0g.js";
33
+ import { a as buildKoiSummaries, c as loadKoiIdentity, f as parseIdentityMarkdown, i as applyKoiConfig, l as pruneKoiConfig, n as statusCommand, o as findKoiEntryIndex, s as listKoiEntries, t as runOnboardingWizard, u as identityHasValues } from "./onboarding-D78re4OF.js";
34
+ import { d as applyAuthChoice, f as applyOpenAIConfig, h as promptAuthChoiceGrouped, m as applyGoogleGeminiModelDefault, p as upsertSharedEnvVar, u as warnIfModelConfigLooksOff } from "./onboard-skills-DRlofJbh.js";
35
+ import { $ as setOpenrouterApiKey, C as applyMoonshotConfig, D as applyOpenrouterConfig, F as applyVercelAiGatewayConfig, J as setGeminiApiKey, K as setAnthropicApiKey, L as applyXaiConfig, N as applyVeniceConfig, Q as setOpencodeZenApiKey, V as applyZaiConfig, X as setMinimaxApiKey, Y as setKimiCodingApiKey, Z as setMoonshotApiKey, at as setXiaomiApiKey, et as setQianfanApiKey, f as applyOpencodeZenConfig, ft as buildTokenProfileId, g as applyMinimaxConfig, it as setXaiApiKey, j as applySyntheticConfig, k as applyQianfanConfig, m as applyMinimaxApiConfig, nt as setVeniceApiKey, ot as setZaiApiKey, pt as validateAnthropicSetupToken, q as setCloudflareAiGatewayConfig, rt as setVercelAiGatewayApiKey, tt as setSyntheticApiKey, v as applyAuthProfileConfig, w as applyMoonshotConfigCn, x as applyKimiCodeConfig, y as applyCloudflareAiGatewayConfig, z as applyXiaomiConfig } from "./github-copilot-auth-CyIRI_Ay.js";
36
+ import { n as setupChannels } from "./onboard-channels-Dq6bey9z.js";
37
+ import { i as healthCommand } from "./health-format-DDB7xI3P.js";
38
38
  import { t as renderTable } from "./table-OVCv6p-k.js";
39
39
  import { t as resolveGatewayService } from "./service-CJCq4R_b.js";
40
40
  import { r as isSystemdUserServiceAvailable } from "./systemd-cESLgm7E.js";
41
- import { l as getVerboseFlag, o as getFlagValue, r as registerSubCliCommands, s as getPositiveIntFlagValue, u as hasFlag } from "./register.subclis-DvYNYZuD.js";
41
+ import { l as getVerboseFlag, o as getFlagValue, r as registerSubCliCommands, s as getPositiveIntFlagValue, u as hasFlag } from "./register.subclis-BoVG0RWg.js";
42
42
  import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-B2Zl68Pc.js";
43
43
  import { t as formatHelpExamples } from "./help-format-CRF38mZD.js";
44
44
  import { t as adminUnlockCommand } from "./admin-unlock-DJRF9TiS.js";
45
- import { a as createOutboundSendDeps, n as resolveSessionKeyForRequest, t as koiCommand } from "./koi-5dav_roP.js";
46
- import { n as hasExplicitOptions, t as ensurePluginRegistryLoaded } from "./plugin-registry-8_xjavO9.js";
45
+ import { a as createOutboundSendDeps, n as resolveSessionKeyForRequest, t as koiCommand } from "./koi-C2yX54vv.js";
46
+ import { n as hasExplicitOptions, t as ensurePluginRegistryLoaded } from "./plugin-registry-CPakcW32.js";
47
47
  import { n as parsePositiveIntOrUndefined, t as collectOption } from "./helpers-6_MYSJEW.js";
48
- import { i as CONFIGURE_WIZARD_SECTIONS, n as configureCommand, r as configureCommandWithSections } from "./configure-C1Iay9Lb.js";
48
+ import { i as CONFIGURE_WIZARD_SECTIONS, n as configureCommand, r as configureCommandWithSections } from "./configure-ByVe7bW5.js";
49
49
  import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, r as isGatewayDaemonRuntime, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-BCgA9PFA.js";
50
50
  import { n as ensureSystemdUserLingerNonInteractive } from "./systemd-linger-Bk6j0ocU.js";
51
51
  import { t as loginCommand } from "./login-DmEyH9jI.js";
52
- import { n as loadAndMaybeMigrateDoctorConfig, t as doctorCommand } from "./doctor-CsJlmY97.js";
52
+ import { n as loadAndMaybeMigrateDoctorConfig, t as doctorCommand } from "./doctor-CQANevNt.js";
53
53
  import { fileURLToPath } from "node:url";
54
54
  import fs from "node:fs";
55
55
  import path from "node:path";
@@ -2800,7 +2800,7 @@ async function loadValidConfig() {
2800
2800
  }
2801
2801
  function registerConfigCli(program) {
2802
2802
  const cmd = program.command("config").description("Config helpers (get/set/unset). Run without subcommand for the wizard.").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/config", "docs.skykoi.com/cli/config")}\n`).option("--section <section>", "Configure wizard sections (repeatable). Use with no subcommand.", (value, previous) => [...previous, value], []).action(async (opts) => {
2803
- const { CONFIGURE_WIZARD_SECTIONS, configureCommand, configureCommandWithSections } = await import("./configure-C1Iay9Lb.js").then((n) => n.t);
2803
+ const { CONFIGURE_WIZARD_SECTIONS, configureCommand, configureCommandWithSections } = await import("./configure-ByVe7bW5.js").then((n) => n.t);
2804
2804
  const sections = Array.isArray(opts.section) ? opts.section.map((value) => typeof value === "string" ? value.trim() : "").filter(Boolean) : [];
2805
2805
  if (sections.length === 0) {
2806
2806
  await configureCommand(defaultRuntime);
@@ -3108,7 +3108,7 @@ function registerLoginCommand(program) {
3108
3108
  console.log(theme.muted(` user=${result.userId} org=${result.orgId}`));
3109
3109
  }
3110
3110
  if (opts.chat !== false && result.gatewayUrl && process.stdin.isTTY && process.stdout.isTTY) {
3111
- const { runShell } = await import("./tui-shell-BXFIvXZT.js").then((n) => n.n);
3111
+ const { runShell } = await import("./tui-shell-DMiczbd5.js").then((n) => n.n);
3112
3112
  console.log(theme.muted("\n Opening your koi chat…\n"));
3113
3113
  await runShell({
3114
3114
  url: result.gatewayUrl,
@@ -14,9 +14,9 @@ import { n as logConfigUpdated } from "./logging-DBZsukx5.js";
14
14
  import { t as note$1 } from "./note-8tBKXM3Y.js";
15
15
  import { t as WizardCancelledError } from "./prompts-OFJRqDDg.js";
16
16
  import { t as createClackPrompter } from "./clack-prompter-B8vgSXns.js";
17
- import { a as applyModelFallbacksFromSelection, c as promptModelAllowlist, d as applyAuthChoice, h as promptAuthChoiceGrouped, i as applyModelAllowlist, l as resolvePreferredProviderForAuthChoice, o as applyPrimaryModel, r as promptRemoteGatewayConfig, s as promptDefaultModel, t as setupSkills } from "./onboard-skills-CJIf9aVo.js";
18
- import { n as setupChannels, t as noteChannelStatus } from "./onboard-channels-Dw7AeczT.js";
19
- import { i as healthCommand, t as formatHealthCheckFailure } from "./health-format-Cgjx3K0g.js";
17
+ import { a as applyModelFallbacksFromSelection, c as promptModelAllowlist, d as applyAuthChoice, h as promptAuthChoiceGrouped, i as applyModelAllowlist, l as resolvePreferredProviderForAuthChoice, o as applyPrimaryModel, r as promptRemoteGatewayConfig, s as promptDefaultModel, t as setupSkills } from "./onboard-skills-DRlofJbh.js";
18
+ import { n as setupChannels, t as noteChannelStatus } from "./onboard-channels-Dq6bey9z.js";
19
+ import { i as healthCommand, t as formatHealthCheckFailure } from "./health-format-DDB7xI3P.js";
20
20
  import { t as resolveGatewayService } from "./service-CJCq4R_b.js";
21
21
  import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-D9TU_kVS.js";
22
22
  import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-BCgA9PFA.js";
@@ -16,7 +16,7 @@ import { n as withProgress } from "./progress-CxDBFZz4.js";
16
16
  import { h as resolveControlUiLinks } from "./onboard-helpers-D69_1Asy.js";
17
17
  import { n as isWSLEnv, t as isWSL } from "./wsl-DtWC8IsN.js";
18
18
  import { d as resolveGatewaySystemdServiceName, l as resolveGatewayLaunchAgentLabel } from "./constants--Vfv4XxQ.js";
19
- import { t as createDefaultDeps } from "./deps-BDH6Fmay.js";
19
+ import { t as createDefaultDeps } from "./deps-BeA4jp3E.js";
20
20
  import { o as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-CJCq4R_b.js";
21
21
  import { r as isSystemdUserServiceAvailable } from "./systemd-cESLgm7E.js";
22
22
  import { t as readLastGatewayErrorLine } from "./diagnostics-VjGrBFy1.js";
@@ -1,4 +1,4 @@
1
- import { Ct as sendMessageTelegram, Lt as sendMessageWhatsApp, Rt as sendMessageSlack, X as sendMessageIMessage, wt as sendMessageDiscord } from "./reply-BM6yYhCx.js";
1
+ import { Ct as sendMessageTelegram, Lt as sendMessageWhatsApp, Rt as sendMessageSlack, X as sendMessageIMessage, wt as sendMessageDiscord } from "./reply-Bgz2HS1S.js";
2
2
  import { b as sendMessageSignal } from "./deliver-DIExvjND.js";
3
3
 
4
4
  //#region src/cli/deps.ts
@@ -1,4 +1,4 @@
1
- import { On as loadModelCatalog, U as loadSKYKOIPlugins } from "./reply-BM6yYhCx.js";
1
+ import { On as loadModelCatalog, U as loadSKYKOIPlugins } from "./reply-Bgz2HS1S.js";
2
2
  import { s as defaultRuntime } from "./subsystem-gU4M25gl.js";
3
3
  import { d as resolveIsNixMode, f as resolveLegacyStateDirs, g as resolveStateDir, m as resolveOAuthDir, p as resolveNewStateDir, t as CONFIG_PATH, u as resolveGatewayPort } from "./paths-VdmjGGyc.js";
4
4
  import { p as getResolvedLoggerSettings } from "./globals-4hwkGgXA.js";
@@ -28,7 +28,7 @@ import { n as resolveChannelDefaultAccountId } from "./helpers-Jz6ppAYo.js";
28
28
  import { n as logConfigUpdated } from "./logging-DBZsukx5.js";
29
29
  import { t as note$1 } from "./note-8tBKXM3Y.js";
30
30
  import { t as applyPluginAutoEnable } from "./plugin-auto-enable-DI7yF7Cc.js";
31
- import { i as healthCommand, t as formatHealthCheckFailure } from "./health-format-Cgjx3K0g.js";
31
+ import { i as healthCommand, t as formatHealthCheckFailure } from "./health-format-DDB7xI3P.js";
32
32
  import { t as runGatewayUpdate } from "./update-runner-DVmXSVML.js";
33
33
  import { i as resolveGatewayAuth } from "./auth-DcBX6MJZ.js";
34
34
  import { t as buildWorkspaceSkillStatus } from "./skills-status-DDdqOMvi.js";
@@ -36,7 +36,7 @@ import { a as repairLaunchAgentBootstrap, i as launchAgentPlistExists, n as isLa
36
36
  import { r as isSystemdUserServiceAvailable } from "./systemd-cESLgm7E.js";
37
37
  import { t as readLastGatewayErrorLine } from "./diagnostics-VjGrBFy1.js";
38
38
  import { t as collectChannelStatusIssues } from "./channels-status-issues-CUjFhxft.js";
39
- import { n as doctorShellCompletion } from "./doctor-completion-B1-CVjHb.js";
39
+ import { n as doctorShellCompletion } from "./doctor-completion-jmuOm0qZ.js";
40
40
  import { n as resolveControlUiDistIndexHealth, r as resolveControlUiDistIndexPathForRoot } from "./control-ui-assets-D9TU_kVS.js";
41
41
  import { a as gatewayInstallErrorHint, d as renderSystemNodeWarning, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, p as resolveSystemNodeInfo, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-BCgA9PFA.js";
42
42
  import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-Bk6j0ocU.js";
@@ -3,7 +3,7 @@ import { r as resolveCliName, t as formatCliCommand } from "./command-format-CW3
3
3
  import { t as VERSION } from "./version-BM8pEsQj.js";
4
4
  import { t as note } from "./note-8tBKXM3Y.js";
5
5
  import { c as compareSemverStrings, s as checkUpdateStatus } from "./update-runner-DVmXSVML.js";
6
- import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-CBFDxd6w.js";
6
+ import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-BKOlLJPQ.js";
7
7
  import path from "node:path";
8
8
  import { spawnSync } from "node:child_process";
9
9
 
package/dist/entry.js CHANGED
@@ -248,7 +248,7 @@ if (!ensureExperimentalWarningSuppressed()) {
248
248
  applyCliProfileEnv({ profile: parsed.profile });
249
249
  process$1.argv = parsed.argv;
250
250
  }
251
- import("./run-main-B6zGAMqZ.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
251
+ import("./run-main-CUqN-Ek5.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
252
252
  console.error("[SKYKOI] Failed to start CLI:", error instanceof Error ? error.stack ?? error.message : error);
253
253
  process$1.exitCode = 1;
254
254
  });
@@ -1,5 +1,5 @@
1
1
  import "./pi-embedded-helpers-epijF7kQ.js";
2
- import { Ht as resolveKoiIdentity, Un as resolveKoiTimeoutMs, c as runEmbeddedPiKoi } from "./reply-BM6yYhCx.js";
2
+ import { Ht as resolveKoiIdentity, Un as resolveKoiTimeoutMs, c as runEmbeddedPiKoi } from "./reply-Bgz2HS1S.js";
3
3
  import "./subsystem-gU4M25gl.js";
4
4
  import "./paths-VdmjGGyc.js";
5
5
  import "./globals-4hwkGgXA.js";
@@ -45,7 +45,7 @@ import "./tool-images-wgRd-_EF.js";
45
45
  import "./redact-ZAoMZTIY.js";
46
46
  import "./tool-display-Dg79vOSW.js";
47
47
  import "./deliver-DIExvjND.js";
48
- import "./ca-director-CX8CLJlH.js";
48
+ import "./ca-director-ChHXsgDU.js";
49
49
  import "./dispatcher-CWMz7Cyv.js";
50
50
  import "./dist-DsdylfIW.js";
51
51
  import "./platform-billing-fV9sjjQz.js";
@@ -74,15 +74,15 @@ import "./satisfies-B0N-0Ebw.js";
74
74
  import "./session-cost-usage-BHaRWnZF.js";
75
75
  import "./channel-summary-DWF4XIW6.js";
76
76
  import "./control-service-CGicvFxv.js";
77
- import "./surface-tool-lPNzOXy0.js";
77
+ import "./surface-tool-BKvwJwgV.js";
78
78
  import "./ledger-BdUzGXai.js";
79
79
  import "./restart-sentinel-CcKTmaz7.js";
80
80
  import "./dotenv-DnO0eRof.js";
81
81
  import "./nylas-CGpgSprO.js";
82
82
  import "./channel-selection-JDc1W7hU.js";
83
- import "./zen-surface-Bs0QlPVj.js";
83
+ import "./zen-surface-CRziRlLn.js";
84
84
  import "./rich-t60oVsBn.js";
85
- import "./proactive-eval-CmTqQdDO.js";
85
+ import "./proactive-eval-CiifGEDV.js";
86
86
  import "./identify-BoluV5CV.js";
87
87
  import "./registry-D-gnHADJ.js";
88
88
  import "./native-window-C_txmQ01.js";
@@ -1,6 +1,6 @@
1
1
  import { o as __toESM } from "./chunk-D_gEzPfs.js";
2
2
  import { B as normalizeThinkLevel, F as formatXHighModelHint, H as normalizeVerboseLevel, P as formatThinkingLevels, R as normalizeElevatedLevel, V as normalizeUsageDisplay, W as supportsXHighThinking, z as normalizeReasoningLevel } from "./pi-embedded-helpers-epijF7kQ.js";
3
- import { $ as recordRemoteNodeInfo, $t as isTtsEnabled, A as scheduleGatewaySigusr1Restart, An as DEFAULT_INPUT_FILE_MAX_CHARS, At as formatZonedTimestamp, B as requestHeartbeatNow, Bn as extractImageContentFromSource, Cn as applyVerboseOverride, D as authorizeGatewaySigusr1Restart, En as isSystemEventContextChanged, F as normalizeOptionalKoiId, Fn as DEFAULT_INPUT_PDF_MAX_PAGES, Ft as initSubkoiRegistry, Gt as resolveUserTimezone, H as getPluginToolMeta, Ht as resolveKoiIdentity, I as normalizeOptionalText, In as DEFAULT_INPUT_PDF_MAX_PIXELS, J as handleSlackHttpRequest, Jt as registerInternalHook, Kt as clearInternalHooks, L as normalizePayloadToSystemText, Ln as DEFAULT_INPUT_PDF_MIN_TEXT_CHARS, M as normalizeCronJobCreate, Mn as DEFAULT_INPUT_IMAGE_MAX_BYTES, Mt as stopSubkoisForRequester, N as normalizeCronJobPatch, Nn as DEFAULT_INPUT_IMAGE_MIMES, Nt as findSubkoiRunByChildSessionKey, O as consumeGatewaySigusr1RestartAuthorization, On as loadModelCatalog, Ot as dispatchInboundMessage, P as inferLegacyName, Pn as DEFAULT_INPUT_MAX_REDIRECTS, Pt as findSubkoiRunByRunId, Q as primeRemoteSkillsCache, Qt as getTtsProvider, R as normalizeRequiredName, Rn as DEFAULT_INPUT_TIMEOUT_MS, S as resetDirectoryCache, Sn as applyModelOverrideToSessionEntry, T as runWithModelFallback, Tn as enqueueSystemEvent, Tt as getChannelActivity, U as loadSKYKOIPlugins, Un as resolveKoiTimeoutMs, Ut as formatUserTime, Vn as normalizeMimeList, W as loadProviderUsageSummary, Wt as resolveUserTimeFormat, Xt as OPENAI_TTS_MODELS, Yt as triggerInternalHook, Z as getRemoteSkillEligibility, Zt as OPENAI_TTS_VOICES, _ as resolveAnnounceTargetFromKey, _t as buildHistoryContextFromEntries, a as normalizeSendPolicy, an as resolveTtsProviderOrder, at as buildSafeExternalPrompt, b as resolveOutboundSessionRoute, bn as stripHeartbeatToken, bt as getLastHeartbeatEvent, c as runEmbeddedPiKoi, cn as textToSpeech, ct as isExternalHookSession, dn as setCommandLaneConcurrency, en as isTtsProviderConfigured, et as refreshRemoteBinsForConnectedNodes, f as waitForEmbeddedPiRunEnd, fn as CommandLane, ft as createReplyPrefixOptions, g as createSKYKOITools, gn as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, h as initRuntimeContext, hn as isDiagnosticsEnabled, ht as registerUnhandledRejectionHandler, i as runCliKoi, in as resolveTtsPrefsPath, it as registerSkillsChangeListener, j as setGatewaySigusr1RestartPolicy, jn as DEFAULT_INPUT_FILE_MIMES, jt as isAbortTrigger, k as isGatewaySigusr1RestartExternallyAllowed, kn as DEFAULT_INPUT_FILE_MAX_BYTES, kt as createReplyDispatcher, l as getLastSystemPrompt, mn as stopDiagnosticHeartbeat, n as getCliSessionId, nn as resolveTtsAutoMode, nt as setSkillsRemoteRegistry, o as resolveSendPolicy, on as setTtsEnabled, ot as detectSuspiciousPatterns, pn as startDiagnosticHeartbeat, pt as normalizeGroupActivation, qt as createInternalHookEvent, r as setCliSessionId, rn as resolveTtsConfig, rt as getSkillsSnapshotVersion, s as clearSessionQueues, sn as setTtsProvider, st as getHookType, tn as resolveTtsApiKey, tt as refreshRemoteNodeBins, u as abortEmbeddedPiRun, vt as resolveHeartbeatVisibility, w as readRecentActivity, wn as parseVerboseOverride, xt as onHeartbeatEvent, y as ensureOutboundSessionEntry, z as migrateLegacyCronPayload, zn as extractFileContentFromSource } from "./reply-BM6yYhCx.js";
3
+ import { $ as recordRemoteNodeInfo, $t as isTtsEnabled, A as scheduleGatewaySigusr1Restart, An as DEFAULT_INPUT_FILE_MAX_CHARS, At as formatZonedTimestamp, B as requestHeartbeatNow, Bn as extractImageContentFromSource, Cn as applyVerboseOverride, D as authorizeGatewaySigusr1Restart, En as isSystemEventContextChanged, F as normalizeOptionalKoiId, Fn as DEFAULT_INPUT_PDF_MAX_PAGES, Ft as initSubkoiRegistry, Gt as resolveUserTimezone, H as getPluginToolMeta, Ht as resolveKoiIdentity, I as normalizeOptionalText, In as DEFAULT_INPUT_PDF_MAX_PIXELS, J as handleSlackHttpRequest, Jt as registerInternalHook, Kt as clearInternalHooks, L as normalizePayloadToSystemText, Ln as DEFAULT_INPUT_PDF_MIN_TEXT_CHARS, M as normalizeCronJobCreate, Mn as DEFAULT_INPUT_IMAGE_MAX_BYTES, Mt as stopSubkoisForRequester, N as normalizeCronJobPatch, Nn as DEFAULT_INPUT_IMAGE_MIMES, Nt as findSubkoiRunByChildSessionKey, O as consumeGatewaySigusr1RestartAuthorization, On as loadModelCatalog, Ot as dispatchInboundMessage, P as inferLegacyName, Pn as DEFAULT_INPUT_MAX_REDIRECTS, Pt as findSubkoiRunByRunId, Q as primeRemoteSkillsCache, Qt as getTtsProvider, R as normalizeRequiredName, Rn as DEFAULT_INPUT_TIMEOUT_MS, S as resetDirectoryCache, Sn as applyModelOverrideToSessionEntry, T as runWithModelFallback, Tn as enqueueSystemEvent, Tt as getChannelActivity, U as loadSKYKOIPlugins, Un as resolveKoiTimeoutMs, Ut as formatUserTime, Vn as normalizeMimeList, W as loadProviderUsageSummary, Wt as resolveUserTimeFormat, Xt as OPENAI_TTS_MODELS, Yt as triggerInternalHook, Z as getRemoteSkillEligibility, Zt as OPENAI_TTS_VOICES, _ as resolveAnnounceTargetFromKey, _t as buildHistoryContextFromEntries, a as normalizeSendPolicy, an as resolveTtsProviderOrder, at as buildSafeExternalPrompt, b as resolveOutboundSessionRoute, bn as stripHeartbeatToken, bt as getLastHeartbeatEvent, c as runEmbeddedPiKoi, cn as textToSpeech, ct as isExternalHookSession, dn as setCommandLaneConcurrency, en as isTtsProviderConfigured, et as refreshRemoteBinsForConnectedNodes, f as waitForEmbeddedPiRunEnd, fn as CommandLane, ft as createReplyPrefixOptions, g as createSKYKOITools, gn as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, h as initRuntimeContext, hn as isDiagnosticsEnabled, ht as registerUnhandledRejectionHandler, i as runCliKoi, in as resolveTtsPrefsPath, it as registerSkillsChangeListener, j as setGatewaySigusr1RestartPolicy, jn as DEFAULT_INPUT_FILE_MIMES, jt as isAbortTrigger, k as isGatewaySigusr1RestartExternallyAllowed, kn as DEFAULT_INPUT_FILE_MAX_BYTES, kt as createReplyDispatcher, l as getLastSystemPrompt, mn as stopDiagnosticHeartbeat, n as getCliSessionId, nn as resolveTtsAutoMode, nt as setSkillsRemoteRegistry, o as resolveSendPolicy, on as setTtsEnabled, ot as detectSuspiciousPatterns, pn as startDiagnosticHeartbeat, pt as normalizeGroupActivation, qt as createInternalHookEvent, r as setCliSessionId, rn as resolveTtsConfig, rt as getSkillsSnapshotVersion, s as clearSessionQueues, sn as setTtsProvider, st as getHookType, tn as resolveTtsApiKey, tt as refreshRemoteNodeBins, u as abortEmbeddedPiRun, vt as resolveHeartbeatVisibility, w as readRecentActivity, wn as parseVerboseOverride, xt as onHeartbeatEvent, y as ensureOutboundSessionEntry, z as migrateLegacyCronPayload, zn as extractFileContentFromSource } from "./reply-Bgz2HS1S.js";
4
4
  import { S as getActivePluginRegistry, a as setConsoleTimestampPrefix, f as CHANNEL_IDS, i as setConsoleSubsystemFilter, m as DEFAULT_CHAT_CHANNEL, n as runtimeForLogger, s as defaultRuntime, t as createSubsystemLogger } from "./subsystem-gU4M25gl.js";
5
5
  import { g as resolveStateDir, i as isNixMode, l as resolveGatewayLockDir, o as resolveConfigPath, r as STATE_DIR, t as CONFIG_PATH, u as resolveGatewayPort } from "./paths-VdmjGGyc.js";
6
6
  import { d as getChildLogger, f as getLogger, p as getResolvedLoggerSettings, s as setVerbose } from "./globals-4hwkGgXA.js";
@@ -51,7 +51,7 @@ import "./tool-images-wgRd-_EF.js";
51
51
  import "./redact-ZAoMZTIY.js";
52
52
  import "./tool-display-Dg79vOSW.js";
53
53
  import { o as normalizeReplyPayloadsForDelivery, t as deliverOutboundPayloads } from "./deliver-DIExvjND.js";
54
- import { $ as readSessionPreviewItemsFromTranscript, G as listSessionsFromStore, J as resolveGatewaySessionStoreTarget, K as loadCombinedSessionStoreForGateway, Q as readSessionMessages, W as listKoisForGateway, X as archiveFileOnDisk, Y as resolveSessionModelRef, Z as capArrayByJsonBytes, _t as lookupContextTokens, et as resolveSessionTranscriptCandidates, it as writeVoiceMode, nt as VOICE_MODES, q as loadSessionEntry, rt as readVoiceMode, tt as stripEnvelopeFromMessages } from "./ca-director-CX8CLJlH.js";
54
+ import { $ as readSessionPreviewItemsFromTranscript, G as listSessionsFromStore, J as resolveGatewaySessionStoreTarget, K as loadCombinedSessionStoreForGateway, Q as readSessionMessages, W as listKoisForGateway, X as archiveFileOnDisk, Y as resolveSessionModelRef, Z as capArrayByJsonBytes, _t as lookupContextTokens, et as resolveSessionTranscriptCandidates, it as writeVoiceMode, nt as VOICE_MODES, q as loadSessionEntry, rt as readVoiceMode, tt as stripEnvelopeFromMessages } from "./ca-director-ChHXsgDU.js";
55
55
  import { n as getMachineDisplayName, t as createBrowserRouteDispatcher } from "./dispatcher-CWMz7Cyv.js";
56
56
  import "./dist-DsdylfIW.js";
57
57
  import "./platform-billing-fV9sjjQz.js";
@@ -85,23 +85,23 @@ import "./channel-summary-DWF4XIW6.js";
85
85
  import { a as formatTokenCount, o as formatUsd } from "./transcript-tools-BhRPjkKE.js";
86
86
  import { i as readExecApprovalsSnapshot, o as resolveExecApprovalsSocketPath, r as normalizeExecApprovals, s as saveExecApprovals, t as ensureExecApprovals } from "./exec-approvals-io-Bw_4e0C3.js";
87
87
  import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-CGicvFxv.js";
88
- import { c as onCanvasChange, i as canvasUri, l as replaceCanvasResource, o as getCanvasResource, s as listCanvasUris } from "./surface-tool-lPNzOXy0.js";
88
+ import { c as onCanvasChange, i as canvasUri, l as replaceCanvasResource, o as getCanvasResource, s as listCanvasUris } from "./surface-tool-BKvwJwgV.js";
89
89
  import "./ledger-BdUzGXai.js";
90
90
  import { t as parseAbsoluteTimeMs } from "./parse-CPZl2n13.js";
91
91
  import { a as summarizeRestartSentinel, n as formatDoctorNonInteractiveHint, r as formatRestartSentinelMessage, s as writeRestartSentinel, t as consumeRestartSentinel } from "./restart-sentinel-CcKTmaz7.js";
92
92
  import { n as readSkykoiEnvVar } from "./dotenv-DnO0eRof.js";
93
93
  import { l as nylasLinked, m as readNylasGrant, p as readMessages } from "./nylas-CGpgSprO.js";
94
94
  import { n as resolveMessageChannelSelection } from "./channel-selection-JDc1W7hU.js";
95
- import "./zen-surface-Bs0QlPVj.js";
95
+ import "./zen-surface-CRziRlLn.js";
96
96
  import "./rich-t60oVsBn.js";
97
- import { n as isProactiveSleeping, r as setProactiveSleep } from "./proactive-eval-CmTqQdDO.js";
97
+ import { n as isProactiveSleeping, r as setProactiveSleep } from "./proactive-eval-CiifGEDV.js";
98
98
  import { g as isPrivateMode, h as isAudioMuted, v as setAudioMuted, y as setPrivateMode } from "./identify-BoluV5CV.js";
99
99
  import "./registry-D-gnHADJ.js";
100
100
  import "./native-window-C_txmQ01.js";
101
101
  import { t as liveBroadcast } from "./live-broadcast-wTVs5Lzq.js";
102
102
  import "./action-ledger-DCDXcaiT.js";
103
103
  import { i as readEventsSince, n as clearEventLogForSession, o as subscribeAll, r as hydrateSession, t as appendEvent } from "./event-log-Dfu6U72C.js";
104
- import { n as createOutboundSendDeps, t as createDefaultDeps } from "./deps-BDH6Fmay.js";
104
+ import { n as createOutboundSendDeps, t as createDefaultDeps } from "./deps-BeA4jp3E.js";
105
105
  import { i as enableTailscaleServe, n as disableTailscaleServe, o as getTailnetHostname, r as enableTailscaleFunnel, t as disableTailscaleFunnel } from "./tailscale-B049NW4V.js";
106
106
  import { t as ensureSKYKOICliOnPath } from "./path-env-CzqxPBGM.js";
107
107
  import { t as forceFreePortAndWait } from "./ports-DknbMlUw.js";
@@ -109,15 +109,15 @@ import { n as resolveChannelDefaultAccountId } from "./helpers-Jz6ppAYo.js";
109
109
  import "./logging-DBZsukx5.js";
110
110
  import "./note-8tBKXM3Y.js";
111
111
  import { t as WizardCancelledError } from "./prompts-OFJRqDDg.js";
112
- import { c as loadKoiIdentity, d as loadKoiIdentityFromWorkspace, i as applyKoiConfig, l as pruneKoiConfig, o as findKoiEntryIndex, r as getStatusSummary, s as listKoiEntries, t as runOnboardingWizard } from "./onboarding-B8_6k9rD.js";
113
- import { n as installSkill } from "./onboard-skills-CJIf9aVo.js";
114
- import "./github-copilot-auth-CFQlSOyE.js";
115
- import "./onboard-channels-Dw7AeczT.js";
112
+ import { c as loadKoiIdentity, d as loadKoiIdentityFromWorkspace, i as applyKoiConfig, l as pruneKoiConfig, o as findKoiEntryIndex, r as getStatusSummary, s as listKoiEntries, t as runOnboardingWizard } from "./onboarding-D78re4OF.js";
113
+ import { n as installSkill } from "./onboard-skills-DRlofJbh.js";
114
+ import "./github-copilot-auth-CyIRI_Ay.js";
115
+ import "./onboard-channels-Dq6bey9z.js";
116
116
  import { r as buildChannelUiCatalog, t as applyPluginAutoEnable } from "./plugin-auto-enable-DI7yF7Cc.js";
117
- import "./archive-CN2-nAbf.js";
117
+ import "./archive-pjM1B8h1.js";
118
118
  import "./skill-scanner-wcRvvBRm.js";
119
- import "./installs-CFKYIXs0.js";
120
- import { c as startHeartbeatRunner, n as formatHealthChannelLines, o as runHeartbeatOnce, r as getHealthSnapshot, s as setHeartbeatsEnabled } from "./health-format-Cgjx3K0g.js";
119
+ import "./installs-BzJHx4gG.js";
120
+ import { c as startHeartbeatRunner, n as formatHealthChannelLines, o as runHeartbeatOnce, r as getHealthSnapshot, s as setHeartbeatsEnabled } from "./health-format-DDB7xI3P.js";
121
121
  import { c as compareSemverStrings, d as resolveNpmChannelTag, g as normalizeUpdateChannel, l as fetchNpmLatestVersion, p as DEFAULT_PACKAGE_CHANNEL, s as checkUpdateStatus, t as runGatewayUpdate } from "./update-runner-DVmXSVML.js";
122
122
  import { i as resolveGatewayAuth, n as authorizeGatewayConnect, r as isLocalDirectRequest, t as assertGatewayAuthConfigured } from "./auth-DcBX6MJZ.js";
123
123
  import { i as probeGateway } from "./audit-n4-mIgEB.js";
@@ -128,22 +128,22 @@ import { p as resolveGatewayStateDir } from "./systemd-cESLgm7E.js";
128
128
  import "./diagnostics-VjGrBFy1.js";
129
129
  import "./node-service-DzB6xdXK.js";
130
130
  import "./channels-status-issues-CUjFhxft.js";
131
- import "./doctor-completion-B1-CVjHb.js";
132
- import "./register.subclis-DvYNYZuD.js";
133
- import { a as createOutboundSendDeps$1, i as resolveKoiOutboundTarget, r as resolveKoiDeliveryPlan, t as koiCommand } from "./koi-5dav_roP.js";
131
+ import "./doctor-completion-jmuOm0qZ.js";
132
+ import "./register.subclis-BoVG0RWg.js";
133
+ import { a as createOutboundSendDeps$1, i as resolveKoiOutboundTarget, r as resolveKoiDeliveryPlan, t as koiCommand } from "./koi-C2yX54vv.js";
134
134
  import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-D9TU_kVS.js";
135
135
  import "./daemon-runtime-BCgA9PFA.js";
136
136
  import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } from "./widearea-dns-jzceKRQ2.js";
137
137
  import { n as discoverGatewayBeacons } from "./bonjour-discovery-C3TCSnsw.js";
138
138
  import "./ensure-local-gateway-CEtQeEN3.js";
139
- import "./completion-cli-CBFDxd6w.js";
139
+ import "./completion-cli-BKOlLJPQ.js";
140
140
  import "./service-audit-D34KRkhd.js";
141
141
  import { i as shouldIncludeHook, n as loadWorkspaceHookEntries, r as resolveHookConfig } from "./hooks-status-zBq0Dt0N.js";
142
- import "./tui-BAX0XIQG.js";
142
+ import "./tui-DzY8T4_A.js";
143
143
  import "./canvas-state-Bq4301XX.js";
144
144
  import { t as buildChannelAccountSnapshot } from "./status-q8odUh8K.js";
145
145
  import "./shared-Dx-5oS7g.js";
146
- import { a as runDaemonStop, i as runDaemonStart, n as runDaemonStatus, o as runDaemonUninstall, r as runDaemonRestart, s as runDaemonInstall } from "./daemon-cli-CM0F89Mh.js";
146
+ import { a as runDaemonStop, i as runDaemonStart, n as runDaemonStatus, o as runDaemonUninstall, r as runDaemonRestart, s as runDaemonInstall } from "./daemon-cli-BnYD180b.js";
147
147
  import { a as toOptionString, i as parsePort$1, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-DurMbV0y.js";
148
148
  import { i as setGatewayWsLogStyle, n as logWs, r as summarizeKoiEventForWsLog, t as formatForLog } from "./ws-log-CK3PFL3C.js";
149
149
  import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-D2Ea1lxQ.js";
@@ -12183,7 +12183,7 @@ const nodeHandlers = {
12183
12183
  const p = params;
12184
12184
  const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
12185
12185
  await respondUnavailableOnThrow(respond, async () => {
12186
- const { handleNodeEvent } = await import("./server-node-events-Ddoee9tr.js");
12186
+ const { handleNodeEvent } = await import("./server-node-events-BYqE0iDV.js");
12187
12187
  const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
12188
12188
  await handleNodeEvent({
12189
12189
  deps: context.deps,
@@ -21655,7 +21655,7 @@ async function startGatewayServer(port = 18789, opts = {}) {
21655
21655
  sessionKey: "koi:main:main"
21656
21656
  });
21657
21657
  try {
21658
- const { restoreSurfacesFromDisk } = await import("./surface-tool-lPNzOXy0.js").then((n) => n.r);
21658
+ const { restoreSurfacesFromDisk } = await import("./surface-tool-BKvwJwgV.js").then((n) => n.r);
21659
21659
  const restored = restoreSurfacesFromDisk();
21660
21660
  if (restored > 0) console.log(`[surface] restored ${restored} surface(s) from disk`);
21661
21661
  } catch (err) {
@@ -21664,7 +21664,7 @@ async function startGatewayServer(port = 18789, opts = {}) {
21664
21664
  let captureServiceStop = null;
21665
21665
  (async () => {
21666
21666
  try {
21667
- const { startCaptureService } = await import("./capture-service-DG7Gma9C.js");
21667
+ const { startCaptureService } = await import("./capture-service-CqdpLLZN.js");
21668
21668
  captureServiceStop = (await startCaptureService()).stop;
21669
21669
  console.log("[capture] Device capture service started");
21670
21670
  } catch (err) {
@@ -1,4 +1,4 @@
1
- import { U as loadSKYKOIPlugins } from "./reply-BM6yYhCx.js";
1
+ import { U as loadSKYKOIPlugins } from "./reply-Bgz2HS1S.js";
2
2
  import { t as createSubsystemLogger } from "./subsystem-gU4M25gl.js";
3
3
  import { l as normalizeKoiId } from "./session-key-BIl6GRQN.js";
4
4
  import { b as sleep } from "./utils-BTCspqG1.js";
@@ -1,4 +1,4 @@
1
- import { B as requestHeartbeatNow, Dn as peekSystemEvents, Gt as resolveUserTimezone, St as resolveIndicatorType, V as setHeartbeatWakeHandler, Vt as resolveEffectiveMessagesConfig, _n as DEFAULT_HEARTBEAT_EVERY, bn as stripHeartbeatToken, d as isEmbeddedPiRunActive, fn as CommandLane, gn as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, ln as enqueueCommandInLane, t as getReplyFromConfig, un as getQueueSize, vn as isHeartbeatContentEffectivelyEmpty, vt as resolveHeartbeatVisibility, yn as resolveHeartbeatPrompt$1, yt as emitHeartbeatEvent } from "./reply-BM6yYhCx.js";
1
+ import { B as requestHeartbeatNow, Dn as peekSystemEvents, Gt as resolveUserTimezone, St as resolveIndicatorType, V as setHeartbeatWakeHandler, Vt as resolveEffectiveMessagesConfig, _n as DEFAULT_HEARTBEAT_EVERY, bn as stripHeartbeatToken, d as isEmbeddedPiRunActive, fn as CommandLane, gn as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, ln as enqueueCommandInLane, t as getReplyFromConfig, un as getQueueSize, vn as isHeartbeatContentEffectivelyEmpty, vt as resolveHeartbeatVisibility, yn as resolveHeartbeatPrompt$1, yt as emitHeartbeatEvent } from "./reply-Bgz2HS1S.js";
2
2
  import { s as defaultRuntime, t as createSubsystemLogger } from "./subsystem-gU4M25gl.js";
3
3
  import { n as info } from "./globals-4hwkGgXA.js";
4
4
  import { n as isRich, r as theme, t as colorize } from "./theme-Ql6JHKzG.js";
@@ -1,5 +1,5 @@
1
1
  import "./pi-embedded-helpers-epijF7kQ.js";
2
- import "./reply-BM6yYhCx.js";
2
+ import "./reply-Bgz2HS1S.js";
3
3
  import { s as defaultRuntime } from "./subsystem-gU4M25gl.js";
4
4
  import "./paths-VdmjGGyc.js";
5
5
  import "./globals-4hwkGgXA.js";
@@ -46,7 +46,7 @@ import "./tool-images-wgRd-_EF.js";
46
46
  import "./redact-ZAoMZTIY.js";
47
47
  import "./tool-display-Dg79vOSW.js";
48
48
  import "./deliver-DIExvjND.js";
49
- import "./ca-director-CX8CLJlH.js";
49
+ import "./ca-director-ChHXsgDU.js";
50
50
  import "./dispatcher-CWMz7Cyv.js";
51
51
  import "./dist-DsdylfIW.js";
52
52
  import "./platform-billing-fV9sjjQz.js";
@@ -75,24 +75,24 @@ import "./satisfies-B0N-0Ebw.js";
75
75
  import "./session-cost-usage-BHaRWnZF.js";
76
76
  import "./channel-summary-DWF4XIW6.js";
77
77
  import "./control-service-CGicvFxv.js";
78
- import "./surface-tool-lPNzOXy0.js";
78
+ import "./surface-tool-BKvwJwgV.js";
79
79
  import "./ledger-BdUzGXai.js";
80
80
  import "./restart-sentinel-CcKTmaz7.js";
81
81
  import "./dotenv-DnO0eRof.js";
82
82
  import "./nylas-CGpgSprO.js";
83
83
  import "./channel-selection-JDc1W7hU.js";
84
- import "./zen-surface-Bs0QlPVj.js";
84
+ import "./zen-surface-CRziRlLn.js";
85
85
  import "./rich-t60oVsBn.js";
86
- import "./proactive-eval-CmTqQdDO.js";
86
+ import "./proactive-eval-CiifGEDV.js";
87
87
  import "./identify-BoluV5CV.js";
88
88
  import "./registry-D-gnHADJ.js";
89
89
  import "./native-window-C_txmQ01.js";
90
90
  import "./action-ledger-DCDXcaiT.js";
91
91
  import "./event-log-Dfu6U72C.js";
92
- import { a as resolvePackedRootDir, i as resolveArchiveKind, n as fileExists, r as readJsonFile, t as extractArchive } from "./archive-CN2-nAbf.js";
92
+ import { a as resolvePackedRootDir, i as resolveArchiveKind, n as fileExists, r as readJsonFile, t as extractArchive } from "./archive-pjM1B8h1.js";
93
93
  import { t as renderTable } from "./table-OVCv6p-k.js";
94
94
  import { a as parseFrontmatter, n as loadWorkspaceHookEntries, t as buildWorkspaceHookStatus } from "./hooks-status-zBq0Dt0N.js";
95
- import { t as buildPluginStatusReport } from "./status-DH_QVDRn.js";
95
+ import { t as buildPluginStatusReport } from "./status-DNp69FcF.js";
96
96
  import fs from "node:fs";
97
97
  import path from "node:path";
98
98
  import os from "node:os";