skykoi 2026.3.366 → 2026.3.368

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/dist/{archive-lc4aTrME.js → archive-B3XH4jO2.js} +1 -1
  2. package/dist/build-info.json +2 -2
  3. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  4. package/dist/{capture-service-Cf1TbNjO.js → capture-service-B9OtVPXU.js} +0 -2
  5. package/dist/{channel-options-DyDeQlCI.js → channel-options-CsYDxExH.js} +1 -1
  6. package/dist/{channels-cli-DrMs9_n6.js → channels-cli-DA0HSc9X.js} +6 -6
  7. package/dist/cli/daemon-cli.js +1 -1
  8. package/dist/{cli-Bp5p4fp9.js → cli-DmyB03Sg.js} +1 -1
  9. package/dist/{completion-cli-DvRTz9tW.js → completion-cli-B5AAO7GY.js} +1 -1
  10. package/dist/{config-guard-D2MuFG-R.js → config-guard-DSiIzocM.js} +14 -14
  11. package/dist/{configure-YnJ1tddp.js → configure-B05mCsqF.js} +3 -3
  12. package/dist/{daemon-cli-CWGXZMX3.js → daemon-cli-BBg3lTt_.js} +1 -1
  13. package/dist/{deps-bxV4Fhqd.js → deps-CSWkGu4k.js} +1 -1
  14. package/dist/{doctor-completion-B_DB6yKB.js → doctor-completion-BKb1Pkss.js} +1 -1
  15. package/dist/{doctor-BmZlvlO9.js → doctor-d0QYlUqU.js} +3 -3
  16. package/dist/entry.js +1 -1
  17. package/dist/extension-api.js +1 -1
  18. package/dist/{gateway-cli-CKUmcFLG.js → gateway-cli-C7wZVkQT.js} +17 -17
  19. package/dist/{github-copilot-auth-B8anaBMU.js → github-copilot-auth-D9OUuD4w.js} +1 -1
  20. package/dist/{health-format-HJ49Tlyk.js → health-format-Dfp0af-Y.js} +1 -1
  21. package/dist/{hooks-cli-tNp3Hoa1.js → hooks-cli-C4XosbZm.js} +3 -3
  22. package/dist/index.js +20 -20
  23. package/dist/{installs-CgF6acAX.js → installs-4hpnrKis.js} +1 -1
  24. package/dist/{koi-C7h4YyTn.js → koi-BPDJgWGk.js} +2 -2
  25. package/dist/{models-cli-Duetla7W.js → models-cli-DZnJxKec.js} +2 -2
  26. package/dist/{onboard-channels-Cg-RtF_Q.js → onboard-channels-Ci8FupXu.js} +2 -2
  27. package/dist/{onboard-skills-AM1-GoCb.js → onboard-skills-DdrLhxSP.js} +3 -3
  28. package/dist/{onboarding-BXqZpqCS.js → onboarding-C6DFBWTQ.js} +7 -7
  29. package/dist/{plugin-registry-OEYl6Glv.js → plugin-registry-BBqvFF71.js} +1 -1
  30. package/dist/plugin-sdk/index.js +16 -16
  31. package/dist/plugin-sdk/{pi-model-discovery-CBWcyyqn.js → pi-model-discovery-szlzYGsC.js} +3 -3
  32. package/dist/{plugins-cli-Drazdm-4.js → plugins-cli-BIHsv7ck.js} +5 -5
  33. package/dist/{program-B4F-KxtZ.js → program-DOSMoZgw.js} +5 -5
  34. package/dist/{register.subclis-C514WXu2.js → register.subclis-CwfAitU2.js} +11 -11
  35. package/dist/{reply-kg3drq1N.js → reply-DSumKtIF.js} +1 -1
  36. package/dist/{run-main-CWySis6K.js → run-main-BVyUt2A-.js} +21 -21
  37. package/dist/{server-node-events-B1vg4hw3.js → server-node-events-CAL-QYfy.js} +3 -3
  38. package/dist/{status-CrxsbMfq.js → status-oW9vVhRi.js} +1 -1
  39. package/dist/{tui-CvbO7Ge0.js → tui-C8LwqY_j.js} +2 -42
  40. package/dist/{tui-cli-cP-V8PgJ.js → tui-cli-YO24Pqdj.js} +1 -1
  41. package/dist/{update-DCBf0mrX.js → update-B4zlM-z7.js} +1 -1
  42. package/dist/{update-cli-CHpskZMu.js → update-cli-Cjw1IRgM.js} +11 -11
  43. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { Bn as lookupContextTokens, C as listKoisForGateway, an as getMemorySearchManager, gt as getRemoteSkillEligibility, lt as loadProviderUsageSummary, p as sha256HexPrefix, qn as peekSystemEvents, ut as formatUsageReportLines } from "./reply-kg3drq1N.js";
1
+ import { Bn as lookupContextTokens, C as listKoisForGateway, an as getMemorySearchManager, gt as getRemoteSkillEligibility, lt as loadProviderUsageSummary, p as sha256HexPrefix, qn as peekSystemEvents, ut as formatUsageReportLines } from "./reply-DSumKtIF.js";
2
2
  import { c as restoreTerminalState, p as info, s as defaultRuntime } from "./subsystem-hATE68va.js";
3
3
  import { n as DEFAULT_GATEWAY_PORT, u as resolveGatewayPort } from "./paths-VdmjGGyc.js";
4
4
  import { n as isRich, r as theme } from "./theme-C5EwWDWE.js";
@@ -24,9 +24,9 @@ import { a as findTailscaleBinary, o as getTailnetHostname, s as readTailscaleSt
24
24
  import { t as resolveChannelDefaultAccountId } from "./helpers-y1KKH5pe.js";
25
25
  import { n as logConfigUpdated } from "./logging-1Q_KlUsW.js";
26
26
  import { t as WizardCancelledError } from "./prompts-yNyvMdpp.js";
27
- 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-AM1-GoCb.js";
28
- import { n as setupChannels } from "./onboard-channels-Cg-RtF_Q.js";
29
- import { a as resolveHeartbeatSummaryForKoi, i as healthCommand, n as formatHealthChannelLines, t as formatHealthCheckFailure } from "./health-format-HJ49Tlyk.js";
27
+ 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-DdrLhxSP.js";
28
+ import { n as setupChannels } from "./onboard-channels-Ci8FupXu.js";
29
+ import { a as resolveHeartbeatSummaryForKoi, i as healthCommand, n as formatHealthChannelLines, t as formatHealthCheckFailure } from "./health-format-Dfp0af-Y.js";
30
30
  import { _ as resolveEffectiveUpdateChannel, c as compareSemverStrings, g as normalizeUpdateChannel, h as formatUpdateChannelLabel, s as checkUpdateStatus } from "./update-runner-odTAl-uh.js";
31
31
  import { i as probeGateway, t as runSecurityAudit } from "./audit-BhMw948Z.js";
32
32
  import { t as renderTable } from "./table-B3RHVa0g.js";
@@ -37,12 +37,12 @@ import { t as readLastGatewayErrorLine } from "./diagnostics-CFV2YxpG.js";
37
37
  import { t as resolveNodeService } from "./node-service-BzD7Bqwc.js";
38
38
  import { t as collectChannelStatusIssues } from "./channels-status-issues-BLygTpUh.js";
39
39
  import { i as redactSecrets, n as formatDuration$1, r as formatGatewayAuthUsed, t as formatAge$1 } from "./format-IoT-eUxs.js";
40
- import { a as formatUpdateOneLiner, i as formatUpdateAvailableHint, o as getUpdateCheckResult, r as ensureCompletionCacheExists, s as resolveUpdateAvailability, t as checkShellCompletionStatus } from "./doctor-completion-B_DB6yKB.js";
40
+ import { a as formatUpdateOneLiner, i as formatUpdateAvailableHint, o as getUpdateCheckResult, r as ensureCompletionCacheExists, s as resolveUpdateAvailability, t as checkShellCompletionStatus } from "./doctor-completion-BKb1Pkss.js";
41
41
  import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-B0N-n2rD.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-r19-i0S0.js";
43
- import { r as installCompletion } from "./completion-cli-DvRTz9tW.js";
43
+ import { r as installCompletion } from "./completion-cli-B5AAO7GY.js";
44
44
  import { t as buildWorkspaceHookStatus } from "./hooks-status-B0H9mn8K.js";
45
- import { t as runTui } from "./tui-CvbO7Ge0.js";
45
+ import { t as runTui } from "./tui-C8LwqY_j.js";
46
46
  import fs from "node:fs";
47
47
  import path from "node:path";
48
48
  import os from "node:os";
@@ -1,4 +1,4 @@
1
- import { ct as loadSKYKOIPlugins } from "./reply-kg3drq1N.js";
1
+ import { ct as loadSKYKOIPlugins } from "./reply-DSumKtIF.js";
2
2
  import { t as createSubsystemLogger } from "./subsystem-hATE68va.js";
3
3
  import { l as resolveKoiWorkspaceDir, r as resolveDefaultKoiId } from "./koi-scope-7GA83nWp.js";
4
4
  import { o as loadConfig } from "./config-BFoj5wyy.js";
@@ -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-CBWcyyqn.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-szlzYGsC.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";
@@ -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, { EventEmitter as EventEmitter$1, once } from "events";
36
+ import EventEmitter$1, { EventEmitter, 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";
@@ -41,8 +41,8 @@ import { createCipheriv, createDecipheriv, createHash, createHmac, randomBytes a
41
41
  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
- import WebSocket$1, { WebSocket } from "ws";
45
- import AjvModule from "ajv";
44
+ import WebSocket, { WebSocket as WebSocket$1 } from "ws";
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";
@@ -20541,7 +20541,7 @@ function loadPluginManifestRegistry(params) {
20541
20541
 
20542
20542
  //#endregion
20543
20543
  //#region src/plugins/schema-validator.ts
20544
- const ajv$1 = new AjvModule({
20544
+ const ajv$1 = new AjvPkg({
20545
20545
  allErrors: true,
20546
20546
  strict: false,
20547
20547
  removeAdditional: false
@@ -48187,7 +48187,7 @@ const PROTOCOL_VERSION = 3;
48187
48187
 
48188
48188
  //#endregion
48189
48189
  //#region src/gateway/protocol/index.ts
48190
- const ajv = new AjvModule({
48190
+ const ajv = new AjvPkg({
48191
48191
  allErrors: true,
48192
48192
  strict: false,
48193
48193
  removeAdditional: false
@@ -48336,7 +48336,7 @@ var GatewayClient = class {
48336
48336
  if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
48337
48337
  });
48338
48338
  }
48339
- this.ws = new WebSocket(url, wsOptions);
48339
+ this.ws = new WebSocket$1(url, wsOptions);
48340
48340
  this.ws.on("open", () => {
48341
48341
  if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
48342
48342
  const tlsError = this.validateTlsFingerprint();
@@ -48555,7 +48555,7 @@ var GatewayClient = class {
48555
48555
  return null;
48556
48556
  }
48557
48557
  async request(method, params, opts) {
48558
- if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
48558
+ if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
48559
48559
  const id = randomUUID();
48560
48560
  const frame = {
48561
48561
  type: "req",
@@ -68060,7 +68060,7 @@ function enqueueSystemEvent(text, options) {
68060
68060
  const MODEL_CACHE = /* @__PURE__ */ new Map();
68061
68061
  (async () => {
68062
68062
  try {
68063
- const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-CBWcyyqn.js").then((n) => n.t);
68063
+ const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-szlzYGsC.js").then((n) => n.t);
68064
68064
  await ensureSKYKOIModelsJson(loadConfig());
68065
68065
  const koiDir = resolveSKYKOIKoiDir();
68066
68066
  const models = discoverModels(discoverAuthStorage(koiDir), koiDir).getAll();
@@ -228308,7 +228308,7 @@ const BUFFERABLE_EVENT_SET = new Set([
228308
228308
  * making the data processing more efficient.
228309
228309
  */
228310
228310
  const makeEventBuffer = (logger) => {
228311
- const ev = new EventEmitter();
228311
+ const ev = new EventEmitter$1();
228312
228312
  const historyCache = /* @__PURE__ */ new Set();
228313
228313
  let data = makeBufferData();
228314
228314
  let isBuffering = false;
@@ -233878,7 +233878,7 @@ var BinaryInfo = class {
233878
233878
 
233879
233879
  //#endregion
233880
233880
  //#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
233881
- var AbstractSocketClient = class extends EventEmitter$1 {
233881
+ var AbstractSocketClient = class extends EventEmitter {
233882
233882
  constructor(url, config) {
233883
233883
  super();
233884
233884
  this.url = url;
@@ -233895,20 +233895,20 @@ var WebSocketClient = class extends AbstractSocketClient {
233895
233895
  this.socket = null;
233896
233896
  }
233897
233897
  get isOpen() {
233898
- return this.socket?.readyState === WebSocket$1.OPEN;
233898
+ return this.socket?.readyState === WebSocket.OPEN;
233899
233899
  }
233900
233900
  get isClosed() {
233901
- return this.socket === null || this.socket?.readyState === WebSocket$1.CLOSED;
233901
+ return this.socket === null || this.socket?.readyState === WebSocket.CLOSED;
233902
233902
  }
233903
233903
  get isClosing() {
233904
- return this.socket === null || this.socket?.readyState === WebSocket$1.CLOSING;
233904
+ return this.socket === null || this.socket?.readyState === WebSocket.CLOSING;
233905
233905
  }
233906
233906
  get isConnecting() {
233907
- return this.socket?.readyState === WebSocket$1.CONNECTING;
233907
+ return this.socket?.readyState === WebSocket.CONNECTING;
233908
233908
  }
233909
233909
  connect() {
233910
233910
  if (this.socket) return;
233911
- this.socket = new WebSocket$1(this.url, {
233911
+ this.socket = new WebSocket(this.url, {
233912
233912
  origin: DEFAULT_ORIGIN,
233913
233913
  headers: this.config.options?.headers,
233914
233914
  handshakeTimeout: this.config.connectTimeoutMs,
@@ -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()))
@@ -1,5 +1,5 @@
1
1
  import "./pi-embedded-helpers-VJ9hOBTv.js";
2
- import "./reply-kg3drq1N.js";
2
+ import "./reply-DSumKtIF.js";
3
3
  import { s as defaultRuntime } from "./subsystem-hATE68va.js";
4
4
  import "./paths-VdmjGGyc.js";
5
5
  import { r as theme } from "./theme-C5EwWDWE.js";
@@ -67,12 +67,12 @@ import "./control-service-Bbl6R2bi.js";
67
67
  import "./restart-sentinel-Cu-Tbnik.js";
68
68
  import "./channel-selection-Cd-vguDM.js";
69
69
  import "./event-log-BJRHlOn8.js";
70
- import { i as resolveArchiveKind } from "./archive-lc4aTrME.js";
70
+ import { i as resolveArchiveKind } from "./archive-B3XH4jO2.js";
71
71
  import "./skill-scanner-CBHxr1An.js";
72
- import { n as installPluginFromNpmSpec, r as installPluginFromPath, t as recordPluginInstall } from "./installs-CgF6acAX.js";
72
+ import { n as installPluginFromNpmSpec, r as installPluginFromPath, t as recordPluginInstall } from "./installs-4hpnrKis.js";
73
73
  import { t as renderTable } from "./table-B3RHVa0g.js";
74
- import { t as buildPluginStatusReport } from "./status-CrxsbMfq.js";
75
- import { n as updateNpmInstalledPlugins } from "./update-DCBf0mrX.js";
74
+ import { t as buildPluginStatusReport } from "./status-oW9vVhRi.js";
75
+ import { n as updateNpmInstalledPlugins } from "./update-B4zlM-z7.js";
76
76
  import fs from "node:fs";
77
77
  import path from "node:path";
78
78
 
@@ -5,11 +5,11 @@ 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-B0HTM-CT.js";
8
- import { i as registerProgramCommands, n as PLUGIN_CLI_COMMANDS, t as ensureConfigReady } from "./config-guard-D2MuFG-R.js";
9
- import { a as getCommandPath, d as hasHelpOrVersion, l as getVerboseFlag } from "./register.subclis-C514WXu2.js";
10
- import { t as ensurePluginRegistryLoaded } from "./plugin-registry-OEYl6Glv.js";
11
- import { a as hasEmittedCliBanner, i as formatCliBannerLine, r as emitCliBanner } from "./tui-CvbO7Ge0.js";
12
- import { n as resolveCliChannelOptions } from "./channel-options-DyDeQlCI.js";
8
+ import { i as registerProgramCommands, n as PLUGIN_CLI_COMMANDS, t as ensureConfigReady } from "./config-guard-DSiIzocM.js";
9
+ import { a as getCommandPath, d as hasHelpOrVersion, l as getVerboseFlag } from "./register.subclis-CwfAitU2.js";
10
+ import { t as ensurePluginRegistryLoaded } from "./plugin-registry-BBqvFF71.js";
11
+ import { a as hasEmittedCliBanner, i as formatCliBannerLine, r as emitCliBanner } from "./tui-C8LwqY_j.js";
12
+ import { n as resolveCliChannelOptions } from "./channel-options-CsYDxExH.js";
13
13
  import { Command } from "commander";
14
14
 
15
15
  //#region src/cli/program/context.ts
@@ -124,14 +124,14 @@ const entries = [
124
124
  name: "gateway",
125
125
  description: "Gateway control",
126
126
  register: async (program) => {
127
- (await import("./gateway-cli-CKUmcFLG.js")).registerGatewayCli(program);
127
+ (await import("./gateway-cli-C7wZVkQT.js")).registerGatewayCli(program);
128
128
  }
129
129
  },
130
130
  {
131
131
  name: "daemon",
132
132
  description: "Gateway service (legacy alias)",
133
133
  register: async (program) => {
134
- (await import("./daemon-cli-CWGXZMX3.js").then((n) => n.t)).registerDaemonCli(program);
134
+ (await import("./daemon-cli-BBg3lTt_.js").then((n) => n.t)).registerDaemonCli(program);
135
135
  }
136
136
  },
137
137
  {
@@ -152,7 +152,7 @@ const entries = [
152
152
  name: "models",
153
153
  description: "Model configuration",
154
154
  register: async (program) => {
155
- (await import("./models-cli-Duetla7W.js")).registerModelsCli(program);
155
+ (await import("./models-cli-DZnJxKec.js")).registerModelsCli(program);
156
156
  }
157
157
  },
158
158
  {
@@ -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-cP-V8PgJ.js")).registerTuiCli(program);
197
+ (await import("./tui-cli-YO24Pqdj.js")).registerTuiCli(program);
198
198
  }
199
199
  },
200
200
  {
@@ -222,7 +222,7 @@ const entries = [
222
222
  name: "hooks",
223
223
  description: "Hooks tooling",
224
224
  register: async (program) => {
225
- (await import("./hooks-cli-tNp3Hoa1.js")).registerHooksCli(program);
225
+ (await import("./hooks-cli-C4XosbZm.js")).registerHooksCli(program);
226
226
  }
227
227
  },
228
228
  {
@@ -236,7 +236,7 @@ const entries = [
236
236
  name: "pairing",
237
237
  description: "Pairing helpers",
238
238
  register: async (program) => {
239
- const { registerPluginCliCommands } = await import("./cli-Bp5p4fp9.js");
239
+ const { registerPluginCliCommands } = await import("./cli-DmyB03Sg.js");
240
240
  registerPluginCliCommands(program, await loadConfig());
241
241
  (await import("./pairing-cli-DPrJbN-i.js")).registerPairingCli(program);
242
242
  }
@@ -245,8 +245,8 @@ const entries = [
245
245
  name: "plugins",
246
246
  description: "Plugin management",
247
247
  register: async (program) => {
248
- (await import("./plugins-cli-Drazdm-4.js")).registerPluginsCli(program);
249
- const { registerPluginCliCommands } = await import("./cli-Bp5p4fp9.js");
248
+ (await import("./plugins-cli-BIHsv7ck.js")).registerPluginsCli(program);
249
+ const { registerPluginCliCommands } = await import("./cli-DmyB03Sg.js");
250
250
  registerPluginCliCommands(program, await loadConfig());
251
251
  }
252
252
  },
@@ -254,7 +254,7 @@ const entries = [
254
254
  name: "channels",
255
255
  description: "Channel management",
256
256
  register: async (program) => {
257
- (await import("./channels-cli-DrMs9_n6.js")).registerChannelsCli(program);
257
+ (await import("./channels-cli-DA0HSc9X.js")).registerChannelsCli(program);
258
258
  }
259
259
  },
260
260
  {
@@ -296,14 +296,14 @@ const entries = [
296
296
  name: "update",
297
297
  description: "CLI update helpers",
298
298
  register: async (program) => {
299
- (await import("./update-cli-CHpskZMu.js")).registerUpdateCli(program);
299
+ (await import("./update-cli-Cjw1IRgM.js")).registerUpdateCli(program);
300
300
  }
301
301
  },
302
302
  {
303
303
  name: "completion",
304
304
  description: "Generate shell completion script",
305
305
  register: async (program) => {
306
- (await import("./completion-cli-DvRTz9tW.js").then((n) => n.n)).registerCompletionCli(program);
306
+ (await import("./completion-cli-B5AAO7GY.js").then((n) => n.n)).registerCompletionCli(program);
307
307
  }
308
308
  }
309
309
  ];
@@ -165880,7 +165880,7 @@ async function runEmbeddedAttempt(params) {
165880
165880
  const promptStartedAt = Date.now();
165881
165881
  let effectivePrompt = params.prompt;
165882
165882
  try {
165883
- const { buildCaptureContextBlock } = await import("./capture-service-Cf1TbNjO.js");
165883
+ const { buildCaptureContextBlock } = await import("./capture-service-B9OtVPXU.js");
165884
165884
  const captureBlock = buildCaptureContextBlock();
165885
165885
  if (captureBlock) {
165886
165886
  effectivePrompt = `${captureBlock}\n\n---\n\n${effectivePrompt}`;
@@ -1,5 +1,5 @@
1
1
  import "./pi-embedded-helpers-VJ9hOBTv.js";
2
- import { Nt as installUnhandledRejectionHandler } from "./reply-kg3drq1N.js";
2
+ import { Nt as installUnhandledRejectionHandler } from "./reply-DSumKtIF.js";
3
3
  import { r as enableConsoleCapture, s as defaultRuntime } from "./subsystem-hATE68va.js";
4
4
  import "./paths-VdmjGGyc.js";
5
5
  import "./theme-C5EwWDWE.js";
@@ -67,23 +67,23 @@ import "./control-service-Bbl6R2bi.js";
67
67
  import "./restart-sentinel-Cu-Tbnik.js";
68
68
  import "./channel-selection-Cd-vguDM.js";
69
69
  import "./event-log-BJRHlOn8.js";
70
- import "./deps-bxV4Fhqd.js";
70
+ import "./deps-CSWkGu4k.js";
71
71
  import "./tailscale-BO36kRfh.js";
72
72
  import { t as ensureSKYKOICliOnPath } from "./path-env-gxBbRHVZ.js";
73
73
  import { t as assertSupportedRuntime } from "./runtime-guard-C80qkv4W.js";
74
- import { n as PLUGIN_CLI_COMMANDS, r as findRoutedCommand, t as ensureConfigReady } from "./config-guard-D2MuFG-R.js";
74
+ import { n as PLUGIN_CLI_COMMANDS, r as findRoutedCommand, t as ensureConfigReady } from "./config-guard-DSiIzocM.js";
75
75
  import "./logging-1Q_KlUsW.js";
76
76
  import "./note-DRoVRuAi.js";
77
77
  import "./clack-prompter-B9o3eQeW.js";
78
- import "./onboarding-BXqZpqCS.js";
79
- import "./onboard-skills-AM1-GoCb.js";
80
- import "./github-copilot-auth-B8anaBMU.js";
81
- import "./onboard-channels-Cg-RtF_Q.js";
78
+ import "./onboarding-C6DFBWTQ.js";
79
+ import "./onboard-skills-DdrLhxSP.js";
80
+ import "./github-copilot-auth-D9OUuD4w.js";
81
+ import "./onboard-channels-Ci8FupXu.js";
82
82
  import "./plugin-auto-enable-Cg3LRidd.js";
83
- import "./archive-lc4aTrME.js";
83
+ import "./archive-B3XH4jO2.js";
84
84
  import "./skill-scanner-CBHxr1An.js";
85
- import "./installs-CgF6acAX.js";
86
- import "./health-format-HJ49Tlyk.js";
85
+ import "./installs-4hpnrKis.js";
86
+ import "./health-format-Dfp0af-Y.js";
87
87
  import "./update-runner-odTAl-uh.js";
88
88
  import "./auth-Vh115fQN.js";
89
89
  import "./audit-BhMw948Z.js";
@@ -94,15 +94,15 @@ import "./systemd-BzTSelz8.js";
94
94
  import "./diagnostics-CFV2YxpG.js";
95
95
  import "./node-service-BzD7Bqwc.js";
96
96
  import "./channels-status-issues-BLygTpUh.js";
97
- import "./doctor-completion-B_DB6yKB.js";
98
- import { a as getCommandPath, c as getPrimaryCommand, d as hasHelpOrVersion } from "./register.subclis-C514WXu2.js";
97
+ import "./doctor-completion-BKb1Pkss.js";
98
+ import { a as getCommandPath, c as getPrimaryCommand, d as hasHelpOrVersion } from "./register.subclis-CwfAitU2.js";
99
99
  import "./gateway-rpc-CIxOsvvC.js";
100
100
  import "./help-format-BVBm9rU4.js";
101
101
  import "./admin-unlock-Dr4FqRVP.js";
102
- import "./koi-C7h4YyTn.js";
103
- import { t as ensurePluginRegistryLoaded } from "./plugin-registry-OEYl6Glv.js";
102
+ import "./koi-BPDJgWGk.js";
103
+ import { t as ensurePluginRegistryLoaded } from "./plugin-registry-BBqvFF71.js";
104
104
  import "./control-ui-assets-B0N-n2rD.js";
105
- import "./configure-YnJ1tddp.js";
105
+ import "./configure-B05mCsqF.js";
106
106
  import "./daemon-runtime-r19-i0S0.js";
107
107
  import "./systemd-linger-Be49_NdF.js";
108
108
  import "./widearea-dns-Bb9eE_C1.js";
@@ -111,11 +111,11 @@ import "./ensure-local-gateway-VbJtdpui.js";
111
111
  import "./login-C71-L2cR.js";
112
112
  import "./channel-auth-DrJ2FCUT.js";
113
113
  import "./auth-health-DX1wRWrd.js";
114
- import "./doctor-BmZlvlO9.js";
115
- import "./completion-cli-DvRTz9tW.js";
114
+ import "./doctor-d0QYlUqU.js";
115
+ import "./completion-cli-B5AAO7GY.js";
116
116
  import "./service-audit-C3mNLBya.js";
117
117
  import "./hooks-status-B0H9mn8K.js";
118
- import { r as emitCliBanner } from "./tui-CvbO7Ge0.js";
118
+ import { r as emitCliBanner } from "./tui-C8LwqY_j.js";
119
119
  import process$1 from "node:process";
120
120
  import { fileURLToPath } from "node:url";
121
121
  import fs from "node:fs";
@@ -169,7 +169,7 @@ async function runCli(argv = process$1.argv) {
169
169
  assertSupportedRuntime();
170
170
  if (await tryRouteCli(normalizedArgv)) return;
171
171
  enableConsoleCapture();
172
- const { buildProgram } = await import("./program-B4F-KxtZ.js").then((n) => n.t);
172
+ const { buildProgram } = await import("./program-DOSMoZgw.js").then((n) => n.t);
173
173
  const program = buildProgram();
174
174
  installUnhandledRejectionHandler();
175
175
  process$1.on("uncaughtException", (error) => {
@@ -202,11 +202,11 @@ async function runCli(argv = process$1.argv) {
202
202
  }
203
203
  const primary = getPrimaryCommand(parseArgv);
204
204
  if (primary) {
205
- const { registerSubCliByName } = await import("./register.subclis-C514WXu2.js").then((n) => n.i);
205
+ const { registerSubCliByName } = await import("./register.subclis-CwfAitU2.js").then((n) => n.i);
206
206
  await registerSubCliByName(program, primary);
207
207
  }
208
208
  if (!!primary && PLUGIN_CLI_COMMANDS.has(primary)) {
209
- const { registerPluginCliCommands } = await import("./cli-Bp5p4fp9.js");
209
+ const { registerPluginCliCommands } = await import("./cli-DmyB03Sg.js");
210
210
  const { loadConfig } = await import("./config-BFoj5wyy.js").then((n) => n.t);
211
211
  registerPluginCliCommands(program, loadConfig());
212
212
  }
@@ -1,5 +1,5 @@
1
1
  import "./pi-embedded-helpers-VJ9hOBTv.js";
2
- import { E as loadSessionEntry, Gn as enqueueSystemEvent, at as requestHeartbeatNow } from "./reply-kg3drq1N.js";
2
+ import { E as loadSessionEntry, Gn as enqueueSystemEvent, at as requestHeartbeatNow } from "./reply-DSumKtIF.js";
3
3
  import { s as defaultRuntime } from "./subsystem-hATE68va.js";
4
4
  import "./paths-VdmjGGyc.js";
5
5
  import "./theme-C5EwWDWE.js";
@@ -68,8 +68,8 @@ import "./control-service-Bbl6R2bi.js";
68
68
  import "./restart-sentinel-Cu-Tbnik.js";
69
69
  import "./channel-selection-Cd-vguDM.js";
70
70
  import "./event-log-BJRHlOn8.js";
71
- import "./deps-bxV4Fhqd.js";
72
- import { t as koiCommand } from "./koi-C7h4YyTn.js";
71
+ import "./deps-CSWkGu4k.js";
72
+ import { t as koiCommand } from "./koi-BPDJgWGk.js";
73
73
  import { t as formatForLog } from "./ws-log--YWgaGe1.js";
74
74
  import { randomUUID } from "node:crypto";
75
75
 
@@ -1,4 +1,4 @@
1
- import { ct as loadSKYKOIPlugins } from "./reply-kg3drq1N.js";
1
+ import { ct as loadSKYKOIPlugins } from "./reply-DSumKtIF.js";
2
2
  import { t as createSubsystemLogger } from "./subsystem-hATE68va.js";
3
3
  import { T as resolveDefaultKoiWorkspaceDir, l as resolveKoiWorkspaceDir, r as resolveDefaultKoiId } from "./koi-scope-7GA83nWp.js";
4
4
  import { o as loadConfig } from "./config-BFoj5wyy.js";
@@ -6,7 +6,6 @@ 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
8
  import { T as resolveDefaultKoiWorkspaceDir, r as resolveDefaultKoiId, x as DEFAULT_USER_FILENAME } from "./koi-scope-7GA83nWp.js";
9
- import { H as resolveEnvApiKey } from "./model-selection-B8ZAcQCt.js";
10
9
  import { t as VERSION } from "./version-BKRSzdyx.js";
11
10
  import { o as loadConfig } from "./config-BFoj5wyy.js";
12
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-BYg0IiMA.js";
@@ -962,47 +961,8 @@ function formatDuration(ms) {
962
961
 
963
962
  //#endregion
964
963
  //#region src/tui/quick-ack.ts
965
- const GROQ_URL = "https://api.groq.com/openai/v1/chat/completions";
966
- const GROQ_MODEL = "openai/gpt-oss-120b";
967
- const TIMEOUT_MS = 4e3;
968
- const SYSTEM_PROMPT = "You are the user's personal assistant replying in a terminal. Your slower, smarter self is ALREADY starting the real work on their request. Reply with ONE short sentence (max ~12 words) acknowledging what you're about to do, warm and casual, mirroring the user's tone. No greeting, no markdown, no lists, no quotes — just the single line.";
969
- async function generateQuickAck(message) {
970
- const text = message.trim();
971
- if (!text) return null;
972
- const key = resolveEnvApiKey("groq")?.apiKey;
973
- if (!key) return null;
974
- const controller = new AbortController();
975
- const timer = setTimeout(() => controller.abort(), TIMEOUT_MS);
976
- try {
977
- const res = await fetch(GROQ_URL, {
978
- method: "POST",
979
- headers: {
980
- "content-type": "application/json",
981
- authorization: `Bearer ${key}`
982
- },
983
- body: JSON.stringify({
984
- model: GROQ_MODEL,
985
- max_tokens: 120,
986
- reasoning_effort: "low",
987
- temperature: .5,
988
- messages: [{
989
- role: "system",
990
- content: SYSTEM_PROMPT
991
- }, {
992
- role: "user",
993
- content: text
994
- }]
995
- }),
996
- signal: controller.signal
997
- });
998
- if (!res.ok) return null;
999
- const out = (await res.json()).choices?.[0]?.message?.content?.trim();
1000
- return out ? out.replace(/^["']|["']$/g, "").trim() : null;
1001
- } catch {
1002
- return null;
1003
- } finally {
1004
- clearTimeout(timer);
1005
- }
964
+ async function generateQuickAck(_message) {
965
+ return null;
1006
966
  }
1007
967
 
1008
968
  //#endregion
@@ -48,7 +48,7 @@ import "./systemd-BzTSelz8.js";
48
48
  import "./diagnostics-CFV2YxpG.js";
49
49
  import "./daemon-runtime-r19-i0S0.js";
50
50
  import "./ensure-local-gateway-VbJtdpui.js";
51
- import { t as runTui } from "./tui-CvbO7Ge0.js";
51
+ import { t as runTui } from "./tui-C8LwqY_j.js";
52
52
 
53
53
  //#region src/cli/tui-cli.ts
54
54
  function registerTuiCli(program) {
@@ -1,6 +1,6 @@
1
1
  import { h as resolveUserPath } from "./utils-D019Z2NU.js";
2
2
  import { n as discoverSKYKOIPlugins, r as loadPluginManifest } from "./manifest-registry-DEGu_o5t.js";
3
- import { i as resolvePluginInstallDir, n as installPluginFromNpmSpec, t as recordPluginInstall } from "./installs-CgF6acAX.js";
3
+ import { i as resolvePluginInstallDir, n as installPluginFromNpmSpec, t as recordPluginInstall } from "./installs-4hpnrKis.js";
4
4
  import fs from "node:fs/promises";
5
5
 
6
6
  //#region src/plugins/update.ts
@@ -1,5 +1,5 @@
1
1
  import "./pi-embedded-helpers-VJ9hOBTv.js";
2
- import "./reply-kg3drq1N.js";
2
+ import "./reply-DSumKtIF.js";
3
3
  import { s as defaultRuntime } from "./subsystem-hATE68va.js";
4
4
  import "./paths-VdmjGGyc.js";
5
5
  import { r as theme } from "./theme-C5EwWDWE.js";
@@ -69,16 +69,16 @@ import "./control-service-Bbl6R2bi.js";
69
69
  import { o as trimLogTail } from "./restart-sentinel-Cu-Tbnik.js";
70
70
  import "./channel-selection-Cd-vguDM.js";
71
71
  import "./event-log-BJRHlOn8.js";
72
- import "./deps-bxV4Fhqd.js";
72
+ import "./deps-CSWkGu4k.js";
73
73
  import "./tailscale-BO36kRfh.js";
74
74
  import { r as parseSemver } from "./runtime-guard-C80qkv4W.js";
75
75
  import "./logging-1Q_KlUsW.js";
76
76
  import "./note-DRoVRuAi.js";
77
77
  import "./plugin-auto-enable-Cg3LRidd.js";
78
- import "./archive-lc4aTrME.js";
78
+ import "./archive-B3XH4jO2.js";
79
79
  import "./skill-scanner-CBHxr1An.js";
80
- import "./installs-CgF6acAX.js";
81
- import "./health-format-HJ49Tlyk.js";
80
+ import "./installs-4hpnrKis.js";
81
+ import "./health-format-Dfp0af-Y.js";
82
82
  import { _ as resolveEffectiveUpdateChannel, a as globalInstallArgs, c as compareSemverStrings, d as resolveNpmChannelTag, f as DEFAULT_GIT_CHANNEL, g as normalizeUpdateChannel, h as formatUpdateChannelLabel, i as detectGlobalInstallManagerForRoot, m as channelToNpmTag, n as cleanupGlobalRenameDirs, o as resolveGlobalPackageRoot, p as DEFAULT_PACKAGE_CHANNEL, r as detectGlobalInstallManagerByPresence, s as checkUpdateStatus, t as runGatewayUpdate, u as fetchNpmTagVersion } from "./update-runner-odTAl-uh.js";
83
83
  import "./auth-Vh115fQN.js";
84
84
  import { t as renderTable } from "./table-B3RHVa0g.js";
@@ -87,19 +87,19 @@ import "./service-BGkVTESM.js";
87
87
  import "./systemd-BzTSelz8.js";
88
88
  import "./diagnostics-CFV2YxpG.js";
89
89
  import "./channels-status-issues-BLygTpUh.js";
90
- import { a as formatUpdateOneLiner, i as formatUpdateAvailableHint, r as ensureCompletionCacheExists, s as resolveUpdateAvailability, t as checkShellCompletionStatus } from "./doctor-completion-B_DB6yKB.js";
91
- import "./register.subclis-C514WXu2.js";
90
+ import { a as formatUpdateOneLiner, i as formatUpdateAvailableHint, r as ensureCompletionCacheExists, s as resolveUpdateAvailability, t as checkShellCompletionStatus } from "./doctor-completion-BKb1Pkss.js";
91
+ import "./register.subclis-CwfAitU2.js";
92
92
  import { t as formatHelpExamples } from "./help-format-BVBm9rU4.js";
93
93
  import "./control-ui-assets-B0N-n2rD.js";
94
94
  import "./daemon-runtime-r19-i0S0.js";
95
95
  import "./systemd-linger-Be49_NdF.js";
96
96
  import "./auth-health-DX1wRWrd.js";
97
- import { t as doctorCommand } from "./doctor-BmZlvlO9.js";
98
- import { r as installCompletion } from "./completion-cli-DvRTz9tW.js";
97
+ import { t as doctorCommand } from "./doctor-d0QYlUqU.js";
98
+ import { r as installCompletion } from "./completion-cli-B5AAO7GY.js";
99
99
  import "./service-audit-C3mNLBya.js";
100
100
  import "./shared-Dn4Lf8u-.js";
101
- import { r as runDaemonRestart } from "./daemon-cli-CWGXZMX3.js";
102
- import { n as updateNpmInstalledPlugins, t as syncPluginsForUpdateChannel } from "./update-DCBf0mrX.js";
101
+ import { r as runDaemonRestart } from "./daemon-cli-BBg3lTt_.js";
102
+ import { n as updateNpmInstalledPlugins, t as syncPluginsForUpdateChannel } from "./update-B4zlM-z7.js";
103
103
  import path from "node:path";
104
104
  import os from "node:os";
105
105
  import fs from "node:fs/promises";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skykoi",
3
- "version": "2026.3.366",
3
+ "version": "2026.3.368",
4
4
  "description": "SkyKoi — Koi runtime. Multi-channel gateway CLI with RPC Koi.",
5
5
  "keywords": [
6
6
  "cli",