skykoi 2026.3.150 → 2026.3.152

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.150",
3
- "commit": "ecb6c7e1dadf1da26d11b891dd48ea3ee89cecc0",
4
- "builtAt": "2026-04-29T09:39:23.274Z"
2
+ "version": "2026.3.152",
3
+ "commit": "e49df76df8d80861cb62ee9ff6903ddaa95c6f6d",
4
+ "builtAt": "2026-04-29T09:44:05.904Z"
5
5
  }
@@ -1 +1 @@
1
- ef6487138bfa2b73b1975a5911f5b83d44c83faea3a00d0e6979746ef3f927c3
1
+ 42fc5c08ff25a885bcf382d8e3c30861c4f57d5d7769afdbef2c919fcda83363
@@ -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-TZcmCyNd.js";
3
+ import { n as registerSubCliByName, t as getSubCliEntries } from "./register.subclis-BueyuLgL.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-BucMXbm8.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-DZxBiNWw.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-BrR3KT-F.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-C8y5LnLh.js";
31
31
  import { n as setupChannels } from "./onboard-channels-BdIPyOTh.js";
@@ -33,7 +33,7 @@ import { l as healthCommand } from "./health-format-Bdsy_0Lq.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-TZcmCyNd.js";
36
+ import { l as getVerboseFlag, o as getFlagValue, r as registerSubCliCommands, s as getPositiveIntFlagValue, u as hasFlag } from "./register.subclis-BueyuLgL.js";
37
37
  import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-ChtP1AJk.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-Vbg03Me4.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-LnNfK5Ic.js";
43
43
  import { n as ensureSystemdUserLingerNonInteractive } from "./systemd-linger-BLQwmm6k.js";
44
- import { n as loadAndMaybeMigrateDoctorConfig, t as doctorCommand } from "./doctor-CCLvZzRQ.js";
44
+ import { n as loadAndMaybeMigrateDoctorConfig, t as doctorCommand } from "./doctor-CGVDSEwZ.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-CrpAktec.js";
28
28
  import { i as resolveControlUiDistIndexPathForRoot, l as healthCommand, r as resolveControlUiDistIndexHealth, t as formatHealthCheckFailure } from "./health-format-Bdsy_0Lq.js";
29
- import { c as doctorShellCompletion, t as runGatewayUpdate } from "./update-runner-DAf5zxN2.js";
29
+ import { c as doctorShellCompletion, t as runGatewayUpdate } from "./update-runner-D9HS70Ln.js";
30
30
  import { i as resolveGatewayAuth } from "./auth-DcQcmQH5.js";
31
31
  import { t as buildWorkspaceSkillStatus } from "./skills-status-CIFMe-eQ.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-BeZi5MTv.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
247
+ import("./run-main-DxYEjrvR.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-BucMXbm8.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-DZxBiNWw.js";
79
79
  import { n as installSkill } from "./onboard-skills-BrR3KT-F.js";
80
80
  import "./github-copilot-auth-C8y5LnLh.js";
81
81
  import "./onboard-channels-BdIPyOTh.js";
@@ -84,7 +84,7 @@ import "./archive-CVWNRtyL.js";
84
84
  import "./skill-scanner-WnNLktfw.js";
85
85
  import "./installs-BFa_D4ve.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-Bdsy_0Lq.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-DAf5zxN2.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-D9HS70Ln.js";
88
88
  import { i as resolveGatewayAuth, n as authorizeGatewayConnect, r as isLocalDirectRequest, t as assertGatewayAuthConfigured } from "./auth-DcQcmQH5.js";
89
89
  import { i as probeGateway } from "./audit-xPP239ME.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-cgxNpqDF.js";
95
95
  import "./node-service-DfmbTqpi.js";
96
96
  import "./channels-status-issues-GKs-LbrV.js";
97
- import "./register.subclis-TZcmCyNd.js";
97
+ import "./register.subclis-BueyuLgL.js";
98
98
  import { a as createOutboundSendDeps$1, i as resolveKoiOutboundTarget, r as resolveKoiDeliveryPlan, t as koiCommand } from "./koi-Vbg03Me4.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-B3WdcJZs.js";
101
+ import "./completion-cli-Ckd8ZEKi.js";
102
102
  import { i as shouldIncludeHook, n as loadWorkspaceHookEntries, r as resolveHookConfig } from "./hooks-status-DbwN6pvO.js";
103
103
  import "./tui-DissoNdH.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-CdyzhAad.js";
66
66
  import "./ports-RMh76QZ2.js";
67
- import "./config-guard-IVCcnwoT.js";
67
+ import "./config-guard-DJNpeYTC.js";
68
68
  import "./logging-BusiCyt_.js";
69
69
  import "./note-CbRknFZ7.js";
70
70
  import "./clack-prompter-BxHCh6Tn.js";
71
- import "./onboarding-BucMXbm8.js";
71
+ import "./onboarding-DZxBiNWw.js";
72
72
  import "./onboard-skills-BrR3KT-F.js";
73
73
  import "./github-copilot-auth-C8y5LnLh.js";
74
74
  import "./onboard-channels-BdIPyOTh.js";
@@ -77,7 +77,7 @@ import "./archive-CVWNRtyL.js";
77
77
  import "./skill-scanner-WnNLktfw.js";
78
78
  import "./installs-BFa_D4ve.js";
79
79
  import "./health-format-Bdsy_0Lq.js";
80
- import "./update-runner-DAf5zxN2.js";
80
+ import "./update-runner-D9HS70Ln.js";
81
81
  import "./auth-DcQcmQH5.js";
82
82
  import "./audit-xPP239ME.js";
83
83
  import "./table-CgHdpI6b.js";
@@ -87,7 +87,7 @@ import "./systemd-BuS1yu_z.js";
87
87
  import "./service-audit-cgxNpqDF.js";
88
88
  import "./node-service-DfmbTqpi.js";
89
89
  import "./channels-status-issues-GKs-LbrV.js";
90
- import "./register.subclis-TZcmCyNd.js";
90
+ import "./register.subclis-BueyuLgL.js";
91
91
  import "./gateway-rpc-ChtP1AJk.js";
92
92
  import "./help-format-Cbr54gLP.js";
93
93
  import "./koi-Vbg03Me4.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-QVPApxZ5.js";
100
- import "./doctor-CCLvZzRQ.js";
101
- import "./completion-cli-B3WdcJZs.js";
100
+ import "./doctor-CGVDSEwZ.js";
101
+ import "./completion-cli-Ckd8ZEKi.js";
102
102
  import "./hooks-status-DbwN6pvO.js";
103
103
  import "./tui-DissoNdH.js";
104
104
  import "./channel-options-D8_JzxRT.js";
105
- import { n as buildProgram } from "./program-BSzeDCaY.js";
105
+ import { n as buildProgram } from "./program-2ZSsKKAH.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-BrR3KT-F.js";
25
25
  import { n as setupChannels } from "./onboard-channels-BdIPyOTh.js";
26
26
  import { l as healthCommand, n as ensureControlUiAssetsBuilt, s as formatHealthChannelLines, t as formatHealthCheckFailure, u as resolveHeartbeatSummaryForKoi } from "./health-format-Bdsy_0Lq.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-DAf5zxN2.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-D9HS70Ln.js";
28
28
  import { i as probeGateway, t as runSecurityAudit } from "./audit-xPP239ME.js";
29
29
  import { t as renderTable } from "./table-CgHdpI6b.js";
30
30
  import { t as buildWorkspaceSkillStatus } from "./skills-status-CIFMe-eQ.js";
@@ -34,7 +34,7 @@ import { o as readLastGatewayErrorLine } from "./service-audit-cgxNpqDF.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-B3WdcJZs.js";
37
+ import { r as installCompletion } from "./completion-cli-Ckd8ZEKi.js";
38
38
  import { t as buildWorkspaceHookStatus } from "./hooks-status-DbwN6pvO.js";
39
39
  import { t as runTui } from "./tui-DissoNdH.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-CeYPOTBg.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";
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";
@@ -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 AjvPkg from "ajv";
45
+ import AjvModule from "ajv";
46
46
  import lockfile from "proper-lockfile";
47
47
  import { URL as URL$1 } from "url";
48
48
  import "yaml";
@@ -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 AjvPkg({
20481
+ const ajv$1 = new AjvModule({
20482
20482
  allErrors: true,
20483
20483
  strict: false,
20484
20484
  removeAdditional: false
@@ -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 AjvPkg({
47054
+ const ajv = new AjvModule({
47055
47055
  allErrors: true,
47056
47056
  strict: false,
47057
47057
  removeAdditional: false
@@ -66929,7 +66929,7 @@ function enqueueSystemEvent(text, options) {
66929
66929
  const MODEL_CACHE = /* @__PURE__ */ new Map();
66930
66930
  (async () => {
66931
66931
  try {
66932
- const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-CeYPOTBg.js").then((n) => n.t);
66932
+ const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-B1kAe0kx.js").then((n) => n.t);
66933
66933
  await ensureSKYKOIModelsJson(loadConfig());
66934
66934
  const koiDir = resolveSKYKOIKoiDir();
66935
66935
  const models = discoverModels(discoverAuthStorage(koiDir), koiDir).getAll();
@@ -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 AjvPkg from "ajv";
37
+ import AjvModule 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 = AjvPkg.default || AjvPkg;
59702
+ const Ajv$1 = AjvModule.default || AjvModule;
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 = AjvPkg.default || AjvPkg;
174029
+ const Ajv = AjvModule.default || AjvModule;
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-DKtZlV3b.js";
6
6
  import { t as formatDocsLink } from "./links-D5FJjx5x.js";
7
- import { r as registerProgramCommands, t as ensureConfigReady } from "./config-guard-IVCcnwoT.js";
8
- import { a as getCommandPath, d as hasHelpOrVersion, l as getVerboseFlag } from "./register.subclis-TZcmCyNd.js";
7
+ import { r as registerProgramCommands, t as ensureConfigReady } from "./config-guard-DJNpeYTC.js";
8
+ import { a as getCommandPath, d as hasHelpOrVersion, l as getVerboseFlag } from "./register.subclis-BueyuLgL.js";
9
9
  import { t as ensurePluginRegistryLoaded } from "./plugin-registry-yEj_k7iS.js";
10
10
  import { i as hasEmittedCliBanner, n as emitCliBanner, r as formatCliBannerLine } from "./tui-DissoNdH.js";
11
11
  import { n as resolveCliChannelOptions } from "./channel-options-D8_JzxRT.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-WJVy5GUw.js")).registerGatewayCli(program);
127
+ (await import("./gateway-cli-BeP3fYuB.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-DOwTTMYe.js")).registerUpdateCli(program);
285
+ (await import("./update-cli-Cd7Ery6K.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-B3WdcJZs.js").then((n) => n.n)).registerCompletionCli(program);
292
+ (await import("./completion-cli-Ckd8ZEKi.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-CdyzhAad.js";
64
- import { n as findRoutedCommand, t as ensureConfigReady } from "./config-guard-IVCcnwoT.js";
64
+ import { n as findRoutedCommand, t as ensureConfigReady } from "./config-guard-DJNpeYTC.js";
65
65
  import "./logging-BusiCyt_.js";
66
66
  import "./note-CbRknFZ7.js";
67
67
  import "./clack-prompter-BxHCh6Tn.js";
68
- import "./onboarding-BucMXbm8.js";
68
+ import "./onboarding-DZxBiNWw.js";
69
69
  import "./onboard-skills-BrR3KT-F.js";
70
70
  import "./github-copilot-auth-C8y5LnLh.js";
71
71
  import "./onboard-channels-BdIPyOTh.js";
@@ -74,7 +74,7 @@ import "./archive-CVWNRtyL.js";
74
74
  import "./skill-scanner-WnNLktfw.js";
75
75
  import "./installs-BFa_D4ve.js";
76
76
  import "./health-format-Bdsy_0Lq.js";
77
- import "./update-runner-DAf5zxN2.js";
77
+ import "./update-runner-D9HS70Ln.js";
78
78
  import "./auth-DcQcmQH5.js";
79
79
  import "./audit-xPP239ME.js";
80
80
  import "./table-CgHdpI6b.js";
@@ -84,7 +84,7 @@ import "./systemd-BuS1yu_z.js";
84
84
  import "./service-audit-cgxNpqDF.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-TZcmCyNd.js";
87
+ import { a as getCommandPath, c as getPrimaryCommand, d as hasHelpOrVersion } from "./register.subclis-BueyuLgL.js";
88
88
  import "./gateway-rpc-ChtP1AJk.js";
89
89
  import "./help-format-Cbr54gLP.js";
90
90
  import "./koi-Vbg03Me4.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-QVPApxZ5.js";
97
- import "./doctor-CCLvZzRQ.js";
98
- import "./completion-cli-B3WdcJZs.js";
97
+ import "./doctor-CGVDSEwZ.js";
98
+ import "./completion-cli-Ckd8ZEKi.js";
99
99
  import "./hooks-status-DbwN6pvO.js";
100
100
  import { n as emitCliBanner } from "./tui-DissoNdH.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-BSzeDCaY.js").then((n) => n.t);
154
+ const { buildProgram } = await import("./program-2ZSsKKAH.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-TZcmCyNd.js").then((n) => n.i);
164
+ const { registerSubCliByName } = await import("./register.subclis-BueyuLgL.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-CVWNRtyL.js";
68
68
  import "./skill-scanner-WnNLktfw.js";
69
69
  import "./installs-BFa_D4ve.js";
70
70
  import "./health-format-Bdsy_0Lq.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-DAf5zxN2.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-D9HS70Ln.js";
72
72
  import "./auth-DcQcmQH5.js";
73
73
  import { t as renderTable } from "./table-CgHdpI6b.js";
74
74
  import "./skills-status-CIFMe-eQ.js";
@@ -76,12 +76,12 @@ import "./service-CTrRN1-T.js";
76
76
  import "./systemd-BuS1yu_z.js";
77
77
  import "./service-audit-cgxNpqDF.js";
78
78
  import "./channels-status-issues-GKs-LbrV.js";
79
- import "./register.subclis-TZcmCyNd.js";
79
+ import "./register.subclis-BueyuLgL.js";
80
80
  import { t as formatHelpExamples } from "./help-format-Cbr54gLP.js";
81
81
  import "./systemd-linger-BLQwmm6k.js";
82
82
  import "./auth-health-QVPApxZ5.js";
83
- import { t as doctorCommand } from "./doctor-CCLvZzRQ.js";
84
- import { r as installCompletion } from "./completion-cli-B3WdcJZs.js";
83
+ import { t as doctorCommand } from "./doctor-CGVDSEwZ.js";
84
+ import { r as installCompletion } from "./completion-cli-Ckd8ZEKi.js";
85
85
  import "./shared-7rrirrq8.js";
86
86
  import { r as runDaemonRestart } from "./daemon-cli-C_4xIwnL.js";
87
87
  import { n as updateNpmInstalledPlugins, t as syncPluginsForUpdateChannel } from "./update-McB8DNli.js";
@@ -6,7 +6,7 @@ import { N as VERSION } from "./config-DKtZlV3b.js";
6
6
  import { _ as parseSemver } from "./daemon-runtime-CdyzhAad.js";
7
7
  import { t as note } from "./note-CbRknFZ7.js";
8
8
  import { i as resolveControlUiDistIndexPathForRoot, r as resolveControlUiDistIndexHealth } from "./health-format-Bdsy_0Lq.js";
9
- import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-B3WdcJZs.js";
9
+ import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-Ckd8ZEKi.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.150",
3
+ "version": "2026.3.152",
4
4
  "description": "SkyKoi — Koi runtime. Multi-channel gateway CLI with RPC Koi.",
5
5
  "keywords": [
6
6
  "skykoi",