skykoi 2026.3.325 → 2026.3.327

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.
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "2026.3.325",
3
- "commit": "c2f8bc74e833337a7e9de4abbfa99029787fb9ca",
4
- "builtAt": "2026-06-11T01:37:24.380Z"
2
+ "version": "2026.3.327",
3
+ "commit": "163bb07f3b3f4a8e3cd55a335ef2b9ba49a29cba",
4
+ "builtAt": "2026-06-11T01:56:52.070Z"
5
5
  }
@@ -1 +1 @@
1
- a9c694a00edccbad7962b359de0d145e81fa54128e4d8d55e5d0702c5dc76f28
1
+ 5bd216aeb66a0b2519fab00289b7a7a1d4b26e60d4bd302f5fff1b65e3ea3b60
@@ -1,6 +1,6 @@
1
1
  import { r as __exportAll } from "./chunk-D_gEzPfs.js";
2
2
  import { g as resolveStateDir } from "./paths-VdmjGGyc.js";
3
- import { n as registerSubCliByName, t as getSubCliEntries } from "./register.subclis--gJwSct5.js";
3
+ import { n as registerSubCliByName, t as getSubCliEntries } from "./register.subclis-BShTfQnE.js";
4
4
  import path from "node:path";
5
5
  import os from "node:os";
6
6
  import fs from "node:fs/promises";
@@ -27,7 +27,7 @@ import { t as resolveChannelDefaultAccountId } from "./helpers-Cg7M1qEA.js";
27
27
  import { n as logConfigUpdated, t as formatConfigPath } from "./logging-CSvbGeqF.js";
28
28
  import { t as WizardCancelledError } from "./prompts-B1n8UQzX.js";
29
29
  import { t as createClackPrompter } from "./clack-prompter-CCgKKgnN.js";
30
- import { a as buildKoiSummaries, c as loadKoiIdentity, f as parseIdentityMarkdown, i as applyKoiConfig, l as pruneKoiConfig, n as statusCommand, o as findKoiEntryIndex, s as listKoiEntries, t as runOnboardingWizard, u as identityHasValues } from "./onboarding-C8LHaxej.js";
30
+ import { a as buildKoiSummaries, c as loadKoiIdentity, f as parseIdentityMarkdown, i as applyKoiConfig, l as pruneKoiConfig, n as statusCommand, o as findKoiEntryIndex, s as listKoiEntries, t as runOnboardingWizard, u as identityHasValues } from "./onboarding-jVvN7Fjd.js";
31
31
  import { d as applyAuthChoice, f as applyOpenAIConfig, h as promptAuthChoiceGrouped, m as applyGoogleGeminiModelDefault, p as upsertSharedEnvVar, u as warnIfModelConfigLooksOff } from "./onboard-skills-ChDFxeGS.js";
32
32
  import { $ as setOpenrouterApiKey, C as applyMoonshotConfig, D as applyOpenrouterConfig, F as applyVercelAiGatewayConfig, J as setGeminiApiKey, K as setAnthropicApiKey, L as applyXaiConfig, N as applyVeniceConfig, Q as setOpencodeZenApiKey, V as applyZaiConfig, X as setMinimaxApiKey, Y as setKimiCodingApiKey, Z as setMoonshotApiKey, at as setXiaomiApiKey, et as setQianfanApiKey, f as applyOpencodeZenConfig, ft as buildTokenProfileId, g as applyMinimaxConfig, it as setXaiApiKey, j as applySyntheticConfig, k as applyQianfanConfig, m as applyMinimaxApiConfig, nt as setVeniceApiKey, ot as setZaiApiKey, pt as validateAnthropicSetupToken, q as setCloudflareAiGatewayConfig, rt as setVercelAiGatewayApiKey, tt as setSyntheticApiKey, v as applyAuthProfileConfig, w as applyMoonshotConfigCn, x as applyKimiCodeConfig, y as applyCloudflareAiGatewayConfig, z as applyXiaomiConfig } from "./github-copilot-auth-CRvtl8wF.js";
33
33
  import { n as setupChannels } from "./onboard-channels-BiwGmgdU.js";
@@ -35,7 +35,7 @@ import { i as healthCommand } from "./health-format-Cw_wWsUk.js";
35
35
  import { t as renderTable } from "./table-C-_kZeNX.js";
36
36
  import { t as resolveGatewayService } from "./service-CgbWVYSz.js";
37
37
  import { r as isSystemdUserServiceAvailable } from "./systemd-CKUsCXqF.js";
38
- import { l as getVerboseFlag, o as getFlagValue, r as registerSubCliCommands, s as getPositiveIntFlagValue, u as hasFlag } from "./register.subclis--gJwSct5.js";
38
+ import { l as getVerboseFlag, o as getFlagValue, r as registerSubCliCommands, s as getPositiveIntFlagValue, u as hasFlag } from "./register.subclis-BShTfQnE.js";
39
39
  import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-BLmNrKaj.js";
40
40
  import { t as formatHelpExamples } from "./help-format-BgbvAVIq.js";
41
41
  import { t as adminUnlockCommand } from "./admin-unlock--4SPdpdy.js";
@@ -46,7 +46,7 @@ import { i as CONFIGURE_WIZARD_SECTIONS, n as configureCommand, r as configureCo
46
46
  import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, r as isGatewayDaemonRuntime, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-BTR2GDIQ.js";
47
47
  import { n as ensureSystemdUserLingerNonInteractive } from "./systemd-linger-Cu8buxAR.js";
48
48
  import { t as loginCommand } from "./login-BPXcLBkt.js";
49
- import { n as loadAndMaybeMigrateDoctorConfig, t as doctorCommand } from "./doctor-CVgixgc_.js";
49
+ import { n as loadAndMaybeMigrateDoctorConfig, t as doctorCommand } from "./doctor-Z36_SlzQ.js";
50
50
  import { fileURLToPath } from "node:url";
51
51
  import fs from "node:fs";
52
52
  import path from "node:path";
@@ -3105,7 +3105,7 @@ function registerLoginCommand(program) {
3105
3105
  console.log(theme.muted(` user=${result.userId} org=${result.orgId}`));
3106
3106
  }
3107
3107
  if (opts.chat !== false && result.gatewayUrl && process.stdin.isTTY && process.stdout.isTTY) {
3108
- const { runTui } = await import("./tui-CGNbsIEk.js").then((n) => n.n);
3108
+ const { runTui } = await import("./tui-DuN1eZNC.js").then((n) => n.n);
3109
3109
  console.log(theme.muted("\n Opening your koi chat…\n"));
3110
3110
  await runTui({
3111
3111
  url: result.gatewayUrl,
@@ -34,7 +34,7 @@ import { a as repairLaunchAgentBootstrap, i as launchAgentPlistExists, n as isLa
34
34
  import { r as isSystemdUserServiceAvailable } from "./systemd-CKUsCXqF.js";
35
35
  import { t as readLastGatewayErrorLine } from "./diagnostics-CBJs_eaH.js";
36
36
  import { t as collectChannelStatusIssues } from "./channels-status-issues-D_rjAibL.js";
37
- import { n as doctorShellCompletion } from "./doctor-completion-Brm5NWYN.js";
37
+ import { n as doctorShellCompletion } from "./doctor-completion-ChQYvLj-.js";
38
38
  import { n as resolveControlUiDistIndexHealth, r as resolveControlUiDistIndexPathForRoot } from "./control-ui-assets-C6cSlkkc.js";
39
39
  import { a as gatewayInstallErrorHint, d as renderSystemNodeWarning, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, p as resolveSystemNodeInfo, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-BTR2GDIQ.js";
40
40
  import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-Cu8buxAR.js";
@@ -3,7 +3,7 @@ import { r as resolveCliName, t as formatCliCommand } from "./command-format-DOY
3
3
  import { t as VERSION } from "./version-BKRSzdyx.js";
4
4
  import { t as note } from "./note-DdyFyHLV.js";
5
5
  import { c as compareSemverStrings, s as checkUpdateStatus } from "./update-runner-BF2ZUZuV.js";
6
- import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-C25PewMH.js";
6
+ import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-BZzkxPck.js";
7
7
  import path from "node:path";
8
8
  import { spawnSync } from "node:child_process";
9
9
 
package/dist/entry.js CHANGED
@@ -247,7 +247,7 @@ if (!ensureExperimentalWarningSuppressed()) {
247
247
  applyCliProfileEnv({ profile: parsed.profile });
248
248
  process$1.argv = parsed.argv;
249
249
  }
250
- import("./run-main-Bs6S9NXG.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
250
+ import("./run-main-D4BxwLrY.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
251
251
  console.error("[SKYKOI] Failed to start CLI:", error instanceof Error ? error.stack ?? error.message : error);
252
252
  process$1.exitCode = 1;
253
253
  });
@@ -86,7 +86,7 @@ import { t as resolveChannelDefaultAccountId } from "./helpers-Cg7M1qEA.js";
86
86
  import "./logging-CSvbGeqF.js";
87
87
  import "./note-DdyFyHLV.js";
88
88
  import { t as WizardCancelledError } from "./prompts-B1n8UQzX.js";
89
- import { c as loadKoiIdentity, d as loadKoiIdentityFromWorkspace, i as applyKoiConfig, l as pruneKoiConfig, o as findKoiEntryIndex, r as getStatusSummary, s as listKoiEntries, t as runOnboardingWizard } from "./onboarding-C8LHaxej.js";
89
+ import { c as loadKoiIdentity, d as loadKoiIdentityFromWorkspace, i as applyKoiConfig, l as pruneKoiConfig, o as findKoiEntryIndex, r as getStatusSummary, s as listKoiEntries, t as runOnboardingWizard } from "./onboarding-jVvN7Fjd.js";
90
90
  import { n as installSkill } from "./onboard-skills-ChDFxeGS.js";
91
91
  import "./github-copilot-auth-CRvtl8wF.js";
92
92
  import "./onboard-channels-BiwGmgdU.js";
@@ -105,17 +105,17 @@ import { p as resolveGatewayStateDir } from "./systemd-CKUsCXqF.js";
105
105
  import "./diagnostics-CBJs_eaH.js";
106
106
  import "./node-service-CnU49y0d.js";
107
107
  import "./channels-status-issues-D_rjAibL.js";
108
- import "./doctor-completion-Brm5NWYN.js";
109
- import "./register.subclis--gJwSct5.js";
108
+ import "./doctor-completion-ChQYvLj-.js";
109
+ import "./register.subclis-BShTfQnE.js";
110
110
  import { a as createOutboundSendDeps$1, i as resolveKoiOutboundTarget, r as resolveKoiDeliveryPlan, t as koiCommand } from "./koi-Dv4SlCoI.js";
111
111
  import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-C6cSlkkc.js";
112
112
  import "./daemon-runtime-BTR2GDIQ.js";
113
113
  import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } from "./widearea-dns-BVskGRhX.js";
114
114
  import { n as discoverGatewayBeacons } from "./bonjour-discovery-DjvriZpZ.js";
115
- import "./completion-cli-C25PewMH.js";
115
+ import "./completion-cli-BZzkxPck.js";
116
116
  import "./service-audit-D1ElVIM8.js";
117
117
  import { i as shouldIncludeHook, n as loadWorkspaceHookEntries, r as resolveHookConfig } from "./hooks-status-CxWUG7p9.js";
118
- import "./tui-CGNbsIEk.js";
118
+ import "./tui-DuN1eZNC.js";
119
119
  import { t as buildChannelAccountSnapshot } from "./status-CoVkpNVT.js";
120
120
  import "./shared-CsHmFsvZ.js";
121
121
  import { a as runDaemonStop, i as runDaemonStart, n as runDaemonStatus, o as runDaemonUninstall, r as runDaemonRestart, s as runDaemonInstall } from "./daemon-cli-Dg-A3XTa.js";
package/dist/index.js CHANGED
@@ -73,11 +73,11 @@ import { t as isMainModule } from "./is-main-9SjMCZPE.js";
73
73
  import { t as ensureSKYKOICliOnPath } from "./path-env-DLiKMTfX.js";
74
74
  import { t as assertSupportedRuntime } from "./runtime-guard-Btp4Sks0.js";
75
75
  import "./ports-wWIKjGeR.js";
76
- import "./config-guard-Ca2s5BiU.js";
76
+ import "./config-guard-BHuxRfPF.js";
77
77
  import "./logging-CSvbGeqF.js";
78
78
  import "./note-DdyFyHLV.js";
79
79
  import "./clack-prompter-CCgKKgnN.js";
80
- import "./onboarding-C8LHaxej.js";
80
+ import "./onboarding-jVvN7Fjd.js";
81
81
  import "./onboard-skills-ChDFxeGS.js";
82
82
  import "./github-copilot-auth-CRvtl8wF.js";
83
83
  import "./onboard-channels-BiwGmgdU.js";
@@ -96,8 +96,8 @@ import "./systemd-CKUsCXqF.js";
96
96
  import "./diagnostics-CBJs_eaH.js";
97
97
  import "./node-service-CnU49y0d.js";
98
98
  import "./channels-status-issues-D_rjAibL.js";
99
- import "./doctor-completion-Brm5NWYN.js";
100
- import "./register.subclis--gJwSct5.js";
99
+ import "./doctor-completion-ChQYvLj-.js";
100
+ import "./register.subclis-BShTfQnE.js";
101
101
  import "./gateway-rpc-BLmNrKaj.js";
102
102
  import "./help-format-BgbvAVIq.js";
103
103
  import "./admin-unlock--4SPdpdy.js";
@@ -112,13 +112,13 @@ import "./bonjour-discovery-DjvriZpZ.js";
112
112
  import "./ensure-local-gateway-CWMjpIBa.js";
113
113
  import "./login-BPXcLBkt.js";
114
114
  import "./auth-health-BQXG_lTS.js";
115
- import "./doctor-CVgixgc_.js";
116
- import "./completion-cli-C25PewMH.js";
115
+ import "./doctor-Z36_SlzQ.js";
116
+ import "./completion-cli-BZzkxPck.js";
117
117
  import "./service-audit-D1ElVIM8.js";
118
118
  import "./hooks-status-CxWUG7p9.js";
119
- import "./tui-CGNbsIEk.js";
119
+ import "./tui-DuN1eZNC.js";
120
120
  import "./channel-options-CsA4EdIA.js";
121
- import { n as buildProgram } from "./program-B2dq4d8k.js";
121
+ import { n as buildProgram } from "./program-DgF59LuR.js";
122
122
  import process from "node:process";
123
123
  import { fileURLToPath } from "node:url";
124
124
 
@@ -37,12 +37,12 @@ import { t as readLastGatewayErrorLine } from "./diagnostics-CBJs_eaH.js";
37
37
  import { t as resolveNodeService } from "./node-service-CnU49y0d.js";
38
38
  import { t as collectChannelStatusIssues } from "./channels-status-issues-D_rjAibL.js";
39
39
  import { i as redactSecrets, n as formatDuration$1, r as formatGatewayAuthUsed, t as formatAge$1 } from "./format-gY12iuBU.js";
40
- import { a as formatUpdateOneLiner, i as formatUpdateAvailableHint, o as getUpdateCheckResult, r as ensureCompletionCacheExists, s as resolveUpdateAvailability, t as checkShellCompletionStatus } from "./doctor-completion-Brm5NWYN.js";
40
+ import { a as formatUpdateOneLiner, i as formatUpdateAvailableHint, o as getUpdateCheckResult, r as ensureCompletionCacheExists, s as resolveUpdateAvailability, t as checkShellCompletionStatus } from "./doctor-completion-ChQYvLj-.js";
41
41
  import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-C6cSlkkc.js";
42
42
  import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-BTR2GDIQ.js";
43
- import { r as installCompletion } from "./completion-cli-C25PewMH.js";
43
+ import { r as installCompletion } from "./completion-cli-BZzkxPck.js";
44
44
  import { t as buildWorkspaceHookStatus } from "./hooks-status-CxWUG7p9.js";
45
- import { t as runTui } from "./tui-CGNbsIEk.js";
45
+ import { t as runTui } from "./tui-DuN1eZNC.js";
46
46
  import fs from "node:fs";
47
47
  import path from "node:path";
48
48
  import os from "node:os";
@@ -33,7 +33,7 @@ import { exec as exec$1 } from "child_process";
33
33
  import { createReadStream as createReadStream$1, createWriteStream as createWriteStream$1, promises as promises$1 } from "fs";
34
34
  import { Readable, Transform } from "stream";
35
35
  import { platform, release, tmpdir as tmpdir$1 } from "os";
36
- import EventEmitter$1, { EventEmitter, once } from "events";
36
+ import EventEmitter, { EventEmitter as EventEmitter$1, once } from "events";
37
37
  import { promisify as promisify$1 } from "util";
38
38
  import { join as join$1 } from "path";
39
39
  import * as Crypto from "crypto";
@@ -228310,7 +228310,7 @@ const BUFFERABLE_EVENT_SET = new Set([
228310
228310
  * making the data processing more efficient.
228311
228311
  */
228312
228312
  const makeEventBuffer = (logger) => {
228313
- const ev = new EventEmitter$1();
228313
+ const ev = new EventEmitter();
228314
228314
  const historyCache = /* @__PURE__ */ new Set();
228315
228315
  let data = makeBufferData();
228316
228316
  let isBuffering = false;
@@ -233880,7 +233880,7 @@ var BinaryInfo = class {
233880
233880
 
233881
233881
  //#endregion
233882
233882
  //#region node_modules/.pnpm/@whiskeysockets+baileys@7.0.0-rc.9_audio-decode@2.2.3_sharp@0.34.5/node_modules/@whiskeysockets/baileys/lib/Socket/Client/types.js
233883
- var AbstractSocketClient = class extends EventEmitter {
233883
+ var AbstractSocketClient = class extends EventEmitter$1 {
233884
233884
  constructor(url, config) {
233885
233885
  super();
233886
233886
  this.url = url;
@@ -5,10 +5,10 @@ import { n as replaceCliName, r as resolveCliName } from "./command-format-DOYW_
5
5
  import { t as isTruthyEnvValue } from "./env-ChCKTuXK.js";
6
6
  import { t as VERSION } from "./version-BKRSzdyx.js";
7
7
  import { t as formatDocsLink } from "./links-BupJpVpQ.js";
8
- import { r as registerProgramCommands, t as ensureConfigReady } from "./config-guard-Ca2s5BiU.js";
9
- import { a as getCommandPath, d as hasHelpOrVersion, l as getVerboseFlag } from "./register.subclis--gJwSct5.js";
8
+ import { r as registerProgramCommands, t as ensureConfigReady } from "./config-guard-BHuxRfPF.js";
9
+ import { a as getCommandPath, d as hasHelpOrVersion, l as getVerboseFlag } from "./register.subclis-BShTfQnE.js";
10
10
  import { t as ensurePluginRegistryLoaded } from "./plugin-registry-Bb6CC447.js";
11
- import { a as hasEmittedCliBanner, i as formatCliBannerLine, r as emitCliBanner } from "./tui-CGNbsIEk.js";
11
+ import { a as hasEmittedCliBanner, i as formatCliBannerLine, r as emitCliBanner } from "./tui-DuN1eZNC.js";
12
12
  import { n as resolveCliChannelOptions } from "./channel-options-CsA4EdIA.js";
13
13
  import { Command } from "commander";
14
14
 
@@ -124,7 +124,7 @@ const entries = [
124
124
  name: "gateway",
125
125
  description: "Gateway control",
126
126
  register: async (program) => {
127
- (await import("./gateway-cli-BmAC2vgS.js")).registerGatewayCli(program);
127
+ (await import("./gateway-cli-e56ajCDl.js")).registerGatewayCli(program);
128
128
  }
129
129
  },
130
130
  {
@@ -194,7 +194,7 @@ const entries = [
194
194
  name: "tui",
195
195
  description: "Terminal UI",
196
196
  register: async (program) => {
197
- (await import("./tui-cli-lNY6QcSl.js")).registerTuiCli(program);
197
+ (await import("./tui-cli-BWvlg7_q.js")).registerTuiCli(program);
198
198
  }
199
199
  },
200
200
  {
@@ -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-CAHsx6rh.js")).registerUpdateCli(program);
285
+ (await import("./update-cli-ChkN1ho2.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-C25PewMH.js").then((n) => n.n)).registerCompletionCli(program);
292
+ (await import("./completion-cli-BZzkxPck.js").then((n) => n.n)).registerCompletionCli(program);
293
293
  }
294
294
  }
295
295
  ];
@@ -70,11 +70,11 @@ import "./deps-CX3Skz28.js";
70
70
  import "./tailscale-CDBmRrBH.js";
71
71
  import { t as ensureSKYKOICliOnPath } from "./path-env-DLiKMTfX.js";
72
72
  import { t as assertSupportedRuntime } from "./runtime-guard-Btp4Sks0.js";
73
- import { n as findRoutedCommand, t as ensureConfigReady } from "./config-guard-Ca2s5BiU.js";
73
+ import { n as findRoutedCommand, t as ensureConfigReady } from "./config-guard-BHuxRfPF.js";
74
74
  import "./logging-CSvbGeqF.js";
75
75
  import "./note-DdyFyHLV.js";
76
76
  import "./clack-prompter-CCgKKgnN.js";
77
- import "./onboarding-C8LHaxej.js";
77
+ import "./onboarding-jVvN7Fjd.js";
78
78
  import "./onboard-skills-ChDFxeGS.js";
79
79
  import "./github-copilot-auth-CRvtl8wF.js";
80
80
  import "./onboard-channels-BiwGmgdU.js";
@@ -93,8 +93,8 @@ import "./systemd-CKUsCXqF.js";
93
93
  import "./diagnostics-CBJs_eaH.js";
94
94
  import "./node-service-CnU49y0d.js";
95
95
  import "./channels-status-issues-D_rjAibL.js";
96
- import "./doctor-completion-Brm5NWYN.js";
97
- import { a as getCommandPath, c as getPrimaryCommand, d as hasHelpOrVersion } from "./register.subclis--gJwSct5.js";
96
+ import "./doctor-completion-ChQYvLj-.js";
97
+ import { a as getCommandPath, c as getPrimaryCommand, d as hasHelpOrVersion } from "./register.subclis-BShTfQnE.js";
98
98
  import "./gateway-rpc-BLmNrKaj.js";
99
99
  import "./help-format-BgbvAVIq.js";
100
100
  import "./admin-unlock--4SPdpdy.js";
@@ -109,11 +109,11 @@ import "./bonjour-discovery-DjvriZpZ.js";
109
109
  import "./ensure-local-gateway-CWMjpIBa.js";
110
110
  import "./login-BPXcLBkt.js";
111
111
  import "./auth-health-BQXG_lTS.js";
112
- import "./doctor-CVgixgc_.js";
113
- import "./completion-cli-C25PewMH.js";
112
+ import "./doctor-Z36_SlzQ.js";
113
+ import "./completion-cli-BZzkxPck.js";
114
114
  import "./service-audit-D1ElVIM8.js";
115
115
  import "./hooks-status-CxWUG7p9.js";
116
- import { r as emitCliBanner } from "./tui-CGNbsIEk.js";
116
+ import { r as emitCliBanner } from "./tui-DuN1eZNC.js";
117
117
  import process$1 from "node:process";
118
118
  import { fileURLToPath } from "node:url";
119
119
  import fs from "node:fs";
@@ -167,7 +167,7 @@ async function runCli(argv = process$1.argv) {
167
167
  assertSupportedRuntime();
168
168
  if (await tryRouteCli(normalizedArgv)) return;
169
169
  enableConsoleCapture();
170
- const { buildProgram } = await import("./program-B2dq4d8k.js").then((n) => n.t);
170
+ const { buildProgram } = await import("./program-DgF59LuR.js").then((n) => n.t);
171
171
  const program = buildProgram();
172
172
  installUnhandledRejectionHandler();
173
173
  process$1.on("uncaughtException", (error) => {
@@ -200,7 +200,7 @@ async function runCli(argv = process$1.argv) {
200
200
  }
201
201
  const primary = getPrimaryCommand(parseArgv);
202
202
  if (primary) {
203
- const { registerSubCliByName } = await import("./register.subclis--gJwSct5.js").then((n) => n.i);
203
+ const { registerSubCliByName } = await import("./register.subclis-BShTfQnE.js").then((n) => n.i);
204
204
  await registerSubCliByName(program, primary);
205
205
  }
206
206
  if (!(!primary && hasHelpOrVersion(parseArgv))) {
@@ -5,7 +5,7 @@ import { n as isRich, r as theme$1 } from "./theme-C5EwWDWE.js";
5
5
  import { n as visibleWidth } from "./ansi-By7x1TI7.js";
6
6
  import { a as buildKoiMainSessionKey, l as normalizeKoiId, u as normalizeMainKey, v as parseKoiSessionKey } from "./session-key-B2OXLVi_.js";
7
7
  import { b as sleep } from "./utils-D019Z2NU.js";
8
- import { r as resolveDefaultKoiId } from "./koi-scope-je0O-Kk9.js";
8
+ import { T as resolveDefaultKoiWorkspaceDir, r as resolveDefaultKoiId, x as DEFAULT_USER_FILENAME } from "./koi-scope-je0O-Kk9.js";
9
9
  import { t as VERSION } from "./version-BKRSzdyx.js";
10
10
  import { o as loadConfig } from "./config-ZjEd8561.js";
11
11
  import { C as Key, D as truncateToWidth, E as Box, N as require_dist, O as CombinedAutocompleteProvider, S as getEditorKeybindings, T as matchesKey, _ as SelectList, b as Loader, d as ProcessTerminal, f as Spacer, g as Editor, h as Input, m as Markdown, p as SettingsList, v as Container, w as isKeyRelease, x as Text, y as TUI } from "./dist-nhxaQYGz.js";
@@ -2776,8 +2776,20 @@ function onboardedVersion() {
2776
2776
  * simple "hi" would crawl). The dossier persists across versions and the koi
2777
2777
  * keeps refining it during normal use, so a per-version rebuild buys nothing.
2778
2778
  */
2779
+ /**
2780
+ * A real onboarding produces a populated USER.md dossier (multi-KB). A blank
2781
+ * workspace template is ~100 bytes. Anything below this means "no real dossier".
2782
+ */
2783
+ function dossierExists() {
2784
+ try {
2785
+ const userMd = path.join(resolveDefaultKoiWorkspaceDir(), DEFAULT_USER_FILENAME);
2786
+ return fs.statSync(userMd).size > 800;
2787
+ } catch {
2788
+ return false;
2789
+ }
2790
+ }
2779
2791
  function onboardingCurrent() {
2780
- return onboardedVersion() !== null;
2792
+ return onboardedVersion() !== null && dossierExists();
2781
2793
  }
2782
2794
  function markOnboardingDone() {
2783
2795
  try {
@@ -2791,6 +2803,11 @@ function createEditorSubmitHandler(params) {
2791
2803
  const value = raw.trim();
2792
2804
  params.editor.setText("");
2793
2805
  if (!value) return;
2806
+ if (params.isOnboardingActive?.() && !raw.startsWith("!") && !value.startsWith("/")) {
2807
+ params.editor.addToHistory(value);
2808
+ params.onOnboardingHold?.(value);
2809
+ return;
2810
+ }
2794
2811
  if (raw.startsWith("!") && raw !== "!") {
2795
2812
  params.editor.addToHistory(raw);
2796
2813
  params.handleBangLine(raw);
@@ -3211,11 +3228,17 @@ async function runTui(opts) {
3211
3228
  closeOverlay
3212
3229
  });
3213
3230
  updateAutocompleteProvider();
3231
+ let onboardingBlocking = false;
3214
3232
  editor.onSubmit = createEditorSubmitHandler({
3215
3233
  editor,
3216
3234
  handleCommand,
3217
3235
  sendMessage,
3218
- handleBangLine: runLocalShellLine
3236
+ handleBangLine: runLocalShellLine,
3237
+ isOnboardingActive: () => onboardingBlocking,
3238
+ onOnboardingHold: () => {
3239
+ setConnectionStatus("Still getting to know you — one moment, then I'm all yours…", 4e3);
3240
+ tui.requestRender();
3241
+ }
3219
3242
  });
3220
3243
  editor.onEscape = () => {
3221
3244
  abortActive();
@@ -3269,8 +3292,15 @@ async function runTui(opts) {
3269
3292
  if (op.sessionKey?.toLowerCase() === onboardingWatchKey) {
3270
3293
  if (op.state === "final") {
3271
3294
  onboardingWatchKey = "";
3295
+ onboardingBlocking = false;
3272
3296
  markOnboardingDone();
3273
- } else if (op.state === "error" || op.state === "aborted") onboardingWatchKey = "";
3297
+ setConnectionStatus("Got to know you. I'm all yours.", 5e3);
3298
+ tui.requestRender();
3299
+ } else if (op.state === "error" || op.state === "aborted") {
3300
+ onboardingWatchKey = "";
3301
+ onboardingBlocking = false;
3302
+ tui.requestRender();
3303
+ }
3274
3304
  }
3275
3305
  }
3276
3306
  handleChatEvent(evt.payload);
@@ -3303,14 +3333,22 @@ async function runTui(opts) {
3303
3333
  autoMessageSent = true;
3304
3334
  await sendMessage(autoMessage);
3305
3335
  } else if (!autoMessage && !onboardingCurrent()) {
3306
- const updating = onboardedVersion() !== null;
3307
3336
  const onboardingKey = buildKoiMainSessionKey({
3308
3337
  koiId: currentKoiId,
3309
3338
  mainKey: "onboarding"
3310
3339
  }).toLowerCase();
3311
3340
  onboardingWatchKey = onboardingKey;
3312
- setConnectionStatus(updating ? "Applying the latest updates…" : "Onboarding: learning about you…", 1e4);
3341
+ onboardingBlocking = true;
3342
+ setConnectionStatus("Getting to know you — one moment…", 360 * 1e3);
3313
3343
  tui.requestRender();
3344
+ setTimeout(() => {
3345
+ if (onboardingWatchKey === onboardingKey) {
3346
+ onboardingWatchKey = "";
3347
+ onboardingBlocking = false;
3348
+ setConnectionStatus("Ready when you are.", 4e3);
3349
+ tui.requestRender();
3350
+ }
3351
+ }, 360 * 1e3).unref?.();
3314
3352
  client.sendChat({
3315
3353
  sessionKey: onboardingKey,
3316
3354
  message: ONBOARDING_KICKOFF,
@@ -3318,6 +3356,8 @@ async function runTui(opts) {
3318
3356
  deliver: false
3319
3357
  }).catch(() => {
3320
3358
  onboardingWatchKey = "";
3359
+ onboardingBlocking = false;
3360
+ tui.requestRender();
3321
3361
  });
3322
3362
  }
3323
3363
  updateFooter();
@@ -41,7 +41,7 @@ import "./client-BM6xyPUD.js";
41
41
  import "./call-JFo1_L0m.js";
42
42
  import { t as formatDocsLink } from "./links-BupJpVpQ.js";
43
43
  import { t as parseTimeoutMs } from "./parse-timeout-B-Mg8iIP.js";
44
- import { t as runTui } from "./tui-CGNbsIEk.js";
44
+ import { t as runTui } from "./tui-DuN1eZNC.js";
45
45
 
46
46
  //#region src/cli/tui-cli.ts
47
47
  function registerTuiCli(program) {
@@ -86,15 +86,15 @@ import "./service-CgbWVYSz.js";
86
86
  import "./systemd-CKUsCXqF.js";
87
87
  import "./diagnostics-CBJs_eaH.js";
88
88
  import "./channels-status-issues-D_rjAibL.js";
89
- import { a as formatUpdateOneLiner, i as formatUpdateAvailableHint, r as ensureCompletionCacheExists, s as resolveUpdateAvailability, t as checkShellCompletionStatus } from "./doctor-completion-Brm5NWYN.js";
90
- import "./register.subclis--gJwSct5.js";
89
+ import { a as formatUpdateOneLiner, i as formatUpdateAvailableHint, r as ensureCompletionCacheExists, s as resolveUpdateAvailability, t as checkShellCompletionStatus } from "./doctor-completion-ChQYvLj-.js";
90
+ import "./register.subclis-BShTfQnE.js";
91
91
  import { t as formatHelpExamples } from "./help-format-BgbvAVIq.js";
92
92
  import "./control-ui-assets-C6cSlkkc.js";
93
93
  import "./daemon-runtime-BTR2GDIQ.js";
94
94
  import "./systemd-linger-Cu8buxAR.js";
95
95
  import "./auth-health-BQXG_lTS.js";
96
- import { t as doctorCommand } from "./doctor-CVgixgc_.js";
97
- import { r as installCompletion } from "./completion-cli-C25PewMH.js";
96
+ import { t as doctorCommand } from "./doctor-Z36_SlzQ.js";
97
+ import { r as installCompletion } from "./completion-cli-BZzkxPck.js";
98
98
  import "./service-audit-D1ElVIM8.js";
99
99
  import "./shared-CsHmFsvZ.js";
100
100
  import { r as runDaemonRestart } from "./daemon-cli-Dg-A3XTa.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skykoi",
3
- "version": "2026.3.325",
3
+ "version": "2026.3.327",
4
4
  "description": "SkyKoi — Koi runtime. Multi-channel gateway CLI with RPC Koi.",
5
5
  "keywords": [
6
6
  "cli",