skykoi 2026.3.23 → 2026.3.25

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 (42) 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-ByHuY-OZ.js → completion-cli-B2LZ022j.js} +5 -5
  5. package/dist/{completion-cli-BKOEiV6o.js → completion-cli-BfovozSF.js} +1 -1
  6. package/dist/{config-guard-15OctJmH.js → config-guard-S6PKynKZ.js} +7 -7
  7. package/dist/{configure-cVfulVpY.js → configure-Bnt8FsOg.js} +2 -2
  8. package/dist/{configure-ppQp4U9G.js → configure-D6BzsZnx.js} +2 -2
  9. package/dist/{daemon-cli-DN96K6k9.js → daemon-cli-C_F0q4Qi.js} +4 -4
  10. package/dist/{daemon-cli-2WGN7iUV.js → daemon-cli-CawMuct2.js} +4 -4
  11. package/dist/{daemon-runtime-c-EjZSJl.js → daemon-runtime-ColTY8_i.js} +1 -0
  12. package/dist/{daemon-runtime-DCb0uSaS.js → daemon-runtime-D5ukBqG3.js} +1 -0
  13. package/dist/{doctor-B62rleAz.js → doctor-fZFwEwIt.js} +4 -4
  14. package/dist/{doctor-Bqjznznx.js → doctor-yPPJ4XBf.js} +4 -4
  15. package/dist/entry.js +1 -1
  16. package/dist/{exec-approvals-cli-CQ-W5RyA.js → exec-approvals-cli-BzG_1sGT.js} +2 -2
  17. package/dist/{exec-approvals-cli-VlEIC5tr.js → exec-approvals-cli-DSqfOkX3.js} +2 -2
  18. package/dist/{gateway-cli-CaVQKWWc.js → gateway-cli-D_1doJj6.js} +11 -11
  19. package/dist/{gateway-cli-kSYB22Jb.js → gateway-cli-Dm7GeUfB.js} +10 -10
  20. package/dist/index.js +10 -10
  21. package/dist/{node-cli-DCA3ThYJ.js → node-cli-BXIEgHya.js} +4 -4
  22. package/dist/{node-cli-CwZFiSyM.js → node-cli-DE6IQho4.js} +4 -4
  23. package/dist/{node-service-TuA57gm-.js → node-service-C2JDeXPT.js} +1 -1
  24. package/dist/{node-service-0VCYYXMx.js → node-service-DPiAKtp-.js} +1 -1
  25. package/dist/{onboarding-mX9_f2Dm.js → onboarding-CE0p5Sc2.js} +6 -6
  26. package/dist/{program-DRx4QYji.js → program-Bv9reO4y.js} +11 -11
  27. package/dist/{register.subclis-Bp6ywWs9.js → register.subclis-vPTlpvvQ.js} +6 -6
  28. package/dist/{run-main-BY6ReYUg.js → run-main-DhSjsFQZ.js} +13 -13
  29. package/dist/{service-WG1x2OSQ.js → service-BKQOHHW6.js} +16 -1
  30. package/dist/{service-C1Hbmeqp.js → service-DV05Mtg_.js} +16 -1
  31. package/dist/{service-audit-upiYbaf_.js → service-audit-Bwd3YG7Q.js} +2 -2
  32. package/dist/{service-audit-dD2s6rYk.js → service-audit-CXwP6M6I.js} +2 -2
  33. package/dist/{shared-BVqcu6Df.js → shared-BEW6LORX.js} +1 -1
  34. package/dist/{shared-DT19TjiI.js → shared-BI8OH0x7.js} +1 -1
  35. package/dist/{shared-Cqlq5soB.js → shared-B_UA5GEy.js} +1 -1
  36. package/dist/{shared-CKKIXImM.js → shared-D6pQLf6V.js} +1 -1
  37. package/dist/{status-CSbxqAmh.js → status-Dh9eHmli.js} +6 -6
  38. package/dist/{update-cli-BL8M0tgN.js → update-cli-BMYHTWpZ.js} +9 -9
  39. package/dist/{update-cli-BX1cyf8w.js → update-cli-CmxgAdjL.js} +8 -8
  40. package/dist/{update-runner-CXTc59Ym.js → update-runner-B9TTsdw7.js} +2 -2
  41. package/dist/{update-runner-miNWP5Sn.js → update-runner-DAL6HwuR.js} +2 -2
  42. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "2026.3.23",
3
- "commit": "1584afc5d0a87108684cd285a7605ad298816e3a",
4
- "builtAt": "2026-03-18T06:33:44.734Z"
2
+ "version": "2026.3.25",
3
+ "commit": "e6d13f60f5faf9c880e09615dbac2c5fee9edd28",
4
+ "builtAt": "2026-03-18T08:18:34.588Z"
5
5
  }
@@ -1 +1 @@
1
- d50f9728bcaf8df0fa900c28d13db3a3c5bb64ed26932fb0ee112baaaf3e9c82
1
+ fa4a002458ea145c5a73995bbc4d87de3f6c75e706ab41471bf9ea802474d3b6
@@ -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-2WGN7iUV.js";
2
+ export { registerDaemonCli, runDaemonInstall, runDaemonRestart, runDaemonStart, runDaemonStatus, runDaemonStop, runDaemonUninstall } from "../daemon-cli-C_F0q4Qi.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-kSYB22Jb.js")).registerGatewayCli(program);
127
+ (await import("./gateway-cli-Dm7GeUfB.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-2WGN7iUV.js").then((n) => n.t)).registerDaemonCli(program);
134
+ (await import("./daemon-cli-CawMuct2.js").then((n) => n.t)).registerDaemonCli(program);
135
135
  }
136
136
  },
137
137
  {
@@ -159,7 +159,7 @@ const entries = [
159
159
  name: "approvals",
160
160
  description: "Exec approvals",
161
161
  register: async (program) => {
162
- (await import("./exec-approvals-cli-CQ-W5RyA.js")).registerExecApprovalsCli(program);
162
+ (await import("./exec-approvals-cli-BzG_1sGT.js")).registerExecApprovalsCli(program);
163
163
  }
164
164
  },
165
165
  {
@@ -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-CwZFiSyM.js")).registerNodeCli(program);
183
+ (await import("./node-cli-DE6IQho4.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-BX1cyf8w.js")).registerUpdateCli(program);
285
+ (await import("./update-cli-CmxgAdjL.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-Bp6ywWs9.js";
3
+ import { n as registerSubCliByName, t as getSubCliEntries } from "./register.subclis-vPTlpvvQ.js";
4
4
  import path from "node:path";
5
5
  import os from "node:os";
6
6
  import fs from "node:fs/promises";
@@ -22,24 +22,24 @@ import { a as resolveSessionTranscriptsDirForAgent, i as resolveSessionTranscrip
22
22
  import { d as loadSessionStore } from "./sandbox-DSyCgHwX.js";
23
23
  import { r as runCommandWithRuntime } from "./cli-utils-CQTTNUIq.js";
24
24
  import { n as ensurePluginRegistryLoaded, t as hasExplicitOptions } from "./command-options-CH57fHIc.js";
25
- import { l as getVerboseFlag, o as getFlagValue, r as registerSubCliCommands, s as getPositiveIntFlagValue, u as hasFlag } from "./register.subclis-Bp6ywWs9.js";
25
+ import { l as getVerboseFlag, o as getFlagValue, r as registerSubCliCommands, s as getPositiveIntFlagValue, u as hasFlag } from "./register.subclis-vPTlpvvQ.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-BMC8-bqk.js";
28
28
  import { t as createDefaultDeps } from "./deps-BMzG4RP0.js";
29
- import { a as gatewayInstallErrorHint, h as assertSupportedRuntime, i as buildGatewayInstallPlan, r as isGatewayDaemonRuntime, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-DCb0uSaS.js";
30
- import { t as resolveGatewayService } from "./service-C1Hbmeqp.js";
29
+ import { a as gatewayInstallErrorHint, h as assertSupportedRuntime, i as buildGatewayInstallPlan, r as isGatewayDaemonRuntime, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-D5ukBqG3.js";
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";
33
33
  import { d as applyAuthChoice, f as applyOpenAIConfig, h as promptAuthChoiceGrouped, m as applyGoogleGeminiModelDefault, p as upsertSharedEnvVar, u as warnIfModelConfigLooksOff } from "./onboard-skills-BjI95kbd.js";
34
34
  import { l as healthCommand } from "./health-format-XPwdLOyI.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-B3spsF4o.js";
36
36
  import { n as logConfigUpdated, t as formatConfigPath } from "./logging-D15QDE2U.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-CSbxqAmh.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-Dh9eHmli.js";
38
38
  import { a as createOutboundSendDeps, n as resolveSessionKeyForRequest, t as agentCommand } from "./agent-Cohad4o0.js";
39
39
  import { t as formatHelpExamples } from "./help-format-tZizD4BR.js";
40
- import { i as CONFIGURE_WIZARD_SECTIONS, n as configureCommand, r as configureCommandWithSections } from "./configure-ppQp4U9G.js";
40
+ import { i as CONFIGURE_WIZARD_SECTIONS, n as configureCommand, r as configureCommandWithSections } from "./configure-D6BzsZnx.js";
41
41
  import { n as ensureSystemdUserLingerNonInteractive } from "./systemd-linger-CEreLGmo.js";
42
- import { n as loadAndMaybeMigrateDoctorConfig, t as doctorCommand } from "./doctor-Bqjznznx.js";
42
+ import { n as loadAndMaybeMigrateDoctorConfig, t as doctorCommand } from "./doctor-yPPJ4XBf.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-ppQp4U9G.js").then((n) => n.t);
2793
+ const { CONFIGURE_WIZARD_SECTIONS, configureCommand, configureCommandWithSections } = await import("./configure-D6BzsZnx.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-DsFDop
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-c-EjZSJl.js";
13
+ import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-ColTY8_i.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";
@@ -18,7 +18,7 @@ import { t as createClackPrompter } from "./clack-prompter-Bfyih97B.js";
18
18
  import { a as applyModelAllowlist, c as promptDefaultModel, f as applyAuthChoice, g as promptAuthChoiceGrouped, l as promptModelAllowlist, o as applyModelFallbacksFromSelection, r as promptRemoteGatewayConfig, s as applyPrimaryModel, t as setupSkills, u as resolvePreferredProviderForAuthChoice } from "./onboard-skills-DqXS0Xw7.js";
19
19
  import { n as setupChannels, t as noteChannelStatus } from "./onboard-channels-VEH0JUkh.js";
20
20
  import { l as healthCommand, n as ensureControlUiAssetsBuilt, t as formatHealthCheckFailure } from "./health-format-B-HupLAr.js";
21
- import { t as resolveGatewayService } from "./service-WG1x2OSQ.js";
21
+ import { t as resolveGatewayService } from "./service-BKQOHHW6.js";
22
22
  import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-C5NE1TWa.js";
23
23
  import { confirm, intro, outro, select, text } from "@clack/prompts";
24
24
 
@@ -13,8 +13,8 @@ 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-noUGmh4F.js";
16
- import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-DCb0uSaS.js";
17
- import { t as resolveGatewayService } from "./service-C1Hbmeqp.js";
16
+ import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-D5ukBqG3.js";
17
+ import { t as resolveGatewayService } from "./service-DV05Mtg_.js";
18
18
  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-BjI95kbd.js";
19
19
  import { l as healthCommand, n as ensureControlUiAssetsBuilt, t as formatHealthCheckFailure } from "./health-format-XPwdLOyI.js";
20
20
  import { n as logConfigUpdated } from "./logging-D15QDE2U.js";
@@ -14,12 +14,12 @@ import { n as withProgress } from "./progress-BUjAoXj8.js";
14
14
  import { n as isWSLEnv, t as isWSL } from "./wsl-DsSY3cxu.js";
15
15
  import { d as resolveGatewaySystemdServiceName, l as resolveGatewayLaunchAgentLabel } from "./constants-CXZus5hc.js";
16
16
  import { t as createDefaultDeps } from "./deps-BMzG4RP0.js";
17
- import { i as buildGatewayInstallPlan, r as isGatewayDaemonRuntime, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-DCb0uSaS.js";
18
- import { o as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-C1Hbmeqp.js";
17
+ import { i as buildGatewayInstallPlan, r as isGatewayDaemonRuntime, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-D5ukBqG3.js";
18
+ import { o as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-DV05Mtg_.js";
19
19
  import { r as isSystemdUserServiceAvailable } from "./systemd-DQvm8tRB.js";
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-Cqlq5soB.js";
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-upiYbaf_.js";
22
+ import { a as renderGatewayServiceCleanupHints, i as findExtraGatewayServices, n as auditGatewayServiceConfig, o as readLastGatewayErrorLine } from "./service-audit-Bwd3YG7Q.js";
23
23
 
24
24
  //#region src/cli/daemon-cli/install.ts
25
25
  async function runDaemonInstall(opts) {
@@ -15,12 +15,12 @@ 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-Dok0n0Hr.js";
18
- import { i as buildGatewayInstallPlan, r as isGatewayDaemonRuntime, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-c-EjZSJl.js";
19
- import { o as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-WG1x2OSQ.js";
18
+ import { i as buildGatewayInstallPlan, r as isGatewayDaemonRuntime, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-ColTY8_i.js";
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-dD2s6rYk.js";
21
+ import { a as renderGatewayServiceCleanupHints, i as findExtraGatewayServices, n as auditGatewayServiceConfig, o as readLastGatewayErrorLine } from "./service-audit-CXwP6M6I.js";
22
22
  import { n as renderSystemdUnavailableHints, t as isSystemdUnavailableDetail } from "./systemd-hints-C_XVx08a.js";
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-DT19TjiI.js";
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-BI8OH0x7.js";
24
24
 
25
25
  //#region src/cli/daemon-cli/install.ts
26
26
  async function runDaemonInstall(opts) {
@@ -448,6 +448,7 @@ function buildNodeServiceEnvironment(params) {
448
448
  return {
449
449
  HOME: env.HOME,
450
450
  PATH: buildMinimalServicePath({ env }),
451
+ SKYKOI_GATEWAY_TOKEN: env.SKYKOI_GATEWAY_TOKEN,
451
452
  SKYKOI_STATE_DIR: stateDir,
452
453
  SKYKOI_CONFIG_PATH: configPath,
453
454
  SKYKOI_LAUNCHD_LABEL: resolveNodeLaunchAgentLabel(),
@@ -448,6 +448,7 @@ function buildNodeServiceEnvironment(params) {
448
448
  return {
449
449
  HOME: env.HOME,
450
450
  PATH: buildMinimalServicePath({ env }),
451
+ SKYKOI_GATEWAY_TOKEN: env.SKYKOI_GATEWAY_TOKEN,
451
452
  SKYKOI_STATE_DIR: stateDir,
452
453
  SKYKOI_CONFIG_PATH: configPath,
453
454
  SKYKOI_LAUNCHD_LABEL: resolveNodeLaunchAgentLabel(),
@@ -20,18 +20,18 @@ import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-BGn
20
20
  import { i as readChannelAllowFromStore } from "./pairing-store-BQk2-5gz.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-c-EjZSJl.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-ColTY8_i.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-CIHFDKgl.js";
28
28
  import { i as resolveControlUiDistIndexPathForRoot, l as healthCommand, r as resolveControlUiDistIndexHealth, t as formatHealthCheckFailure } from "./health-format-B-HupLAr.js";
29
- import { c as doctorShellCompletion, t as runGatewayUpdate } from "./update-runner-CXTc59Ym.js";
29
+ import { c as doctorShellCompletion, t as runGatewayUpdate } from "./update-runner-B9TTsdw7.js";
30
30
  import { i as resolveGatewayAuth } from "./auth-DSrYkGU-.js";
31
31
  import { t as buildWorkspaceSkillStatus } from "./skills-status-H6bA88MV.js";
32
- import { a as repairLaunchAgentBootstrap, i as launchAgentPlistExists, n as isLaunchAgentListed, o as resolveGatewayLogPaths, r as isLaunchAgentLoaded, t as resolveGatewayService } from "./service-WG1x2OSQ.js";
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-dD2s6rYk.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-CXwP6M6I.js";
35
35
  import { t as collectChannelStatusIssues } from "./channels-status-issues-CsbN-n1Z.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-D_hQ5_nq.js";
@@ -23,13 +23,13 @@ import { n as isWSLEnv, t as isWSL } from "./wsl-DsSY3cxu.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-DCb0uSaS.js";
27
- import { a as repairLaunchAgentBootstrap, i as launchAgentPlistExists, n as isLaunchAgentListed, o as resolveGatewayLogPaths, r as isLaunchAgentLoaded, t as resolveGatewayService } from "./service-C1Hbmeqp.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-D5ukBqG3.js";
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-upiYbaf_.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-Bwd3YG7Q.js";
31
31
  import { i as resolveControlUiDistIndexPathForRoot, l as healthCommand, r as resolveControlUiDistIndexHealth, t as formatHealthCheckFailure } from "./health-format-XPwdLOyI.js";
32
- import { f as doctorShellCompletion, t as runGatewayUpdate } from "./update-runner-miNWP5Sn.js";
32
+ import { f as doctorShellCompletion, t as runGatewayUpdate } from "./update-runner-DAL6HwuR.js";
33
33
  import { n as logConfigUpdated } from "./logging-D15QDE2U.js";
34
34
  import { t as buildWorkspaceSkillStatus } from "./skills-status-C4wmQlJW.js";
35
35
  import { n as buildAuthHealthSummary, r as formatRemainingShort, t as DEFAULT_OAUTH_WARN_MS } from "./auth-health-PX_SEdPy.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-BY6ReYUg.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
1337
+ import("./run-main-DhSjsFQZ.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
  });
@@ -16,10 +16,10 @@ import { t as formatDocsLink } from "./links-BYUF0_Hp.js";
16
16
  import "./progress-RqIRAMUO.js";
17
17
  import { g as saveExecApprovals, l as readExecApprovalsSnapshot } from "./exec-approvals-DFRLM4Kc.js";
18
18
  import { t as renderTable } from "./table-BOthYYmp.js";
19
- import "./service-WG1x2OSQ.js";
19
+ import "./service-BKQOHHW6.js";
20
20
  import "./systemd-DyrxDxSB.js";
21
21
  import { n as callGatewayFromCli } from "./gateway-rpc-wCkAdVe_.js";
22
- import { t as describeUnknownError } from "./shared-BVqcu6Df.js";
22
+ import { t as describeUnknownError } from "./shared-BEW6LORX.js";
23
23
  import { n as nodesCallOpts, r as resolveNodeId } from "./rpc-mc9OFC-u.js";
24
24
  import JSON5 from "json5";
25
25
  import fs from "node:fs/promises";
@@ -13,10 +13,10 @@ import { t as formatDocsLink } from "./links-Br7nIvtU.js";
13
13
  import "./progress-BUjAoXj8.js";
14
14
  import { g as saveExecApprovals, l as readExecApprovalsSnapshot } from "./exec-approvals-BKW0tzYZ.js";
15
15
  import { n as callGatewayFromCli } from "./gateway-rpc-BMC8-bqk.js";
16
- import "./service-C1Hbmeqp.js";
16
+ import "./service-DV05Mtg_.js";
17
17
  import "./systemd-DQvm8tRB.js";
18
18
  import { t as renderTable } from "./table-Kzsd53ks.js";
19
- import { t as describeUnknownError } from "./shared-CKKIXImM.js";
19
+ import { t as describeUnknownError } from "./shared-D6pQLf6V.js";
20
20
  import { n as nodesCallOpts, r as resolveNodeId } from "./rpc-UOroZhpN.js";
21
21
  import JSON5 from "json5";
22
22
  import fs from "node:fs/promises";
@@ -61,32 +61,32 @@ 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-Bp6ywWs9.js";
65
- import "./completion-cli-BKOEiV6o.js";
64
+ import "./register.subclis-vPTlpvvQ.js";
65
+ import "./completion-cli-BfovozSF.js";
66
66
  import { n as createOutboundSendDeps, t as createDefaultDeps } from "./deps-BMzG4RP0.js";
67
- import "./daemon-runtime-DCb0uSaS.js";
68
- import "./service-C1Hbmeqp.js";
67
+ import "./daemon-runtime-D5ukBqG3.js";
68
+ import "./service-DV05Mtg_.js";
69
69
  import "./systemd-DQvm8tRB.js";
70
- import "./shared-Cqlq5soB.js";
71
- import { a as runDaemonStop, i as runDaemonStart, n as runDaemonStatus, o as runDaemonUninstall, r as runDaemonRestart, s as runDaemonInstall } from "./daemon-cli-DN96K6k9.js";
72
- import "./service-audit-upiYbaf_.js";
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-C_F0q4Qi.js";
72
+ import "./service-audit-Bwd3YG7Q.js";
73
73
  import "./table-Kzsd53ks.js";
74
74
  import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } from "./widearea-dns-DHSIgmLp.js";
75
- import { a as toOptionString, i as parsePort$1, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-CKKIXImM.js";
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-Cziq0-OG.js";
77
77
  import { g as discoverGatewayBeacons, n as installSkill } from "./onboard-skills-BjI95kbd.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-XPwdLOyI.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-miNWP5Sn.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-DAL6HwuR.js";
80
80
  import "./github-copilot-auth-B3spsF4o.js";
81
81
  import "./logging-D15QDE2U.js";
82
82
  import { i as shouldIncludeHook, n as loadWorkspaceHookEntries, r as resolveHookConfig } from "./hooks-status-CRG1w6AU.js";
83
- 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-CSbxqAmh.js";
83
+ 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-Dh9eHmli.js";
84
84
  import { t as buildWorkspaceSkillStatus } from "./skills-status-C4wmQlJW.js";
85
85
  import "./tui-Diudkvd5.js";
86
86
  import { i as setGatewayWsLogStyle, n as logWs, r as summarizeAgentEventForWsLog, t as formatForLog } from "./ws-log-C4lXq6b4.js";
87
87
  import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-Bmf_oPLY.js";
88
88
  import { a as createOutboundSendDeps$1, i as resolveAgentOutboundTarget, r as resolveAgentDeliveryPlan, t as agentCommand } from "./agent-Cohad4o0.js";
89
- import "./node-service-TuA57gm-.js";
89
+ import "./node-service-C2JDeXPT.js";
90
90
  import { n as forceFreePortAndWait } from "./ports-Bc_X7vVa.js";
91
91
  import { spawn, spawnSync } from "node:child_process";
92
92
  import path from "node:path";
@@ -54,8 +54,8 @@ import { n as resolveMessageChannelSelection } from "./channel-selection-Ha3CW6Q
54
54
  import { n as createOutboundSendDeps, t as createDefaultDeps } from "./deps-Dok0n0Hr.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-CFR2r-B9.js";
57
- import "./daemon-runtime-c-EjZSJl.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-mX9_f2Dm.js";
57
+ import "./daemon-runtime-ColTY8_i.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-CE0p5Sc2.js";
59
59
  import { t as resolveChannelDefaultAccountId } from "./helpers-yjIEMzi8.js";
60
60
  import "./logging-CLxV9Na7.js";
61
61
  import "./note-CrCSjpk3.js";
@@ -68,25 +68,25 @@ 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-B-HupLAr.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-CXTc59Ym.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-B9TTsdw7.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-CdxqlVY0.js";
74
74
  import "./table-BOthYYmp.js";
75
75
  import { t as buildWorkspaceSkillStatus } from "./skills-status-H6bA88MV.js";
76
- import "./service-WG1x2OSQ.js";
76
+ import "./service-BKQOHHW6.js";
77
77
  import "./systemd-DyrxDxSB.js";
78
- import "./service-audit-dD2s6rYk.js";
79
- import "./node-service-0VCYYXMx.js";
78
+ import "./service-audit-CXwP6M6I.js";
79
+ import "./node-service-DPiAKtp-.js";
80
80
  import "./channels-status-issues-CsbN-n1Z.js";
81
- import "./completion-cli-ByHuY-OZ.js";
81
+ import "./completion-cli-B2LZ022j.js";
82
82
  import { a as createOutboundSendDeps$1, i as resolveAgentOutboundTarget, r as resolveAgentDeliveryPlan, t as agentCommand } from "./agent-Bz1pvNmJ.js";
83
83
  import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } from "./widearea-dns-Cr9yVcsB.js";
84
84
  import { i as shouldIncludeHook, n as loadWorkspaceHookEntries, r as resolveHookConfig } from "./hooks-status-D58LpxJJ.js";
85
85
  import "./tui-DYDLeQUC.js";
86
86
  import { t as buildChannelAccountSnapshot } from "./status-CaPZ8xx2.js";
87
- import "./shared-DT19TjiI.js";
88
- import { a as runDaemonStop, i as runDaemonStart, n as runDaemonStatus, o as runDaemonUninstall, r as runDaemonRestart, s as runDaemonInstall } from "./daemon-cli-2WGN7iUV.js";
89
- import { a as toOptionString, i as parsePort$1, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-BVqcu6Df.js";
87
+ import "./shared-BI8OH0x7.js";
88
+ import { a as runDaemonStop, i as runDaemonStart, n as runDaemonStatus, o as runDaemonUninstall, r as runDaemonRestart, s as runDaemonInstall } from "./daemon-cli-CawMuct2.js";
89
+ import { a as toOptionString, i as parsePort$1, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-BEW6LORX.js";
90
90
  import { i as setGatewayWsLogStyle, n as logWs, r as summarizeAgentEventForWsLog, t as formatForLog } from "./ws-log-DQL_wvbk.js";
91
91
  import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-CeTb8vOB.js";
92
92
  import { fileURLToPath, pathToFileURL } from "node:url";
package/dist/index.js CHANGED
@@ -50,8 +50,8 @@ import { t as createDefaultDeps } from "./deps-Dok0n0Hr.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-CFR2r-B9.js";
53
- import { a as gatewayInstallErrorHint, g as assertSupportedRuntime, i as buildGatewayInstallPlan, r as isGatewayDaemonRuntime, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-c-EjZSJl.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-mX9_f2Dm.js";
53
+ import { a as gatewayInstallErrorHint, g as assertSupportedRuntime, i as buildGatewayInstallPlan, r as isGatewayDaemonRuntime, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-ColTY8_i.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-CE0p5Sc2.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,27 +65,27 @@ 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-B-HupLAr.js";
68
- import "./update-runner-CXTc59Ym.js";
68
+ import "./update-runner-B9TTsdw7.js";
69
69
  import "./auth-DSrYkGU-.js";
70
70
  import "./audit-CdxqlVY0.js";
71
71
  import { t as renderTable } from "./table-BOthYYmp.js";
72
72
  import "./skills-status-H6bA88MV.js";
73
- import { t as resolveGatewayService } from "./service-WG1x2OSQ.js";
73
+ import { t as resolveGatewayService } from "./service-BKQOHHW6.js";
74
74
  import { r as isSystemdUserServiceAvailable } from "./systemd-DyrxDxSB.js";
75
- import "./service-audit-dD2s6rYk.js";
76
- import "./node-service-0VCYYXMx.js";
75
+ import "./service-audit-CXwP6M6I.js";
76
+ import "./node-service-DPiAKtp-.js";
77
77
  import "./channels-status-issues-CsbN-n1Z.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-ByHuY-OZ.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-B2LZ022j.js";
79
79
  import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-wCkAdVe_.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-Bz1pvNmJ.js";
82
82
  import { i as hasExplicitOptions, n as resolveCliChannelOptions, r as ensurePluginRegistryLoaded } from "./channel-options--g86wXtm.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-cVfulVpY.js";
84
+ import { i as CONFIGURE_WIZARD_SECTIONS, n as configureCommand, r as configureCommandWithSections } from "./configure-Bnt8FsOg.js";
85
85
  import { n as ensureSystemdUserLingerNonInteractive } from "./systemd-linger-C5NE1TWa.js";
86
86
  import "./widearea-dns-Cr9yVcsB.js";
87
87
  import "./auth-health-D_hQ5_nq.js";
88
- import { n as loadAndMaybeMigrateDoctorConfig, t as doctorCommand } from "./doctor-B62rleAz.js";
88
+ import { n as loadAndMaybeMigrateDoctorConfig, t as doctorCommand } from "./doctor-fZFwEwIt.js";
89
89
  import "./hooks-status-D58LpxJJ.js";
90
90
  import { i as hasEmittedCliBanner, n as emitCliBanner, r as formatCliBannerLine } from "./tui-DYDLeQUC.js";
91
91
  import process$1 from "node:process";
@@ -2855,7 +2855,7 @@ async function loadValidConfig() {
2855
2855
  }
2856
2856
  function registerConfigCli(program) {
2857
2857
  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) => {
2858
- const { CONFIGURE_WIZARD_SECTIONS, configureCommand, configureCommandWithSections } = await import("./configure-cVfulVpY.js").then((n) => n.t);
2858
+ const { CONFIGURE_WIZARD_SECTIONS, configureCommand, configureCommandWithSections } = await import("./configure-Bnt8FsOg.js").then((n) => n.t);
2859
2859
  const sections = Array.isArray(opts.section) ? opts.section.map((value) => typeof value === "string" ? value.trim() : "").filter(Boolean) : [];
2860
2860
  if (sections.length === 0) {
2861
2861
  await configureCommand(defaultRuntime);
@@ -19,12 +19,12 @@ import { m as detectMime } from "./routes-MhfRrAmB.js";
19
19
  import { i as getMachineDisplayName, r as createBrowserRouteDispatcher, t as isWSL } from "./wsl-DsSY3cxu.js";
20
20
  import { a as evaluateShellAllowlist, c as normalizeExecApprovals, d as requiresExecApproval, f as resolveExecApprovals, g as saveExecApprovals, h as resolveSafeBins, i as evaluateExecAllowlist, l as readExecApprovalsSnapshot, m as resolveExecApprovalsSocketPath, n as analyzeArgvCommand, r as ensureExecApprovals, t as addAllowlistEntry, u as recordAllowlistUse } from "./exec-approvals-BKW0tzYZ.js";
21
21
  import { c as formatNodeServiceDescription, g as resolveNodeWindowsTaskName, h as resolveNodeSystemdServiceName, m as resolveNodeLaunchAgentLabel } from "./constants-CXZus5hc.js";
22
- 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-DCb0uSaS.js";
23
- import { o as resolveGatewayLogPaths } from "./service-C1Hbmeqp.js";
22
+ 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-D5ukBqG3.js";
23
+ import { o as resolveGatewayLogPaths } from "./service-DV05Mtg_.js";
24
24
  import { r as isSystemdUserServiceAvailable } from "./systemd-DQvm8tRB.js";
25
- import { d as createNullWriter, f as emitDaemonActionJson, i as parsePort, n as formatRuntimeStatus, u as buildDaemonServiceSnapshot } from "./shared-Cqlq5soB.js";
25
+ import { d as createNullWriter, f as emitDaemonActionJson, i as parsePort, n as formatRuntimeStatus, u as buildDaemonServiceSnapshot } from "./shared-B_UA5GEy.js";
26
26
  import { n as renderSystemdUnavailableHints } from "./systemd-hints-DiosV8jd.js";
27
- import { t as resolveNodeService } from "./node-service-TuA57gm-.js";
27
+ import { t as resolveNodeService } from "./node-service-C2JDeXPT.js";
28
28
  import { spawn } from "node:child_process";
29
29
  import path from "node:path";
30
30
  import os from "node:os";
@@ -22,12 +22,12 @@ import { a as evaluateShellAllowlist, c as normalizeExecApprovals, d as requires
22
22
  import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-BFK7QVgY.js";
23
23
  import { c as formatNodeServiceDescription, g as resolveNodeWindowsTaskName, h as resolveNodeSystemdServiceName, m as resolveNodeLaunchAgentLabel } from "./constants-BApFvR9k.js";
24
24
  import { t as ensureSKYKOICliOnPath } from "./path-env-CFR2r-B9.js";
25
- 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-c-EjZSJl.js";
26
- import { o as resolveGatewayLogPaths } from "./service-WG1x2OSQ.js";
25
+ 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-ColTY8_i.js";
26
+ import { o as resolveGatewayLogPaths } from "./service-BKQOHHW6.js";
27
27
  import { r as isSystemdUserServiceAvailable } from "./systemd-DyrxDxSB.js";
28
- import { t as resolveNodeService } from "./node-service-0VCYYXMx.js";
28
+ import { t as resolveNodeService } from "./node-service-DPiAKtp-.js";
29
29
  import { n as renderSystemdUnavailableHints } from "./systemd-hints-C_XVx08a.js";
30
- import { d as createNullWriter, f as emitDaemonActionJson, i as parsePort, n as formatRuntimeStatus, u as buildDaemonServiceSnapshot } from "./shared-DT19TjiI.js";
30
+ import { d as createNullWriter, f as emitDaemonActionJson, i as parsePort, n as formatRuntimeStatus, u as buildDaemonServiceSnapshot } from "./shared-BI8OH0x7.js";
31
31
  import os from "node:os";
32
32
  import path from "node:path";
33
33
  import fs from "node:fs";
@@ -1,5 +1,5 @@
1
1
  import { a as NODE_SERVICE_MARKER, g as resolveNodeWindowsTaskName, h as resolveNodeSystemdServiceName, i as NODE_SERVICE_KIND, m as resolveNodeLaunchAgentLabel, o as NODE_WINDOWS_TASK_SCRIPT_NAME } from "./constants-CXZus5hc.js";
2
- import { t as resolveGatewayService } from "./service-C1Hbmeqp.js";
2
+ import { t as resolveGatewayService } from "./service-DV05Mtg_.js";
3
3
 
4
4
  //#region src/daemon/node-service.ts
5
5
  function withNodeServiceEnv(env) {
@@ -1,5 +1,5 @@
1
1
  import { a as NODE_SERVICE_MARKER, g as resolveNodeWindowsTaskName, h as resolveNodeSystemdServiceName, i as NODE_SERVICE_KIND, m as resolveNodeLaunchAgentLabel, o as NODE_WINDOWS_TASK_SCRIPT_NAME } from "./constants-BApFvR9k.js";
2
- import { t as resolveGatewayService } from "./service-WG1x2OSQ.js";
2
+ import { t as resolveGatewayService } from "./service-BKQOHHW6.js";
3
3
 
4
4
  //#region src/daemon/node-service.ts
5
5
  function withNodeServiceEnv(env) {
@@ -17,24 +17,24 @@ import { t as buildChannelSummary } from "./channel-summary-CQQsibxL.js";
17
17
  import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-BGnJy6Wo.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-c-EjZSJl.js";
20
+ import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-ColTY8_i.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 { c as promptDefaultModel, d as warnIfModelConfigLooksOff, f as applyAuthChoice, g as promptAuthChoiceGrouped, r as promptRemoteGatewayConfig, s as applyPrimaryModel, t as setupSkills, u as resolvePreferredProviderForAuthChoice } from "./onboard-skills-DqXS0Xw7.js";
25
25
  import { n as setupChannels } from "./onboard-channels-VEH0JUkh.js";
26
26
  import { l as healthCommand, n as ensureControlUiAssetsBuilt, s as formatHealthChannelLines, t as formatHealthCheckFailure, u as resolveHeartbeatSummaryForAgent } from "./health-format-B-HupLAr.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-CXTc59Ym.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-B9TTsdw7.js";
28
28
  import { i as probeGateway, t as runSecurityAudit } from "./audit-CdxqlVY0.js";
29
29
  import { t as renderTable } from "./table-BOthYYmp.js";
30
30
  import { t as buildWorkspaceSkillStatus } from "./skills-status-H6bA88MV.js";
31
- import { o as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-WG1x2OSQ.js";
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-dD2s6rYk.js";
34
- import { t as resolveNodeService } from "./node-service-0VCYYXMx.js";
33
+ import { o as readLastGatewayErrorLine } from "./service-audit-CXwP6M6I.js";
34
+ import { t as resolveNodeService } from "./node-service-DPiAKtp-.js";
35
35
  import { t as collectChannelStatusIssues } from "./channels-status-issues-CsbN-n1Z.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-ByHuY-OZ.js";
37
+ import { r as installCompletion } from "./completion-cli-B2LZ022j.js";
38
38
  import { t as buildWorkspaceHookStatus } from "./hooks-status-D58LpxJJ.js";
39
39
  import { t as runTui } from "./tui-DYDLeQUC.js";
40
40
  import os from "node:os";
@@ -52,35 +52,35 @@ import "./pairing-labels-DxpfDscO.js";
52
52
  import "./channels-status-issues-Cx4DwKM8.js";
53
53
  import { n as ensurePluginRegistryLoaded } from "./command-options-CH57fHIc.js";
54
54
  import { n as resolveCliChannelOptions } from "./channel-options-KnJWKQqH.js";
55
- import { a as getCommandPath, d as hasHelpOrVersion, l as getVerboseFlag } from "./register.subclis-Bp6ywWs9.js";
56
- import "./completion-cli-BKOEiV6o.js";
55
+ import { a as getCommandPath, d as hasHelpOrVersion, l as getVerboseFlag } from "./register.subclis-vPTlpvvQ.js";
56
+ import "./completion-cli-BfovozSF.js";
57
57
  import "./gateway-rpc-BMC8-bqk.js";
58
58
  import "./deps-BMzG4RP0.js";
59
- import "./daemon-runtime-DCb0uSaS.js";
60
- import "./service-C1Hbmeqp.js";
59
+ import "./daemon-runtime-D5ukBqG3.js";
60
+ import "./service-DV05Mtg_.js";
61
61
  import "./systemd-DQvm8tRB.js";
62
- import "./service-audit-upiYbaf_.js";
62
+ import "./service-audit-Bwd3YG7Q.js";
63
63
  import "./table-Kzsd53ks.js";
64
64
  import "./widearea-dns-DHSIgmLp.js";
65
65
  import "./audit-Cziq0-OG.js";
66
66
  import "./onboard-skills-BjI95kbd.js";
67
67
  import "./health-format-XPwdLOyI.js";
68
- import "./update-runner-miNWP5Sn.js";
68
+ import "./update-runner-DAL6HwuR.js";
69
69
  import "./github-copilot-auth-B3spsF4o.js";
70
70
  import "./logging-D15QDE2U.js";
71
71
  import "./hooks-status-CRG1w6AU.js";
72
- import "./status-CSbxqAmh.js";
72
+ import "./status-Dh9eHmli.js";
73
73
  import "./skills-status-C4wmQlJW.js";
74
74
  import { i as hasEmittedCliBanner, n as emitCliBanner, r as formatCliBannerLine } from "./tui-Diudkvd5.js";
75
75
  import "./agent-Cohad4o0.js";
76
- import "./node-service-TuA57gm-.js";
76
+ import "./node-service-C2JDeXPT.js";
77
77
  import { t as forceFreePort } from "./ports-Bc_X7vVa.js";
78
78
  import "./auth-health-PX_SEdPy.js";
79
- import { r as registerProgramCommands, t as ensureConfigReady } from "./config-guard-15OctJmH.js";
79
+ import { r as registerProgramCommands, t as ensureConfigReady } from "./config-guard-S6PKynKZ.js";
80
80
  import "./help-format-tZizD4BR.js";
81
- import "./configure-ppQp4U9G.js";
81
+ import "./configure-D6BzsZnx.js";
82
82
  import "./systemd-linger-CEreLGmo.js";
83
- import "./doctor-Bqjznznx.js";
83
+ import "./doctor-yPPJ4XBf.js";
84
84
  import { Command } from "commander";
85
85
 
86
86
  //#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-CaVQKWWc.js")).registerGatewayCli(program);
127
+ (await import("./gateway-cli-D_1doJj6.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-DN96K6k9.js").then((n) => n.t)).registerDaemonCli(program);
134
+ (await import("./daemon-cli-C_F0q4Qi.js").then((n) => n.t)).registerDaemonCli(program);
135
135
  }
136
136
  },
137
137
  {
@@ -159,7 +159,7 @@ const entries = [
159
159
  name: "approvals",
160
160
  description: "Exec approvals",
161
161
  register: async (program) => {
162
- (await import("./exec-approvals-cli-VlEIC5tr.js")).registerExecApprovalsCli(program);
162
+ (await import("./exec-approvals-cli-DSqfOkX3.js")).registerExecApprovalsCli(program);
163
163
  }
164
164
  },
165
165
  {
@@ -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-DCA3ThYJ.js")).registerNodeCli(program);
183
+ (await import("./node-cli-BXIEgHya.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-BL8M0tgN.js")).registerUpdateCli(program);
285
+ (await import("./update-cli-BMYHTWpZ.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-BKOEiV6o.js").then((n) => n.n)).registerCompletionCli(program);
292
+ (await import("./completion-cli-BfovozSF.js").then((n) => n.n)).registerCompletionCli(program);
293
293
  }
294
294
  }
295
295
  ];
@@ -51,34 +51,34 @@ import "./login-qr-Ovj9NB3z.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-CH57fHIc.js";
54
- import { a as getCommandPath, c as getPrimaryCommand, d as hasHelpOrVersion } from "./register.subclis-Bp6ywWs9.js";
55
- import "./completion-cli-BKOEiV6o.js";
54
+ import { a as getCommandPath, c as getPrimaryCommand, d as hasHelpOrVersion } from "./register.subclis-vPTlpvvQ.js";
55
+ import "./completion-cli-BfovozSF.js";
56
56
  import "./gateway-rpc-BMC8-bqk.js";
57
57
  import "./deps-BMzG4RP0.js";
58
- import { h as assertSupportedRuntime } from "./daemon-runtime-DCb0uSaS.js";
59
- import "./service-C1Hbmeqp.js";
58
+ import { h as assertSupportedRuntime } from "./daemon-runtime-D5ukBqG3.js";
59
+ import "./service-DV05Mtg_.js";
60
60
  import "./systemd-DQvm8tRB.js";
61
- import "./service-audit-upiYbaf_.js";
61
+ import "./service-audit-Bwd3YG7Q.js";
62
62
  import "./table-Kzsd53ks.js";
63
63
  import "./widearea-dns-DHSIgmLp.js";
64
64
  import "./audit-Cziq0-OG.js";
65
65
  import "./onboard-skills-BjI95kbd.js";
66
66
  import "./health-format-XPwdLOyI.js";
67
- import "./update-runner-miNWP5Sn.js";
67
+ import "./update-runner-DAL6HwuR.js";
68
68
  import "./github-copilot-auth-B3spsF4o.js";
69
69
  import "./logging-D15QDE2U.js";
70
70
  import "./hooks-status-CRG1w6AU.js";
71
- import "./status-CSbxqAmh.js";
71
+ import "./status-Dh9eHmli.js";
72
72
  import "./skills-status-C4wmQlJW.js";
73
73
  import { n as emitCliBanner } from "./tui-Diudkvd5.js";
74
74
  import "./agent-Cohad4o0.js";
75
- import "./node-service-TuA57gm-.js";
75
+ import "./node-service-C2JDeXPT.js";
76
76
  import "./auth-health-PX_SEdPy.js";
77
- import { n as findRoutedCommand, t as ensureConfigReady } from "./config-guard-15OctJmH.js";
77
+ import { n as findRoutedCommand, t as ensureConfigReady } from "./config-guard-S6PKynKZ.js";
78
78
  import "./help-format-tZizD4BR.js";
79
- import "./configure-ppQp4U9G.js";
79
+ import "./configure-D6BzsZnx.js";
80
80
  import "./systemd-linger-CEreLGmo.js";
81
- import "./doctor-Bqjznznx.js";
81
+ import "./doctor-yPPJ4XBf.js";
82
82
  import path from "node:path";
83
83
  import process$1 from "node:process";
84
84
  import fs from "node:fs";
@@ -140,7 +140,7 @@ async function runCli(argv = process$1.argv) {
140
140
  assertSupportedRuntime();
141
141
  if (await tryRouteCli(normalizedArgv)) return;
142
142
  enableConsoleCapture();
143
- const { buildProgram } = await import("./program-DRx4QYji.js");
143
+ const { buildProgram } = await import("./program-Bv9reO4y.js");
144
144
  const program = buildProgram();
145
145
  installUnhandledRejectionHandler();
146
146
  process$1.on("uncaughtException", (error) => {
@@ -150,7 +150,7 @@ async function runCli(argv = process$1.argv) {
150
150
  const parseArgv = rewriteUpdateFlagArgv(normalizedArgv);
151
151
  const primary = getPrimaryCommand(parseArgv);
152
152
  if (primary) {
153
- const { registerSubCliByName } = await import("./register.subclis-Bp6ywWs9.js").then((n) => n.i);
153
+ const { registerSubCliByName } = await import("./register.subclis-vPTlpvvQ.js").then((n) => n.i);
154
154
  await registerSubCliByName(program, primary);
155
155
  }
156
156
  if (!(!primary && hasHelpOrVersion(parseArgv))) {
@@ -489,7 +489,22 @@ async function installScheduledTask({ env, stdout, programArguments, workingDire
489
489
  if (create.code !== 0 && taskUser) create = await execSchtasks(baseArgs);
490
490
  if (create.code !== 0) {
491
491
  const detail = create.stderr || create.stdout;
492
- const hint = /access is denied/i.test(detail) ? " Run PowerShell as Administrator or rerun without installing the daemon." : "";
492
+ const isAccessDenied = /access is denied/i.test(detail);
493
+ if (isAccessDenied) {
494
+ const startupDir = path.join(env.APPDATA || path.join(env.USERPROFILE || env.HOME || "", "AppData", "Roaming"), "Microsoft", "Windows", "Start Menu", "Programs", "Startup");
495
+ const startupScript = path.join(startupDir, `${taskName.replace(/[\\/:*?"<>|]/g, "-")}.cmd`);
496
+ try {
497
+ await fs.mkdir(startupDir, { recursive: true });
498
+ await fs.writeFile(startupScript, `@echo off\ncall "${scriptPath}"\n`, "utf8");
499
+ const { exec: cpExec } = await import("node:child_process");
500
+ cpExec(`start /b "" "${scriptPath}"`, { windowsHide: true });
501
+ stdout.write("\n");
502
+ stdout.write(`${formatLine("Installed Startup script (no admin)", startupScript)}\n`);
503
+ stdout.write(`${formatLine("Task script", scriptPath)}\n`);
504
+ return { scriptPath };
505
+ } catch {}
506
+ }
507
+ const hint = isAccessDenied ? " Run PowerShell as Administrator or rerun without installing the daemon." : "";
493
508
  throw new Error(`schtasks create failed: ${detail}${hint}`.trim());
494
509
  }
495
510
  await execSchtasks([
@@ -489,7 +489,22 @@ async function installScheduledTask({ env, stdout, programArguments, workingDire
489
489
  if (create.code !== 0 && taskUser) create = await execSchtasks(baseArgs);
490
490
  if (create.code !== 0) {
491
491
  const detail = create.stderr || create.stdout;
492
- const hint = /access is denied/i.test(detail) ? " Run PowerShell as Administrator or rerun without installing the daemon." : "";
492
+ const isAccessDenied = /access is denied/i.test(detail);
493
+ if (isAccessDenied) {
494
+ const startupDir = path.join(env.APPDATA || path.join(env.USERPROFILE || env.HOME || "", "AppData", "Roaming"), "Microsoft", "Windows", "Start Menu", "Programs", "Startup");
495
+ const startupScript = path.join(startupDir, `${taskName.replace(/[\\/:*?"<>|]/g, "-")}.cmd`);
496
+ try {
497
+ await fs.mkdir(startupDir, { recursive: true });
498
+ await fs.writeFile(startupScript, `@echo off\ncall "${scriptPath}"\n`, "utf8");
499
+ const { exec: cpExec } = await import("node:child_process");
500
+ cpExec(`start /b "" "${scriptPath}"`, { windowsHide: true });
501
+ stdout.write("\n");
502
+ stdout.write(`${formatLine("Installed Startup script (no admin)", startupScript)}\n`);
503
+ stdout.write(`${formatLine("Task script", scriptPath)}\n`);
504
+ return { scriptPath };
505
+ } catch {}
506
+ }
507
+ const hint = isAccessDenied ? " Run PowerShell as Administrator or rerun without installing the daemon." : "";
493
508
  throw new Error(`schtasks create failed: ${detail}${hint}`.trim());
494
509
  }
495
510
  await execSchtasks([
@@ -1,6 +1,6 @@
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-DCb0uSaS.js";
3
- import { o as resolveGatewayLogPaths, s as resolveLaunchAgentPlistPath } from "./service-C1Hbmeqp.js";
2
+ import { c as getMinimalServicePathPartsFromEnv, l as isSystemNodePath, m as resolveSystemNodePath, u as isVersionManagedNodePath } from "./daemon-runtime-D5ukBqG3.js";
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";
6
6
  import path from "node:path";
@@ -1,6 +1,6 @@
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-c-EjZSJl.js";
3
- import { o as resolveGatewayLogPaths, s as resolveLaunchAgentPlistPath } from "./service-WG1x2OSQ.js";
2
+ import { c as getMinimalServicePathPartsFromEnv, l as isSystemNodePath, m as resolveSystemNodePath, u as isVersionManagedNodePath } from "./daemon-runtime-ColTY8_i.js";
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";
6
6
  import fs from "node:fs/promises";
@@ -1,7 +1,7 @@
1
1
  import { c as defaultRuntime } from "./subsystem-B6KC_eUM.js";
2
2
  import { t as formatCliCommand } from "./command-format-DaWwoZ_Z.js";
3
3
  import { d as resolveGatewaySystemdServiceName, f as resolveGatewayWindowsTaskName, l as resolveGatewayLaunchAgentLabel } from "./constants-BApFvR9k.js";
4
- import { t as resolveGatewayService } from "./service-WG1x2OSQ.js";
4
+ import { t as resolveGatewayService } from "./service-BKQOHHW6.js";
5
5
 
6
6
  //#region src/cli/gateway-cli/shared.ts
7
7
  function parsePort(raw) {
@@ -2,7 +2,7 @@ import { V as getResolvedLoggerSettings, c as defaultRuntime } from "./subsystem
2
2
  import { t as formatCliCommand } from "./command-format-DaWwoZ_Z.js";
3
3
  import { a as pickPrimaryLanIPv4 } from "./net-sP4-ayNL.js";
4
4
  import { d as resolveGatewaySystemdServiceName, f as resolveGatewayWindowsTaskName, l as resolveGatewayLaunchAgentLabel } from "./constants-BApFvR9k.js";
5
- import { o as resolveGatewayLogPaths } from "./service-WG1x2OSQ.js";
5
+ import { o as resolveGatewayLogPaths } from "./service-BKQOHHW6.js";
6
6
  import { Writable } from "node:stream";
7
7
 
8
8
  //#region src/cli/daemon-cli/response.ts
@@ -2,7 +2,7 @@ import { M as getResolvedLoggerSettings, p as defaultRuntime } from "./entry.js"
2
2
  import { t as formatCliCommand } from "./command-format-B5jjY9oQ.js";
3
3
  import { Vt as pickPrimaryLanIPv4 } from "./client-CkUn7eWk.js";
4
4
  import { d as resolveGatewaySystemdServiceName, f as resolveGatewayWindowsTaskName, l as resolveGatewayLaunchAgentLabel } from "./constants-CXZus5hc.js";
5
- import { o as resolveGatewayLogPaths } from "./service-C1Hbmeqp.js";
5
+ import { o as resolveGatewayLogPaths } from "./service-DV05Mtg_.js";
6
6
  import { Writable } from "node:stream";
7
7
 
8
8
  //#region src/cli/daemon-cli/response.ts
@@ -1,7 +1,7 @@
1
1
  import { p as defaultRuntime } from "./entry.js";
2
2
  import { t as formatCliCommand } from "./command-format-B5jjY9oQ.js";
3
3
  import { d as resolveGatewaySystemdServiceName, f as resolveGatewayWindowsTaskName, l as resolveGatewayLaunchAgentLabel } from "./constants-CXZus5hc.js";
4
- import { t as resolveGatewayService } from "./service-C1Hbmeqp.js";
4
+ import { t as resolveGatewayService } from "./service-DV05Mtg_.js";
5
5
 
6
6
  //#region src/cli/gateway-cli/shared.ts
7
7
  function parsePort(raw) {
@@ -20,21 +20,21 @@ import { o as resolveStorePath } from "./paths-DPLOvGLU.js";
20
20
  import { I as resolveMainSessionKey, d as loadSessionStore } from "./sandbox-DSyCgHwX.js";
21
21
  import { t as buildChannelSummary } from "./channel-summary-xPetbUgl.js";
22
22
  import { t as collectChannelStatusIssues } from "./channels-status-issues-Cx4DwKM8.js";
23
- import { r as installCompletion } from "./completion-cli-BKOEiV6o.js";
24
- import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-DCb0uSaS.js";
25
- import { o as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-C1Hbmeqp.js";
23
+ import { r as installCompletion } from "./completion-cli-BfovozSF.js";
24
+ import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-D5ukBqG3.js";
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-upiYbaf_.js";
27
+ import { o as readLastGatewayErrorLine } from "./service-audit-Bwd3YG7Q.js";
28
28
  import { t as renderTable } from "./table-Kzsd53ks.js";
29
29
  import { i as probeGateway, t as runSecurityAudit } from "./audit-Cziq0-OG.js";
30
30
  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-BjI95kbd.js";
31
31
  import { l as healthCommand, n as ensureControlUiAssetsBuilt, s as formatHealthChannelLines, t as formatHealthCheckFailure, u as resolveHeartbeatSummaryForAgent } from "./health-format-XPwdLOyI.js";
32
- 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-miNWP5Sn.js";
32
+ 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-DAL6HwuR.js";
33
33
  import { n as logConfigUpdated } from "./logging-D15QDE2U.js";
34
34
  import { t as buildWorkspaceHookStatus } from "./hooks-status-CRG1w6AU.js";
35
35
  import { t as buildWorkspaceSkillStatus } from "./skills-status-C4wmQlJW.js";
36
36
  import { t as runTui } from "./tui-Diudkvd5.js";
37
- import { t as resolveNodeService } from "./node-service-TuA57gm-.js";
37
+ import { t as resolveNodeService } from "./node-service-C2JDeXPT.js";
38
38
  import { i as redactSecrets, n as formatDuration$1, r as formatGatewayAuthUsed, t as formatAge$1 } from "./format-BPATbSa4.js";
39
39
  import { spawnSync } from "node:child_process";
40
40
  import path from "node:path";
@@ -49,25 +49,25 @@ import "./pairing-store-D5pH_THY.js";
49
49
  import "./login-qr-Ovj9NB3z.js";
50
50
  import "./pairing-labels-DxpfDscO.js";
51
51
  import "./channels-status-issues-Cx4DwKM8.js";
52
- import "./register.subclis-Bp6ywWs9.js";
53
- import { r as installCompletion } from "./completion-cli-BKOEiV6o.js";
52
+ import "./register.subclis-vPTlpvvQ.js";
53
+ import { r as installCompletion } from "./completion-cli-BfovozSF.js";
54
54
  import "./deps-BMzG4RP0.js";
55
- import { g as parseSemver } from "./daemon-runtime-DCb0uSaS.js";
56
- import "./service-C1Hbmeqp.js";
55
+ import { g as parseSemver } from "./daemon-runtime-D5ukBqG3.js";
56
+ import "./service-DV05Mtg_.js";
57
57
  import "./systemd-DQvm8tRB.js";
58
- import "./shared-Cqlq5soB.js";
59
- import { r as runDaemonRestart } from "./daemon-cli-DN96K6k9.js";
60
- import "./service-audit-upiYbaf_.js";
58
+ import "./shared-B_UA5GEy.js";
59
+ import { r as runDaemonRestart } from "./daemon-cli-C_F0q4Qi.js";
60
+ import "./service-audit-Bwd3YG7Q.js";
61
61
  import { t as renderTable } from "./table-Kzsd53ks.js";
62
62
  import "./health-format-XPwdLOyI.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-miNWP5Sn.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-DAL6HwuR.js";
64
64
  import "./logging-D15QDE2U.js";
65
65
  import "./skills-status-C4wmQlJW.js";
66
66
  import "./auth-health-PX_SEdPy.js";
67
67
  import { n as updateNpmInstalledPlugins, t as syncPluginsForUpdateChannel } from "./update-NeXgYicE.js";
68
68
  import { t as formatHelpExamples } from "./help-format-tZizD4BR.js";
69
69
  import "./systemd-linger-CEreLGmo.js";
70
- import { t as doctorCommand } from "./doctor-Bqjznznx.js";
70
+ import { t as doctorCommand } from "./doctor-yPPJ4XBf.js";
71
71
  import { spawnSync } from "node:child_process";
72
72
  import path from "node:path";
73
73
  import os from "node:os";
@@ -46,7 +46,7 @@ import "./control-service-BFK7QVgY.js";
46
46
  import "./channel-selection-Ha3CW6QO.js";
47
47
  import "./deps-Dok0n0Hr.js";
48
48
  import "./tailscale-C9oNI3cv.js";
49
- import { _ as parseSemver } from "./daemon-runtime-c-EjZSJl.js";
49
+ import { _ as parseSemver } from "./daemon-runtime-ColTY8_i.js";
50
50
  import "./logging-CLxV9Na7.js";
51
51
  import "./note-CrCSjpk3.js";
52
52
  import "./plugin-auto-enable-CIHFDKgl.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-B-HupLAr.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-CXTc59Ym.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-B9TTsdw7.js";
58
58
  import "./auth-DSrYkGU-.js";
59
59
  import { t as renderTable } from "./table-BOthYYmp.js";
60
60
  import "./skills-status-H6bA88MV.js";
61
- import "./service-WG1x2OSQ.js";
61
+ import "./service-BKQOHHW6.js";
62
62
  import "./systemd-DyrxDxSB.js";
63
- import "./service-audit-dD2s6rYk.js";
63
+ import "./service-audit-CXwP6M6I.js";
64
64
  import "./channels-status-issues-CsbN-n1Z.js";
65
- import { r as installCompletion } from "./completion-cli-ByHuY-OZ.js";
65
+ import { r as installCompletion } from "./completion-cli-B2LZ022j.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-D_hQ5_nq.js";
69
- import { t as doctorCommand } from "./doctor-B62rleAz.js";
70
- import "./shared-DT19TjiI.js";
71
- import { r as runDaemonRestart } from "./daemon-cli-2WGN7iUV.js";
69
+ import { t as doctorCommand } from "./doctor-fZFwEwIt.js";
70
+ import "./shared-BI8OH0x7.js";
71
+ import { r as runDaemonRestart } from "./daemon-cli-CawMuct2.js";
72
72
  import { n as updateNpmInstalledPlugins, t as syncPluginsForUpdateChannel } from "./update-BM7DEuEF.js";
73
73
  import os from "node:os";
74
74
  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-DaWwoZ_Z.js";
5
5
  import { j as VERSION } from "./config-ZeM0kR6L.js";
6
- import { _ as parseSemver } from "./daemon-runtime-c-EjZSJl.js";
6
+ import { _ as parseSemver } from "./daemon-runtime-ColTY8_i.js";
7
7
  import { t as note } from "./note-CrCSjpk3.js";
8
8
  import { i as resolveControlUiDistIndexPathForRoot, r as resolveControlUiDistIndexHealth } from "./health-format-B-HupLAr.js";
9
- import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-ByHuY-OZ.js";
9
+ import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-B2LZ022j.js";
10
10
  import os from "node:os";
11
11
  import path from "node:path";
12
12
  import fs from "node:fs/promises";
@@ -4,8 +4,8 @@ import { t as resolveSKYKOIPackageRoot } from "./SKYKOI-root-B5HYTPZX.js";
4
4
  import { j as VERSION } from "./config-Cp4weBPs.js";
5
5
  import { Ln as trimLogTail } from "./loader-Dypwh8UE.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-BKOEiV6o.js";
8
- import { g as parseSemver } from "./daemon-runtime-DCb0uSaS.js";
7
+ import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-BfovozSF.js";
8
+ import { g as parseSemver } from "./daemon-runtime-D5ukBqG3.js";
9
9
  import { i as resolveControlUiDistIndexPathForRoot, r as resolveControlUiDistIndexHealth } from "./health-format-XPwdLOyI.js";
10
10
  import { spawnSync } from "node:child_process";
11
11
  import path from "node:path";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skykoi",
3
- "version": "2026.3.23",
3
+ "version": "2026.3.25",
4
4
  "description": "SkyKoi — AI agent runtime. Multi-channel gateway CLI with RPC agent. Forked from SkyKoi.",
5
5
  "keywords": [
6
6
  "skykoi",