skykoi 2026.3.42 → 2026.3.44

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 (33) hide show
  1. package/dist/build-info.json +3 -3
  2. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  3. package/dist/cli/daemon-cli.js +1 -1
  4. package/dist/{completion-cli-B5V3OVI6.js → completion-cli-D08_KFEC.js} +4 -4
  5. package/dist/{completion-cli-D2wcH9xL.js → completion-cli-GOXuqpsH.js} +1 -1
  6. package/dist/{config-guard-NAIvHfQB.js → config-guard-B8mtnTJ7.js} +6 -6
  7. package/dist/{configure-1OzriJYe.js → configure-Bn0iTeXI.js} +1 -1
  8. package/dist/{configure-BOlIPgRO.js → configure-DSI_cBVU.js} +1 -1
  9. package/dist/{daemon-cli-D6NAlRH7.js → daemon-cli-Bzu7JusP.js} +2 -2
  10. package/dist/{daemon-cli-DC5iIhr3.js → daemon-cli-sjKWTROZ.js} +2 -2
  11. package/dist/{daemon-runtime-BayngMTF.js → daemon-runtime-B8B3b65X.js} +2 -0
  12. package/dist/{daemon-runtime-BK6HirWQ.js → daemon-runtime-rJlF_uUr.js} +2 -0
  13. package/dist/{doctor-C5msTpTy.js → doctor-Bwg42L-l.js} +3 -3
  14. package/dist/{doctor-C7TRY86F.js → doctor-DSX2g3GK.js} +3 -3
  15. package/dist/entry.js +1 -1
  16. package/dist/{gateway-cli-DqkKLgtf.js → gateway-cli-BLmtsSBI.js} +30 -10
  17. package/dist/{gateway-cli-B7S2Uq8P.js → gateway-cli-BuAfVJqc.js} +31 -11
  18. package/dist/index.js +8 -8
  19. package/dist/{node-cli-B_8S1npG.js → node-cli-B8TfhIxW.js} +1 -1
  20. package/dist/{node-cli-CdDBJspJ.js → node-cli-MxIB5qv4.js} +1 -1
  21. package/dist/{onboarding-BxDEKvJS.js → onboarding-B19x-ona.js} +4 -4
  22. package/dist/plugin-sdk/index.js +7 -7
  23. package/dist/{program-DkSPq75D.js → program-CjYnSrb4.js} +9 -9
  24. package/dist/{register.subclis-CpNxblG5.js → register.subclis-Rfip73kB.js} +5 -5
  25. package/dist/{run-main-CTkDjBWt.js → run-main-B9k3QoJ0.js} +11 -11
  26. package/dist/{service-audit-BtmGCivu.js → service-audit-CzYLyt3-.js} +1 -1
  27. package/dist/{service-audit-Cl2xpTw4.js → service-audit-ryi_ZWe_.js} +1 -1
  28. package/dist/{status-DqK2dG7C.js → status-ChCEncnF.js} +4 -4
  29. package/dist/{update-cli-DMnkb0sT.js → update-cli-BgNSvVsK.js} +6 -6
  30. package/dist/{update-cli-CXU0eiM5.js → update-cli-CGT5vSjc.js} +7 -7
  31. package/dist/{update-runner-D8AUbg1Q.js → update-runner-BJOB37fE.js} +2 -2
  32. package/dist/{update-runner-C3M37OWx.js → update-runner-CSwvnODO.js} +2 -2
  33. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "2026.3.42",
3
- "commit": "d00d4e100caafb515fa272db564bf546f2064b55",
4
- "builtAt": "2026-03-18T18:26:43.998Z"
2
+ "version": "2026.3.44",
3
+ "commit": "ed95f2668df34f31e2411bc6e59447f05cea5062",
4
+ "builtAt": "2026-03-18T19:02:10.500Z"
5
5
  }
@@ -1 +1 @@
1
- a31fb385bdc83f5ef0206dad356115555fcf5a22e549571a77759d01d0fb50c4
1
+ 32f7c71de8fae8c7834b16c1bacc1f8833be9a6f599a68b60d0f0feb650c2aae
@@ -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-D6NAlRH7.js";
2
+ export { registerDaemonCli, runDaemonInstall, runDaemonRestart, runDaemonStart, runDaemonStatus, runDaemonStop, runDaemonUninstall } from "../daemon-cli-Bzu7JusP.js";
@@ -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-DqkKLgtf.js")).registerGatewayCli(program);
127
+ (await import("./gateway-cli-BLmtsSBI.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-DC5iIhr3.js").then((n) => n.t)).registerDaemonCli(program);
134
+ (await import("./daemon-cli-sjKWTROZ.js").then((n) => n.t)).registerDaemonCli(program);
135
135
  }
136
136
  },
137
137
  {
@@ -180,7 +180,7 @@ const entries = [
180
180
  name: "node",
181
181
  description: "Node control",
182
182
  register: async (program) => {
183
- (await import("./node-cli-CdDBJspJ.js")).registerNodeCli(program);
183
+ (await import("./node-cli-MxIB5qv4.js")).registerNodeCli(program);
184
184
  }
185
185
  },
186
186
  {
@@ -282,7 +282,7 @@ const entries = [
282
282
  name: "update",
283
283
  description: "CLI update helpers",
284
284
  register: async (program) => {
285
- (await import("./update-cli-DMnkb0sT.js")).registerUpdateCli(program);
285
+ (await import("./update-cli-BgNSvVsK.js")).registerUpdateCli(program);
286
286
  }
287
287
  },
288
288
  {
@@ -1,6 +1,6 @@
1
1
  import { n as __exportAll } from "./chunk-BXK9XSlF.js";
2
2
  import { X as resolveStateDir } from "./entry.js";
3
- import { n as registerSubCliByName, t as getSubCliEntries } from "./register.subclis-CpNxblG5.js";
3
+ import { n as registerSubCliByName, t as getSubCliEntries } from "./register.subclis-Rfip73kB.js";
4
4
  import path from "node:path";
5
5
  import os from "node:os";
6
6
  import fs from "node:fs/promises";
@@ -22,11 +22,11 @@ import { a as resolveSessionTranscriptsDirForAgent, i as resolveSessionTranscrip
22
22
  import { d as loadSessionStore } from "./sandbox-BlIjYgKj.js";
23
23
  import { r as runCommandWithRuntime } from "./cli-utils-CQTTNUIq.js";
24
24
  import { n as ensurePluginRegistryLoaded, t as hasExplicitOptions } from "./command-options-CebL-fVk.js";
25
- import { l as getVerboseFlag, o as getFlagValue, r as registerSubCliCommands, s as getPositiveIntFlagValue, u as hasFlag } from "./register.subclis-CpNxblG5.js";
25
+ import { l as getVerboseFlag, o as getFlagValue, r as registerSubCliCommands, s as getPositiveIntFlagValue, u as hasFlag } from "./register.subclis-Rfip73kB.js";
26
26
  import { n as parsePositiveIntOrUndefined, t as collectOption } from "./helpers-CEFiyjZQ.js";
27
27
  import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-ClnqshEE.js";
28
28
  import { t as createDefaultDeps } from "./deps-QpJPsy_z.js";
29
- import { a as gatewayInstallErrorHint, h as assertSupportedRuntime, i as buildGatewayInstallPlan, r as isGatewayDaemonRuntime, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-BK6HirWQ.js";
29
+ import { a as gatewayInstallErrorHint, h as assertSupportedRuntime, i as buildGatewayInstallPlan, r as isGatewayDaemonRuntime, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-rJlF_uUr.js";
30
30
  import { t as resolveGatewayService } from "./service-DV05Mtg_.js";
31
31
  import { r as isSystemdUserServiceAvailable } from "./systemd-DQvm8tRB.js";
32
32
  import { t as renderTable } from "./table-Kzsd53ks.js";
@@ -34,12 +34,12 @@ import { l as healthCommand } from "./health-format-BOsDk3CA.js";
34
34
  import { d as applyAuthChoice, f as applyOpenAIConfig, h as promptAuthChoiceGrouped, m as applyGoogleGeminiModelDefault, p as upsertSharedEnvVar, u as warnIfModelConfigLooksOff } from "./onboard-skills-DxXv_BdP.js";
35
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-DXz3a3E2.js";
36
36
  import { n as logConfigUpdated, t as formatConfigPath } from "./logging-BABn73ug.js";
37
- import { a as findAgentEntryIndex, c as pruneAgentConfig, d as parseIdentityMarkdown, f as runOnboardingWizard, i as buildAgentSummaries, l as identityHasValues, o as listAgentEntries, r as applyAgentConfig, s as loadAgentIdentity, t as statusCommand } from "./status-DqK2dG7C.js";
37
+ import { a as findAgentEntryIndex, c as pruneAgentConfig, d as parseIdentityMarkdown, f as runOnboardingWizard, i as buildAgentSummaries, l as identityHasValues, o as listAgentEntries, r as applyAgentConfig, s as loadAgentIdentity, t as statusCommand } from "./status-ChCEncnF.js";
38
38
  import { a as createOutboundSendDeps, n as resolveSessionKeyForRequest, t as agentCommand } from "./agent-1yUpWtsp.js";
39
39
  import { t as formatHelpExamples } from "./help-format-CocQBHml.js";
40
- import { i as CONFIGURE_WIZARD_SECTIONS, n as configureCommand, r as configureCommandWithSections } from "./configure-BOlIPgRO.js";
40
+ import { i as CONFIGURE_WIZARD_SECTIONS, n as configureCommand, r as configureCommandWithSections } from "./configure-DSI_cBVU.js";
41
41
  import { n as ensureSystemdUserLingerNonInteractive } from "./systemd-linger-DcXZ2d0V.js";
42
- import { n as loadAndMaybeMigrateDoctorConfig, t as doctorCommand } from "./doctor-C5msTpTy.js";
42
+ import { n as loadAndMaybeMigrateDoctorConfig, t as doctorCommand } from "./doctor-Bwg42L-l.js";
43
43
  import path from "node:path";
44
44
  import fs from "node:fs";
45
45
  import JSON5 from "json5";
@@ -2790,7 +2790,7 @@ async function loadValidConfig() {
2790
2790
  }
2791
2791
  function registerConfigCli(program) {
2792
2792
  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) => {
2793
- const { CONFIGURE_WIZARD_SECTIONS, configureCommand, configureCommandWithSections } = await import("./configure-BOlIPgRO.js").then((n) => n.t);
2793
+ const { CONFIGURE_WIZARD_SECTIONS, configureCommand, configureCommandWithSections } = await import("./configure-DSI_cBVU.js").then((n) => n.t);
2794
2794
  const sections = Array.isArray(opts.section) ? opts.section.map((value) => typeof value === "string" ? value.trim() : "").filter(Boolean) : [];
2795
2795
  if (sections.length === 0) {
2796
2796
  await configureCommand(defaultRuntime);
@@ -10,7 +10,7 @@ import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-Dy91ZC
10
10
  import { n as withProgress } from "./progress-RqIRAMUO.js";
11
11
  import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint } from "./prompt-style-CnGSEFh0.js";
12
12
  import { a as findTailscaleBinary } from "./tailscale-C9oNI3cv.js";
13
- import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-BayngMTF.js";
13
+ import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-B8B3b65X.js";
14
14
  import { n as logConfigUpdated } from "./logging-CLxV9Na7.js";
15
15
  import { t as note$1 } from "./note-CrCSjpk3.js";
16
16
  import { t as WizardCancelledError } from "./prompts-FbZThK8w.js";
@@ -13,7 +13,7 @@ import { t as note$1 } from "./note-YmyPRD-3.js";
13
13
  import { t as WizardCancelledError } from "./prompts-Bt9fwsg2.js";
14
14
  import { t as createClackPrompter } from "./clack-prompter-ysYCwwA-.js";
15
15
  import { n as setupChannels, t as noteChannelStatus } from "./onboard-channels-CsDfqDWQ.js";
16
- import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-BK6HirWQ.js";
16
+ import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-rJlF_uUr.js";
17
17
  import { t as resolveGatewayService } from "./service-DV05Mtg_.js";
18
18
  import { l as healthCommand, n as ensureControlUiAssetsBuilt, t as formatHealthCheckFailure } from "./health-format-BOsDk3CA.js";
19
19
  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-DxXv_BdP.js";
@@ -14,12 +14,12 @@ import { n as withProgress } from "./progress-BUjAoXj8.js";
14
14
  import { n as isWSLEnv, t as isWSL } from "./wsl-CGTJDuGq.js";
15
15
  import { d as resolveGatewaySystemdServiceName, l as resolveGatewayLaunchAgentLabel } from "./constants-CXZus5hc.js";
16
16
  import { t as createDefaultDeps } from "./deps-QpJPsy_z.js";
17
- import { i as buildGatewayInstallPlan, r as isGatewayDaemonRuntime, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-BK6HirWQ.js";
17
+ import { i as buildGatewayInstallPlan, r as isGatewayDaemonRuntime, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-rJlF_uUr.js";
18
18
  import { o as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-DV05Mtg_.js";
19
19
  import { r as isSystemdUserServiceAvailable } from "./systemd-DQvm8tRB.js";
20
20
  import { a as parsePortFromArgs, c as renderRuntimeHints, d as createNullWriter, f as emitDaemonActionJson, i as parsePort, l as safeDaemonEnv, n as formatRuntimeStatus, o as pickProbeHostForBind, r as normalizeListenerAddress, s as renderGatewayServiceStartHints, t as filterDaemonEnv, u as buildDaemonServiceSnapshot } from "./shared-B_UA5GEy.js";
21
21
  import { n as renderSystemdUnavailableHints, t as isSystemdUnavailableDetail } from "./systemd-hints-DiosV8jd.js";
22
- import { a as renderGatewayServiceCleanupHints, i as findExtraGatewayServices, n as auditGatewayServiceConfig, o as readLastGatewayErrorLine } from "./service-audit-Cl2xpTw4.js";
22
+ import { a as renderGatewayServiceCleanupHints, i as findExtraGatewayServices, n as auditGatewayServiceConfig, o as readLastGatewayErrorLine } from "./service-audit-ryi_ZWe_.js";
23
23
 
24
24
  //#region src/cli/daemon-cli/install.ts
25
25
  async function runDaemonInstall(opts) {
@@ -15,10 +15,10 @@ import { t as formatDocsLink } from "./links-BYUF0_Hp.js";
15
15
  import { n as withProgress } from "./progress-RqIRAMUO.js";
16
16
  import { d as resolveGatewaySystemdServiceName, l as resolveGatewayLaunchAgentLabel } from "./constants-BApFvR9k.js";
17
17
  import { t as createDefaultDeps } from "./deps-Bh3TqNB-.js";
18
- import { i as buildGatewayInstallPlan, r as isGatewayDaemonRuntime, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-BayngMTF.js";
18
+ import { i as buildGatewayInstallPlan, r as isGatewayDaemonRuntime, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-B8B3b65X.js";
19
19
  import { o as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-BKQOHHW6.js";
20
20
  import { r as isSystemdUserServiceAvailable } from "./systemd-DyrxDxSB.js";
21
- import { a as renderGatewayServiceCleanupHints, i as findExtraGatewayServices, n as auditGatewayServiceConfig, o as readLastGatewayErrorLine } from "./service-audit-BtmGCivu.js";
21
+ import { a as renderGatewayServiceCleanupHints, i as findExtraGatewayServices, n as auditGatewayServiceConfig, o as readLastGatewayErrorLine } from "./service-audit-CzYLyt3-.js";
22
22
  import { n as renderSystemdUnavailableHints, t as isSystemdUnavailableDetail } from "./systemd-hints-BfzPPx3q.js";
23
23
  import { a as parsePortFromArgs, c as renderRuntimeHints, d as createNullWriter, f as emitDaemonActionJson, i as parsePort, l as safeDaemonEnv, n as formatRuntimeStatus, o as pickProbeHostForBind, r as normalizeListenerAddress, s as renderGatewayServiceStartHints, t as filterDaemonEnv, u as buildDaemonServiceSnapshot } from "./shared-kMTQ9UT0.js";
24
24
 
@@ -432,6 +432,8 @@ function buildServiceEnvironment(params) {
432
432
  SKYKOI_PROFILE: profile,
433
433
  SKYKOI_STATE_DIR: stateDir,
434
434
  SKYKOI_CONFIG_PATH: configPath,
435
+ SKYKOI_HOST: env.SKYKOI_HOST,
436
+ SKYKOI_PORT: env.SKYKOI_PORT,
435
437
  SKYKOI_GATEWAY_PORT: String(port),
436
438
  SKYKOI_GATEWAY_TOKEN: token,
437
439
  SKYKOI_LAUNCHD_LABEL: resolvedLaunchdLabel,
@@ -432,6 +432,8 @@ function buildServiceEnvironment(params) {
432
432
  SKYKOI_PROFILE: profile,
433
433
  SKYKOI_STATE_DIR: stateDir,
434
434
  SKYKOI_CONFIG_PATH: configPath,
435
+ SKYKOI_HOST: env.SKYKOI_HOST,
436
+ SKYKOI_PORT: env.SKYKOI_PORT,
435
437
  SKYKOI_GATEWAY_PORT: String(port),
436
438
  SKYKOI_GATEWAY_TOKEN: token,
437
439
  SKYKOI_LAUNCHD_LABEL: resolvedLaunchdLabel,
@@ -23,13 +23,13 @@ import { n as isWSLEnv, t as isWSL } from "./wsl-CGTJDuGq.js";
23
23
  import { d as resolveGatewaySystemdServiceName, f as resolveGatewayWindowsTaskName, l as resolveGatewayLaunchAgentLabel, m as resolveNodeLaunchAgentLabel } from "./constants-CXZus5hc.js";
24
24
  import { i as readChannelAllowFromStore } from "./pairing-store-D5pH_THY.js";
25
25
  import { t as collectChannelStatusIssues } from "./channels-status-issues-Cx4DwKM8.js";
26
- 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-BK6HirWQ.js";
26
+ 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-rJlF_uUr.js";
27
27
  import { a as repairLaunchAgentBootstrap, i as launchAgentPlistExists, n as isLaunchAgentListed, o as resolveGatewayLogPaths, r as isLaunchAgentLoaded, t as resolveGatewayService } from "./service-DV05Mtg_.js";
28
28
  import { r as isSystemdUserServiceAvailable } from "./systemd-DQvm8tRB.js";
29
29
  import { n as renderSystemdUnavailableHints, t as isSystemdUnavailableDetail } from "./systemd-hints-DiosV8jd.js";
30
- import { a as renderGatewayServiceCleanupHints, i as findExtraGatewayServices, n as auditGatewayServiceConfig, o as readLastGatewayErrorLine, r as needsNodeRuntimeMigration, t as SERVICE_AUDIT_CODES } from "./service-audit-Cl2xpTw4.js";
30
+ import { a as renderGatewayServiceCleanupHints, i as findExtraGatewayServices, n as auditGatewayServiceConfig, o as readLastGatewayErrorLine, r as needsNodeRuntimeMigration, t as SERVICE_AUDIT_CODES } from "./service-audit-ryi_ZWe_.js";
31
31
  import { i as resolveControlUiDistIndexPathForRoot, l as healthCommand, r as resolveControlUiDistIndexHealth, t as formatHealthCheckFailure } from "./health-format-BOsDk3CA.js";
32
- import { f as doctorShellCompletion, t as runGatewayUpdate } from "./update-runner-D8AUbg1Q.js";
32
+ import { f as doctorShellCompletion, t as runGatewayUpdate } from "./update-runner-BJOB37fE.js";
33
33
  import { n as logConfigUpdated } from "./logging-BABn73ug.js";
34
34
  import { t as buildWorkspaceSkillStatus } from "./skills-status-C7vawdcf.js";
35
35
  import { n as buildAuthHealthSummary, r as formatRemainingShort, t as DEFAULT_OAUTH_WARN_MS } from "./auth-health-CYc6Lu9i.js";
@@ -20,18 +20,18 @@ import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-DA_
20
20
  import { i as readChannelAllowFromStore } from "./pairing-store-DRbuKDlg.js";
21
21
  import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint } from "./prompt-style-CnGSEFh0.js";
22
22
  import { d as resolveGatewaySystemdServiceName, f as resolveGatewayWindowsTaskName, l as resolveGatewayLaunchAgentLabel, m as resolveNodeLaunchAgentLabel } from "./constants-BApFvR9k.js";
23
- 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-BayngMTF.js";
23
+ 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-B8B3b65X.js";
24
24
  import { t as resolveChannelDefaultAccountId } from "./helpers-yjIEMzi8.js";
25
25
  import { n as logConfigUpdated } from "./logging-CLxV9Na7.js";
26
26
  import { t as note$1 } from "./note-CrCSjpk3.js";
27
27
  import { t as applyPluginAutoEnable } from "./plugin-auto-enable-KzIwJe0A.js";
28
28
  import { i as resolveControlUiDistIndexPathForRoot, l as healthCommand, r as resolveControlUiDistIndexHealth, t as formatHealthCheckFailure } from "./health-format-DAVONZbr.js";
29
- import { c as doctorShellCompletion, t as runGatewayUpdate } from "./update-runner-C3M37OWx.js";
29
+ import { c as doctorShellCompletion, t as runGatewayUpdate } from "./update-runner-CSwvnODO.js";
30
30
  import { i as resolveGatewayAuth } from "./auth-DSrYkGU-.js";
31
31
  import { t as buildWorkspaceSkillStatus } from "./skills-status-BVaiHzFh.js";
32
32
  import { a as repairLaunchAgentBootstrap, i as launchAgentPlistExists, n as isLaunchAgentListed, o as resolveGatewayLogPaths, r as isLaunchAgentLoaded, t as resolveGatewayService } from "./service-BKQOHHW6.js";
33
33
  import { r as isSystemdUserServiceAvailable } from "./systemd-DyrxDxSB.js";
34
- import { a as renderGatewayServiceCleanupHints, i as findExtraGatewayServices, n as auditGatewayServiceConfig, o as readLastGatewayErrorLine, r as needsNodeRuntimeMigration, t as SERVICE_AUDIT_CODES } from "./service-audit-BtmGCivu.js";
34
+ import { a as renderGatewayServiceCleanupHints, i as findExtraGatewayServices, n as auditGatewayServiceConfig, o as readLastGatewayErrorLine, r as needsNodeRuntimeMigration, t as SERVICE_AUDIT_CODES } from "./service-audit-CzYLyt3-.js";
35
35
  import { t as collectChannelStatusIssues } from "./channels-status-issues-CbB072Pz.js";
36
36
  import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-C5NE1TWa.js";
37
37
  import { n as buildAuthHealthSummary, r as formatRemainingShort, t as DEFAULT_OAUTH_WARN_MS } from "./auth-health-BJ1smAlv.js";
package/dist/entry.js CHANGED
@@ -1334,7 +1334,7 @@ if (!ensureExperimentalWarningSuppressed()) {
1334
1334
  applyCliProfileEnv({ profile: parsed.profile });
1335
1335
  process$1.argv = parsed.argv;
1336
1336
  }
1337
- import("./run-main-CTkDjBWt.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
1337
+ import("./run-main-B9k3QoJ0.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
1338
1338
  console.error("[SKYKOI] Failed to start CLI:", error instanceof Error ? error.stack ?? error.message : error);
1339
1339
  process$1.exitCode = 1;
1340
1340
  });
@@ -54,8 +54,8 @@ import { n as resolveMessageChannelSelection } from "./channel-selection-DJan6Au
54
54
  import { n as createOutboundSendDeps, t as createDefaultDeps } from "./deps-Bh3TqNB-.js";
55
55
  import { i as enableTailscaleServe, n as disableTailscaleServe, o as getTailnetHostname, r as enableTailscaleFunnel, t as disableTailscaleFunnel } from "./tailscale-C9oNI3cv.js";
56
56
  import { t as ensureSKYKOICliOnPath } from "./path-env-BnUKFCos.js";
57
- import "./daemon-runtime-BayngMTF.js";
58
- import { c as loadAgentIdentity, d as loadAgentIdentityFromWorkspace, i as applyAgentConfig, l as pruneAgentConfig, o as findAgentEntryIndex, p as forceFreePortAndWait, r as getStatusSummary, s as listAgentEntries, t as runOnboardingWizard } from "./onboarding-BxDEKvJS.js";
57
+ import "./daemon-runtime-B8B3b65X.js";
58
+ import { c as loadAgentIdentity, d as loadAgentIdentityFromWorkspace, i as applyAgentConfig, l as pruneAgentConfig, o as findAgentEntryIndex, p as forceFreePortAndWait, r as getStatusSummary, s as listAgentEntries, t as runOnboardingWizard } from "./onboarding-B19x-ona.js";
59
59
  import { t as resolveChannelDefaultAccountId } from "./helpers-yjIEMzi8.js";
60
60
  import "./logging-CLxV9Na7.js";
61
61
  import "./note-CrCSjpk3.js";
@@ -68,17 +68,17 @@ import "./archive-Dy3Ezb-5.js";
68
68
  import "./skill-scanner-BoGjHXUZ.js";
69
69
  import "./installs-ChtZhX65.js";
70
70
  import { a as resolveControlUiRootOverrideSync, c as getHealthSnapshot, d as runHeartbeatOnce, f as setHeartbeatsEnabled, n as ensureControlUiAssetsBuilt, o as resolveControlUiRootSync, p as startHeartbeatRunner, s as formatHealthChannelLines } from "./health-format-DAVONZbr.js";
71
- import { S as normalizeUpdateChannel, _ as resolveNpmChannelTag, h as compareSemverStrings, m as checkUpdateStatus, t as runGatewayUpdate, y as DEFAULT_PACKAGE_CHANNEL } from "./update-runner-C3M37OWx.js";
71
+ import { S as normalizeUpdateChannel, _ as resolveNpmChannelTag, h as compareSemverStrings, m as checkUpdateStatus, t as runGatewayUpdate, y as DEFAULT_PACKAGE_CHANNEL } from "./update-runner-CSwvnODO.js";
72
72
  import { i as resolveGatewayAuth, n as authorizeGatewayConnect, r as isLocalDirectRequest, t as assertGatewayAuthConfigured } from "./auth-DSrYkGU-.js";
73
73
  import { i as probeGateway } from "./audit-CQN8OO1t.js";
74
74
  import "./table-BOthYYmp.js";
75
75
  import { t as buildWorkspaceSkillStatus } from "./skills-status-BVaiHzFh.js";
76
76
  import "./service-BKQOHHW6.js";
77
77
  import { p as resolveGatewayStateDir } from "./systemd-DyrxDxSB.js";
78
- import "./service-audit-BtmGCivu.js";
78
+ import "./service-audit-CzYLyt3-.js";
79
79
  import "./node-service-DPiAKtp-.js";
80
80
  import "./channels-status-issues-CbB072Pz.js";
81
- import "./completion-cli-B5V3OVI6.js";
81
+ import "./completion-cli-D08_KFEC.js";
82
82
  import { a as createOutboundSendDeps$1, i as resolveAgentOutboundTarget, r as resolveAgentDeliveryPlan, t as agentCommand } from "./agent-sD_-VQQ5.js";
83
83
  import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } from "./widearea-dns-Cr9yVcsB.js";
84
84
  import { n as discoverGatewayBeacons } from "./bonjour-discovery-DijK3IkC.js";
@@ -86,7 +86,7 @@ import { i as shouldIncludeHook, n as loadWorkspaceHookEntries, r as resolveHook
86
86
  import "./tui-BphTCmkN.js";
87
87
  import { t as buildChannelAccountSnapshot } from "./status-CPksdbHx.js";
88
88
  import "./shared-kMTQ9UT0.js";
89
- import { a as runDaemonStop, i as runDaemonStart, n as runDaemonStatus, o as runDaemonUninstall, r as runDaemonRestart, s as runDaemonInstall } from "./daemon-cli-DC5iIhr3.js";
89
+ import { a as runDaemonStop, i as runDaemonStart, n as runDaemonStatus, o as runDaemonUninstall, r as runDaemonRestart, s as runDaemonInstall } from "./daemon-cli-sjKWTROZ.js";
90
90
  import { a as toOptionString, i as parsePort$1, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-BDQqnPZR.js";
91
91
  import { i as setGatewayWsLogStyle, n as logWs, r as summarizeAgentEventForWsLog, t as formatForLog } from "./ws-log-Drx2HJgY.js";
92
92
  import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-DJ8PjMc3.js";
@@ -16921,14 +16921,34 @@ async function startGatewaySidecars(params) {
16921
16921
  scheduleRestartSentinelWake({ deps: params.deps });
16922
16922
  }, 750);
16923
16923
  if (!isTruthyEnvValue(process.env.SKYKOI_SKIP_NODE_HOST)) {
16924
- const gwPort = Number(process.env.SKYKOI_GATEWAY_PORT) || 18789;
16924
+ const remoteHost = process.env.SKYKOI_HOST || params.cfg.gateway?.remote?.url;
16925
+ const remotePort = Number(process.env.SKYKOI_PORT) || 18789;
16926
+ let nodeGatewayHost;
16927
+ let nodeGatewayPort;
16928
+ let nodeGatewayTls = false;
16929
+ if (remoteHost) {
16930
+ try {
16931
+ const parsed = new URL(remoteHost.replace(/^ws:/, "http:").replace(/^wss:/, "https:"));
16932
+ nodeGatewayHost = parsed.hostname;
16933
+ nodeGatewayPort = parsed.port ? Number(parsed.port) : remotePort;
16934
+ nodeGatewayTls = remoteHost.startsWith("wss:");
16935
+ } catch {
16936
+ nodeGatewayHost = remoteHost;
16937
+ nodeGatewayPort = remotePort;
16938
+ }
16939
+ params.log.warn(`embedded node host connecting to cloud gateway ${nodeGatewayHost}:${nodeGatewayPort}`);
16940
+ } else {
16941
+ nodeGatewayHost = "127.0.0.1";
16942
+ nodeGatewayPort = Number(process.env.SKYKOI_GATEWAY_PORT) || 18789;
16943
+ params.log.warn(`no cloud gateway configured (SKYKOI_HOST / gateway.remote.url), node host connecting to localhost`);
16944
+ }
16925
16945
  (async () => {
16926
16946
  try {
16927
16947
  await new Promise((r) => setTimeout(r, 2e3));
16928
16948
  await runNodeHost({
16929
- gatewayHost: "127.0.0.1",
16930
- gatewayPort: gwPort,
16931
- gatewayTls: false,
16949
+ gatewayHost: nodeGatewayHost,
16950
+ gatewayPort: nodeGatewayPort,
16951
+ gatewayTls: nodeGatewayTls,
16932
16952
  displayName: os.hostname()
16933
16953
  });
16934
16954
  } catch (err) {
@@ -61,27 +61,27 @@ import { r as runCommandWithRuntime } from "./cli-utils-CQTTNUIq.js";
61
61
  import "./pairing-labels-DxpfDscO.js";
62
62
  import { t as buildChannelAccountSnapshot } from "./status-t7_XFd6z.js";
63
63
  import "./channels-status-issues-Cx4DwKM8.js";
64
- import "./register.subclis-CpNxblG5.js";
65
- import "./completion-cli-D2wcH9xL.js";
64
+ import "./register.subclis-Rfip73kB.js";
65
+ import "./completion-cli-GOXuqpsH.js";
66
66
  import { n as createOutboundSendDeps, t as createDefaultDeps } from "./deps-QpJPsy_z.js";
67
- import "./daemon-runtime-BK6HirWQ.js";
67
+ import "./daemon-runtime-rJlF_uUr.js";
68
68
  import "./service-DV05Mtg_.js";
69
69
  import { p as resolveGatewayStateDir } from "./systemd-DQvm8tRB.js";
70
70
  import "./shared-B_UA5GEy.js";
71
- import { a as runDaemonStop, i as runDaemonStart, n as runDaemonStatus, o as runDaemonUninstall, r as runDaemonRestart, s as runDaemonInstall } from "./daemon-cli-D6NAlRH7.js";
72
- import "./service-audit-Cl2xpTw4.js";
71
+ import { a as runDaemonStop, i as runDaemonStart, n as runDaemonStatus, o as runDaemonUninstall, r as runDaemonRestart, s as runDaemonInstall } from "./daemon-cli-Bzu7JusP.js";
72
+ import "./service-audit-ryi_ZWe_.js";
73
73
  import "./table-Kzsd53ks.js";
74
74
  import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } from "./widearea-dns-DHSIgmLp.js";
75
75
  import { a as toOptionString, i as parsePort$1, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-D6pQLf6V.js";
76
76
  import { i as probeGateway } from "./audit-Cby0wP0x.js";
77
77
  import { n as discoverGatewayBeacons } from "./bonjour-discovery-DCQ4I_sx.js";
78
78
  import { a as resolveControlUiRootOverrideSync, c as getHealthSnapshot, d as runHeartbeatOnce, f as setHeartbeatsEnabled, n as ensureControlUiAssetsBuilt, o as resolveControlUiRootSync, p as startHeartbeatRunner, s as formatHealthChannelLines } from "./health-format-BOsDk3CA.js";
79
- import { S as normalizeUpdateChannel, _ as resolveNpmChannelTag, h as compareSemverStrings, m as checkUpdateStatus, t as runGatewayUpdate, y as DEFAULT_PACKAGE_CHANNEL } from "./update-runner-D8AUbg1Q.js";
79
+ import { S as normalizeUpdateChannel, _ as resolveNpmChannelTag, h as compareSemverStrings, m as checkUpdateStatus, t as runGatewayUpdate, y as DEFAULT_PACKAGE_CHANNEL } from "./update-runner-BJOB37fE.js";
80
80
  import { n as installSkill } from "./onboard-skills-DxXv_BdP.js";
81
81
  import "./github-copilot-auth-DXz3a3E2.js";
82
82
  import "./logging-BABn73ug.js";
83
83
  import { i as shouldIncludeHook, n as loadWorkspaceHookEntries, r as resolveHookConfig } from "./hooks-status-k4MUOGQH.js";
84
- import { a as findAgentEntryIndex, c as pruneAgentConfig, f as runOnboardingWizard, n as getStatusSummary, o as listAgentEntries, r as applyAgentConfig, s as loadAgentIdentity, u as loadAgentIdentityFromWorkspace } from "./status-DqK2dG7C.js";
84
+ import { a as findAgentEntryIndex, c as pruneAgentConfig, f as runOnboardingWizard, n as getStatusSummary, o as listAgentEntries, r as applyAgentConfig, s as loadAgentIdentity, u as loadAgentIdentityFromWorkspace } from "./status-ChCEncnF.js";
85
85
  import { t as buildWorkspaceSkillStatus } from "./skills-status-C7vawdcf.js";
86
86
  import "./tui-DmyiEmq0.js";
87
87
  import { i as setGatewayWsLogStyle, n as logWs, r as summarizeAgentEventForWsLog, t as formatForLog } from "./ws-log-ChBzRVLy.js";
@@ -16920,14 +16920,34 @@ async function startGatewaySidecars(params) {
16920
16920
  scheduleRestartSentinelWake({ deps: params.deps });
16921
16921
  }, 750);
16922
16922
  if (!isTruthyEnvValue(process.env.SKYKOI_SKIP_NODE_HOST)) {
16923
- const gwPort = Number(process.env.SKYKOI_GATEWAY_PORT) || 18789;
16923
+ const remoteHost = process.env.SKYKOI_HOST || params.cfg.gateway?.remote?.url;
16924
+ const remotePort = Number(process.env.SKYKOI_PORT) || 18789;
16925
+ let nodeGatewayHost;
16926
+ let nodeGatewayPort;
16927
+ let nodeGatewayTls = false;
16928
+ if (remoteHost) {
16929
+ try {
16930
+ const parsed = new URL(remoteHost.replace(/^ws:/, "http:").replace(/^wss:/, "https:"));
16931
+ nodeGatewayHost = parsed.hostname;
16932
+ nodeGatewayPort = parsed.port ? Number(parsed.port) : remotePort;
16933
+ nodeGatewayTls = remoteHost.startsWith("wss:");
16934
+ } catch {
16935
+ nodeGatewayHost = remoteHost;
16936
+ nodeGatewayPort = remotePort;
16937
+ }
16938
+ params.log.warn(`embedded node host connecting to cloud gateway ${nodeGatewayHost}:${nodeGatewayPort}`);
16939
+ } else {
16940
+ nodeGatewayHost = "127.0.0.1";
16941
+ nodeGatewayPort = Number(process.env.SKYKOI_GATEWAY_PORT) || 18789;
16942
+ params.log.warn(`no cloud gateway configured (SKYKOI_HOST / gateway.remote.url), node host connecting to localhost`);
16943
+ }
16924
16944
  (async () => {
16925
16945
  try {
16926
16946
  await new Promise((r) => setTimeout(r, 2e3));
16927
16947
  await runNodeHost({
16928
- gatewayHost: "127.0.0.1",
16929
- gatewayPort: gwPort,
16930
- gatewayTls: false,
16948
+ gatewayHost: nodeGatewayHost,
16949
+ gatewayPort: nodeGatewayPort,
16950
+ gatewayTls: nodeGatewayTls,
16931
16951
  displayName: os.hostname()
16932
16952
  });
16933
16953
  } catch (err) {
package/dist/index.js CHANGED
@@ -50,8 +50,8 @@ import { t as createDefaultDeps } from "./deps-Bh3TqNB-.js";
50
50
  import { l as ensureBinary, u as promptYesNo } from "./tailscale-C9oNI3cv.js";
51
51
  import { t as isMainModule } from "./is-main-B6kCyqsv.js";
52
52
  import { t as ensureSKYKOICliOnPath } from "./path-env-BnUKFCos.js";
53
- import { a as gatewayInstallErrorHint, g as assertSupportedRuntime, i as buildGatewayInstallPlan, r as isGatewayDaemonRuntime, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-BayngMTF.js";
54
- import { a as buildAgentSummaries, c as loadAgentIdentity, f as parseIdentityMarkdown, i as applyAgentConfig, l as pruneAgentConfig, n as statusCommand, o as findAgentEntryIndex, s as listAgentEntries, t as runOnboardingWizard, u as identityHasValues } from "./onboarding-BxDEKvJS.js";
53
+ import { a as gatewayInstallErrorHint, g as assertSupportedRuntime, i as buildGatewayInstallPlan, r as isGatewayDaemonRuntime, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-B8B3b65X.js";
54
+ import { a as buildAgentSummaries, c as loadAgentIdentity, f as parseIdentityMarkdown, i as applyAgentConfig, l as pruneAgentConfig, n as statusCommand, o as findAgentEntryIndex, s as listAgentEntries, t as runOnboardingWizard, u as identityHasValues } from "./onboarding-B19x-ona.js";
55
55
  import { t as resolveChannelDefaultAccountId } from "./helpers-yjIEMzi8.js";
56
56
  import { n as logConfigUpdated, t as formatConfigPath } from "./logging-CLxV9Na7.js";
57
57
  import "./note-CrCSjpk3.js";
@@ -65,28 +65,28 @@ import "./archive-Dy3Ezb-5.js";
65
65
  import "./skill-scanner-BoGjHXUZ.js";
66
66
  import "./installs-ChtZhX65.js";
67
67
  import { l as healthCommand } from "./health-format-DAVONZbr.js";
68
- import "./update-runner-C3M37OWx.js";
68
+ import "./update-runner-CSwvnODO.js";
69
69
  import "./auth-DSrYkGU-.js";
70
70
  import "./audit-CQN8OO1t.js";
71
71
  import { t as renderTable } from "./table-BOthYYmp.js";
72
72
  import "./skills-status-BVaiHzFh.js";
73
73
  import { t as resolveGatewayService } from "./service-BKQOHHW6.js";
74
74
  import { r as isSystemdUserServiceAvailable } from "./systemd-DyrxDxSB.js";
75
- import "./service-audit-BtmGCivu.js";
75
+ import "./service-audit-CzYLyt3-.js";
76
76
  import "./node-service-DPiAKtp-.js";
77
77
  import "./channels-status-issues-CbB072Pz.js";
78
- import { c as registerSubCliCommands, d as getPositiveIntFlagValue, f as getVerboseFlag, l as getCommandPath, m as hasHelpOrVersion, p as hasFlag, u as getFlagValue } from "./completion-cli-B5V3OVI6.js";
78
+ import { c as registerSubCliCommands, d as getPositiveIntFlagValue, f as getVerboseFlag, l as getCommandPath, m as hasHelpOrVersion, p as hasFlag, u as getFlagValue } from "./completion-cli-D08_KFEC.js";
79
79
  import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-JqYMK2zC.js";
80
80
  import { t as formatHelpExamples } from "./help-format-q-N7n7vs.js";
81
81
  import { a as createOutboundSendDeps, n as resolveSessionKeyForRequest, t as agentCommand } from "./agent-sD_-VQQ5.js";
82
82
  import { i as hasExplicitOptions, n as resolveCliChannelOptions, r as ensurePluginRegistryLoaded } from "./channel-options-nSOAfVf6.js";
83
83
  import { n as parsePositiveIntOrUndefined, t as collectOption } from "./helpers-BiyEksaK.js";
84
- import { i as CONFIGURE_WIZARD_SECTIONS, n as configureCommand, r as configureCommandWithSections } from "./configure-1OzriJYe.js";
84
+ import { i as CONFIGURE_WIZARD_SECTIONS, n as configureCommand, r as configureCommandWithSections } from "./configure-Bn0iTeXI.js";
85
85
  import { n as ensureSystemdUserLingerNonInteractive } from "./systemd-linger-C5NE1TWa.js";
86
86
  import "./widearea-dns-Cr9yVcsB.js";
87
87
  import "./bonjour-discovery-DijK3IkC.js";
88
88
  import "./auth-health-BJ1smAlv.js";
89
- import { n as loadAndMaybeMigrateDoctorConfig, t as doctorCommand } from "./doctor-C7TRY86F.js";
89
+ import { n as loadAndMaybeMigrateDoctorConfig, t as doctorCommand } from "./doctor-DSX2g3GK.js";
90
90
  import "./hooks-status-CYR4Wx26.js";
91
91
  import { i as hasEmittedCliBanner, n as emitCliBanner, r as formatCliBannerLine } from "./tui-BphTCmkN.js";
92
92
  import process$1 from "node:process";
@@ -2856,7 +2856,7 @@ async function loadValidConfig() {
2856
2856
  }
2857
2857
  function registerConfigCli(program) {
2858
2858
  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) => {
2859
- const { CONFIGURE_WIZARD_SECTIONS, configureCommand, configureCommandWithSections } = await import("./configure-1OzriJYe.js").then((n) => n.t);
2859
+ const { CONFIGURE_WIZARD_SECTIONS, configureCommand, configureCommandWithSections } = await import("./configure-Bn0iTeXI.js").then((n) => n.t);
2860
2860
  const sections = Array.isArray(opts.section) ? opts.section.map((value) => typeof value === "string" ? value.trim() : "").filter(Boolean) : [];
2861
2861
  if (sections.length === 0) {
2862
2862
  await configureCommand(defaultRuntime);
@@ -18,7 +18,7 @@ import "./logging-6RmrnEvA.js";
18
18
  import "./routes-qjmJrGBZ.js";
19
19
  import { t as isWSL } from "./wsl-CGTJDuGq.js";
20
20
  import { c as formatNodeServiceDescription, g as resolveNodeWindowsTaskName, h as resolveNodeSystemdServiceName, m as resolveNodeLaunchAgentLabel } from "./constants-CXZus5hc.js";
21
- import { _ as resolveNodeProgramArguments, d as renderSystemNodeWarning, f as resolvePreferredNodePath, o as resolveGatewayDevMode, p as resolveSystemNodeInfo, r as isGatewayDaemonRuntime, s as buildNodeServiceEnvironment, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-BK6HirWQ.js";
21
+ import { _ as resolveNodeProgramArguments, d as renderSystemNodeWarning, f as resolvePreferredNodePath, o as resolveGatewayDevMode, p as resolveSystemNodeInfo, r as isGatewayDaemonRuntime, s as buildNodeServiceEnvironment, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-rJlF_uUr.js";
22
22
  import { o as resolveGatewayLogPaths } from "./service-DV05Mtg_.js";
23
23
  import { r as isSystemdUserServiceAvailable } from "./systemd-DQvm8tRB.js";
24
24
  import { d as createNullWriter, f as emitDaemonActionJson, i as parsePort, n as formatRuntimeStatus, u as buildDaemonServiceSnapshot } from "./shared-B_UA5GEy.js";
@@ -21,7 +21,7 @@ import { t as formatDocsLink } from "./links-BYUF0_Hp.js";
21
21
  import "./control-service-Bldt0O2x.js";
22
22
  import { c as formatNodeServiceDescription, g as resolveNodeWindowsTaskName, h as resolveNodeSystemdServiceName, m as resolveNodeLaunchAgentLabel } from "./constants-BApFvR9k.js";
23
23
  import "./path-env-BnUKFCos.js";
24
- import { d as renderSystemNodeWarning, f as resolvePreferredNodePath, h as resolveNodeProgramArguments, o as resolveGatewayDevMode, p as resolveSystemNodeInfo, r as isGatewayDaemonRuntime, s as buildNodeServiceEnvironment, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-BayngMTF.js";
24
+ import { d as renderSystemNodeWarning, f as resolvePreferredNodePath, h as resolveNodeProgramArguments, o as resolveGatewayDevMode, p as resolveSystemNodeInfo, r as isGatewayDaemonRuntime, s as buildNodeServiceEnvironment, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-B8B3b65X.js";
25
25
  import { o as resolveGatewayLogPaths } from "./service-BKQOHHW6.js";
26
26
  import { r as isSystemdUserServiceAvailable } from "./systemd-DyrxDxSB.js";
27
27
  import { t as resolveNodeService } from "./node-service-DPiAKtp-.js";
@@ -17,24 +17,24 @@ import { t as buildChannelSummary } from "./channel-summary-i03hulmw.js";
17
17
  import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-DA_VivF7.js";
18
18
  import { n as withProgress } from "./progress-RqIRAMUO.js";
19
19
  import { a as findTailscaleBinary, o as getTailnetHostname, s as readTailscaleStatusJson } from "./tailscale-C9oNI3cv.js";
20
- import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-BayngMTF.js";
20
+ import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-B8B3b65X.js";
21
21
  import { t as resolveChannelDefaultAccountId } from "./helpers-yjIEMzi8.js";
22
22
  import { n as logConfigUpdated } from "./logging-CLxV9Na7.js";
23
23
  import { t as WizardCancelledError } from "./prompts-FbZThK8w.js";
24
24
  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-CGgzTn6B.js";
25
25
  import { n as setupChannels } from "./onboard-channels-CV-Ba-gi.js";
26
26
  import { l as healthCommand, n as ensureControlUiAssetsBuilt, s as formatHealthChannelLines, t as formatHealthCheckFailure, u as resolveHeartbeatSummaryForAgent } from "./health-format-DAVONZbr.js";
27
- import { C as resolveEffectiveUpdateChannel, S as normalizeUpdateChannel, d as formatUpdateOneLiner, f as getUpdateCheckResult, h as compareSemverStrings, l as ensureCompletionCacheExists, m as checkUpdateStatus, p as resolveUpdateAvailability, s as checkShellCompletionStatus, u as formatUpdateAvailableHint, x as formatUpdateChannelLabel } from "./update-runner-C3M37OWx.js";
27
+ import { C as resolveEffectiveUpdateChannel, S as normalizeUpdateChannel, d as formatUpdateOneLiner, f as getUpdateCheckResult, h as compareSemverStrings, l as ensureCompletionCacheExists, m as checkUpdateStatus, p as resolveUpdateAvailability, s as checkShellCompletionStatus, u as formatUpdateAvailableHint, x as formatUpdateChannelLabel } from "./update-runner-CSwvnODO.js";
28
28
  import { i as probeGateway, t as runSecurityAudit } from "./audit-CQN8OO1t.js";
29
29
  import { t as renderTable } from "./table-BOthYYmp.js";
30
30
  import { t as buildWorkspaceSkillStatus } from "./skills-status-BVaiHzFh.js";
31
31
  import { o as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-BKQOHHW6.js";
32
32
  import { r as isSystemdUserServiceAvailable } from "./systemd-DyrxDxSB.js";
33
- import { o as readLastGatewayErrorLine } from "./service-audit-BtmGCivu.js";
33
+ import { o as readLastGatewayErrorLine } from "./service-audit-CzYLyt3-.js";
34
34
  import { t as resolveNodeService } from "./node-service-DPiAKtp-.js";
35
35
  import { t as collectChannelStatusIssues } from "./channels-status-issues-CbB072Pz.js";
36
36
  import { i as redactSecrets, n as formatDuration$1, r as formatGatewayAuthUsed, t as formatAge$1 } from "./format-8citvr_1.js";
37
- import { r as installCompletion } from "./completion-cli-B5V3OVI6.js";
37
+ import { r as installCompletion } from "./completion-cli-D08_KFEC.js";
38
38
  import { t as buildWorkspaceHookStatus } from "./hooks-status-CYR4Wx26.js";
39
39
  import { t as runTui } from "./tui-BphTCmkN.js";
40
40
  import os from "node:os";
@@ -6,7 +6,7 @@ import os, { homedir } from "node:os";
6
6
  import path from "node:path";
7
7
  import fs, { createWriteStream, existsSync, statSync } from "node:fs";
8
8
  import { Logger } from "tslog";
9
- import json5 from "json5";
9
+ import JSON5 from "json5";
10
10
  import chalk, { Chalk } from "chalk";
11
11
  import fs$1 from "node:fs/promises";
12
12
  import { execFile, execFileSync, spawn } from "node:child_process";
@@ -2272,7 +2272,7 @@ function readLoggingConfig() {
2272
2272
  try {
2273
2273
  if (!fs.existsSync(configPath)) return;
2274
2274
  const raw = fs.readFileSync(configPath, "utf-8");
2275
- const logging = json5.parse(raw)?.logging;
2275
+ const logging = JSON5.parse(raw)?.logging;
2276
2276
  if (!logging || typeof logging !== "object" || Array.isArray(logging)) return;
2277
2277
  return logging;
2278
2278
  } catch {
@@ -8077,7 +8077,7 @@ var IncludeProcessor = class IncludeProcessor {
8077
8077
  };
8078
8078
  const defaultResolver = {
8079
8079
  readFile: (p) => fs.readFileSync(p, "utf-8"),
8080
- parseJson: (raw) => json5.parse(raw)
8080
+ parseJson: (raw) => JSON5.parse(raw)
8081
8081
  };
8082
8082
  /**
8083
8083
  * Resolves all $include directives in a parsed config object.
@@ -10726,18 +10726,18 @@ function resolveConfigPathForDeps(deps) {
10726
10726
  function normalizeDeps(overrides = {}) {
10727
10727
  return {
10728
10728
  fs: overrides.fs ?? fs,
10729
- json5: overrides.json5 ?? json5,
10729
+ json5: overrides.json5 ?? JSON5,
10730
10730
  env: overrides.env ?? process.env,
10731
10731
  homedir: overrides.homedir ?? os.homedir,
10732
10732
  configPath: overrides.configPath ?? "",
10733
10733
  logger: overrides.logger ?? console
10734
10734
  };
10735
10735
  }
10736
- function parseConfigJson5(raw, json5$1 = json5) {
10736
+ function parseConfigJson5(raw, json5 = JSON5) {
10737
10737
  try {
10738
10738
  return {
10739
10739
  ok: true,
10740
- parsed: json5$1.parse(raw)
10740
+ parsed: json5.parse(raw)
10741
10741
  };
10742
10742
  } catch (err) {
10743
10743
  return {
@@ -11234,7 +11234,7 @@ function loadSessionStore(storePath, opts = {}) {
11234
11234
  let mtimeMs = getFileMtimeMs(storePath);
11235
11235
  try {
11236
11236
  const raw = fs.readFileSync(storePath, "utf-8");
11237
- const parsed = json5.parse(raw);
11237
+ const parsed = JSON5.parse(raw);
11238
11238
  if (isSessionStoreRecord(parsed)) store = parsed;
11239
11239
  mtimeMs = getFileMtimeMs(storePath) ?? mtimeMs;
11240
11240
  } catch {}
@@ -52,36 +52,36 @@ import "./pairing-labels-DxpfDscO.js";
52
52
  import "./channels-status-issues-Cx4DwKM8.js";
53
53
  import { n as ensurePluginRegistryLoaded } from "./command-options-CebL-fVk.js";
54
54
  import { n as resolveCliChannelOptions } from "./channel-options-Bwi6Svoj.js";
55
- import { a as getCommandPath, d as hasHelpOrVersion, l as getVerboseFlag } from "./register.subclis-CpNxblG5.js";
56
- import "./completion-cli-D2wcH9xL.js";
55
+ import { a as getCommandPath, d as hasHelpOrVersion, l as getVerboseFlag } from "./register.subclis-Rfip73kB.js";
56
+ import "./completion-cli-GOXuqpsH.js";
57
57
  import "./gateway-rpc-ClnqshEE.js";
58
58
  import "./deps-QpJPsy_z.js";
59
- import "./daemon-runtime-BK6HirWQ.js";
59
+ import "./daemon-runtime-rJlF_uUr.js";
60
60
  import "./service-DV05Mtg_.js";
61
61
  import "./systemd-DQvm8tRB.js";
62
- import "./service-audit-Cl2xpTw4.js";
62
+ import "./service-audit-ryi_ZWe_.js";
63
63
  import "./table-Kzsd53ks.js";
64
64
  import "./widearea-dns-DHSIgmLp.js";
65
65
  import "./audit-Cby0wP0x.js";
66
66
  import "./bonjour-discovery-DCQ4I_sx.js";
67
67
  import "./health-format-BOsDk3CA.js";
68
- import "./update-runner-D8AUbg1Q.js";
68
+ import "./update-runner-BJOB37fE.js";
69
69
  import "./onboard-skills-DxXv_BdP.js";
70
70
  import "./github-copilot-auth-DXz3a3E2.js";
71
71
  import "./logging-BABn73ug.js";
72
72
  import "./hooks-status-k4MUOGQH.js";
73
- import "./status-DqK2dG7C.js";
73
+ import "./status-ChCEncnF.js";
74
74
  import "./skills-status-C7vawdcf.js";
75
75
  import { i as hasEmittedCliBanner, n as emitCliBanner, r as formatCliBannerLine } from "./tui-DmyiEmq0.js";
76
76
  import "./agent-1yUpWtsp.js";
77
77
  import "./node-service-CZ2f4t4z.js";
78
78
  import { t as forceFreePort } from "./ports-B9ymx6GD.js";
79
79
  import "./auth-health-CYc6Lu9i.js";
80
- import { r as registerProgramCommands, t as ensureConfigReady } from "./config-guard-NAIvHfQB.js";
80
+ import { r as registerProgramCommands, t as ensureConfigReady } from "./config-guard-B8mtnTJ7.js";
81
81
  import "./help-format-CocQBHml.js";
82
- import "./configure-BOlIPgRO.js";
82
+ import "./configure-DSI_cBVU.js";
83
83
  import "./systemd-linger-DcXZ2d0V.js";
84
- import "./doctor-C5msTpTy.js";
84
+ import "./doctor-Bwg42L-l.js";
85
85
  import { Command } from "commander";
86
86
 
87
87
  //#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-B7S2Uq8P.js")).registerGatewayCli(program);
127
+ (await import("./gateway-cli-BuAfVJqc.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-D6NAlRH7.js").then((n) => n.t)).registerDaemonCli(program);
134
+ (await import("./daemon-cli-Bzu7JusP.js").then((n) => n.t)).registerDaemonCli(program);
135
135
  }
136
136
  },
137
137
  {
@@ -180,7 +180,7 @@ const entries = [
180
180
  name: "node",
181
181
  description: "Node control",
182
182
  register: async (program) => {
183
- (await import("./node-cli-B_8S1npG.js")).registerNodeCli(program);
183
+ (await import("./node-cli-B8TfhIxW.js")).registerNodeCli(program);
184
184
  }
185
185
  },
186
186
  {
@@ -282,14 +282,14 @@ const entries = [
282
282
  name: "update",
283
283
  description: "CLI update helpers",
284
284
  register: async (program) => {
285
- (await import("./update-cli-CXU0eiM5.js")).registerUpdateCli(program);
285
+ (await import("./update-cli-CGT5vSjc.js")).registerUpdateCli(program);
286
286
  }
287
287
  },
288
288
  {
289
289
  name: "completion",
290
290
  description: "Generate shell completion script",
291
291
  register: async (program) => {
292
- (await import("./completion-cli-D2wcH9xL.js").then((n) => n.n)).registerCompletionCli(program);
292
+ (await import("./completion-cli-GOXuqpsH.js").then((n) => n.n)).registerCompletionCli(program);
293
293
  }
294
294
  }
295
295
  ];
@@ -51,35 +51,35 @@ import "./login-qr-BgffN-K5.js";
51
51
  import "./pairing-labels-DxpfDscO.js";
52
52
  import "./channels-status-issues-Cx4DwKM8.js";
53
53
  import { n as ensurePluginRegistryLoaded } from "./command-options-CebL-fVk.js";
54
- import { a as getCommandPath, c as getPrimaryCommand, d as hasHelpOrVersion } from "./register.subclis-CpNxblG5.js";
55
- import "./completion-cli-D2wcH9xL.js";
54
+ import { a as getCommandPath, c as getPrimaryCommand, d as hasHelpOrVersion } from "./register.subclis-Rfip73kB.js";
55
+ import "./completion-cli-GOXuqpsH.js";
56
56
  import "./gateway-rpc-ClnqshEE.js";
57
57
  import "./deps-QpJPsy_z.js";
58
- import { h as assertSupportedRuntime } from "./daemon-runtime-BK6HirWQ.js";
58
+ import { h as assertSupportedRuntime } from "./daemon-runtime-rJlF_uUr.js";
59
59
  import "./service-DV05Mtg_.js";
60
60
  import "./systemd-DQvm8tRB.js";
61
- import "./service-audit-Cl2xpTw4.js";
61
+ import "./service-audit-ryi_ZWe_.js";
62
62
  import "./table-Kzsd53ks.js";
63
63
  import "./widearea-dns-DHSIgmLp.js";
64
64
  import "./audit-Cby0wP0x.js";
65
65
  import "./bonjour-discovery-DCQ4I_sx.js";
66
66
  import "./health-format-BOsDk3CA.js";
67
- import "./update-runner-D8AUbg1Q.js";
67
+ import "./update-runner-BJOB37fE.js";
68
68
  import "./onboard-skills-DxXv_BdP.js";
69
69
  import "./github-copilot-auth-DXz3a3E2.js";
70
70
  import "./logging-BABn73ug.js";
71
71
  import "./hooks-status-k4MUOGQH.js";
72
- import "./status-DqK2dG7C.js";
72
+ import "./status-ChCEncnF.js";
73
73
  import "./skills-status-C7vawdcf.js";
74
74
  import { n as emitCliBanner } from "./tui-DmyiEmq0.js";
75
75
  import "./agent-1yUpWtsp.js";
76
76
  import "./node-service-CZ2f4t4z.js";
77
77
  import "./auth-health-CYc6Lu9i.js";
78
- import { n as findRoutedCommand, t as ensureConfigReady } from "./config-guard-NAIvHfQB.js";
78
+ import { n as findRoutedCommand, t as ensureConfigReady } from "./config-guard-B8mtnTJ7.js";
79
79
  import "./help-format-CocQBHml.js";
80
- import "./configure-BOlIPgRO.js";
80
+ import "./configure-DSI_cBVU.js";
81
81
  import "./systemd-linger-DcXZ2d0V.js";
82
- import "./doctor-C5msTpTy.js";
82
+ import "./doctor-Bwg42L-l.js";
83
83
  import path from "node:path";
84
84
  import process$1 from "node:process";
85
85
  import fs from "node:fs";
@@ -141,7 +141,7 @@ async function runCli(argv = process$1.argv) {
141
141
  assertSupportedRuntime();
142
142
  if (await tryRouteCli(normalizedArgv)) return;
143
143
  enableConsoleCapture();
144
- const { buildProgram } = await import("./program-DkSPq75D.js");
144
+ const { buildProgram } = await import("./program-CjYnSrb4.js");
145
145
  const program = buildProgram();
146
146
  installUnhandledRejectionHandler();
147
147
  process$1.on("uncaughtException", (error) => {
@@ -151,7 +151,7 @@ async function runCli(argv = process$1.argv) {
151
151
  const parseArgv = rewriteUpdateFlagArgv(normalizedArgv);
152
152
  const primary = getPrimaryCommand(parseArgv);
153
153
  if (primary) {
154
- const { registerSubCliByName } = await import("./register.subclis-CpNxblG5.js").then((n) => n.i);
154
+ const { registerSubCliByName } = await import("./register.subclis-Rfip73kB.js").then((n) => n.i);
155
155
  await registerSubCliByName(program, primary);
156
156
  }
157
157
  if (!(!primary && hasHelpOrVersion(parseArgv))) {
@@ -1,5 +1,5 @@
1
1
  import { d as resolveGatewaySystemdServiceName, f as resolveGatewayWindowsTaskName, l as resolveGatewayLaunchAgentLabel, n as GATEWAY_SERVICE_KIND, r as GATEWAY_SERVICE_MARKER } from "./constants-BApFvR9k.js";
2
- import { c as getMinimalServicePathPartsFromEnv, l as isSystemNodePath, m as resolveSystemNodePath, u as isVersionManagedNodePath } from "./daemon-runtime-BayngMTF.js";
2
+ import { c as getMinimalServicePathPartsFromEnv, l as isSystemNodePath, m as resolveSystemNodePath, u as isVersionManagedNodePath } from "./daemon-runtime-B8B3b65X.js";
3
3
  import { o as resolveGatewayLogPaths, s as resolveLaunchAgentPlistPath } from "./service-BKQOHHW6.js";
4
4
  import { o as resolveSystemdUserUnitPath } from "./systemd-DyrxDxSB.js";
5
5
  import path from "node:path";
@@ -1,5 +1,5 @@
1
1
  import { d as resolveGatewaySystemdServiceName, f as resolveGatewayWindowsTaskName, l as resolveGatewayLaunchAgentLabel, n as GATEWAY_SERVICE_KIND, r as GATEWAY_SERVICE_MARKER } from "./constants-CXZus5hc.js";
2
- import { c as getMinimalServicePathPartsFromEnv, l as isSystemNodePath, m as resolveSystemNodePath, u as isVersionManagedNodePath } from "./daemon-runtime-BK6HirWQ.js";
2
+ import { c as getMinimalServicePathPartsFromEnv, l as isSystemNodePath, m as resolveSystemNodePath, u as isVersionManagedNodePath } from "./daemon-runtime-rJlF_uUr.js";
3
3
  import { o as resolveGatewayLogPaths, s as resolveLaunchAgentPlistPath } from "./service-DV05Mtg_.js";
4
4
  import { o as resolveSystemdUserUnitPath } from "./systemd-DQvm8tRB.js";
5
5
  import { execFile } from "node:child_process";
@@ -20,15 +20,15 @@ import { o as resolveStorePath } from "./paths-DPLOvGLU.js";
20
20
  import { I as resolveMainSessionKey, d as loadSessionStore } from "./sandbox-BlIjYgKj.js";
21
21
  import { t as buildChannelSummary } from "./channel-summary-DJhMycuy.js";
22
22
  import { t as collectChannelStatusIssues } from "./channels-status-issues-Cx4DwKM8.js";
23
- import { r as installCompletion } from "./completion-cli-D2wcH9xL.js";
24
- import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-BK6HirWQ.js";
23
+ import { r as installCompletion } from "./completion-cli-GOXuqpsH.js";
24
+ import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-rJlF_uUr.js";
25
25
  import { o as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-DV05Mtg_.js";
26
26
  import { r as isSystemdUserServiceAvailable } from "./systemd-DQvm8tRB.js";
27
- import { o as readLastGatewayErrorLine } from "./service-audit-Cl2xpTw4.js";
27
+ import { o as readLastGatewayErrorLine } from "./service-audit-ryi_ZWe_.js";
28
28
  import { t as renderTable } from "./table-Kzsd53ks.js";
29
29
  import { i as probeGateway, t as runSecurityAudit } from "./audit-Cby0wP0x.js";
30
30
  import { l as healthCommand, n as ensureControlUiAssetsBuilt, s as formatHealthChannelLines, t as formatHealthCheckFailure, u as resolveHeartbeatSummaryForAgent } from "./health-format-BOsDk3CA.js";
31
- import { C as resolveEffectiveUpdateChannel, S as normalizeUpdateChannel, c as formatUpdateOneLiner, d as checkShellCompletionStatus, h as compareSemverStrings, l as getUpdateCheckResult, m as checkUpdateStatus, p as ensureCompletionCacheExists, s as formatUpdateAvailableHint, u as resolveUpdateAvailability, x as formatUpdateChannelLabel } from "./update-runner-D8AUbg1Q.js";
31
+ import { C as resolveEffectiveUpdateChannel, S as normalizeUpdateChannel, c as formatUpdateOneLiner, d as checkShellCompletionStatus, h as compareSemverStrings, l as getUpdateCheckResult, m as checkUpdateStatus, p as ensureCompletionCacheExists, s as formatUpdateAvailableHint, u as resolveUpdateAvailability, x as formatUpdateChannelLabel } from "./update-runner-BJOB37fE.js";
32
32
  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-DxXv_BdP.js";
33
33
  import { n as logConfigUpdated } from "./logging-BABn73ug.js";
34
34
  import { t as buildWorkspaceHookStatus } from "./hooks-status-k4MUOGQH.js";
@@ -46,7 +46,7 @@ import "./control-service-Bldt0O2x.js";
46
46
  import "./channel-selection-DJan6AuY.js";
47
47
  import "./deps-Bh3TqNB-.js";
48
48
  import "./tailscale-C9oNI3cv.js";
49
- import { _ as parseSemver } from "./daemon-runtime-BayngMTF.js";
49
+ import { _ as parseSemver } from "./daemon-runtime-B8B3b65X.js";
50
50
  import "./logging-CLxV9Na7.js";
51
51
  import "./note-CrCSjpk3.js";
52
52
  import "./plugin-auto-enable-KzIwJe0A.js";
@@ -54,21 +54,21 @@ import "./archive-Dy3Ezb-5.js";
54
54
  import "./skill-scanner-BoGjHXUZ.js";
55
55
  import "./installs-ChtZhX65.js";
56
56
  import "./health-format-DAVONZbr.js";
57
- import { C as resolveEffectiveUpdateChannel, S as normalizeUpdateChannel, _ as resolveNpmChannelTag, a as globalInstallArgs, b as channelToNpmTag, d as formatUpdateOneLiner, g as fetchNpmTagVersion, h as compareSemverStrings, i as detectGlobalInstallManagerForRoot, l as ensureCompletionCacheExists, m as checkUpdateStatus, n as cleanupGlobalRenameDirs, o as resolveGlobalPackageRoot, p as resolveUpdateAvailability, r as detectGlobalInstallManagerByPresence, s as checkShellCompletionStatus, t as runGatewayUpdate, u as formatUpdateAvailableHint, v as DEFAULT_GIT_CHANNEL, x as formatUpdateChannelLabel, y as DEFAULT_PACKAGE_CHANNEL } from "./update-runner-C3M37OWx.js";
57
+ import { C as resolveEffectiveUpdateChannel, S as normalizeUpdateChannel, _ as resolveNpmChannelTag, a as globalInstallArgs, b as channelToNpmTag, d as formatUpdateOneLiner, g as fetchNpmTagVersion, h as compareSemverStrings, i as detectGlobalInstallManagerForRoot, l as ensureCompletionCacheExists, m as checkUpdateStatus, n as cleanupGlobalRenameDirs, o as resolveGlobalPackageRoot, p as resolveUpdateAvailability, r as detectGlobalInstallManagerByPresence, s as checkShellCompletionStatus, t as runGatewayUpdate, u as formatUpdateAvailableHint, v as DEFAULT_GIT_CHANNEL, x as formatUpdateChannelLabel, y as DEFAULT_PACKAGE_CHANNEL } from "./update-runner-CSwvnODO.js";
58
58
  import "./auth-DSrYkGU-.js";
59
59
  import { t as renderTable } from "./table-BOthYYmp.js";
60
60
  import "./skills-status-BVaiHzFh.js";
61
61
  import "./service-BKQOHHW6.js";
62
62
  import "./systemd-DyrxDxSB.js";
63
- import "./service-audit-BtmGCivu.js";
63
+ import "./service-audit-CzYLyt3-.js";
64
64
  import "./channels-status-issues-CbB072Pz.js";
65
- import { r as installCompletion } from "./completion-cli-B5V3OVI6.js";
65
+ import { r as installCompletion } from "./completion-cli-D08_KFEC.js";
66
66
  import { t as formatHelpExamples } from "./help-format-q-N7n7vs.js";
67
67
  import "./systemd-linger-C5NE1TWa.js";
68
68
  import "./auth-health-BJ1smAlv.js";
69
- import { t as doctorCommand } from "./doctor-C7TRY86F.js";
69
+ import { t as doctorCommand } from "./doctor-DSX2g3GK.js";
70
70
  import "./shared-kMTQ9UT0.js";
71
- import { r as runDaemonRestart } from "./daemon-cli-DC5iIhr3.js";
71
+ import { r as runDaemonRestart } from "./daemon-cli-sjKWTROZ.js";
72
72
  import { n as updateNpmInstalledPlugins, t as syncPluginsForUpdateChannel } from "./update-BLphos5T.js";
73
73
  import os from "node:os";
74
74
  import path from "node:path";
@@ -49,25 +49,25 @@ import "./pairing-store-D5pH_THY.js";
49
49
  import "./login-qr-BgffN-K5.js";
50
50
  import "./pairing-labels-DxpfDscO.js";
51
51
  import "./channels-status-issues-Cx4DwKM8.js";
52
- import "./register.subclis-CpNxblG5.js";
53
- import { r as installCompletion } from "./completion-cli-D2wcH9xL.js";
52
+ import "./register.subclis-Rfip73kB.js";
53
+ import { r as installCompletion } from "./completion-cli-GOXuqpsH.js";
54
54
  import "./deps-QpJPsy_z.js";
55
- import { g as parseSemver } from "./daemon-runtime-BK6HirWQ.js";
55
+ import { g as parseSemver } from "./daemon-runtime-rJlF_uUr.js";
56
56
  import "./service-DV05Mtg_.js";
57
57
  import "./systemd-DQvm8tRB.js";
58
58
  import "./shared-B_UA5GEy.js";
59
- import { r as runDaemonRestart } from "./daemon-cli-D6NAlRH7.js";
60
- import "./service-audit-Cl2xpTw4.js";
59
+ import { r as runDaemonRestart } from "./daemon-cli-Bzu7JusP.js";
60
+ import "./service-audit-ryi_ZWe_.js";
61
61
  import { t as renderTable } from "./table-Kzsd53ks.js";
62
62
  import "./health-format-BOsDk3CA.js";
63
- import { C as resolveEffectiveUpdateChannel, S as normalizeUpdateChannel, _ as resolveNpmChannelTag, a as globalInstallArgs, b as channelToNpmTag, c as formatUpdateOneLiner, d as checkShellCompletionStatus, g as fetchNpmTagVersion, h as compareSemverStrings, i as detectGlobalInstallManagerForRoot, m as checkUpdateStatus, n as cleanupGlobalRenameDirs, o as resolveGlobalPackageRoot, p as ensureCompletionCacheExists, r as detectGlobalInstallManagerByPresence, s as formatUpdateAvailableHint, t as runGatewayUpdate, u as resolveUpdateAvailability, v as DEFAULT_GIT_CHANNEL, x as formatUpdateChannelLabel, y as DEFAULT_PACKAGE_CHANNEL } from "./update-runner-D8AUbg1Q.js";
63
+ import { C as resolveEffectiveUpdateChannel, S as normalizeUpdateChannel, _ as resolveNpmChannelTag, a as globalInstallArgs, b as channelToNpmTag, c as formatUpdateOneLiner, d as checkShellCompletionStatus, g as fetchNpmTagVersion, h as compareSemverStrings, i as detectGlobalInstallManagerForRoot, m as checkUpdateStatus, n as cleanupGlobalRenameDirs, o as resolveGlobalPackageRoot, p as ensureCompletionCacheExists, r as detectGlobalInstallManagerByPresence, s as formatUpdateAvailableHint, t as runGatewayUpdate, u as resolveUpdateAvailability, v as DEFAULT_GIT_CHANNEL, x as formatUpdateChannelLabel, y as DEFAULT_PACKAGE_CHANNEL } from "./update-runner-BJOB37fE.js";
64
64
  import "./logging-BABn73ug.js";
65
65
  import "./skills-status-C7vawdcf.js";
66
66
  import "./auth-health-CYc6Lu9i.js";
67
67
  import { n as updateNpmInstalledPlugins, t as syncPluginsForUpdateChannel } from "./update-BhfB1gW0.js";
68
68
  import { t as formatHelpExamples } from "./help-format-CocQBHml.js";
69
69
  import "./systemd-linger-DcXZ2d0V.js";
70
- import { t as doctorCommand } from "./doctor-C5msTpTy.js";
70
+ import { t as doctorCommand } from "./doctor-Bwg42L-l.js";
71
71
  import { spawnSync } from "node:child_process";
72
72
  import path from "node:path";
73
73
  import os from "node:os";
@@ -4,8 +4,8 @@ import { t as resolveSKYKOIPackageRoot } from "./SKYKOI-root-B5HYTPZX.js";
4
4
  import { j as VERSION } from "./config-DxY4DsNc.js";
5
5
  import { Ln as trimLogTail } from "./loader-DJZg0qBH.js";
6
6
  import { t as note } from "./note-YmyPRD-3.js";
7
- import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-D2wcH9xL.js";
8
- import { g as parseSemver } from "./daemon-runtime-BK6HirWQ.js";
7
+ import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-GOXuqpsH.js";
8
+ import { g as parseSemver } from "./daemon-runtime-rJlF_uUr.js";
9
9
  import { i as resolveControlUiDistIndexPathForRoot, r as resolveControlUiDistIndexHealth } from "./health-format-BOsDk3CA.js";
10
10
  import { spawnSync } from "node:child_process";
11
11
  import path from "node:path";
@@ -3,10 +3,10 @@ import { t as runCommandWithTimeout } from "./exec-B_35B71R.js";
3
3
  import { t as resolveSKYKOIPackageRoot } from "./SKYKOI-root-DgeLuP-Y.js";
4
4
  import { r as resolveCliName, t as formatCliCommand } from "./command-format-FMXZ1CPB.js";
5
5
  import { j as VERSION } from "./config-nVdFpcsN.js";
6
- import { _ as parseSemver } from "./daemon-runtime-BayngMTF.js";
6
+ import { _ as parseSemver } from "./daemon-runtime-B8B3b65X.js";
7
7
  import { t as note } from "./note-CrCSjpk3.js";
8
8
  import { i as resolveControlUiDistIndexPathForRoot, r as resolveControlUiDistIndexHealth } from "./health-format-DAVONZbr.js";
9
- import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-B5V3OVI6.js";
9
+ import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-D08_KFEC.js";
10
10
  import os from "node:os";
11
11
  import path from "node:path";
12
12
  import fs from "node:fs/promises";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skykoi",
3
- "version": "2026.3.42",
3
+ "version": "2026.3.44",
4
4
  "description": "SkyKoi — AI agent runtime. Multi-channel gateway CLI with RPC agent. Forked from SkyKoi.",
5
5
  "keywords": [
6
6
  "skykoi",