skykoi 2026.3.366 → 2026.3.367

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/dist/{archive-lc4aTrME.js → archive-B3XH4jO2.js} +1 -1
  2. package/dist/build-info.json +2 -2
  3. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  4. package/dist/{capture-service-Cf1TbNjO.js → capture-service-B9OtVPXU.js} +0 -2
  5. package/dist/{channel-options-DyDeQlCI.js → channel-options-CsYDxExH.js} +1 -1
  6. package/dist/{channels-cli-DrMs9_n6.js → channels-cli-DA0HSc9X.js} +6 -6
  7. package/dist/cli/daemon-cli.js +1 -1
  8. package/dist/{cli-Bp5p4fp9.js → cli-DmyB03Sg.js} +1 -1
  9. package/dist/{completion-cli-DvRTz9tW.js → completion-cli-B1ILvdYL.js} +1 -1
  10. package/dist/{config-guard-D2MuFG-R.js → config-guard-N7_lclKl.js} +13 -13
  11. package/dist/{configure-YnJ1tddp.js → configure-B05mCsqF.js} +3 -3
  12. package/dist/{daemon-cli-CWGXZMX3.js → daemon-cli-BBg3lTt_.js} +1 -1
  13. package/dist/{deps-bxV4Fhqd.js → deps-CSWkGu4k.js} +1 -1
  14. package/dist/{doctor-BmZlvlO9.js → doctor-Caqykm5U.js} +3 -3
  15. package/dist/{doctor-completion-B_DB6yKB.js → doctor-completion-D-f9ofOA.js} +1 -1
  16. package/dist/entry.js +1 -1
  17. package/dist/extension-api.js +1 -1
  18. package/dist/{gateway-cli-CKUmcFLG.js → gateway-cli-BV8qgABt.js} +16 -16
  19. package/dist/{github-copilot-auth-B8anaBMU.js → github-copilot-auth-D9OUuD4w.js} +1 -1
  20. package/dist/{health-format-HJ49Tlyk.js → health-format-Dfp0af-Y.js} +1 -1
  21. package/dist/{hooks-cli-tNp3Hoa1.js → hooks-cli-C4XosbZm.js} +3 -3
  22. package/dist/index.js +19 -19
  23. package/dist/{installs-CgF6acAX.js → installs-4hpnrKis.js} +1 -1
  24. package/dist/{koi-C7h4YyTn.js → koi-BPDJgWGk.js} +2 -2
  25. package/dist/{models-cli-Duetla7W.js → models-cli-DZnJxKec.js} +2 -2
  26. package/dist/{onboard-channels-Cg-RtF_Q.js → onboard-channels-Ci8FupXu.js} +2 -2
  27. package/dist/{onboard-skills-AM1-GoCb.js → onboard-skills-DdrLhxSP.js} +3 -3
  28. package/dist/{onboarding-BXqZpqCS.js → onboarding-Db4WGo_i.js} +6 -6
  29. package/dist/{plugin-registry-OEYl6Glv.js → plugin-registry-BBqvFF71.js} +1 -1
  30. package/dist/plugin-sdk/index.js +16 -16
  31. package/dist/plugin-sdk/{pi-model-discovery-CBWcyyqn.js → pi-model-discovery-szlzYGsC.js} +3 -3
  32. package/dist/{plugins-cli-Drazdm-4.js → plugins-cli-BIHsv7ck.js} +5 -5
  33. package/dist/{program-B4F-KxtZ.js → program-UxIGBF2X.js} +4 -4
  34. package/dist/{register.subclis-C514WXu2.js → register.subclis-CvrwX4QH.js} +10 -10
  35. package/dist/{reply-kg3drq1N.js → reply-DSumKtIF.js} +1 -1
  36. package/dist/{run-main-CWySis6K.js → run-main-BDgEWgKL.js} +20 -20
  37. package/dist/{server-node-events-B1vg4hw3.js → server-node-events-CAL-QYfy.js} +3 -3
  38. package/dist/{status-CrxsbMfq.js → status-oW9vVhRi.js} +1 -1
  39. package/dist/{update-DCBf0mrX.js → update-B4zlM-z7.js} +1 -1
  40. package/dist/{update-cli-CHpskZMu.js → update-cli-ByDxoPEa.js} +11 -11
  41. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import { i as __require, o as __toESM, t as __commonJSMin } from "./chunk-D_gEzPfs.js";
2
- import { mt as require_inherits } from "./reply-kg3drq1N.js";
2
+ import { mt as require_inherits } from "./reply-DSumKtIF.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.366",
2
+ "version": "2026.3.367",
3
3
  "commit": "4bd60b7c1b294bb24b257d2f381ec929031df39c",
4
- "builtAt": "2026-06-25T09:30:50.695Z"
4
+ "builtAt": "2026-06-25T09:44:32.739Z"
5
5
  }
@@ -1 +1 @@
1
- 8cc8d318fda386cc3a78e86697fb9c588ce6d4e1edbcdd5c2485df465242429d
1
+ 47cdfffd90f2392c78d44f0754ea060c8fab94d95423f3918800fd1a8181ee31
@@ -1425,8 +1425,6 @@ function compileDaemon() {
1425
1425
  "-framework",
1426
1426
  "AVFoundation",
1427
1427
  "-framework",
1428
- "Speech",
1429
- "-framework",
1430
1428
  "ScreenCaptureKit",
1431
1429
  "-framework",
1432
1430
  "CoreMedia"
@@ -2,7 +2,7 @@ import { O as CHAT_CHANNEL_ORDER } from "./subsystem-hATE68va.js";
2
2
  import { t as isTruthyEnvValue } from "./env-ChCKTuXK.js";
3
3
  import { n as listChannelPlugins } from "./plugins-BXfIVhTg.js";
4
4
  import { i as listChannelPluginCatalogEntries } from "./plugin-auto-enable-Cg3LRidd.js";
5
- import { t as ensurePluginRegistryLoaded } from "./plugin-registry-OEYl6Glv.js";
5
+ import { t as ensurePluginRegistryLoaded } from "./plugin-registry-BBqvFF71.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-VJ9hOBTv.js";
2
- import { Gt as parseDiscordTarget, Kt as fetchChannelPermissionsDiscord, in as createSlackWebClient, lt as loadProviderUsageSummary, ut as formatUsageReportLines } from "./reply-kg3drq1N.js";
2
+ import { Gt as parseDiscordTarget, Kt as fetchChannelPermissionsDiscord, in as createSlackWebClient, lt as loadProviderUsageSummary, ut as formatUsageReportLines } from "./reply-DSumKtIF.js";
3
3
  import { f as danger, s as defaultRuntime, w as getResolvedLoggerSettings } from "./subsystem-hATE68va.js";
4
4
  import "./paths-VdmjGGyc.js";
5
5
  import { r as theme } from "./theme-C5EwWDWE.js";
@@ -73,20 +73,20 @@ import "./event-log-BJRHlOn8.js";
73
73
  import { t as resolveChannelDefaultAccountId } from "./helpers-y1KKH5pe.js";
74
74
  import "./note-DRoVRuAi.js";
75
75
  import { t as createClackPrompter } from "./clack-prompter-B9o3eQeW.js";
76
- import { i as reloadOnboardingPluginRegistry, n as setupChannels, r as ensureOnboardingPluginInstalled } from "./onboard-channels-Cg-RtF_Q.js";
76
+ import { i as reloadOnboardingPluginRegistry, n as setupChannels, r as ensureOnboardingPluginInstalled } from "./onboard-channels-Ci8FupXu.js";
77
77
  import { i as listChannelPluginCatalogEntries } from "./plugin-auto-enable-Cg3LRidd.js";
78
- import "./archive-lc4aTrME.js";
78
+ import "./archive-B3XH4jO2.js";
79
79
  import "./skill-scanner-CBHxr1An.js";
80
- import "./installs-CgF6acAX.js";
80
+ import "./installs-4hpnrKis.js";
81
81
  import "./service-BGkVTESM.js";
82
82
  import "./systemd-BzTSelz8.js";
83
83
  import "./diagnostics-CFV2YxpG.js";
84
84
  import { t as collectChannelStatusIssues } from "./channels-status-issues-BLygTpUh.js";
85
- import { n as hasExplicitOptions } from "./plugin-registry-OEYl6Glv.js";
85
+ import { n as hasExplicitOptions } from "./plugin-registry-BBqvFF71.js";
86
86
  import "./daemon-runtime-r19-i0S0.js";
87
87
  import "./ensure-local-gateway-VbJtdpui.js";
88
88
  import { n as runChannelLoginAll, r as runChannelLogout, t as runChannelLogin } from "./channel-auth-DrJ2FCUT.js";
89
- import { t as formatCliChannelOptions } from "./channel-options-DyDeQlCI.js";
89
+ import { t as formatCliChannelOptions } from "./channel-options-CsYDxExH.js";
90
90
  import { t as buildChannelAccountSnapshot } from "./status-BLjOBDvD.js";
91
91
  import { t as parseLogLine } from "./parse-log-line-cWE1HOyo.js";
92
92
  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-CWGXZMX3.js";
2
+ export { registerDaemonCli, runDaemonInstall, runDaemonRestart, runDaemonStart, runDaemonStatus, runDaemonStop, runDaemonUninstall } from "../daemon-cli-BBg3lTt_.js";
@@ -1,5 +1,5 @@
1
1
  import "./pi-embedded-helpers-VJ9hOBTv.js";
2
- import { ct as loadSKYKOIPlugins } from "./reply-kg3drq1N.js";
2
+ import { ct as loadSKYKOIPlugins } from "./reply-DSumKtIF.js";
3
3
  import { t as createSubsystemLogger } from "./subsystem-hATE68va.js";
4
4
  import "./paths-VdmjGGyc.js";
5
5
  import "./theme-C5EwWDWE.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-C514WXu2.js";
3
+ import { n as registerSubCliByName, t as getSubCliEntries } from "./register.subclis-CvrwX4QH.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 { B as CHANNEL_MESSAGE_ACTION_NAMES, Bn as lookupContextTokens, F as runMessageAction, Ot as registerMemoryCli, R as formatTargetDisplay, it as CHANNEL_TARGET_DESCRIPTION, kt as runMemoryStatus, rt as CHANNEL_TARGETS_DESCRIPTION } from "./reply-kg3drq1N.js";
1
+ import { B as CHANNEL_MESSAGE_ACTION_NAMES, Bn as lookupContextTokens, F as runMessageAction, Ot as registerMemoryCli, R as formatTargetDisplay, it as CHANNEL_TARGET_DESCRIPTION, kt as runMemoryStatus, rt as CHANNEL_TARGETS_DESCRIPTION } from "./reply-DSumKtIF.js";
2
2
  import { I as normalizeChatChannelId, M as getChatChannelMeta, c as restoreTerminalState, f as danger, k as DEFAULT_CHAT_CHANNEL, p as info, s as defaultRuntime, v as setVerbose } from "./subsystem-hATE68va.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 isRich, r as theme, t as colorize } from "./theme-C5EwWDWE.js";
@@ -21,32 +21,32 @@ import { n as runCommandWithRuntime } from "./cli-utils-CwUbbnsD.js";
21
21
  import { n as withProgress } from "./progress-BPDEiFpj.js";
22
22
  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-DKhundDe.js";
23
23
  import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint } from "./prompt-style-e5zz5JM8.js";
24
- import { t as createDefaultDeps } from "./deps-bxV4Fhqd.js";
24
+ import { t as createDefaultDeps } from "./deps-CSWkGu4k.js";
25
25
  import { t as assertSupportedRuntime } from "./runtime-guard-C80qkv4W.js";
26
26
  import { t as resolveChannelDefaultAccountId } from "./helpers-y1KKH5pe.js";
27
27
  import { n as logConfigUpdated, t as formatConfigPath } from "./logging-1Q_KlUsW.js";
28
28
  import { t as WizardCancelledError } from "./prompts-yNyvMdpp.js";
29
29
  import { t as createClackPrompter } from "./clack-prompter-B9o3eQeW.js";
30
- 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-BXqZpqCS.js";
31
- import { d as applyAuthChoice, f as applyOpenAIConfig, h as promptAuthChoiceGrouped, m as applyGoogleGeminiModelDefault, p as upsertSharedEnvVar, u as warnIfModelConfigLooksOff } from "./onboard-skills-AM1-GoCb.js";
32
- 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-B8anaBMU.js";
33
- import { n as setupChannels } from "./onboard-channels-Cg-RtF_Q.js";
34
- import { i as healthCommand } from "./health-format-HJ49Tlyk.js";
30
+ 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-Db4WGo_i.js";
31
+ import { d as applyAuthChoice, f as applyOpenAIConfig, h as promptAuthChoiceGrouped, m as applyGoogleGeminiModelDefault, p as upsertSharedEnvVar, u as warnIfModelConfigLooksOff } from "./onboard-skills-DdrLhxSP.js";
32
+ 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-D9OUuD4w.js";
33
+ import { n as setupChannels } from "./onboard-channels-Ci8FupXu.js";
34
+ import { i as healthCommand } from "./health-format-Dfp0af-Y.js";
35
35
  import { t as renderTable } from "./table-B3RHVa0g.js";
36
36
  import { t as resolveGatewayService } from "./service-BGkVTESM.js";
37
37
  import { r as isSystemdUserServiceAvailable } from "./systemd-BzTSelz8.js";
38
- import { l as getVerboseFlag, o as getFlagValue, r as registerSubCliCommands, s as getPositiveIntFlagValue, u as hasFlag } from "./register.subclis-C514WXu2.js";
38
+ import { l as getVerboseFlag, o as getFlagValue, r as registerSubCliCommands, s as getPositiveIntFlagValue, u as hasFlag } from "./register.subclis-CvrwX4QH.js";
39
39
  import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-CIxOsvvC.js";
40
40
  import { t as formatHelpExamples } from "./help-format-BVBm9rU4.js";
41
41
  import { t as adminUnlockCommand } from "./admin-unlock-Dr4FqRVP.js";
42
- import { a as createOutboundSendDeps, n as resolveSessionKeyForRequest, t as koiCommand } from "./koi-C7h4YyTn.js";
43
- import { n as hasExplicitOptions, t as ensurePluginRegistryLoaded } from "./plugin-registry-OEYl6Glv.js";
42
+ import { a as createOutboundSendDeps, n as resolveSessionKeyForRequest, t as koiCommand } from "./koi-BPDJgWGk.js";
43
+ import { n as hasExplicitOptions, t as ensurePluginRegistryLoaded } from "./plugin-registry-BBqvFF71.js";
44
44
  import { n as parsePositiveIntOrUndefined, t as collectOption } from "./helpers-BwzKU4J1.js";
45
- import { i as CONFIGURE_WIZARD_SECTIONS, n as configureCommand, r as configureCommandWithSections } from "./configure-YnJ1tddp.js";
45
+ import { i as CONFIGURE_WIZARD_SECTIONS, n as configureCommand, r as configureCommandWithSections } from "./configure-B05mCsqF.js";
46
46
  import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, r as isGatewayDaemonRuntime, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-r19-i0S0.js";
47
47
  import { n as ensureSystemdUserLingerNonInteractive } from "./systemd-linger-Be49_NdF.js";
48
48
  import { t as loginCommand } from "./login-C71-L2cR.js";
49
- import { n as loadAndMaybeMigrateDoctorConfig, t as doctorCommand } from "./doctor-BmZlvlO9.js";
49
+ import { n as loadAndMaybeMigrateDoctorConfig, t as doctorCommand } from "./doctor-Caqykm5U.js";
50
50
  import { fileURLToPath } from "node:url";
51
51
  import fs from "node:fs";
52
52
  import path from "node:path";
@@ -2797,7 +2797,7 @@ async function loadValidConfig() {
2797
2797
  }
2798
2798
  function registerConfigCli(program) {
2799
2799
  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) => {
2800
- const { CONFIGURE_WIZARD_SECTIONS, configureCommand, configureCommandWithSections } = await import("./configure-YnJ1tddp.js").then((n) => n.t);
2800
+ const { CONFIGURE_WIZARD_SECTIONS, configureCommand, configureCommandWithSections } = await import("./configure-B05mCsqF.js").then((n) => n.t);
2801
2801
  const sections = Array.isArray(opts.section) ? opts.section.map((value) => typeof value === "string" ? value.trim() : "").filter(Boolean) : [];
2802
2802
  if (sections.length === 0) {
2803
2803
  await configureCommand(defaultRuntime);
@@ -14,9 +14,9 @@ import { n as logConfigUpdated } from "./logging-1Q_KlUsW.js";
14
14
  import { t as note$1 } from "./note-DRoVRuAi.js";
15
15
  import { t as WizardCancelledError } from "./prompts-yNyvMdpp.js";
16
16
  import { t as createClackPrompter } from "./clack-prompter-B9o3eQeW.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-AM1-GoCb.js";
18
- import { n as setupChannels, t as noteChannelStatus } from "./onboard-channels-Cg-RtF_Q.js";
19
- import { i as healthCommand, t as formatHealthCheckFailure } from "./health-format-HJ49Tlyk.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-DdrLhxSP.js";
18
+ import { n as setupChannels, t as noteChannelStatus } from "./onboard-channels-Ci8FupXu.js";
19
+ import { i as healthCommand, t as formatHealthCheckFailure } from "./health-format-Dfp0af-Y.js";
20
20
  import { t as resolveGatewayService } from "./service-BGkVTESM.js";
21
21
  import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-B0N-n2rD.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-r19-i0S0.js";
@@ -15,7 +15,7 @@ import { n as withProgress } from "./progress-BPDEiFpj.js";
15
15
  import { h as resolveControlUiLinks } from "./onboard-helpers-DKhundDe.js";
16
16
  import { n as isWSLEnv, t as isWSL } from "./wsl-DiiAe4Ci.js";
17
17
  import { d as resolveGatewaySystemdServiceName, l as resolveGatewayLaunchAgentLabel } from "./constants-BezzOOYJ.js";
18
- import { t as createDefaultDeps } from "./deps-bxV4Fhqd.js";
18
+ import { t as createDefaultDeps } from "./deps-CSWkGu4k.js";
19
19
  import { o as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-BGkVTESM.js";
20
20
  import { r as isSystemdUserServiceAvailable } from "./systemd-BzTSelz8.js";
21
21
  import { t as readLastGatewayErrorLine } from "./diagnostics-CFV2YxpG.js";
@@ -1,4 +1,4 @@
1
- import { Ht as sendMessageTelegram, Ut as sendMessageDiscord, ht as sendMessageIMessage, nn as sendMessageWhatsApp, rn as sendMessageSlack } from "./reply-kg3drq1N.js";
1
+ import { Ht as sendMessageTelegram, Ut as sendMessageDiscord, ht as sendMessageIMessage, nn as sendMessageWhatsApp, rn as sendMessageSlack } from "./reply-DSumKtIF.js";
2
2
  import { b as sendMessageSignal } from "./deliver-DJbxwsAM.js";
3
3
 
4
4
  //#region src/cli/deps.ts
@@ -1,4 +1,4 @@
1
- import { Jn as loadModelCatalog, ct as loadSKYKOIPlugins } from "./reply-kg3drq1N.js";
1
+ import { Jn as loadModelCatalog, ct as loadSKYKOIPlugins } from "./reply-DSumKtIF.js";
2
2
  import { s as defaultRuntime, w as getResolvedLoggerSettings } from "./subsystem-hATE68va.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 { a as buildKoiMainSessionKey, l as normalizeKoiId, r as DEFAULT_MAIN_KEY, t as DEFAULT_ACCOUNT_ID } from "./session-key-B2OXLVi_.js";
@@ -26,7 +26,7 @@ import { t as resolveChannelDefaultAccountId } from "./helpers-y1KKH5pe.js";
26
26
  import { n as logConfigUpdated } from "./logging-1Q_KlUsW.js";
27
27
  import { t as note$1 } from "./note-DRoVRuAi.js";
28
28
  import { t as applyPluginAutoEnable } from "./plugin-auto-enable-Cg3LRidd.js";
29
- import { i as healthCommand, t as formatHealthCheckFailure } from "./health-format-HJ49Tlyk.js";
29
+ import { i as healthCommand, t as formatHealthCheckFailure } from "./health-format-Dfp0af-Y.js";
30
30
  import { t as runGatewayUpdate } from "./update-runner-odTAl-uh.js";
31
31
  import { i as resolveGatewayAuth } from "./auth-Vh115fQN.js";
32
32
  import { t as buildWorkspaceSkillStatus } from "./skills-status-DakSfN8r.js";
@@ -34,7 +34,7 @@ import { a as repairLaunchAgentBootstrap, i as launchAgentPlistExists, n as isLa
34
34
  import { r as isSystemdUserServiceAvailable } from "./systemd-BzTSelz8.js";
35
35
  import { t as readLastGatewayErrorLine } from "./diagnostics-CFV2YxpG.js";
36
36
  import { t as collectChannelStatusIssues } from "./channels-status-issues-BLygTpUh.js";
37
- import { n as doctorShellCompletion } from "./doctor-completion-B_DB6yKB.js";
37
+ import { n as doctorShellCompletion } from "./doctor-completion-D-f9ofOA.js";
38
38
  import { n as resolveControlUiDistIndexHealth, r as resolveControlUiDistIndexPathForRoot } from "./control-ui-assets-B0N-n2rD.js";
39
39
  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-r19-i0S0.js";
40
40
  import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-Be49_NdF.js";
@@ -3,7 +3,7 @@ import { r as resolveCliName, t as formatCliCommand } from "./command-format-DOY
3
3
  import { t as VERSION } from "./version-BKRSzdyx.js";
4
4
  import { t as note } from "./note-DRoVRuAi.js";
5
5
  import { c as compareSemverStrings, s as checkUpdateStatus } from "./update-runner-odTAl-uh.js";
6
- import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-DvRTz9tW.js";
6
+ import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-B1ILvdYL.js";
7
7
  import path from "node:path";
8
8
  import { spawnSync } from "node:child_process";
9
9
 
package/dist/entry.js CHANGED
@@ -247,7 +247,7 @@ if (!ensureExperimentalWarningSuppressed()) {
247
247
  applyCliProfileEnv({ profile: parsed.profile });
248
248
  process$1.argv = parsed.argv;
249
249
  }
250
- import("./run-main-CWySis6K.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
250
+ import("./run-main-BDgEWgKL.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
251
251
  console.error("[SKYKOI] Failed to start CLI:", error instanceof Error ? error.stack ?? error.message : error);
252
252
  process$1.exitCode = 1;
253
253
  });
@@ -1,5 +1,5 @@
1
1
  import "./pi-embedded-helpers-VJ9hOBTv.js";
2
- import { c as runEmbeddedPiKoi, lr as resolveKoiTimeoutMs, sn as resolveKoiIdentity } from "./reply-kg3drq1N.js";
2
+ import { c as runEmbeddedPiKoi, lr as resolveKoiTimeoutMs, sn as resolveKoiIdentity } from "./reply-DSumKtIF.js";
3
3
  import "./subsystem-hATE68va.js";
4
4
  import "./paths-VdmjGGyc.js";
5
5
  import "./theme-C5EwWDWE.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-VJ9hOBTv.js";
3
- import { $ as normalizeOptionalText, $n as DEFAULT_INPUT_IMAGE_MIMES, $t as findSubkoiRunByRunId, A as capArrayByJsonBytes, An as setCommandLaneConcurrency, Bn as lookupContextTokens, Bt as onHeartbeatEvent, C as listKoisForGateway, Cn as resolveTtsPrefsPath, Ct as registerSkillsChangeListener, D as resolveGatewaySessionStoreTarget, Dn as textToSpeech, Dt as isExternalHookSession, E as loadSessionEntry, En as setTtsProvider, Et as getHookType, Fn as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, G as consumeGatewaySigusr1RestartAuthorization, Gn as enqueueSystemEvent, H as runWithModelFallback, Hn as applyModelOverrideToSessionEntry, I as ensureOutboundSessionEntry, It as buildHistoryContextFromEntries, J as setGatewaySigusr1RestartPolicy, Jn as loadModelCatalog, Jt as createReplyDispatcher, K as isGatewaySigusr1RestartExternallyAllowed, Kn as isSystemEventContextChanged, L as resolveOutboundSessionRoute, Lt as resolveHeartbeatVisibility, M as readSessionPreviewItemsFromTranscript, Mn as startDiagnosticHeartbeat, Mt as normalizeGroupActivation, N as resolveSessionTranscriptCandidates, Nn as stopDiagnosticHeartbeat, O as resolveSessionModelRef, P as stripEnvelopeFromMessages, Pn as isDiagnosticsEnabled, Pt as registerUnhandledRejectionHandler, Q as normalizeOptionalKoiId, Qn as DEFAULT_INPUT_IMAGE_MAX_BYTES, Qt as findSubkoiRunByChildSessionKey, S as resolveAnnounceTargetFromKey, Sn as resolveTtsConfig, St as getSkillsSnapshotVersion, T as loadCombinedSessionStoreForGateway, Tn as setTtsEnabled, Tt as detectSuspiciousPatterns, Un as applyVerboseOverride, V as readRecentActivity, W as authorizeGatewaySigusr1Restart, Wn as parseVerboseOverride, Wt as getChannelActivity, X as normalizeCronJobPatch, Xn as DEFAULT_INPUT_FILE_MAX_CHARS, Xt as isAbortTrigger, Y as normalizeCronJobCreate, Yn as DEFAULT_INPUT_FILE_MAX_BYTES, Yt as formatZonedTimestamp, Z as inferLegacyName, Zn as DEFAULT_INPUT_FILE_MIMES, Zt as stopSubkoisForRequester, _ as canvasUri, _n as getTtsProvider, _t as primeRemoteSkillsCache, a as normalizeSendPolicy, ar as extractFileContentFromSource, at as requestHeartbeatNow, b as onCanvasChange, bn as resolveTtsApiKey, bt as refreshRemoteNodeBins, c as runEmbeddedPiKoi, cn as formatUserTime, ct as loadSKYKOIPlugins, dn as clearInternalHooks, en as initSubkoiRegistry, er as DEFAULT_INPUT_MAX_REDIRECTS, et as normalizePayloadToSystemText, f as waitForEmbeddedPiRunEnd, fn as createInternalHookEvent, g as createSKYKOITools, gn as OPENAI_TTS_VOICES, gt as getRemoteSkillEligibility, h as initRuntimeContext, hn as OPENAI_TTS_MODELS, i as runCliKoi, ir as DEFAULT_INPUT_TIMEOUT_MS, j as readSessionMessages, jn as CommandLane, jt as createReplyPrefixOptions, k as archiveFileOnDisk, l as getLastSystemPrompt, ln as resolveUserTimeFormat, lr as resolveKoiTimeoutMs, lt as loadProviderUsageSummary, mn as triggerInternalHook, n as getCliSessionId, nr as DEFAULT_INPUT_PDF_MAX_PIXELS, nt as migrateLegacyCronPayload, o as resolveSendPolicy, or as extractImageContentFromSource, pn as registerInternalHook, pt as handleSlackHttpRequest, q as scheduleGatewaySigusr1Restart, qt as dispatchInboundMessage, r as setCliSessionId, rr as DEFAULT_INPUT_PDF_MIN_TEXT_CHARS, s as clearSessionQueues, sn as resolveKoiIdentity, sr as normalizeMimeList, st as getPluginToolMeta, tr as DEFAULT_INPUT_PDF_MAX_PAGES, tt as normalizeRequiredName, u as abortEmbeddedPiRun, un as resolveUserTimezone, v as getCanvasResource, vn as isTtsEnabled, vt as recordRemoteNodeInfo, w as listSessionsFromStore, wn as resolveTtsProviderOrder, wt as buildSafeExternalPrompt, x as replaceCanvasResource, xn as resolveTtsAutoMode, xt as setSkillsRemoteRegistry, y as listCanvasUris, yn as isTtsProviderConfigured, yt as refreshRemoteBinsForConnectedNodes, z as resetDirectoryCache, zn as stripHeartbeatToken, zt as getLastHeartbeatEvent } from "./reply-kg3drq1N.js";
3
+ import { $ as normalizeOptionalText, $n as DEFAULT_INPUT_IMAGE_MIMES, $t as findSubkoiRunByRunId, A as capArrayByJsonBytes, An as setCommandLaneConcurrency, Bn as lookupContextTokens, Bt as onHeartbeatEvent, C as listKoisForGateway, Cn as resolveTtsPrefsPath, Ct as registerSkillsChangeListener, D as resolveGatewaySessionStoreTarget, Dn as textToSpeech, Dt as isExternalHookSession, E as loadSessionEntry, En as setTtsProvider, Et as getHookType, Fn as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, G as consumeGatewaySigusr1RestartAuthorization, Gn as enqueueSystemEvent, H as runWithModelFallback, Hn as applyModelOverrideToSessionEntry, I as ensureOutboundSessionEntry, It as buildHistoryContextFromEntries, J as setGatewaySigusr1RestartPolicy, Jn as loadModelCatalog, Jt as createReplyDispatcher, K as isGatewaySigusr1RestartExternallyAllowed, Kn as isSystemEventContextChanged, L as resolveOutboundSessionRoute, Lt as resolveHeartbeatVisibility, M as readSessionPreviewItemsFromTranscript, Mn as startDiagnosticHeartbeat, Mt as normalizeGroupActivation, N as resolveSessionTranscriptCandidates, Nn as stopDiagnosticHeartbeat, O as resolveSessionModelRef, P as stripEnvelopeFromMessages, Pn as isDiagnosticsEnabled, Pt as registerUnhandledRejectionHandler, Q as normalizeOptionalKoiId, Qn as DEFAULT_INPUT_IMAGE_MAX_BYTES, Qt as findSubkoiRunByChildSessionKey, S as resolveAnnounceTargetFromKey, Sn as resolveTtsConfig, St as getSkillsSnapshotVersion, T as loadCombinedSessionStoreForGateway, Tn as setTtsEnabled, Tt as detectSuspiciousPatterns, Un as applyVerboseOverride, V as readRecentActivity, W as authorizeGatewaySigusr1Restart, Wn as parseVerboseOverride, Wt as getChannelActivity, X as normalizeCronJobPatch, Xn as DEFAULT_INPUT_FILE_MAX_CHARS, Xt as isAbortTrigger, Y as normalizeCronJobCreate, Yn as DEFAULT_INPUT_FILE_MAX_BYTES, Yt as formatZonedTimestamp, Z as inferLegacyName, Zn as DEFAULT_INPUT_FILE_MIMES, Zt as stopSubkoisForRequester, _ as canvasUri, _n as getTtsProvider, _t as primeRemoteSkillsCache, a as normalizeSendPolicy, ar as extractFileContentFromSource, at as requestHeartbeatNow, b as onCanvasChange, bn as resolveTtsApiKey, bt as refreshRemoteNodeBins, c as runEmbeddedPiKoi, cn as formatUserTime, ct as loadSKYKOIPlugins, dn as clearInternalHooks, en as initSubkoiRegistry, er as DEFAULT_INPUT_MAX_REDIRECTS, et as normalizePayloadToSystemText, f as waitForEmbeddedPiRunEnd, fn as createInternalHookEvent, g as createSKYKOITools, gn as OPENAI_TTS_VOICES, gt as getRemoteSkillEligibility, h as initRuntimeContext, hn as OPENAI_TTS_MODELS, i as runCliKoi, ir as DEFAULT_INPUT_TIMEOUT_MS, j as readSessionMessages, jn as CommandLane, jt as createReplyPrefixOptions, k as archiveFileOnDisk, l as getLastSystemPrompt, ln as resolveUserTimeFormat, lr as resolveKoiTimeoutMs, lt as loadProviderUsageSummary, mn as triggerInternalHook, n as getCliSessionId, nr as DEFAULT_INPUT_PDF_MAX_PIXELS, nt as migrateLegacyCronPayload, o as resolveSendPolicy, or as extractImageContentFromSource, pn as registerInternalHook, pt as handleSlackHttpRequest, q as scheduleGatewaySigusr1Restart, qt as dispatchInboundMessage, r as setCliSessionId, rr as DEFAULT_INPUT_PDF_MIN_TEXT_CHARS, s as clearSessionQueues, sn as resolveKoiIdentity, sr as normalizeMimeList, st as getPluginToolMeta, tr as DEFAULT_INPUT_PDF_MAX_PAGES, tt as normalizeRequiredName, u as abortEmbeddedPiRun, un as resolveUserTimezone, v as getCanvasResource, vn as isTtsEnabled, vt as recordRemoteNodeInfo, w as listSessionsFromStore, wn as resolveTtsProviderOrder, wt as buildSafeExternalPrompt, x as replaceCanvasResource, xn as resolveTtsAutoMode, xt as setSkillsRemoteRegistry, y as listCanvasUris, yn as isTtsProviderConfigured, yt as refreshRemoteBinsForConnectedNodes, z as resetDirectoryCache, zn as stripHeartbeatToken, zt as getLastHeartbeatEvent } from "./reply-DSumKtIF.js";
4
4
  import { C as getLogger, D as CHANNEL_IDS, L as getActivePluginRegistry, S as getChildLogger, a as setConsoleTimestampPrefix, i as setConsoleSubsystemFilter, k as DEFAULT_CHAT_CHANNEL, n as runtimeForLogger, s as defaultRuntime, t as createSubsystemLogger, v as setVerbose, w as getResolvedLoggerSettings } from "./subsystem-hATE68va.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 { n as isRich, r as theme, t as colorize } from "./theme-C5EwWDWE.js";
@@ -79,7 +79,7 @@ import { t as parseAbsoluteTimeMs } from "./parse-B6Z5uj5w.js";
79
79
  import { a as summarizeRestartSentinel, n as formatDoctorNonInteractiveHint, r as formatRestartSentinelMessage, s as writeRestartSentinel, t as consumeRestartSentinel } from "./restart-sentinel-Cu-Tbnik.js";
80
80
  import { n as resolveMessageChannelSelection } from "./channel-selection-Cd-vguDM.js";
81
81
  import { i as readEventsSince, n as clearEventLogForSession, o as subscribeAll, r as hydrateSession, t as appendEvent } from "./event-log-BJRHlOn8.js";
82
- import { n as createOutboundSendDeps, t as createDefaultDeps } from "./deps-bxV4Fhqd.js";
82
+ import { n as createOutboundSendDeps, t as createDefaultDeps } from "./deps-CSWkGu4k.js";
83
83
  import { i as enableTailscaleServe, n as disableTailscaleServe, o as getTailnetHostname, r as enableTailscaleFunnel, t as disableTailscaleFunnel } from "./tailscale-BO36kRfh.js";
84
84
  import { t as ensureSKYKOICliOnPath } from "./path-env-gxBbRHVZ.js";
85
85
  import { t as forceFreePortAndWait } from "./ports-YIGvuUFy.js";
@@ -87,15 +87,15 @@ import { t as resolveChannelDefaultAccountId } from "./helpers-y1KKH5pe.js";
87
87
  import "./logging-1Q_KlUsW.js";
88
88
  import "./note-DRoVRuAi.js";
89
89
  import { t as WizardCancelledError } from "./prompts-yNyvMdpp.js";
90
- 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-BXqZpqCS.js";
91
- import { n as installSkill } from "./onboard-skills-AM1-GoCb.js";
92
- import "./github-copilot-auth-B8anaBMU.js";
93
- import "./onboard-channels-Cg-RtF_Q.js";
90
+ 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-Db4WGo_i.js";
91
+ import { n as installSkill } from "./onboard-skills-DdrLhxSP.js";
92
+ import "./github-copilot-auth-D9OUuD4w.js";
93
+ import "./onboard-channels-Ci8FupXu.js";
94
94
  import { r as buildChannelUiCatalog, t as applyPluginAutoEnable } from "./plugin-auto-enable-Cg3LRidd.js";
95
- import "./archive-lc4aTrME.js";
95
+ import "./archive-B3XH4jO2.js";
96
96
  import "./skill-scanner-CBHxr1An.js";
97
- import "./installs-CgF6acAX.js";
98
- import { c as startHeartbeatRunner, n as formatHealthChannelLines, o as runHeartbeatOnce, r as getHealthSnapshot, s as setHeartbeatsEnabled } from "./health-format-HJ49Tlyk.js";
97
+ import "./installs-4hpnrKis.js";
98
+ import { c as startHeartbeatRunner, n as formatHealthChannelLines, o as runHeartbeatOnce, r as getHealthSnapshot, s as setHeartbeatsEnabled } from "./health-format-Dfp0af-Y.js";
99
99
  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-odTAl-uh.js";
100
100
  import { i as resolveGatewayAuth, n as authorizeGatewayConnect, r as isLocalDirectRequest, t as assertGatewayAuthConfigured } from "./auth-Vh115fQN.js";
101
101
  import { i as probeGateway } from "./audit-BhMw948Z.js";
@@ -106,21 +106,21 @@ import { p as resolveGatewayStateDir } from "./systemd-BzTSelz8.js";
106
106
  import "./diagnostics-CFV2YxpG.js";
107
107
  import "./node-service-BzD7Bqwc.js";
108
108
  import "./channels-status-issues-BLygTpUh.js";
109
- import "./doctor-completion-B_DB6yKB.js";
110
- import "./register.subclis-C514WXu2.js";
111
- import { a as createOutboundSendDeps$1, i as resolveKoiOutboundTarget, r as resolveKoiDeliveryPlan, t as koiCommand } from "./koi-C7h4YyTn.js";
109
+ import "./doctor-completion-D-f9ofOA.js";
110
+ import "./register.subclis-CvrwX4QH.js";
111
+ import { a as createOutboundSendDeps$1, i as resolveKoiOutboundTarget, r as resolveKoiDeliveryPlan, t as koiCommand } from "./koi-BPDJgWGk.js";
112
112
  import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-B0N-n2rD.js";
113
113
  import "./daemon-runtime-r19-i0S0.js";
114
114
  import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } from "./widearea-dns-Bb9eE_C1.js";
115
115
  import { n as discoverGatewayBeacons } from "./bonjour-discovery-Du_kGDHQ.js";
116
116
  import "./ensure-local-gateway-VbJtdpui.js";
117
- import "./completion-cli-DvRTz9tW.js";
117
+ import "./completion-cli-B1ILvdYL.js";
118
118
  import "./service-audit-C3mNLBya.js";
119
119
  import { i as shouldIncludeHook, n as loadWorkspaceHookEntries, r as resolveHookConfig } from "./hooks-status-B0H9mn8K.js";
120
120
  import "./tui-CvbO7Ge0.js";
121
121
  import { t as buildChannelAccountSnapshot } from "./status-BLjOBDvD.js";
122
122
  import "./shared-Dn4Lf8u-.js";
123
- import { a as runDaemonStop, i as runDaemonStart, n as runDaemonStatus, o as runDaemonUninstall, r as runDaemonRestart, s as runDaemonInstall } from "./daemon-cli-CWGXZMX3.js";
123
+ import { a as runDaemonStop, i as runDaemonStart, n as runDaemonStatus, o as runDaemonUninstall, r as runDaemonRestart, s as runDaemonInstall } from "./daemon-cli-BBg3lTt_.js";
124
124
  import { a as toOptionString, i as parsePort$1, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-DNbcd3wi.js";
125
125
  import { i as setGatewayWsLogStyle, n as logWs, r as summarizeKoiEventForWsLog, t as formatForLog } from "./ws-log--YWgaGe1.js";
126
126
  import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-DI2DjT9y.js";
@@ -12024,7 +12024,7 @@ const nodeHandlers = {
12024
12024
  const p = params;
12025
12025
  const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
12026
12026
  await respondUnavailableOnThrow(respond, async () => {
12027
- const { handleNodeEvent } = await import("./server-node-events-B1vg4hw3.js");
12027
+ const { handleNodeEvent } = await import("./server-node-events-CAL-QYfy.js");
12028
12028
  const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
12029
12029
  await handleNodeEvent({
12030
12030
  deps: context.deps,
@@ -21087,7 +21087,7 @@ async function startGatewayServer(port = 18789, opts = {}) {
21087
21087
  let captureServiceStop = null;
21088
21088
  (async () => {
21089
21089
  try {
21090
- const { startCaptureService } = await import("./capture-service-Cf1TbNjO.js");
21090
+ const { startCaptureService } = await import("./capture-service-B9OtVPXU.js");
21091
21091
  captureServiceStop = (await startCaptureService()).stop;
21092
21092
  console.log("[capture] Device capture service started");
21093
21093
  } catch (err) {
@@ -1,4 +1,4 @@
1
- import { ct as loadSKYKOIPlugins } from "./reply-kg3drq1N.js";
1
+ import { ct as loadSKYKOIPlugins } from "./reply-DSumKtIF.js";
2
2
  import { t as createSubsystemLogger } from "./subsystem-hATE68va.js";
3
3
  import { l as normalizeKoiId } from "./session-key-B2OXLVi_.js";
4
4
  import { b as sleep } from "./utils-D019Z2NU.js";
@@ -1,4 +1,4 @@
1
- import { Fn as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, In as DEFAULT_HEARTBEAT_EVERY, Ln as isHeartbeatContentEffectivelyEmpty, Lt as resolveHeartbeatVisibility, On as enqueueCommandInLane, Rn as resolveHeartbeatPrompt$1, Rt as emitHeartbeatEvent, Vt as resolveIndicatorType, at as requestHeartbeatNow, d as isEmbeddedPiRunActive, jn as CommandLane, kn as getQueueSize, on as resolveEffectiveMessagesConfig, ot as setHeartbeatWakeHandler, qn as peekSystemEvents, t as getReplyFromConfig, un as resolveUserTimezone, zn as stripHeartbeatToken } from "./reply-kg3drq1N.js";
1
+ import { Fn as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, In as DEFAULT_HEARTBEAT_EVERY, Ln as isHeartbeatContentEffectivelyEmpty, Lt as resolveHeartbeatVisibility, On as enqueueCommandInLane, Rn as resolveHeartbeatPrompt$1, Rt as emitHeartbeatEvent, Vt as resolveIndicatorType, at as requestHeartbeatNow, d as isEmbeddedPiRunActive, jn as CommandLane, kn as getQueueSize, on as resolveEffectiveMessagesConfig, ot as setHeartbeatWakeHandler, qn as peekSystemEvents, t as getReplyFromConfig, un as resolveUserTimezone, zn as stripHeartbeatToken } from "./reply-DSumKtIF.js";
2
2
  import { p as info, s as defaultRuntime, t as createSubsystemLogger } from "./subsystem-hATE68va.js";
3
3
  import { n as isRich, r as theme, t as colorize } from "./theme-C5EwWDWE.js";
4
4
  import { d as resolveKoiIdFromSessionKey, h as toKoiStoreSessionKey, l as normalizeKoiId } from "./session-key-B2OXLVi_.js";
@@ -1,5 +1,5 @@
1
1
  import "./pi-embedded-helpers-VJ9hOBTv.js";
2
- import "./reply-kg3drq1N.js";
2
+ import "./reply-DSumKtIF.js";
3
3
  import { s as defaultRuntime } from "./subsystem-hATE68va.js";
4
4
  import "./paths-VdmjGGyc.js";
5
5
  import { r as theme } from "./theme-C5EwWDWE.js";
@@ -68,10 +68,10 @@ import "./control-service-Bbl6R2bi.js";
68
68
  import "./restart-sentinel-Cu-Tbnik.js";
69
69
  import "./channel-selection-Cd-vguDM.js";
70
70
  import "./event-log-BJRHlOn8.js";
71
- import { a as resolvePackedRootDir, i as resolveArchiveKind, n as fileExists, r as readJsonFile, t as extractArchive } from "./archive-lc4aTrME.js";
71
+ import { a as resolvePackedRootDir, i as resolveArchiveKind, n as fileExists, r as readJsonFile, t as extractArchive } from "./archive-B3XH4jO2.js";
72
72
  import { t as renderTable } from "./table-B3RHVa0g.js";
73
73
  import { a as parseFrontmatter, n as loadWorkspaceHookEntries, t as buildWorkspaceHookStatus } from "./hooks-status-B0H9mn8K.js";
74
- import { t as buildPluginStatusReport } from "./status-CrxsbMfq.js";
74
+ import { t as buildPluginStatusReport } from "./status-oW9vVhRi.js";
75
75
  import fs from "node:fs";
76
76
  import path from "node:path";
77
77
  import os from "node:os";
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import "./pi-embedded-helpers-VJ9hOBTv.js";
3
- import { At as monitorWebChannel, Ft as waitForever, Nt as installUnhandledRejectionHandler, cr as applyTemplate, t as getReplyFromConfig } from "./reply-kg3drq1N.js";
3
+ import { At as monitorWebChannel, Ft as waitForever, Nt as installUnhandledRejectionHandler, cr as applyTemplate, t as getReplyFromConfig } from "./reply-DSumKtIF.js";
4
4
  import { r as enableConsoleCapture } from "./subsystem-hATE68va.js";
5
5
  import "./paths-VdmjGGyc.js";
6
6
  import "./theme-C5EwWDWE.js";
@@ -68,25 +68,25 @@ import "./control-service-Bbl6R2bi.js";
68
68
  import "./restart-sentinel-Cu-Tbnik.js";
69
69
  import "./channel-selection-Cd-vguDM.js";
70
70
  import "./event-log-BJRHlOn8.js";
71
- import { t as createDefaultDeps } from "./deps-bxV4Fhqd.js";
71
+ import { t as createDefaultDeps } from "./deps-CSWkGu4k.js";
72
72
  import { l as ensureBinary, u as promptYesNo } from "./tailscale-BO36kRfh.js";
73
73
  import { t as isMainModule } from "./is-main-Cs8_TnVO.js";
74
74
  import { t as ensureSKYKOICliOnPath } from "./path-env-gxBbRHVZ.js";
75
75
  import { t as assertSupportedRuntime } from "./runtime-guard-C80qkv4W.js";
76
76
  import "./ports-YIGvuUFy.js";
77
- import "./config-guard-D2MuFG-R.js";
77
+ import "./config-guard-N7_lclKl.js";
78
78
  import "./logging-1Q_KlUsW.js";
79
79
  import "./note-DRoVRuAi.js";
80
80
  import "./clack-prompter-B9o3eQeW.js";
81
- import "./onboarding-BXqZpqCS.js";
82
- import "./onboard-skills-AM1-GoCb.js";
83
- import "./github-copilot-auth-B8anaBMU.js";
84
- import "./onboard-channels-Cg-RtF_Q.js";
81
+ import "./onboarding-Db4WGo_i.js";
82
+ import "./onboard-skills-DdrLhxSP.js";
83
+ import "./github-copilot-auth-D9OUuD4w.js";
84
+ import "./onboard-channels-Ci8FupXu.js";
85
85
  import "./plugin-auto-enable-Cg3LRidd.js";
86
- import "./archive-lc4aTrME.js";
86
+ import "./archive-B3XH4jO2.js";
87
87
  import "./skill-scanner-CBHxr1An.js";
88
- import "./installs-CgF6acAX.js";
89
- import "./health-format-HJ49Tlyk.js";
88
+ import "./installs-4hpnrKis.js";
89
+ import "./health-format-Dfp0af-Y.js";
90
90
  import "./update-runner-odTAl-uh.js";
91
91
  import "./auth-Vh115fQN.js";
92
92
  import "./audit-BhMw948Z.js";
@@ -97,15 +97,15 @@ import "./systemd-BzTSelz8.js";
97
97
  import "./diagnostics-CFV2YxpG.js";
98
98
  import "./node-service-BzD7Bqwc.js";
99
99
  import "./channels-status-issues-BLygTpUh.js";
100
- import "./doctor-completion-B_DB6yKB.js";
101
- import "./register.subclis-C514WXu2.js";
100
+ import "./doctor-completion-D-f9ofOA.js";
101
+ import "./register.subclis-CvrwX4QH.js";
102
102
  import "./gateway-rpc-CIxOsvvC.js";
103
103
  import "./help-format-BVBm9rU4.js";
104
104
  import "./admin-unlock-Dr4FqRVP.js";
105
- import "./koi-C7h4YyTn.js";
106
- import "./plugin-registry-OEYl6Glv.js";
105
+ import "./koi-BPDJgWGk.js";
106
+ import "./plugin-registry-BBqvFF71.js";
107
107
  import "./control-ui-assets-B0N-n2rD.js";
108
- import "./configure-YnJ1tddp.js";
108
+ import "./configure-B05mCsqF.js";
109
109
  import "./daemon-runtime-r19-i0S0.js";
110
110
  import "./systemd-linger-Be49_NdF.js";
111
111
  import "./widearea-dns-Bb9eE_C1.js";
@@ -114,13 +114,13 @@ import "./ensure-local-gateway-VbJtdpui.js";
114
114
  import "./login-C71-L2cR.js";
115
115
  import "./channel-auth-DrJ2FCUT.js";
116
116
  import "./auth-health-DX1wRWrd.js";
117
- import "./doctor-BmZlvlO9.js";
118
- import "./completion-cli-DvRTz9tW.js";
117
+ import "./doctor-Caqykm5U.js";
118
+ import "./completion-cli-B1ILvdYL.js";
119
119
  import "./service-audit-C3mNLBya.js";
120
120
  import "./hooks-status-B0H9mn8K.js";
121
121
  import "./tui-CvbO7Ge0.js";
122
- import "./channel-options-DyDeQlCI.js";
123
- import { n as buildProgram } from "./program-B4F-KxtZ.js";
122
+ import "./channel-options-CsYDxExH.js";
123
+ import { n as buildProgram } from "./program-UxIGBF2X.js";
124
124
  import process from "node:process";
125
125
  import { fileURLToPath } from "node:url";
126
126
 
@@ -1,7 +1,7 @@
1
1
  import { h as resolveUserPath, t as CONFIG_DIR } from "./utils-D019Z2NU.js";
2
2
  import { t as runCommandWithTimeout } from "./exec-DdlIawm8.js";
3
3
  import { a as MANIFEST_KEY } from "./manifest-registry-DEGu_o5t.js";
4
- import { a as resolvePackedRootDir, i as resolveArchiveKind, n as fileExists, r as readJsonFile, t as extractArchive } from "./archive-lc4aTrME.js";
4
+ import { a as resolvePackedRootDir, i as resolveArchiveKind, n as fileExists, r as readJsonFile, t as extractArchive } from "./archive-B3XH4jO2.js";
5
5
  import { t as scanDirectoryWithSummary } from "./skill-scanner-CBHxr1An.js";
6
6
  import path from "node:path";
7
7
  import os from "node:os";
@@ -1,5 +1,5 @@
1
1
  import { B as normalizeThinkLevel, F as formatXHighModelHint, H as normalizeVerboseLevel, P as formatThinkingLevels, W as supportsXHighThinking } from "./pi-embedded-helpers-VJ9hOBTv.js";
2
- import { Bn as lookupContextTokens, H as runWithModelFallback, Hn as applyModelOverrideToSessionEntry, Jn as loadModelCatalog, St as getSkillsSnapshotVersion, Un as applyVerboseOverride, Vn as clearSessionAuthProfileOverride, c as runEmbeddedPiKoi, gt as getRemoteSkillEligibility, i as runCliKoi, lr as resolveKoiTimeoutMs, m as compactEmbeddedPiSession, n as getCliSessionId, o as resolveSendPolicy, r as setCliSessionId, tn as KOI_LANE_NESTED } from "./reply-kg3drq1N.js";
2
+ import { Bn as lookupContextTokens, H as runWithModelFallback, Hn as applyModelOverrideToSessionEntry, Jn as loadModelCatalog, St as getSkillsSnapshotVersion, Un as applyVerboseOverride, Vn as clearSessionAuthProfileOverride, c as runEmbeddedPiKoi, gt as getRemoteSkillEligibility, i as runCliKoi, lr as resolveKoiTimeoutMs, m as compactEmbeddedPiSession, n as getCliSessionId, o as resolveSendPolicy, r as setCliSessionId, tn as KOI_LANE_NESTED } from "./reply-DSumKtIF.js";
3
3
  import { k as DEFAULT_CHAT_CHANNEL, s as defaultRuntime } from "./subsystem-hATE68va.js";
4
4
  import { d as resolveKoiIdFromSessionKey, l as normalizeKoiId, u as normalizeMainKey } from "./session-key-B2OXLVi_.js";
5
5
  import { S as ensureKoiWorkspace, a as resolveKoiDir, c as resolveKoiSkillsFilter, l as resolveKoiWorkspaceDir, n as listKoiIds, o as resolveKoiModelFallbacksOverride, s as resolveKoiModelPrimary } from "./koi-scope-7GA83nWp.js";
@@ -14,7 +14,7 @@ import { a as normalizeOutboundPayloadsForJson, i as normalizeOutboundPayloads,
14
14
  import { a as resolveOutboundTarget, o as resolveSessionDeliveryTarget } from "./message-0gwe6UQ4.js";
15
15
  import { n as emitKoiEvent, o as registerKoiRunContext, t as clearKoiRunContext } from "./koi-events-c_9Lexjh.js";
16
16
  import { l as hasNonzeroUsage } from "./session-cost-usage--3A8ZVbE.js";
17
- import { t as createDefaultDeps } from "./deps-bxV4Fhqd.js";
17
+ import { t as createDefaultDeps } from "./deps-CSWkGu4k.js";
18
18
  import crypto from "node:crypto";
19
19
 
20
20
  //#region src/cli/outbound-send-deps.ts
@@ -1,5 +1,5 @@
1
1
  import "./pi-embedded-helpers-VJ9hOBTv.js";
2
- import { Jn as loadModelCatalog, U as describeFailoverError, c as runEmbeddedPiKoi, dt as formatUsageWindowSummary, ft as resolveUsageProviderId, lt as loadProviderUsageSummary } from "./reply-kg3drq1N.js";
2
+ import { Jn as loadModelCatalog, U as describeFailoverError, c as runEmbeddedPiKoi, dt as formatUsageWindowSummary, ft as resolveUsageProviderId, lt as loadProviderUsageSummary } from "./reply-DSumKtIF.js";
3
3
  import { s as defaultRuntime } from "./subsystem-hATE68va.js";
4
4
  import { t as CONFIG_PATH } from "./paths-VdmjGGyc.js";
5
5
  import { n as isRich$1, r as theme, t as colorize } from "./theme-C5EwWDWE.js";
@@ -72,7 +72,7 @@ import "./event-log-BJRHlOn8.js";
72
72
  import { n as logConfigUpdated } from "./logging-1Q_KlUsW.js";
73
73
  import "./note-DRoVRuAi.js";
74
74
  import { t as createClackPrompter } from "./clack-prompter-B9o3eQeW.js";
75
- import { a as normalizeAlias, c as updateConfig, d as resolvePluginProviders, i as formatTokenK, l as createVpsAwareOAuthHandlers, n as ensureFlagCompatibility, o as resolveKnownKoiId, pt as validateAnthropicSetupToken, r as formatMs, s as resolveModelTarget, t as githubCopilotLoginCommand, u as isRemoteEnvironment, v as applyAuthProfileConfig } from "./github-copilot-auth-B8anaBMU.js";
75
+ import { a as normalizeAlias, c as updateConfig, d as resolvePluginProviders, i as formatTokenK, l as createVpsAwareOAuthHandlers, n as ensureFlagCompatibility, o as resolveKnownKoiId, pt as validateAnthropicSetupToken, r as formatMs, s as resolveModelTarget, t as githubCopilotLoginCommand, u as isRemoteEnvironment, v as applyAuthProfileConfig } from "./github-copilot-auth-D9OUuD4w.js";
76
76
  import { t as renderTable } from "./table-B3RHVa0g.js";
77
77
  import { i as redactSecrets } from "./format-IoT-eUxs.js";
78
78
  import { n as buildAuthHealthSummary, r as formatRemainingShort, t as DEFAULT_OAUTH_WARN_MS } from "./auth-health-DX1wRWrd.js";
@@ -1,4 +1,4 @@
1
- import { ct as loadSKYKOIPlugins } from "./reply-kg3drq1N.js";
1
+ import { ct as loadSKYKOIPlugins } from "./reply-DSumKtIF.js";
2
2
  import { A as formatChannelPrimerLine, N as listChatChannels, j as formatChannelSelectionLine, t as createSubsystemLogger } from "./subsystem-hATE68va.js";
3
3
  import { c as normalizeAccountId, t as DEFAULT_ACCOUNT_ID } from "./session-key-B2OXLVi_.js";
4
4
  import { l as resolveKoiWorkspaceDir, r as resolveDefaultKoiId } from "./koi-scope-7GA83nWp.js";
@@ -7,7 +7,7 @@ import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-BXfIVh
7
7
  import { t as formatDocsLink } from "./links-B0HTM-CT.js";
8
8
  import { t as resolveChannelDefaultAccountId } from "./helpers-y1KKH5pe.js";
9
9
  import { i as listChannelPluginCatalogEntries, n as isChannelConfigured } from "./plugin-auto-enable-Cg3LRidd.js";
10
- import { n as installPluginFromNpmSpec, t as recordPluginInstall } from "./installs-CgF6acAX.js";
10
+ import { n as installPluginFromNpmSpec, t as recordPluginInstall } from "./installs-4hpnrKis.js";
11
11
  import fs from "node:fs";
12
12
  import path from "node:path";
13
13
 
@@ -1,4 +1,4 @@
1
- import { Jn as loadModelCatalog } from "./reply-kg3drq1N.js";
1
+ import { Jn as loadModelCatalog } from "./reply-DSumKtIF.js";
2
2
  import { f as resolveConfigDir, h as resolveUserPath, s as ensureDir, t as CONFIG_DIR } from "./utils-D019Z2NU.js";
3
3
  import { t as runCommandWithTimeout } from "./exec-DdlIawm8.js";
4
4
  import { T as resolveDefaultKoiWorkspaceDir, a as resolveKoiDir, l as resolveKoiWorkspaceDir, r as resolveDefaultKoiId, s as resolveKoiModelPrimary } from "./koi-scope-7GA83nWp.js";
@@ -8,8 +8,8 @@ import { _ as resolveSkillKey, d as hasBinary, i as loadWorkspaceSkillEntries, t
8
8
  import { K as fetchWithSsrFGuard } from "./deliver-DJbxwsAM.js";
9
9
  import { d as openUrl, g as resolveNodeManagerOptions, r as detectBinary } from "./onboard-helpers-DKhundDe.js";
10
10
  import { t as resolveBrewExecutable } from "./brew-BJ9My-K-.js";
11
- import { $ as setOpenrouterApiKey, A as applyQianfanProviderConfig, B as applyXiaomiProviderConfig, C as applyMoonshotConfig, D as applyOpenrouterConfig, E as applyMoonshotProviderConfigCn, F as applyVercelAiGatewayConfig, G as ZAI_DEFAULT_MODEL_REF, H as OPENROUTER_DEFAULT_MODEL_REF, I as applyVercelAiGatewayProviderConfig, J as setGeminiApiKey, K as setAnthropicApiKey, L as applyXaiConfig, M as applySyntheticProviderConfig, N as applyVeniceConfig, O as applyOpenrouterProviderConfig, P as applyVeniceProviderConfig, Q as setOpencodeZenApiKey, R as applyXaiProviderConfig, S as applyKimiCodeProviderConfig, T as applyMoonshotProviderConfig, U as VERCEL_AI_GATEWAY_DEFAULT_MODEL_REF, V as applyZaiConfig, W as XIAOMI_DEFAULT_MODEL_REF, X as setMinimaxApiKey, Y as setKimiCodingApiKey, Z as setMoonshotApiKey, _ as applyMinimaxProviderConfig, at as setXiaomiApiKey, b as applyCloudflareAiGatewayProviderConfig, ct as KIMI_CODING_MODEL_REF, d as resolvePluginProviders, dt as XAI_DEFAULT_MODEL_REF, et as setQianfanApiKey, f as applyOpencodeZenConfig, ft as buildTokenProfileId, g as applyMinimaxConfig, h as applyMinimaxApiProviderConfig, i as formatTokenK, it as setXaiApiKey, j as applySyntheticConfig, k as applyQianfanConfig, l as createVpsAwareOAuthHandlers, lt as MOONSHOT_DEFAULT_MODEL_REF, m as applyMinimaxApiConfig, nt as setVeniceApiKey, ot as setZaiApiKey, p as applyOpencodeZenProviderConfig, pt as validateAnthropicSetupToken, q as setCloudflareAiGatewayConfig, rt as setVercelAiGatewayApiKey, st as writeOAuthCredentials, t as githubCopilotLoginCommand, tt as setSyntheticApiKey, u as isRemoteEnvironment, ut as QIANFAN_DEFAULT_MODEL_REF, v as applyAuthProfileConfig, w as applyMoonshotConfigCn, x as applyKimiCodeConfig, y as applyCloudflareAiGatewayConfig, z as applyXiaomiConfig } from "./github-copilot-auth-B8anaBMU.js";
12
- import { a as enablePluginInConfig } from "./onboard-channels-Cg-RtF_Q.js";
11
+ import { $ as setOpenrouterApiKey, A as applyQianfanProviderConfig, B as applyXiaomiProviderConfig, C as applyMoonshotConfig, D as applyOpenrouterConfig, E as applyMoonshotProviderConfigCn, F as applyVercelAiGatewayConfig, G as ZAI_DEFAULT_MODEL_REF, H as OPENROUTER_DEFAULT_MODEL_REF, I as applyVercelAiGatewayProviderConfig, J as setGeminiApiKey, K as setAnthropicApiKey, L as applyXaiConfig, M as applySyntheticProviderConfig, N as applyVeniceConfig, O as applyOpenrouterProviderConfig, P as applyVeniceProviderConfig, Q as setOpencodeZenApiKey, R as applyXaiProviderConfig, S as applyKimiCodeProviderConfig, T as applyMoonshotProviderConfig, U as VERCEL_AI_GATEWAY_DEFAULT_MODEL_REF, V as applyZaiConfig, W as XIAOMI_DEFAULT_MODEL_REF, X as setMinimaxApiKey, Y as setKimiCodingApiKey, Z as setMoonshotApiKey, _ as applyMinimaxProviderConfig, at as setXiaomiApiKey, b as applyCloudflareAiGatewayProviderConfig, ct as KIMI_CODING_MODEL_REF, d as resolvePluginProviders, dt as XAI_DEFAULT_MODEL_REF, et as setQianfanApiKey, f as applyOpencodeZenConfig, ft as buildTokenProfileId, g as applyMinimaxConfig, h as applyMinimaxApiProviderConfig, i as formatTokenK, it as setXaiApiKey, j as applySyntheticConfig, k as applyQianfanConfig, l as createVpsAwareOAuthHandlers, lt as MOONSHOT_DEFAULT_MODEL_REF, m as applyMinimaxApiConfig, nt as setVeniceApiKey, ot as setZaiApiKey, p as applyOpencodeZenProviderConfig, pt as validateAnthropicSetupToken, q as setCloudflareAiGatewayConfig, rt as setVercelAiGatewayApiKey, st as writeOAuthCredentials, t as githubCopilotLoginCommand, tt as setSyntheticApiKey, u as isRemoteEnvironment, ut as QIANFAN_DEFAULT_MODEL_REF, v as applyAuthProfileConfig, w as applyMoonshotConfigCn, x as applyKimiCodeConfig, y as applyCloudflareAiGatewayConfig, z as applyXiaomiConfig } from "./github-copilot-auth-D9OUuD4w.js";
12
+ import { a as enablePluginInConfig } from "./onboard-channels-Ci8FupXu.js";
13
13
  import { t as scanDirectoryWithSummary } from "./skill-scanner-CBHxr1An.js";
14
14
  import { t as buildWorkspaceSkillStatus } from "./skills-status-DakSfN8r.js";
15
15
  import { n as resolveWideAreaDiscoveryDomain } from "./widearea-dns-Bb9eE_C1.js";
@@ -1,4 +1,4 @@
1
- import { Bn as lookupContextTokens, C as listKoisForGateway, an as getMemorySearchManager, gt as getRemoteSkillEligibility, lt as loadProviderUsageSummary, p as sha256HexPrefix, qn as peekSystemEvents, ut as formatUsageReportLines } from "./reply-kg3drq1N.js";
1
+ import { Bn as lookupContextTokens, C as listKoisForGateway, an as getMemorySearchManager, gt as getRemoteSkillEligibility, lt as loadProviderUsageSummary, p as sha256HexPrefix, qn as peekSystemEvents, ut as formatUsageReportLines } from "./reply-DSumKtIF.js";
2
2
  import { c as restoreTerminalState, p as info, s as defaultRuntime } from "./subsystem-hATE68va.js";
3
3
  import { n as DEFAULT_GATEWAY_PORT, u as resolveGatewayPort } from "./paths-VdmjGGyc.js";
4
4
  import { n as isRich, r as theme } from "./theme-C5EwWDWE.js";
@@ -24,9 +24,9 @@ import { a as findTailscaleBinary, o as getTailnetHostname, s as readTailscaleSt
24
24
  import { t as resolveChannelDefaultAccountId } from "./helpers-y1KKH5pe.js";
25
25
  import { n as logConfigUpdated } from "./logging-1Q_KlUsW.js";
26
26
  import { t as WizardCancelledError } from "./prompts-yNyvMdpp.js";
27
- import { d as applyAuthChoice, h as promptAuthChoiceGrouped, l as resolvePreferredProviderForAuthChoice, o as applyPrimaryModel, r as promptRemoteGatewayConfig, s as promptDefaultModel, t as setupSkills, u as warnIfModelConfigLooksOff } from "./onboard-skills-AM1-GoCb.js";
28
- import { n as setupChannels } from "./onboard-channels-Cg-RtF_Q.js";
29
- import { a as resolveHeartbeatSummaryForKoi, i as healthCommand, n as formatHealthChannelLines, t as formatHealthCheckFailure } from "./health-format-HJ49Tlyk.js";
27
+ import { d as applyAuthChoice, h as promptAuthChoiceGrouped, l as resolvePreferredProviderForAuthChoice, o as applyPrimaryModel, r as promptRemoteGatewayConfig, s as promptDefaultModel, t as setupSkills, u as warnIfModelConfigLooksOff } from "./onboard-skills-DdrLhxSP.js";
28
+ import { n as setupChannels } from "./onboard-channels-Ci8FupXu.js";
29
+ import { a as resolveHeartbeatSummaryForKoi, i as healthCommand, n as formatHealthChannelLines, t as formatHealthCheckFailure } from "./health-format-Dfp0af-Y.js";
30
30
  import { _ as resolveEffectiveUpdateChannel, c as compareSemverStrings, g as normalizeUpdateChannel, h as formatUpdateChannelLabel, s as checkUpdateStatus } from "./update-runner-odTAl-uh.js";
31
31
  import { i as probeGateway, t as runSecurityAudit } from "./audit-BhMw948Z.js";
32
32
  import { t as renderTable } from "./table-B3RHVa0g.js";
@@ -37,10 +37,10 @@ import { t as readLastGatewayErrorLine } from "./diagnostics-CFV2YxpG.js";
37
37
  import { t as resolveNodeService } from "./node-service-BzD7Bqwc.js";
38
38
  import { t as collectChannelStatusIssues } from "./channels-status-issues-BLygTpUh.js";
39
39
  import { i as redactSecrets, n as formatDuration$1, r as formatGatewayAuthUsed, t as formatAge$1 } from "./format-IoT-eUxs.js";
40
- import { a as formatUpdateOneLiner, i as formatUpdateAvailableHint, o as getUpdateCheckResult, r as ensureCompletionCacheExists, s as resolveUpdateAvailability, t as checkShellCompletionStatus } from "./doctor-completion-B_DB6yKB.js";
40
+ import { a as formatUpdateOneLiner, i as formatUpdateAvailableHint, o as getUpdateCheckResult, r as ensureCompletionCacheExists, s as resolveUpdateAvailability, t as checkShellCompletionStatus } from "./doctor-completion-D-f9ofOA.js";
41
41
  import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-B0N-n2rD.js";
42
42
  import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-r19-i0S0.js";
43
- import { r as installCompletion } from "./completion-cli-DvRTz9tW.js";
43
+ import { r as installCompletion } from "./completion-cli-B1ILvdYL.js";
44
44
  import { t as buildWorkspaceHookStatus } from "./hooks-status-B0H9mn8K.js";
45
45
  import { t as runTui } from "./tui-CvbO7Ge0.js";
46
46
  import fs from "node:fs";
@@ -1,4 +1,4 @@
1
- import { ct as loadSKYKOIPlugins } from "./reply-kg3drq1N.js";
1
+ import { ct as loadSKYKOIPlugins } from "./reply-DSumKtIF.js";
2
2
  import { t as createSubsystemLogger } from "./subsystem-hATE68va.js";
3
3
  import { l as resolveKoiWorkspaceDir, r as resolveDefaultKoiId } from "./koi-scope-7GA83nWp.js";
4
4
  import { o as loadConfig } from "./config-BFoj5wyy.js";
@@ -1,5 +1,5 @@
1
1
  import { a as __toCommonJS, i as __require, o as __toESM, r as __exportAll, t as __commonJSMin } from "./chunk-D_gEzPfs.js";
2
- import { a as require_jws, i as require_dist_cjs$1, n as LRUCache$1, o as require_safe_buffer, r as getOAuthProviders, s as getEnvApiKey } from "./pi-model-discovery-CBWcyyqn.js";
2
+ import { a as require_jws, i as require_dist_cjs$1, n as LRUCache$1, o as require_safe_buffer, r as getOAuthProviders, s as getEnvApiKey } from "./pi-model-discovery-szlzYGsC.js";
3
3
  import { t as require_dist_cjs$2 } from "./dist-cjs-B9iGzXDA.js";
4
4
  import { C as require_dist_cjs$3, E as init_dist_es$1, M as require_dist_cjs$13, N as require_dist_cjs$12, T as dist_es_exports$1, a as require_dist_cjs$5, c as require_dist_cjs$17, d as require_dist_cjs$15, f as dist_es_exports, h as protocols_exports, i as require_dist_cjs$7, j as require_dist_cjs$14, l as require_dist_cjs$16, m as init_protocols, n as require_dist_cjs$10, o as require_dist_cjs$8, p as init_dist_es, r as require_dist_cjs$9, s as require_dist_cjs$11, t as require_dist_cjs$18, u as require_dist_cjs$6, w as require_dist_cjs$4 } from "./dist-cjs-Cpdu8jQP.js";
5
5
  import { C as schema_exports, N as require_dist_cjs$21, P as require_dist_cjs$19, S as init_schema, t as require_dist_cjs$20 } from "./dist-cjs-BVSr8ctW.js";
@@ -33,7 +33,7 @@ import { exec as exec$1 } from "child_process";
33
33
  import { createReadStream as createReadStream$1, createWriteStream as createWriteStream$1, promises as promises$1 } from "fs";
34
34
  import { Readable, Transform } from "stream";
35
35
  import { platform, release, tmpdir as tmpdir$1 } from "os";
36
- import EventEmitter, { EventEmitter as EventEmitter$1, once } from "events";
36
+ import EventEmitter$1, { EventEmitter, once } from "events";
37
37
  import { promisify as promisify$1 } from "util";
38
38
  import { join as join$1 } from "path";
39
39
  import * as Crypto from "crypto";
@@ -41,8 +41,8 @@ import { createCipheriv, createDecipheriv, createHash, createHmac, randomBytes a
41
41
  import { mkdir, readFile, stat as stat$1, unlink, writeFile } from "fs/promises";
42
42
  import { Readable as Readable$1 } from "node:stream";
43
43
  import { pipeline as pipeline$1 } from "node:stream/promises";
44
- import WebSocket$1, { WebSocket } from "ws";
45
- import AjvModule from "ajv";
44
+ import WebSocket, { WebSocket as WebSocket$1 } from "ws";
45
+ import AjvPkg from "ajv";
46
46
  import lockfile from "proper-lockfile";
47
47
  import { URL as URL$1 } from "url";
48
48
  import "yaml";
@@ -20541,7 +20541,7 @@ function loadPluginManifestRegistry(params) {
20541
20541
 
20542
20542
  //#endregion
20543
20543
  //#region src/plugins/schema-validator.ts
20544
- const ajv$1 = new AjvModule({
20544
+ const ajv$1 = new AjvPkg({
20545
20545
  allErrors: true,
20546
20546
  strict: false,
20547
20547
  removeAdditional: false
@@ -48187,7 +48187,7 @@ const PROTOCOL_VERSION = 3;
48187
48187
 
48188
48188
  //#endregion
48189
48189
  //#region src/gateway/protocol/index.ts
48190
- const ajv = new AjvModule({
48190
+ const ajv = new AjvPkg({
48191
48191
  allErrors: true,
48192
48192
  strict: false,
48193
48193
  removeAdditional: false
@@ -48336,7 +48336,7 @@ var GatewayClient = class {
48336
48336
  if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
48337
48337
  });
48338
48338
  }
48339
- this.ws = new WebSocket(url, wsOptions);
48339
+ this.ws = new WebSocket$1(url, wsOptions);
48340
48340
  this.ws.on("open", () => {
48341
48341
  if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
48342
48342
  const tlsError = this.validateTlsFingerprint();
@@ -48555,7 +48555,7 @@ var GatewayClient = class {
48555
48555
  return null;
48556
48556
  }
48557
48557
  async request(method, params, opts) {
48558
- if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
48558
+ if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
48559
48559
  const id = randomUUID();
48560
48560
  const frame = {
48561
48561
  type: "req",
@@ -68060,7 +68060,7 @@ function enqueueSystemEvent(text, options) {
68060
68060
  const MODEL_CACHE = /* @__PURE__ */ new Map();
68061
68061
  (async () => {
68062
68062
  try {
68063
- const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-CBWcyyqn.js").then((n) => n.t);
68063
+ const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-szlzYGsC.js").then((n) => n.t);
68064
68064
  await ensureSKYKOIModelsJson(loadConfig());
68065
68065
  const koiDir = resolveSKYKOIKoiDir();
68066
68066
  const models = discoverModels(discoverAuthStorage(koiDir), koiDir).getAll();
@@ -228308,7 +228308,7 @@ const BUFFERABLE_EVENT_SET = new Set([
228308
228308
  * making the data processing more efficient.
228309
228309
  */
228310
228310
  const makeEventBuffer = (logger) => {
228311
- const ev = new EventEmitter();
228311
+ const ev = new EventEmitter$1();
228312
228312
  const historyCache = /* @__PURE__ */ new Set();
228313
228313
  let data = makeBufferData();
228314
228314
  let isBuffering = false;
@@ -233878,7 +233878,7 @@ var BinaryInfo = class {
233878
233878
 
233879
233879
  //#endregion
233880
233880
  //#region node_modules/.pnpm/@whiskeysockets+baileys@7.0.0-rc.9_audio-decode@2.2.3_sharp@0.34.5/node_modules/@whiskeysockets/baileys/lib/Socket/Client/types.js
233881
- var AbstractSocketClient = class extends EventEmitter$1 {
233881
+ var AbstractSocketClient = class extends EventEmitter {
233882
233882
  constructor(url, config) {
233883
233883
  super();
233884
233884
  this.url = url;
@@ -233895,20 +233895,20 @@ var WebSocketClient = class extends AbstractSocketClient {
233895
233895
  this.socket = null;
233896
233896
  }
233897
233897
  get isOpen() {
233898
- return this.socket?.readyState === WebSocket$1.OPEN;
233898
+ return this.socket?.readyState === WebSocket.OPEN;
233899
233899
  }
233900
233900
  get isClosed() {
233901
- return this.socket === null || this.socket?.readyState === WebSocket$1.CLOSED;
233901
+ return this.socket === null || this.socket?.readyState === WebSocket.CLOSED;
233902
233902
  }
233903
233903
  get isClosing() {
233904
- return this.socket === null || this.socket?.readyState === WebSocket$1.CLOSING;
233904
+ return this.socket === null || this.socket?.readyState === WebSocket.CLOSING;
233905
233905
  }
233906
233906
  get isConnecting() {
233907
- return this.socket?.readyState === WebSocket$1.CONNECTING;
233907
+ return this.socket?.readyState === WebSocket.CONNECTING;
233908
233908
  }
233909
233909
  connect() {
233910
233910
  if (this.socket) return;
233911
- this.socket = new WebSocket$1(this.url, {
233911
+ this.socket = new WebSocket(this.url, {
233912
233912
  origin: DEFAULT_ORIGIN,
233913
233913
  headers: this.config.options?.headers,
233914
233914
  handshakeTimeout: this.config.connectTimeoutMs,
@@ -34,7 +34,7 @@ import { access, mkdir, readFile, stat as stat$1, writeFile } from "fs/promises"
34
34
  import Stream, { Readable as Readable$1 } from "node:stream";
35
35
  import { finished } from "node:stream/promises";
36
36
  import * as NodeWs from "ws";
37
- import AjvModule from "ajv";
37
+ import AjvPkg from "ajv";
38
38
  import lockfile from "proper-lockfile";
39
39
  import { fileURLToPath as fileURLToPath$1 } from "url";
40
40
  import { TypeCompiler } from "@sinclair/typebox/compiler";
@@ -59699,7 +59699,7 @@ var require_dist$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
59699
59699
  //#endregion
59700
59700
  //#region node_modules/.pnpm/@mariozechner+pi-ai@0.52.8_ws@8.19.0_zod@4.3.6/node_modules/@mariozechner/pi-ai/dist/utils/validation.js
59701
59701
  var import_dist$1 = /* @__PURE__ */ __toESM(require_dist$1(), 1);
59702
- const Ajv$1 = AjvModule.default || AjvModule;
59702
+ const Ajv$1 = AjvPkg.default || AjvPkg;
59703
59703
  const addFormats = import_dist$1.default.default || import_dist$1.default;
59704
59704
  const isBrowserExtension = typeof globalThis !== "undefined" && globalThis.chrome?.runtime?.id !== void 0;
59705
59705
  let ajv = null;
@@ -174026,7 +174026,7 @@ var AuthStorage = class {
174026
174026
  /**
174027
174027
  * Model registry - manages built-in and custom models, provides API key resolution.
174028
174028
  */
174029
- const Ajv = AjvModule.default || AjvModule;
174029
+ const Ajv = AjvPkg.default || AjvPkg;
174030
174030
  const OpenRouterRoutingSchema = Type.Object({
174031
174031
  only: Type.Optional(Type.Array(Type.String())),
174032
174032
  order: Type.Optional(Type.Array(Type.String()))
@@ -1,5 +1,5 @@
1
1
  import "./pi-embedded-helpers-VJ9hOBTv.js";
2
- import "./reply-kg3drq1N.js";
2
+ import "./reply-DSumKtIF.js";
3
3
  import { s as defaultRuntime } from "./subsystem-hATE68va.js";
4
4
  import "./paths-VdmjGGyc.js";
5
5
  import { r as theme } from "./theme-C5EwWDWE.js";
@@ -67,12 +67,12 @@ import "./control-service-Bbl6R2bi.js";
67
67
  import "./restart-sentinel-Cu-Tbnik.js";
68
68
  import "./channel-selection-Cd-vguDM.js";
69
69
  import "./event-log-BJRHlOn8.js";
70
- import { i as resolveArchiveKind } from "./archive-lc4aTrME.js";
70
+ import { i as resolveArchiveKind } from "./archive-B3XH4jO2.js";
71
71
  import "./skill-scanner-CBHxr1An.js";
72
- import { n as installPluginFromNpmSpec, r as installPluginFromPath, t as recordPluginInstall } from "./installs-CgF6acAX.js";
72
+ import { n as installPluginFromNpmSpec, r as installPluginFromPath, t as recordPluginInstall } from "./installs-4hpnrKis.js";
73
73
  import { t as renderTable } from "./table-B3RHVa0g.js";
74
- import { t as buildPluginStatusReport } from "./status-CrxsbMfq.js";
75
- import { n as updateNpmInstalledPlugins } from "./update-DCBf0mrX.js";
74
+ import { t as buildPluginStatusReport } from "./status-oW9vVhRi.js";
75
+ import { n as updateNpmInstalledPlugins } from "./update-B4zlM-z7.js";
76
76
  import fs from "node:fs";
77
77
  import path from "node:path";
78
78
 
@@ -5,11 +5,11 @@ import { n as replaceCliName, r as resolveCliName } from "./command-format-DOYW_
5
5
  import { t as isTruthyEnvValue } from "./env-ChCKTuXK.js";
6
6
  import { t as VERSION } from "./version-BKRSzdyx.js";
7
7
  import { t as formatDocsLink } from "./links-B0HTM-CT.js";
8
- import { i as registerProgramCommands, n as PLUGIN_CLI_COMMANDS, t as ensureConfigReady } from "./config-guard-D2MuFG-R.js";
9
- import { a as getCommandPath, d as hasHelpOrVersion, l as getVerboseFlag } from "./register.subclis-C514WXu2.js";
10
- import { t as ensurePluginRegistryLoaded } from "./plugin-registry-OEYl6Glv.js";
8
+ import { i as registerProgramCommands, n as PLUGIN_CLI_COMMANDS, t as ensureConfigReady } from "./config-guard-N7_lclKl.js";
9
+ import { a as getCommandPath, d as hasHelpOrVersion, l as getVerboseFlag } from "./register.subclis-CvrwX4QH.js";
10
+ import { t as ensurePluginRegistryLoaded } from "./plugin-registry-BBqvFF71.js";
11
11
  import { a as hasEmittedCliBanner, i as formatCliBannerLine, r as emitCliBanner } from "./tui-CvbO7Ge0.js";
12
- import { n as resolveCliChannelOptions } from "./channel-options-DyDeQlCI.js";
12
+ import { n as resolveCliChannelOptions } from "./channel-options-CsYDxExH.js";
13
13
  import { Command } from "commander";
14
14
 
15
15
  //#region src/cli/program/context.ts
@@ -124,14 +124,14 @@ const entries = [
124
124
  name: "gateway",
125
125
  description: "Gateway control",
126
126
  register: async (program) => {
127
- (await import("./gateway-cli-CKUmcFLG.js")).registerGatewayCli(program);
127
+ (await import("./gateway-cli-BV8qgABt.js")).registerGatewayCli(program);
128
128
  }
129
129
  },
130
130
  {
131
131
  name: "daemon",
132
132
  description: "Gateway service (legacy alias)",
133
133
  register: async (program) => {
134
- (await import("./daemon-cli-CWGXZMX3.js").then((n) => n.t)).registerDaemonCli(program);
134
+ (await import("./daemon-cli-BBg3lTt_.js").then((n) => n.t)).registerDaemonCli(program);
135
135
  }
136
136
  },
137
137
  {
@@ -152,7 +152,7 @@ const entries = [
152
152
  name: "models",
153
153
  description: "Model configuration",
154
154
  register: async (program) => {
155
- (await import("./models-cli-Duetla7W.js")).registerModelsCli(program);
155
+ (await import("./models-cli-DZnJxKec.js")).registerModelsCli(program);
156
156
  }
157
157
  },
158
158
  {
@@ -222,7 +222,7 @@ const entries = [
222
222
  name: "hooks",
223
223
  description: "Hooks tooling",
224
224
  register: async (program) => {
225
- (await import("./hooks-cli-tNp3Hoa1.js")).registerHooksCli(program);
225
+ (await import("./hooks-cli-C4XosbZm.js")).registerHooksCli(program);
226
226
  }
227
227
  },
228
228
  {
@@ -236,7 +236,7 @@ const entries = [
236
236
  name: "pairing",
237
237
  description: "Pairing helpers",
238
238
  register: async (program) => {
239
- const { registerPluginCliCommands } = await import("./cli-Bp5p4fp9.js");
239
+ const { registerPluginCliCommands } = await import("./cli-DmyB03Sg.js");
240
240
  registerPluginCliCommands(program, await loadConfig());
241
241
  (await import("./pairing-cli-DPrJbN-i.js")).registerPairingCli(program);
242
242
  }
@@ -245,8 +245,8 @@ const entries = [
245
245
  name: "plugins",
246
246
  description: "Plugin management",
247
247
  register: async (program) => {
248
- (await import("./plugins-cli-Drazdm-4.js")).registerPluginsCli(program);
249
- const { registerPluginCliCommands } = await import("./cli-Bp5p4fp9.js");
248
+ (await import("./plugins-cli-BIHsv7ck.js")).registerPluginsCli(program);
249
+ const { registerPluginCliCommands } = await import("./cli-DmyB03Sg.js");
250
250
  registerPluginCliCommands(program, await loadConfig());
251
251
  }
252
252
  },
@@ -254,7 +254,7 @@ const entries = [
254
254
  name: "channels",
255
255
  description: "Channel management",
256
256
  register: async (program) => {
257
- (await import("./channels-cli-DrMs9_n6.js")).registerChannelsCli(program);
257
+ (await import("./channels-cli-DA0HSc9X.js")).registerChannelsCli(program);
258
258
  }
259
259
  },
260
260
  {
@@ -296,14 +296,14 @@ const entries = [
296
296
  name: "update",
297
297
  description: "CLI update helpers",
298
298
  register: async (program) => {
299
- (await import("./update-cli-CHpskZMu.js")).registerUpdateCli(program);
299
+ (await import("./update-cli-ByDxoPEa.js")).registerUpdateCli(program);
300
300
  }
301
301
  },
302
302
  {
303
303
  name: "completion",
304
304
  description: "Generate shell completion script",
305
305
  register: async (program) => {
306
- (await import("./completion-cli-DvRTz9tW.js").then((n) => n.n)).registerCompletionCli(program);
306
+ (await import("./completion-cli-B1ILvdYL.js").then((n) => n.n)).registerCompletionCli(program);
307
307
  }
308
308
  }
309
309
  ];
@@ -165880,7 +165880,7 @@ async function runEmbeddedAttempt(params) {
165880
165880
  const promptStartedAt = Date.now();
165881
165881
  let effectivePrompt = params.prompt;
165882
165882
  try {
165883
- const { buildCaptureContextBlock } = await import("./capture-service-Cf1TbNjO.js");
165883
+ const { buildCaptureContextBlock } = await import("./capture-service-B9OtVPXU.js");
165884
165884
  const captureBlock = buildCaptureContextBlock();
165885
165885
  if (captureBlock) {
165886
165886
  effectivePrompt = `${captureBlock}\n\n---\n\n${effectivePrompt}`;
@@ -1,5 +1,5 @@
1
1
  import "./pi-embedded-helpers-VJ9hOBTv.js";
2
- import { Nt as installUnhandledRejectionHandler } from "./reply-kg3drq1N.js";
2
+ import { Nt as installUnhandledRejectionHandler } from "./reply-DSumKtIF.js";
3
3
  import { r as enableConsoleCapture, s as defaultRuntime } from "./subsystem-hATE68va.js";
4
4
  import "./paths-VdmjGGyc.js";
5
5
  import "./theme-C5EwWDWE.js";
@@ -67,23 +67,23 @@ import "./control-service-Bbl6R2bi.js";
67
67
  import "./restart-sentinel-Cu-Tbnik.js";
68
68
  import "./channel-selection-Cd-vguDM.js";
69
69
  import "./event-log-BJRHlOn8.js";
70
- import "./deps-bxV4Fhqd.js";
70
+ import "./deps-CSWkGu4k.js";
71
71
  import "./tailscale-BO36kRfh.js";
72
72
  import { t as ensureSKYKOICliOnPath } from "./path-env-gxBbRHVZ.js";
73
73
  import { t as assertSupportedRuntime } from "./runtime-guard-C80qkv4W.js";
74
- import { n as PLUGIN_CLI_COMMANDS, r as findRoutedCommand, t as ensureConfigReady } from "./config-guard-D2MuFG-R.js";
74
+ import { n as PLUGIN_CLI_COMMANDS, r as findRoutedCommand, t as ensureConfigReady } from "./config-guard-N7_lclKl.js";
75
75
  import "./logging-1Q_KlUsW.js";
76
76
  import "./note-DRoVRuAi.js";
77
77
  import "./clack-prompter-B9o3eQeW.js";
78
- import "./onboarding-BXqZpqCS.js";
79
- import "./onboard-skills-AM1-GoCb.js";
80
- import "./github-copilot-auth-B8anaBMU.js";
81
- import "./onboard-channels-Cg-RtF_Q.js";
78
+ import "./onboarding-Db4WGo_i.js";
79
+ import "./onboard-skills-DdrLhxSP.js";
80
+ import "./github-copilot-auth-D9OUuD4w.js";
81
+ import "./onboard-channels-Ci8FupXu.js";
82
82
  import "./plugin-auto-enable-Cg3LRidd.js";
83
- import "./archive-lc4aTrME.js";
83
+ import "./archive-B3XH4jO2.js";
84
84
  import "./skill-scanner-CBHxr1An.js";
85
- import "./installs-CgF6acAX.js";
86
- import "./health-format-HJ49Tlyk.js";
85
+ import "./installs-4hpnrKis.js";
86
+ import "./health-format-Dfp0af-Y.js";
87
87
  import "./update-runner-odTAl-uh.js";
88
88
  import "./auth-Vh115fQN.js";
89
89
  import "./audit-BhMw948Z.js";
@@ -94,15 +94,15 @@ import "./systemd-BzTSelz8.js";
94
94
  import "./diagnostics-CFV2YxpG.js";
95
95
  import "./node-service-BzD7Bqwc.js";
96
96
  import "./channels-status-issues-BLygTpUh.js";
97
- import "./doctor-completion-B_DB6yKB.js";
98
- import { a as getCommandPath, c as getPrimaryCommand, d as hasHelpOrVersion } from "./register.subclis-C514WXu2.js";
97
+ import "./doctor-completion-D-f9ofOA.js";
98
+ import { a as getCommandPath, c as getPrimaryCommand, d as hasHelpOrVersion } from "./register.subclis-CvrwX4QH.js";
99
99
  import "./gateway-rpc-CIxOsvvC.js";
100
100
  import "./help-format-BVBm9rU4.js";
101
101
  import "./admin-unlock-Dr4FqRVP.js";
102
- import "./koi-C7h4YyTn.js";
103
- import { t as ensurePluginRegistryLoaded } from "./plugin-registry-OEYl6Glv.js";
102
+ import "./koi-BPDJgWGk.js";
103
+ import { t as ensurePluginRegistryLoaded } from "./plugin-registry-BBqvFF71.js";
104
104
  import "./control-ui-assets-B0N-n2rD.js";
105
- import "./configure-YnJ1tddp.js";
105
+ import "./configure-B05mCsqF.js";
106
106
  import "./daemon-runtime-r19-i0S0.js";
107
107
  import "./systemd-linger-Be49_NdF.js";
108
108
  import "./widearea-dns-Bb9eE_C1.js";
@@ -111,8 +111,8 @@ import "./ensure-local-gateway-VbJtdpui.js";
111
111
  import "./login-C71-L2cR.js";
112
112
  import "./channel-auth-DrJ2FCUT.js";
113
113
  import "./auth-health-DX1wRWrd.js";
114
- import "./doctor-BmZlvlO9.js";
115
- import "./completion-cli-DvRTz9tW.js";
114
+ import "./doctor-Caqykm5U.js";
115
+ import "./completion-cli-B1ILvdYL.js";
116
116
  import "./service-audit-C3mNLBya.js";
117
117
  import "./hooks-status-B0H9mn8K.js";
118
118
  import { r as emitCliBanner } from "./tui-CvbO7Ge0.js";
@@ -169,7 +169,7 @@ async function runCli(argv = process$1.argv) {
169
169
  assertSupportedRuntime();
170
170
  if (await tryRouteCli(normalizedArgv)) return;
171
171
  enableConsoleCapture();
172
- const { buildProgram } = await import("./program-B4F-KxtZ.js").then((n) => n.t);
172
+ const { buildProgram } = await import("./program-UxIGBF2X.js").then((n) => n.t);
173
173
  const program = buildProgram();
174
174
  installUnhandledRejectionHandler();
175
175
  process$1.on("uncaughtException", (error) => {
@@ -202,11 +202,11 @@ async function runCli(argv = process$1.argv) {
202
202
  }
203
203
  const primary = getPrimaryCommand(parseArgv);
204
204
  if (primary) {
205
- const { registerSubCliByName } = await import("./register.subclis-C514WXu2.js").then((n) => n.i);
205
+ const { registerSubCliByName } = await import("./register.subclis-CvrwX4QH.js").then((n) => n.i);
206
206
  await registerSubCliByName(program, primary);
207
207
  }
208
208
  if (!!primary && PLUGIN_CLI_COMMANDS.has(primary)) {
209
- const { registerPluginCliCommands } = await import("./cli-Bp5p4fp9.js");
209
+ const { registerPluginCliCommands } = await import("./cli-DmyB03Sg.js");
210
210
  const { loadConfig } = await import("./config-BFoj5wyy.js").then((n) => n.t);
211
211
  registerPluginCliCommands(program, loadConfig());
212
212
  }
@@ -1,5 +1,5 @@
1
1
  import "./pi-embedded-helpers-VJ9hOBTv.js";
2
- import { E as loadSessionEntry, Gn as enqueueSystemEvent, at as requestHeartbeatNow } from "./reply-kg3drq1N.js";
2
+ import { E as loadSessionEntry, Gn as enqueueSystemEvent, at as requestHeartbeatNow } from "./reply-DSumKtIF.js";
3
3
  import { s as defaultRuntime } from "./subsystem-hATE68va.js";
4
4
  import "./paths-VdmjGGyc.js";
5
5
  import "./theme-C5EwWDWE.js";
@@ -68,8 +68,8 @@ import "./control-service-Bbl6R2bi.js";
68
68
  import "./restart-sentinel-Cu-Tbnik.js";
69
69
  import "./channel-selection-Cd-vguDM.js";
70
70
  import "./event-log-BJRHlOn8.js";
71
- import "./deps-bxV4Fhqd.js";
72
- import { t as koiCommand } from "./koi-C7h4YyTn.js";
71
+ import "./deps-CSWkGu4k.js";
72
+ import { t as koiCommand } from "./koi-BPDJgWGk.js";
73
73
  import { t as formatForLog } from "./ws-log--YWgaGe1.js";
74
74
  import { randomUUID } from "node:crypto";
75
75
 
@@ -1,4 +1,4 @@
1
- import { ct as loadSKYKOIPlugins } from "./reply-kg3drq1N.js";
1
+ import { ct as loadSKYKOIPlugins } from "./reply-DSumKtIF.js";
2
2
  import { t as createSubsystemLogger } from "./subsystem-hATE68va.js";
3
3
  import { T as resolveDefaultKoiWorkspaceDir, l as resolveKoiWorkspaceDir, r as resolveDefaultKoiId } from "./koi-scope-7GA83nWp.js";
4
4
  import { o as loadConfig } from "./config-BFoj5wyy.js";
@@ -1,6 +1,6 @@
1
1
  import { h as resolveUserPath } from "./utils-D019Z2NU.js";
2
2
  import { n as discoverSKYKOIPlugins, r as loadPluginManifest } from "./manifest-registry-DEGu_o5t.js";
3
- import { i as resolvePluginInstallDir, n as installPluginFromNpmSpec, t as recordPluginInstall } from "./installs-CgF6acAX.js";
3
+ import { i as resolvePluginInstallDir, n as installPluginFromNpmSpec, t as recordPluginInstall } from "./installs-4hpnrKis.js";
4
4
  import fs from "node:fs/promises";
5
5
 
6
6
  //#region src/plugins/update.ts
@@ -1,5 +1,5 @@
1
1
  import "./pi-embedded-helpers-VJ9hOBTv.js";
2
- import "./reply-kg3drq1N.js";
2
+ import "./reply-DSumKtIF.js";
3
3
  import { s as defaultRuntime } from "./subsystem-hATE68va.js";
4
4
  import "./paths-VdmjGGyc.js";
5
5
  import { r as theme } from "./theme-C5EwWDWE.js";
@@ -69,16 +69,16 @@ import "./control-service-Bbl6R2bi.js";
69
69
  import { o as trimLogTail } from "./restart-sentinel-Cu-Tbnik.js";
70
70
  import "./channel-selection-Cd-vguDM.js";
71
71
  import "./event-log-BJRHlOn8.js";
72
- import "./deps-bxV4Fhqd.js";
72
+ import "./deps-CSWkGu4k.js";
73
73
  import "./tailscale-BO36kRfh.js";
74
74
  import { r as parseSemver } from "./runtime-guard-C80qkv4W.js";
75
75
  import "./logging-1Q_KlUsW.js";
76
76
  import "./note-DRoVRuAi.js";
77
77
  import "./plugin-auto-enable-Cg3LRidd.js";
78
- import "./archive-lc4aTrME.js";
78
+ import "./archive-B3XH4jO2.js";
79
79
  import "./skill-scanner-CBHxr1An.js";
80
- import "./installs-CgF6acAX.js";
81
- import "./health-format-HJ49Tlyk.js";
80
+ import "./installs-4hpnrKis.js";
81
+ import "./health-format-Dfp0af-Y.js";
82
82
  import { _ as resolveEffectiveUpdateChannel, a as globalInstallArgs, c as compareSemverStrings, d as resolveNpmChannelTag, f as DEFAULT_GIT_CHANNEL, g as normalizeUpdateChannel, h as formatUpdateChannelLabel, i as detectGlobalInstallManagerForRoot, m as channelToNpmTag, n as cleanupGlobalRenameDirs, o as resolveGlobalPackageRoot, p as DEFAULT_PACKAGE_CHANNEL, r as detectGlobalInstallManagerByPresence, s as checkUpdateStatus, t as runGatewayUpdate, u as fetchNpmTagVersion } from "./update-runner-odTAl-uh.js";
83
83
  import "./auth-Vh115fQN.js";
84
84
  import { t as renderTable } from "./table-B3RHVa0g.js";
@@ -87,19 +87,19 @@ import "./service-BGkVTESM.js";
87
87
  import "./systemd-BzTSelz8.js";
88
88
  import "./diagnostics-CFV2YxpG.js";
89
89
  import "./channels-status-issues-BLygTpUh.js";
90
- import { a as formatUpdateOneLiner, i as formatUpdateAvailableHint, r as ensureCompletionCacheExists, s as resolveUpdateAvailability, t as checkShellCompletionStatus } from "./doctor-completion-B_DB6yKB.js";
91
- import "./register.subclis-C514WXu2.js";
90
+ import { a as formatUpdateOneLiner, i as formatUpdateAvailableHint, r as ensureCompletionCacheExists, s as resolveUpdateAvailability, t as checkShellCompletionStatus } from "./doctor-completion-D-f9ofOA.js";
91
+ import "./register.subclis-CvrwX4QH.js";
92
92
  import { t as formatHelpExamples } from "./help-format-BVBm9rU4.js";
93
93
  import "./control-ui-assets-B0N-n2rD.js";
94
94
  import "./daemon-runtime-r19-i0S0.js";
95
95
  import "./systemd-linger-Be49_NdF.js";
96
96
  import "./auth-health-DX1wRWrd.js";
97
- import { t as doctorCommand } from "./doctor-BmZlvlO9.js";
98
- import { r as installCompletion } from "./completion-cli-DvRTz9tW.js";
97
+ import { t as doctorCommand } from "./doctor-Caqykm5U.js";
98
+ import { r as installCompletion } from "./completion-cli-B1ILvdYL.js";
99
99
  import "./service-audit-C3mNLBya.js";
100
100
  import "./shared-Dn4Lf8u-.js";
101
- import { r as runDaemonRestart } from "./daemon-cli-CWGXZMX3.js";
102
- import { n as updateNpmInstalledPlugins, t as syncPluginsForUpdateChannel } from "./update-DCBf0mrX.js";
101
+ import { r as runDaemonRestart } from "./daemon-cli-BBg3lTt_.js";
102
+ import { n as updateNpmInstalledPlugins, t as syncPluginsForUpdateChannel } from "./update-B4zlM-z7.js";
103
103
  import path from "node:path";
104
104
  import os from "node:os";
105
105
  import fs from "node:fs/promises";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skykoi",
3
- "version": "2026.3.366",
3
+ "version": "2026.3.367",
4
4
  "description": "SkyKoi — Koi runtime. Multi-channel gateway CLI with RPC Koi.",
5
5
  "keywords": [
6
6
  "cli",