skykoi 2026.3.151 → 2026.3.153

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.151",
3
- "commit": "e49df76df8d80861cb62ee9ff6903ddaa95c6f6d",
4
- "builtAt": "2026-04-29T09:41:23.054Z"
2
+ "version": "2026.3.153",
3
+ "commit": "080a36012cb4c9a6525ea880a5c222809087e0fb",
4
+ "builtAt": "2026-04-29T09:45:39.344Z"
5
5
  }
@@ -1 +1 @@
1
- 46ae2b3642ed51aef00fc4937d774e00c731cd0e158d233b690cd93ef65a9825
1
+ 1c387ded4be64ed6136e36ba00bf7c3eff8caeae80cb37763c2a63b9f05b4207
@@ -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-B6BYed15.js";
3
+ import { n as registerSubCliByName, t as getSubCliEntries } from "./register.subclis-6zodByv_.js";
4
4
  import path from "node:path";
5
5
  import os from "node:os";
6
6
  import fs from "node:fs/promises";
@@ -25,7 +25,7 @@ import { t as resolveChannelDefaultAccountId } from "./helpers-BMifWcsO.js";
25
25
  import { n as logConfigUpdated, t as formatConfigPath } from "./logging-BusiCyt_.js";
26
26
  import { t as WizardCancelledError } from "./prompts-DxnxCHKt.js";
27
27
  import { t as createClackPrompter } from "./clack-prompter-BxHCh6Tn.js";
28
- 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-B_QPugM_.js";
28
+ 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-DnxGVdFu.js";
29
29
  import { d as applyAuthChoice, f as applyOpenAIConfig, h as promptAuthChoiceGrouped, m as applyGoogleGeminiModelDefault, p as upsertSharedEnvVar, u as warnIfModelConfigLooksOff } from "./onboard-skills-MqXQ1yhm.js";
30
30
  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-BTjBE2j5.js";
31
31
  import { n as setupChannels } from "./onboard-channels-B40cENeo.js";
@@ -33,7 +33,7 @@ import { l as healthCommand } from "./health-format-DqINFTje.js";
33
33
  import { t as renderTable } from "./table-CgHdpI6b.js";
34
34
  import { t as resolveGatewayService } from "./service-CTrRN1-T.js";
35
35
  import { r as isSystemdUserServiceAvailable } from "./systemd-BuS1yu_z.js";
36
- import { l as getVerboseFlag, o as getFlagValue, r as registerSubCliCommands, s as getPositiveIntFlagValue, u as hasFlag } from "./register.subclis-B6BYed15.js";
36
+ import { l as getVerboseFlag, o as getFlagValue, r as registerSubCliCommands, s as getPositiveIntFlagValue, u as hasFlag } from "./register.subclis-6zodByv_.js";
37
37
  import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-GLatQ1eS.js";
38
38
  import { t as formatHelpExamples } from "./help-format-Cbr54gLP.js";
39
39
  import { a as createOutboundSendDeps, n as resolveSessionKeyForRequest, t as koiCommand } from "./koi-BzvZFySU.js";
@@ -41,7 +41,7 @@ import { n as hasExplicitOptions, t as ensurePluginRegistryLoaded } from "./plug
41
41
  import { n as parsePositiveIntOrUndefined, t as collectOption } from "./helpers-CgAOTnxe.js";
42
42
  import { i as CONFIGURE_WIZARD_SECTIONS, n as configureCommand, r as configureCommandWithSections } from "./configure-C9Jj0juN.js";
43
43
  import { n as ensureSystemdUserLingerNonInteractive } from "./systemd-linger-BLQwmm6k.js";
44
- import { n as loadAndMaybeMigrateDoctorConfig, t as doctorCommand } from "./doctor-LIRdeCVr.js";
44
+ import { n as loadAndMaybeMigrateDoctorConfig, t as doctorCommand } from "./doctor-B_i35zTj.js";
45
45
  import { fileURLToPath } from "node:url";
46
46
  import fs from "node:fs";
47
47
  import path from "node:path";
@@ -26,7 +26,7 @@ import { n as logConfigUpdated } from "./logging-BusiCyt_.js";
26
26
  import { t as note$1 } from "./note-CbRknFZ7.js";
27
27
  import { t as applyPluginAutoEnable } from "./plugin-auto-enable-BmXyiOxr.js";
28
28
  import { i as resolveControlUiDistIndexPathForRoot, l as healthCommand, r as resolveControlUiDistIndexHealth, t as formatHealthCheckFailure } from "./health-format-DqINFTje.js";
29
- import { c as doctorShellCompletion, t as runGatewayUpdate } from "./update-runner-SPbXr6MU.js";
29
+ import { c as doctorShellCompletion, t as runGatewayUpdate } from "./update-runner-DfcP9otZ.js";
30
30
  import { i as resolveGatewayAuth } from "./auth-DQvUzR68.js";
31
31
  import { t as buildWorkspaceSkillStatus } from "./skills-status-PwtGQTh5.js";
32
32
  import { a as repairLaunchAgentBootstrap, i as launchAgentPlistExists, n as isLaunchAgentListed, o as resolveGatewayLogPaths, r as isLaunchAgentLoaded, t as resolveGatewayService } from "./service-CTrRN1-T.js";
package/dist/entry.js CHANGED
@@ -244,7 +244,7 @@ if (!ensureExperimentalWarningSuppressed()) {
244
244
  applyCliProfileEnv({ profile: parsed.profile });
245
245
  process$1.argv = parsed.argv;
246
246
  }
247
- import("./run-main-CbdN9ABA.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
247
+ import("./run-main-DYZfgnkH.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
248
248
  console.error("[SKYKOI] Failed to start CLI:", error instanceof Error ? error.stack ?? error.message : error);
249
249
  process$1.exitCode = 1;
250
250
  });
@@ -75,7 +75,7 @@ import { t as resolveChannelDefaultAccountId } from "./helpers-BMifWcsO.js";
75
75
  import "./logging-BusiCyt_.js";
76
76
  import "./note-CbRknFZ7.js";
77
77
  import { t as WizardCancelledError } from "./prompts-DxnxCHKt.js";
78
- 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-B_QPugM_.js";
78
+ 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-DnxGVdFu.js";
79
79
  import { n as installSkill } from "./onboard-skills-MqXQ1yhm.js";
80
80
  import "./github-copilot-auth-BTjBE2j5.js";
81
81
  import "./onboard-channels-B40cENeo.js";
@@ -84,7 +84,7 @@ import "./archive-eJnsstoB.js";
84
84
  import "./skill-scanner-WnNLktfw.js";
85
85
  import "./installs-SHFX8JPu.js";
86
86
  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-DqINFTje.js";
87
- import { S as normalizeUpdateChannel, _ as resolveNpmChannelTag, h as compareSemverStrings, m as checkUpdateStatus, t as runGatewayUpdate, y as DEFAULT_PACKAGE_CHANNEL } from "./update-runner-SPbXr6MU.js";
87
+ import { S as normalizeUpdateChannel, _ as resolveNpmChannelTag, h as compareSemverStrings, m as checkUpdateStatus, t as runGatewayUpdate, y as DEFAULT_PACKAGE_CHANNEL } from "./update-runner-DfcP9otZ.js";
88
88
  import { i as resolveGatewayAuth, n as authorizeGatewayConnect, r as isLocalDirectRequest, t as assertGatewayAuthConfigured } from "./auth-DQvUzR68.js";
89
89
  import { i as probeGateway } from "./audit-C0ixMaLQ.js";
90
90
  import "./table-CgHdpI6b.js";
@@ -94,11 +94,11 @@ import { p as resolveGatewayStateDir } from "./systemd-BuS1yu_z.js";
94
94
  import "./service-audit-CN0kFCuS.js";
95
95
  import "./node-service-DfmbTqpi.js";
96
96
  import "./channels-status-issues-GKs-LbrV.js";
97
- import "./register.subclis-B6BYed15.js";
97
+ import "./register.subclis-6zodByv_.js";
98
98
  import { a as createOutboundSendDeps$1, i as resolveKoiOutboundTarget, r as resolveKoiDeliveryPlan, t as koiCommand } from "./koi-BzvZFySU.js";
99
99
  import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } from "./widearea-dns-DMja3M8B.js";
100
100
  import { n as discoverGatewayBeacons } from "./bonjour-discovery-D_eYlsQc.js";
101
- import "./completion-cli--Sq2wCTK.js";
101
+ import "./completion-cli-BdQvVN7p.js";
102
102
  import { i as shouldIncludeHook, n as loadWorkspaceHookEntries, r as resolveHookConfig } from "./hooks-status-Q-UXhKBw.js";
103
103
  import "./tui-9aUeGcxw.js";
104
104
  import { t as buildChannelAccountSnapshot } from "./status-BA0KgRIG.js";
@@ -18158,27 +18158,29 @@ function startPlatformSync(opts) {
18158
18158
  }),
18159
18159
  signal: AbortSignal.timeout(15e3)
18160
18160
  });
18161
+ ticks += 1;
18162
+ let heartbeatOk = false;
18161
18163
  if (!res.ok) {
18162
18164
  const text = await res.text().catch(() => "");
18163
18165
  log.warn(`platform heartbeat failed: ${res.status} ${text}`);
18164
- return;
18165
- }
18166
- const data = await res.json();
18167
- const approvals = data?.data?.approvals || [];
18168
- for (const requestId of approvals) try {
18169
- await approveNodePairing(requestId);
18170
- log.info(`approved node pairing ${requestId} (from dashboard)`);
18171
- } catch (err) {
18172
- log.warn(`failed to approve ${requestId}: ${String(err)}`);
18173
- }
18174
- const rejections = data?.data?.rejections || [];
18175
- for (const requestId of rejections) try {
18176
- await rejectNodePairing(requestId);
18177
- log.info(`rejected node pairing ${requestId} (from dashboard)`);
18178
- } catch (err) {
18179
- log.warn(`failed to reject ${requestId}: ${String(err)}`);
18166
+ } else {
18167
+ heartbeatOk = true;
18168
+ const data = await res.json();
18169
+ const approvals = data?.data?.approvals || [];
18170
+ for (const requestId of approvals) try {
18171
+ await approveNodePairing(requestId);
18172
+ log.info(`approved node pairing ${requestId} (from dashboard)`);
18173
+ } catch (err) {
18174
+ log.warn(`failed to approve ${requestId}: ${String(err)}`);
18175
+ }
18176
+ const rejections = data?.data?.rejections || [];
18177
+ for (const requestId of rejections) try {
18178
+ await rejectNodePairing(requestId);
18179
+ log.info(`rejected node pairing ${requestId} (from dashboard)`);
18180
+ } catch (err) {
18181
+ log.warn(`failed to reject ${requestId}: ${String(err)}`);
18182
+ }
18180
18183
  }
18181
- ticks += 1;
18182
18184
  if (ticks === 1 || ticks % COMPANIONS_REFRESH_EVERY_TICKS === 0) try {
18183
18185
  const fetched = await fetchCompanions({
18184
18186
  platformUrl,
@@ -18195,10 +18197,12 @@ function startPlatformSync(opts) {
18195
18197
  markReadyStep("companions");
18196
18198
  } catch (err) {
18197
18199
  log.warn(`companions: refresh failed: ${err?.message ?? err}`);
18198
- if (ticks >= 5) markReadyStep("companions");
18200
+ if (ticks >= 3) markReadyStep("companions");
18199
18201
  }
18202
+ else if (heartbeatOk) markReadyStep("companions");
18200
18203
  } catch (err) {
18201
18204
  log.warn(`platform heartbeat error: ${String(err)}`);
18205
+ if (ticks >= 3) markReadyStep("companions");
18202
18206
  }
18203
18207
  }
18204
18208
  const initialTimer = setTimeout(() => {
package/dist/index.js CHANGED
@@ -64,11 +64,11 @@ import { t as isMainModule } from "./is-main-BmAsi6j8.js";
64
64
  import { t as ensureSKYKOICliOnPath } from "./path-env-B1xMZ4TX.js";
65
65
  import { g as assertSupportedRuntime } from "./daemon-runtime-DkLy62aK.js";
66
66
  import "./ports-RMh76QZ2.js";
67
- import "./config-guard-kgSqjg7w.js";
67
+ import "./config-guard-_4ndGZWA.js";
68
68
  import "./logging-BusiCyt_.js";
69
69
  import "./note-CbRknFZ7.js";
70
70
  import "./clack-prompter-BxHCh6Tn.js";
71
- import "./onboarding-B_QPugM_.js";
71
+ import "./onboarding-DnxGVdFu.js";
72
72
  import "./onboard-skills-MqXQ1yhm.js";
73
73
  import "./github-copilot-auth-BTjBE2j5.js";
74
74
  import "./onboard-channels-B40cENeo.js";
@@ -77,7 +77,7 @@ import "./archive-eJnsstoB.js";
77
77
  import "./skill-scanner-WnNLktfw.js";
78
78
  import "./installs-SHFX8JPu.js";
79
79
  import "./health-format-DqINFTje.js";
80
- import "./update-runner-SPbXr6MU.js";
80
+ import "./update-runner-DfcP9otZ.js";
81
81
  import "./auth-DQvUzR68.js";
82
82
  import "./audit-C0ixMaLQ.js";
83
83
  import "./table-CgHdpI6b.js";
@@ -87,7 +87,7 @@ import "./systemd-BuS1yu_z.js";
87
87
  import "./service-audit-CN0kFCuS.js";
88
88
  import "./node-service-DfmbTqpi.js";
89
89
  import "./channels-status-issues-GKs-LbrV.js";
90
- import "./register.subclis-B6BYed15.js";
90
+ import "./register.subclis-6zodByv_.js";
91
91
  import "./gateway-rpc-GLatQ1eS.js";
92
92
  import "./help-format-Cbr54gLP.js";
93
93
  import "./koi-BzvZFySU.js";
@@ -97,12 +97,12 @@ import "./systemd-linger-BLQwmm6k.js";
97
97
  import "./widearea-dns-DMja3M8B.js";
98
98
  import "./bonjour-discovery-D_eYlsQc.js";
99
99
  import "./auth-health-Btj4L0TH.js";
100
- import "./doctor-LIRdeCVr.js";
101
- import "./completion-cli--Sq2wCTK.js";
100
+ import "./doctor-B_i35zTj.js";
101
+ import "./completion-cli-BdQvVN7p.js";
102
102
  import "./hooks-status-Q-UXhKBw.js";
103
103
  import "./tui-9aUeGcxw.js";
104
104
  import "./channel-options-B52NE1Gn.js";
105
- import { n as buildProgram } from "./program-Ci_xnaDK.js";
105
+ import { n as buildProgram } from "./program-ZqsTHic1.js";
106
106
  import process from "node:process";
107
107
  import { fileURLToPath } from "node:url";
108
108
 
@@ -24,7 +24,7 @@ import { t as WizardCancelledError } from "./prompts-DxnxCHKt.js";
24
24
  import { d as applyAuthChoice, h as promptAuthChoiceGrouped, l as resolvePreferredProviderForAuthChoice, o as applyPrimaryModel, r as promptRemoteGatewayConfig, s as promptDefaultModel, t as setupSkills, u as warnIfModelConfigLooksOff } from "./onboard-skills-MqXQ1yhm.js";
25
25
  import { n as setupChannels } from "./onboard-channels-B40cENeo.js";
26
26
  import { l as healthCommand, n as ensureControlUiAssetsBuilt, s as formatHealthChannelLines, t as formatHealthCheckFailure, u as resolveHeartbeatSummaryForKoi } from "./health-format-DqINFTje.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-SPbXr6MU.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-DfcP9otZ.js";
28
28
  import { i as probeGateway, t as runSecurityAudit } from "./audit-C0ixMaLQ.js";
29
29
  import { t as renderTable } from "./table-CgHdpI6b.js";
30
30
  import { t as buildWorkspaceSkillStatus } from "./skills-status-PwtGQTh5.js";
@@ -34,7 +34,7 @@ import { o as readLastGatewayErrorLine } from "./service-audit-CN0kFCuS.js";
34
34
  import { t as resolveNodeService } from "./node-service-DfmbTqpi.js";
35
35
  import { t as collectChannelStatusIssues } from "./channels-status-issues-GKs-LbrV.js";
36
36
  import { i as redactSecrets, n as formatDuration$1, r as formatGatewayAuthUsed, t as formatAge$1 } from "./format-BimjsTfO.js";
37
- import { r as installCompletion } from "./completion-cli--Sq2wCTK.js";
37
+ import { r as installCompletion } from "./completion-cli-BdQvVN7p.js";
38
38
  import { t as buildWorkspaceHookStatus } from "./hooks-status-Q-UXhKBw.js";
39
39
  import { t as runTui } from "./tui-9aUeGcxw.js";
40
40
  import fs from "node:fs";
@@ -1,5 +1,5 @@
1
1
  import { a as __toCommonJS, i as __require, o as __toESM, r as __exportAll, t as __commonJSMin } from "./chunk-D_gEzPfs.js";
2
- import { a as require_jws, i as require_dist_cjs$1, n as LRUCache$1, o as require_safe_buffer, r as getOAuthProviders, s as getEnvApiKey } from "./pi-model-discovery-B1kAe0kx.js";
2
+ import { a as require_jws, i as require_dist_cjs$1, n as LRUCache$1, o as require_safe_buffer, r as getOAuthProviders, s as getEnvApiKey } from "./pi-model-discovery-CeYPOTBg.js";
3
3
  import { t as require_dist_cjs$2 } from "./dist-cjs-B9iGzXDA.js";
4
4
  import { C as require_dist_cjs$3, E as init_dist_es$1, M as require_dist_cjs$13, N as require_dist_cjs$12, T as dist_es_exports$1, a as require_dist_cjs$5, c as require_dist_cjs$17, d as require_dist_cjs$15, f as dist_es_exports, h as protocols_exports, i as require_dist_cjs$7, j as require_dist_cjs$14, l as require_dist_cjs$16, m as init_protocols, n as require_dist_cjs$10, o as require_dist_cjs$8, p as init_dist_es, r as require_dist_cjs$9, s as require_dist_cjs$11, t as require_dist_cjs$18, u as require_dist_cjs$6, w as require_dist_cjs$4 } from "./dist-cjs-Cpdu8jQP.js";
5
5
  import { C as schema_exports, N as require_dist_cjs$21, P as require_dist_cjs$19, S as init_schema, t as require_dist_cjs$20 } from "./dist-cjs-BVSr8ctW.js";
@@ -21,7 +21,7 @@ import chalk, { Chalk } from "chalk";
21
21
  import fs, { constants, createWriteStream, existsSync, promises, statSync } from "node:fs";
22
22
  import path, { join } from "node:path";
23
23
  import { Logger } from "tslog";
24
- import json5 from "json5";
24
+ import JSON5 from "json5";
25
25
  import os, { homedir, tmpdir } from "node:os";
26
26
  import { promisify } from "node:util";
27
27
  import fs$1 from "node:fs/promises";
@@ -33,7 +33,7 @@ import { exec } 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";
@@ -42,7 +42,7 @@ import { mkdir, readFile, stat as stat$1, unlink, writeFile } from "fs/promises"
42
42
  import { Readable as Readable$1 } from "node:stream";
43
43
  import { pipeline as pipeline$1 } from "node:stream/promises";
44
44
  import WebSocket, { WebSocket as WebSocket$1 } from "ws";
45
- import AjvModule from "ajv";
45
+ import AjvPkg from "ajv";
46
46
  import lockfile from "proper-lockfile";
47
47
  import { URL as URL$1 } from "url";
48
48
  import "yaml";
@@ -2262,7 +2262,7 @@ function readLoggingConfig() {
2262
2262
  try {
2263
2263
  if (!fs.existsSync(configPath)) return;
2264
2264
  const raw = fs.readFileSync(configPath, "utf-8");
2265
- const logging = json5.parse(raw)?.logging;
2265
+ const logging = JSON5.parse(raw)?.logging;
2266
2266
  if (!logging || typeof logging !== "object" || Array.isArray(logging)) return;
2267
2267
  return logging;
2268
2268
  } catch {
@@ -18990,7 +18990,7 @@ var IncludeProcessor = class IncludeProcessor {
18990
18990
  };
18991
18991
  const defaultResolver = {
18992
18992
  readFile: (p) => fs.readFileSync(p, "utf-8"),
18993
- parseJson: (raw) => json5.parse(raw)
18993
+ parseJson: (raw) => JSON5.parse(raw)
18994
18994
  };
18995
18995
  /**
18996
18996
  * Resolves all $include directives in a parsed config object.
@@ -20478,7 +20478,7 @@ function loadPluginManifestRegistry(params) {
20478
20478
 
20479
20479
  //#endregion
20480
20480
  //#region src/plugins/schema-validator.ts
20481
- const ajv$1 = new AjvModule({
20481
+ const ajv$1 = new AjvPkg({
20482
20482
  allErrors: true,
20483
20483
  strict: false,
20484
20484
  removeAdditional: false
@@ -21665,18 +21665,18 @@ function resolveConfigPathForDeps(deps) {
21665
21665
  function normalizeDeps(overrides = {}) {
21666
21666
  return {
21667
21667
  fs: overrides.fs ?? fs,
21668
- json5: overrides.json5 ?? json5,
21668
+ json5: overrides.json5 ?? JSON5,
21669
21669
  env: overrides.env ?? process.env,
21670
21670
  homedir: overrides.homedir ?? os.homedir,
21671
21671
  configPath: overrides.configPath ?? "",
21672
21672
  logger: overrides.logger ?? console
21673
21673
  };
21674
21674
  }
21675
- function parseConfigJson5(raw, json5$1 = json5) {
21675
+ function parseConfigJson5(raw, json5 = JSON5) {
21676
21676
  try {
21677
21677
  return {
21678
21678
  ok: true,
21679
- parsed: json5$1.parse(raw)
21679
+ parsed: json5.parse(raw)
21680
21680
  };
21681
21681
  } catch (err) {
21682
21682
  return {
@@ -22190,7 +22190,7 @@ function loadSessionStore(storePath, opts = {}) {
22190
22190
  let mtimeMs = getFileMtimeMs(storePath);
22191
22191
  try {
22192
22192
  const raw = fs.readFileSync(storePath, "utf-8");
22193
- const parsed = json5.parse(raw);
22193
+ const parsed = JSON5.parse(raw);
22194
22194
  if (isSessionStoreRecord(parsed)) store = parsed;
22195
22195
  mtimeMs = getFileMtimeMs(storePath) ?? mtimeMs;
22196
22196
  } catch {}
@@ -47051,7 +47051,7 @@ const PROTOCOL_VERSION = 3;
47051
47051
 
47052
47052
  //#endregion
47053
47053
  //#region src/gateway/protocol/index.ts
47054
- const ajv = new AjvModule({
47054
+ const ajv = new AjvPkg({
47055
47055
  allErrors: true,
47056
47056
  strict: false,
47057
47057
  removeAdditional: false
@@ -66371,7 +66371,7 @@ function enqueueSystemEvent(text, options) {
66371
66371
  const MODEL_CACHE = /* @__PURE__ */ new Map();
66372
66372
  (async () => {
66373
66373
  try {
66374
- const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-B1kAe0kx.js").then((n) => n.t);
66374
+ const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-CeYPOTBg.js").then((n) => n.t);
66375
66375
  await ensureSKYKOIModelsJson(loadConfig());
66376
66376
  const koiDir = resolveSKYKOIKoiDir();
66377
66377
  const models = discoverModels(discoverAuthStorage(koiDir), koiDir).getAll();
@@ -226414,7 +226414,7 @@ const BUFFERABLE_EVENT_SET = new Set([
226414
226414
  * making the data processing more efficient.
226415
226415
  */
226416
226416
  const makeEventBuffer = (logger) => {
226417
- const ev = new EventEmitter$1();
226417
+ const ev = new EventEmitter();
226418
226418
  const historyCache = /* @__PURE__ */ new Set();
226419
226419
  let data = makeBufferData();
226420
226420
  let isBuffering = false;
@@ -231984,7 +231984,7 @@ var BinaryInfo = class {
231984
231984
 
231985
231985
  //#endregion
231986
231986
  //#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
231987
- var AbstractSocketClient = class extends EventEmitter {
231987
+ var AbstractSocketClient = class extends EventEmitter$1 {
231988
231988
  constructor(url, config) {
231989
231989
  super();
231990
231990
  this.url = url;
@@ -34,7 +34,7 @@ import { access, mkdir, readFile, stat as stat$1, writeFile } from "fs/promises"
34
34
  import Stream, { Readable as Readable$1 } from "node:stream";
35
35
  import { finished } from "node:stream/promises";
36
36
  import * as NodeWs from "ws";
37
- import AjvModule from "ajv";
37
+ import AjvPkg from "ajv";
38
38
  import lockfile from "proper-lockfile";
39
39
  import { fileURLToPath as fileURLToPath$1 } from "url";
40
40
  import { TypeCompiler } from "@sinclair/typebox/compiler";
@@ -59699,7 +59699,7 @@ var require_dist$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
59699
59699
  //#endregion
59700
59700
  //#region node_modules/.pnpm/@mariozechner+pi-ai@0.52.8_ws@8.19.0_zod@4.3.6/node_modules/@mariozechner/pi-ai/dist/utils/validation.js
59701
59701
  var import_dist$1 = /* @__PURE__ */ __toESM(require_dist$1(), 1);
59702
- const Ajv$1 = AjvModule.default || AjvModule;
59702
+ const Ajv$1 = AjvPkg.default || AjvPkg;
59703
59703
  const addFormats = import_dist$1.default.default || import_dist$1.default;
59704
59704
  const isBrowserExtension = typeof globalThis !== "undefined" && globalThis.chrome?.runtime?.id !== void 0;
59705
59705
  let ajv = null;
@@ -174026,7 +174026,7 @@ var AuthStorage = class {
174026
174026
  /**
174027
174027
  * Model registry - manages built-in and custom models, provides API key resolution.
174028
174028
  */
174029
- const Ajv = AjvModule.default || AjvModule;
174029
+ const Ajv = AjvPkg.default || AjvPkg;
174030
174030
  const OpenRouterRoutingSchema = Type.Object({
174031
174031
  only: Type.Optional(Type.Array(Type.String())),
174032
174032
  order: Type.Optional(Type.Array(Type.String()))
@@ -4,8 +4,8 @@ import { n as replaceCliName, r as resolveCliName } from "./command-format-CvpDY
4
4
  import { t as isTruthyEnvValue } from "./env-Bj0uZSiW.js";
5
5
  import { N as VERSION } from "./config-C_blrocr.js";
6
6
  import { t as formatDocsLink } from "./links-D5FJjx5x.js";
7
- import { r as registerProgramCommands, t as ensureConfigReady } from "./config-guard-kgSqjg7w.js";
8
- import { a as getCommandPath, d as hasHelpOrVersion, l as getVerboseFlag } from "./register.subclis-B6BYed15.js";
7
+ import { r as registerProgramCommands, t as ensureConfigReady } from "./config-guard-_4ndGZWA.js";
8
+ import { a as getCommandPath, d as hasHelpOrVersion, l as getVerboseFlag } from "./register.subclis-6zodByv_.js";
9
9
  import { t as ensurePluginRegistryLoaded } from "./plugin-registry-BBCM-5FD.js";
10
10
  import { i as hasEmittedCliBanner, n as emitCliBanner, r as formatCliBannerLine } from "./tui-9aUeGcxw.js";
11
11
  import { n as resolveCliChannelOptions } from "./channel-options-B52NE1Gn.js";
@@ -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-B8JgYZVF.js")).registerGatewayCli(program);
127
+ (await import("./gateway-cli-DcKAo3IU.js")).registerGatewayCli(program);
128
128
  }
129
129
  },
130
130
  {
@@ -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-CGvI8o4c.js")).registerUpdateCli(program);
285
+ (await import("./update-cli-BfwqnHkd.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--Sq2wCTK.js").then((n) => n.n)).registerCompletionCli(program);
292
+ (await import("./completion-cli-BdQvVN7p.js").then((n) => n.n)).registerCompletionCli(program);
293
293
  }
294
294
  }
295
295
  ];
@@ -61,11 +61,11 @@ import "./tailscale-4hm01eUI.js";
61
61
  import { t as loadDotEnv } from "./dotenv-DKI6139G.js";
62
62
  import { t as ensureSKYKOICliOnPath } from "./path-env-B1xMZ4TX.js";
63
63
  import { g as assertSupportedRuntime } from "./daemon-runtime-DkLy62aK.js";
64
- import { n as findRoutedCommand, t as ensureConfigReady } from "./config-guard-kgSqjg7w.js";
64
+ import { n as findRoutedCommand, t as ensureConfigReady } from "./config-guard-_4ndGZWA.js";
65
65
  import "./logging-BusiCyt_.js";
66
66
  import "./note-CbRknFZ7.js";
67
67
  import "./clack-prompter-BxHCh6Tn.js";
68
- import "./onboarding-B_QPugM_.js";
68
+ import "./onboarding-DnxGVdFu.js";
69
69
  import "./onboard-skills-MqXQ1yhm.js";
70
70
  import "./github-copilot-auth-BTjBE2j5.js";
71
71
  import "./onboard-channels-B40cENeo.js";
@@ -74,7 +74,7 @@ import "./archive-eJnsstoB.js";
74
74
  import "./skill-scanner-WnNLktfw.js";
75
75
  import "./installs-SHFX8JPu.js";
76
76
  import "./health-format-DqINFTje.js";
77
- import "./update-runner-SPbXr6MU.js";
77
+ import "./update-runner-DfcP9otZ.js";
78
78
  import "./auth-DQvUzR68.js";
79
79
  import "./audit-C0ixMaLQ.js";
80
80
  import "./table-CgHdpI6b.js";
@@ -84,7 +84,7 @@ import "./systemd-BuS1yu_z.js";
84
84
  import "./service-audit-CN0kFCuS.js";
85
85
  import "./node-service-DfmbTqpi.js";
86
86
  import "./channels-status-issues-GKs-LbrV.js";
87
- import { a as getCommandPath, c as getPrimaryCommand, d as hasHelpOrVersion } from "./register.subclis-B6BYed15.js";
87
+ import { a as getCommandPath, c as getPrimaryCommand, d as hasHelpOrVersion } from "./register.subclis-6zodByv_.js";
88
88
  import "./gateway-rpc-GLatQ1eS.js";
89
89
  import "./help-format-Cbr54gLP.js";
90
90
  import "./koi-BzvZFySU.js";
@@ -94,8 +94,8 @@ import "./systemd-linger-BLQwmm6k.js";
94
94
  import "./widearea-dns-DMja3M8B.js";
95
95
  import "./bonjour-discovery-D_eYlsQc.js";
96
96
  import "./auth-health-Btj4L0TH.js";
97
- import "./doctor-LIRdeCVr.js";
98
- import "./completion-cli--Sq2wCTK.js";
97
+ import "./doctor-B_i35zTj.js";
98
+ import "./completion-cli-BdQvVN7p.js";
99
99
  import "./hooks-status-Q-UXhKBw.js";
100
100
  import { n as emitCliBanner } from "./tui-9aUeGcxw.js";
101
101
  import process$1 from "node:process";
@@ -151,7 +151,7 @@ async function runCli(argv = process$1.argv) {
151
151
  assertSupportedRuntime();
152
152
  if (await tryRouteCli(normalizedArgv)) return;
153
153
  enableConsoleCapture();
154
- const { buildProgram } = await import("./program-Ci_xnaDK.js").then((n) => n.t);
154
+ const { buildProgram } = await import("./program-ZqsTHic1.js").then((n) => n.t);
155
155
  const program = buildProgram();
156
156
  installUnhandledRejectionHandler();
157
157
  process$1.on("uncaughtException", (error) => {
@@ -161,7 +161,7 @@ async function runCli(argv = process$1.argv) {
161
161
  const parseArgv = rewriteUpdateFlagArgv(normalizedArgv);
162
162
  const primary = getPrimaryCommand(parseArgv);
163
163
  if (primary) {
164
- const { registerSubCliByName } = await import("./register.subclis-B6BYed15.js").then((n) => n.i);
164
+ const { registerSubCliByName } = await import("./register.subclis-6zodByv_.js").then((n) => n.i);
165
165
  await registerSubCliByName(program, primary);
166
166
  }
167
167
  if (!(!primary && hasHelpOrVersion(parseArgv))) {
@@ -68,7 +68,7 @@ import "./archive-eJnsstoB.js";
68
68
  import "./skill-scanner-WnNLktfw.js";
69
69
  import "./installs-SHFX8JPu.js";
70
70
  import "./health-format-DqINFTje.js";
71
- 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-SPbXr6MU.js";
71
+ 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-DfcP9otZ.js";
72
72
  import "./auth-DQvUzR68.js";
73
73
  import { t as renderTable } from "./table-CgHdpI6b.js";
74
74
  import "./skills-status-PwtGQTh5.js";
@@ -76,12 +76,12 @@ import "./service-CTrRN1-T.js";
76
76
  import "./systemd-BuS1yu_z.js";
77
77
  import "./service-audit-CN0kFCuS.js";
78
78
  import "./channels-status-issues-GKs-LbrV.js";
79
- import "./register.subclis-B6BYed15.js";
79
+ import "./register.subclis-6zodByv_.js";
80
80
  import { t as formatHelpExamples } from "./help-format-Cbr54gLP.js";
81
81
  import "./systemd-linger-BLQwmm6k.js";
82
82
  import "./auth-health-Btj4L0TH.js";
83
- import { t as doctorCommand } from "./doctor-LIRdeCVr.js";
84
- import { r as installCompletion } from "./completion-cli--Sq2wCTK.js";
83
+ import { t as doctorCommand } from "./doctor-B_i35zTj.js";
84
+ import { r as installCompletion } from "./completion-cli-BdQvVN7p.js";
85
85
  import "./shared-DCuTTPOy.js";
86
86
  import { r as runDaemonRestart } from "./daemon-cli-DXDF6h4N.js";
87
87
  import { n as updateNpmInstalledPlugins, t as syncPluginsForUpdateChannel } from "./update-a8Sodxye.js";
@@ -6,7 +6,7 @@ import { N as VERSION } from "./config-C_blrocr.js";
6
6
  import { _ as parseSemver } from "./daemon-runtime-DkLy62aK.js";
7
7
  import { t as note } from "./note-CbRknFZ7.js";
8
8
  import { i as resolveControlUiDistIndexPathForRoot, r as resolveControlUiDistIndexHealth } from "./health-format-DqINFTje.js";
9
- import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli--Sq2wCTK.js";
9
+ import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-BdQvVN7p.js";
10
10
  import path from "node:path";
11
11
  import os from "node:os";
12
12
  import fs from "node:fs/promises";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skykoi",
3
- "version": "2026.3.151",
3
+ "version": "2026.3.153",
4
4
  "description": "SkyKoi — Koi runtime. Multi-channel gateway CLI with RPC Koi.",
5
5
  "keywords": [
6
6
  "skykoi",