skykoi 2026.3.388 → 2026.3.389

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 (55) hide show
  1. package/dist/build-info.json +3 -3
  2. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  3. package/dist/{completion-cli-BtA5gCZv.js → completion-cli-BMGgxIj8.js} +1 -1
  4. package/dist/{config-guard-D-TQgvVp.js → config-guard-BByyGR_p.js} +4 -4
  5. package/dist/{doctor-VlG2fzJj.js → doctor-TWMTvssD.js} +1 -1
  6. package/dist/{doctor-completion-DIVGXWoA.js → doctor-completion-CDF0CrIu.js} +1 -1
  7. package/dist/entry.js +1 -1
  8. package/dist/{gateway-cli-Dr12gf0C.js → gateway-cli-CcHR-Pug.js} +5 -5
  9. package/dist/index.js +8 -8
  10. package/dist/{onboarding-CO6tO31a.js → onboarding-BSBsFjVg.js} +3 -3
  11. package/dist/plugin-sdk/index.js +3 -3
  12. package/dist/{program-kZ2NwNkY.js → program-DHiNWTzH.js} +3 -3
  13. package/dist/{register.subclis-DVpNgFGJ.js → register.subclis-Bjjgcf7H.js} +4 -4
  14. package/dist/{run-main-DqJsmZjx.js → run-main-CtVGMfvc.js} +9 -9
  15. package/dist/{tui-CGJKO7lz.js → tui-BWmaXkGV.js} +8 -6
  16. package/dist/{tui-cli-BMU4tGUk.js → tui-cli-2lOOfzFI.js} +1 -1
  17. package/dist/{update-cli-BE4-M0_-.js → update-cli-CdkmxSUv.js} +4 -4
  18. package/extensions/bluebubbles/package.json +1 -1
  19. package/extensions/copilot-proxy/package.json +1 -1
  20. package/extensions/diagnostics-otel/package.json +1 -1
  21. package/extensions/discord/package.json +1 -1
  22. package/extensions/feishu/package.json +1 -1
  23. package/extensions/google-antigravity-auth/package.json +1 -1
  24. package/extensions/google-gemini-cli-auth/package.json +1 -1
  25. package/extensions/googlechat/package.json +1 -1
  26. package/extensions/imessage/package.json +1 -1
  27. package/extensions/line/package.json +1 -1
  28. package/extensions/llm-task/package.json +1 -1
  29. package/extensions/lobster/package.json +1 -1
  30. package/extensions/matrix/CHANGELOG.md +5 -0
  31. package/extensions/matrix/package.json +1 -1
  32. package/extensions/mattermost/package.json +1 -1
  33. package/extensions/memory-core/package.json +1 -1
  34. package/extensions/memory-lancedb/package.json +1 -1
  35. package/extensions/minimax-portal-auth/package.json +1 -1
  36. package/extensions/msteams/CHANGELOG.md +5 -0
  37. package/extensions/msteams/package.json +1 -1
  38. package/extensions/nextcloud-talk/package.json +1 -1
  39. package/extensions/nostr/CHANGELOG.md +5 -0
  40. package/extensions/nostr/package.json +1 -1
  41. package/extensions/open-prose/package.json +1 -1
  42. package/extensions/signal/package.json +1 -1
  43. package/extensions/slack/package.json +1 -1
  44. package/extensions/telegram/package.json +1 -1
  45. package/extensions/tlon/package.json +1 -1
  46. package/extensions/twitch/CHANGELOG.md +5 -0
  47. package/extensions/twitch/package.json +1 -1
  48. package/extensions/voice-call/CHANGELOG.md +5 -0
  49. package/extensions/voice-call/package.json +1 -1
  50. package/extensions/whatsapp/package.json +1 -1
  51. package/extensions/zalo/CHANGELOG.md +5 -0
  52. package/extensions/zalo/package.json +1 -1
  53. package/extensions/zalouser/CHANGELOG.md +5 -0
  54. package/extensions/zalouser/package.json +1 -1
  55. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "2026.3.388",
3
- "commit": "85e501fdf5cb3ae2aa78783c3fb1be787339e288",
4
- "builtAt": "2026-07-04T06:01:18.277Z"
2
+ "version": "2026.3.389",
3
+ "commit": "8f2c1c5c744d76932afaa38b4887767695dc290d",
4
+ "builtAt": "2026-07-04T06:11:41.629Z"
5
5
  }
@@ -1 +1 @@
1
- 5254c0744d489d5bdb1084624259ec5039396133b3735dc1ffe690e22e1e2a95
1
+ ff826fa47c3a6cb4295851212b2db35f5f11c23981f4a2447fd58729ebb35483
@@ -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-DVpNgFGJ.js";
3
+ import { n as registerSubCliByName, t as getSubCliEntries } from "./register.subclis-Bjjgcf7H.js";
4
4
  import path from "node:path";
5
5
  import os from "node:os";
6
6
  import fs from "node:fs/promises";
@@ -28,7 +28,7 @@ import { t as resolveChannelDefaultAccountId } from "./helpers-C0u-oaDR.js";
28
28
  import { n as logConfigUpdated, t as formatConfigPath } from "./logging-CE47aZcO.js";
29
29
  import { t as WizardCancelledError } from "./prompts-D59uQQdA.js";
30
30
  import { t as createClackPrompter } from "./clack-prompter-BbdTlNx8.js";
31
- 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-CO6tO31a.js";
31
+ 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-BSBsFjVg.js";
32
32
  import { d as applyAuthChoice, f as applyOpenAIConfig, h as promptAuthChoiceGrouped, m as applyGoogleGeminiModelDefault, p as upsertSharedEnvVar, u as warnIfModelConfigLooksOff } from "./onboard-skills-B-VRqQPq.js";
33
33
  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-D7TUwRK1.js";
34
34
  import { n as setupChannels } from "./onboard-channels-CAGl4wwR.js";
@@ -36,7 +36,7 @@ import { i as healthCommand } from "./health-format-C5y7C1Bl.js";
36
36
  import { t as renderTable } from "./table-BFIT6RB5.js";
37
37
  import { t as resolveGatewayService } from "./service-CW9nUfWU.js";
38
38
  import { r as isSystemdUserServiceAvailable } from "./systemd-fjt-WYE7.js";
39
- import { l as getVerboseFlag, o as getFlagValue, r as registerSubCliCommands, s as getPositiveIntFlagValue, u as hasFlag } from "./register.subclis-DVpNgFGJ.js";
39
+ import { l as getVerboseFlag, o as getFlagValue, r as registerSubCliCommands, s as getPositiveIntFlagValue, u as hasFlag } from "./register.subclis-Bjjgcf7H.js";
40
40
  import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-DYI5hnM6.js";
41
41
  import { t as formatHelpExamples } from "./help-format-VHofKIT0.js";
42
42
  import { t as adminUnlockCommand } from "./admin-unlock-CTCNN-zM.js";
@@ -47,7 +47,7 @@ import { i as CONFIGURE_WIZARD_SECTIONS, n as configureCommand, r as configureCo
47
47
  import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, r as isGatewayDaemonRuntime, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-jkMiwykI.js";
48
48
  import { n as ensureSystemdUserLingerNonInteractive } from "./systemd-linger-T7_vGBN4.js";
49
49
  import { t as loginCommand } from "./login-Du7RjDym.js";
50
- import { n as loadAndMaybeMigrateDoctorConfig, t as doctorCommand } from "./doctor-VlG2fzJj.js";
50
+ import { n as loadAndMaybeMigrateDoctorConfig, t as doctorCommand } from "./doctor-TWMTvssD.js";
51
51
  import { fileURLToPath } from "node:url";
52
52
  import fs from "node:fs";
53
53
  import path from "node:path";
@@ -3106,7 +3106,7 @@ function registerLoginCommand(program) {
3106
3106
  console.log(theme.muted(` user=${result.userId} org=${result.orgId}`));
3107
3107
  }
3108
3108
  if (opts.chat !== false && result.gatewayUrl && process.stdin.isTTY && process.stdout.isTTY) {
3109
- const { runTui } = await import("./tui-CGJKO7lz.js").then((n) => n.n);
3109
+ const { runTui } = await import("./tui-BWmaXkGV.js").then((n) => n.n);
3110
3110
  console.log(theme.muted("\n Opening your koi chat…\n"));
3111
3111
  await runTui({
3112
3112
  url: result.gatewayUrl,
@@ -34,7 +34,7 @@ import { a as repairLaunchAgentBootstrap, i as launchAgentPlistExists, n as isLa
34
34
  import { r as isSystemdUserServiceAvailable } from "./systemd-fjt-WYE7.js";
35
35
  import { t as readLastGatewayErrorLine } from "./diagnostics-DPRvn_ky.js";
36
36
  import { t as collectChannelStatusIssues } from "./channels-status-issues-D92ZMiSY.js";
37
- import { n as doctorShellCompletion } from "./doctor-completion-DIVGXWoA.js";
37
+ import { n as doctorShellCompletion } from "./doctor-completion-CDF0CrIu.js";
38
38
  import { n as resolveControlUiDistIndexHealth, r as resolveControlUiDistIndexPathForRoot } from "./control-ui-assets-Dcc_8tht.js";
39
39
  import { a as gatewayInstallErrorHint, d as renderSystemNodeWarning, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, p as resolveSystemNodeInfo, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-jkMiwykI.js";
40
40
  import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-T7_vGBN4.js";
@@ -3,7 +3,7 @@ import { r as resolveCliName, t as formatCliCommand } from "./command-format-DOY
3
3
  import { t as VERSION } from "./version-BKRSzdyx.js";
4
4
  import { t as note } from "./note-BDX6ZDm1.js";
5
5
  import { c as compareSemverStrings, s as checkUpdateStatus } from "./update-runner-BTHuBI1s.js";
6
- import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-BtA5gCZv.js";
6
+ import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-BMGgxIj8.js";
7
7
  import path from "node:path";
8
8
  import { spawnSync } from "node:child_process";
9
9
 
package/dist/entry.js CHANGED
@@ -247,7 +247,7 @@ if (!ensureExperimentalWarningSuppressed()) {
247
247
  applyCliProfileEnv({ profile: parsed.profile });
248
248
  process$1.argv = parsed.argv;
249
249
  }
250
- import("./run-main-DqJsmZjx.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
250
+ import("./run-main-CtVGMfvc.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
251
251
  console.error("[SKYKOI] Failed to start CLI:", error instanceof Error ? error.stack ?? error.message : error);
252
252
  process$1.exitCode = 1;
253
253
  });
@@ -94,7 +94,7 @@ import { t as resolveChannelDefaultAccountId } from "./helpers-C0u-oaDR.js";
94
94
  import "./logging-CE47aZcO.js";
95
95
  import "./note-BDX6ZDm1.js";
96
96
  import { t as WizardCancelledError } from "./prompts-D59uQQdA.js";
97
- 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-CO6tO31a.js";
97
+ 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-BSBsFjVg.js";
98
98
  import { n as installSkill } from "./onboard-skills-B-VRqQPq.js";
99
99
  import "./github-copilot-auth-D7TUwRK1.js";
100
100
  import "./onboard-channels-CAGl4wwR.js";
@@ -113,18 +113,18 @@ import { p as resolveGatewayStateDir } from "./systemd-fjt-WYE7.js";
113
113
  import "./diagnostics-DPRvn_ky.js";
114
114
  import "./node-service--cl-zK26.js";
115
115
  import "./channels-status-issues-D92ZMiSY.js";
116
- import "./doctor-completion-DIVGXWoA.js";
117
- import "./register.subclis-DVpNgFGJ.js";
116
+ import "./doctor-completion-CDF0CrIu.js";
117
+ import "./register.subclis-Bjjgcf7H.js";
118
118
  import { a as createOutboundSendDeps$1, i as resolveKoiOutboundTarget, r as resolveKoiDeliveryPlan, t as koiCommand } from "./koi-DVVrZtbA.js";
119
119
  import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-Dcc_8tht.js";
120
120
  import "./daemon-runtime-jkMiwykI.js";
121
121
  import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } from "./widearea-dns-DmDtfScg.js";
122
122
  import { n as discoverGatewayBeacons } from "./bonjour-discovery-BcGs4w0m.js";
123
123
  import "./ensure-local-gateway-B2qYYNsm.js";
124
- import "./completion-cli-BtA5gCZv.js";
124
+ import "./completion-cli-BMGgxIj8.js";
125
125
  import "./service-audit-B_swanYW.js";
126
126
  import { i as shouldIncludeHook, n as loadWorkspaceHookEntries, r as resolveHookConfig } from "./hooks-status-CJBhXrQP.js";
127
- import "./tui-CGJKO7lz.js";
127
+ import "./tui-BWmaXkGV.js";
128
128
  import { t as buildChannelAccountSnapshot } from "./status-C8ntwWk9.js";
129
129
  import "./shared-CsJmoyjd.js";
130
130
  import { a as runDaemonStop, i as runDaemonStart, n as runDaemonStatus, o as runDaemonUninstall, r as runDaemonRestart, s as runDaemonInstall } from "./daemon-cli-B5aK-HPj.js";
package/dist/index.js CHANGED
@@ -80,11 +80,11 @@ import { t as isMainModule } from "./is-main-D5NmXew9.js";
80
80
  import { t as ensureSKYKOICliOnPath } from "./path-env-C0IwmyXV.js";
81
81
  import { t as assertSupportedRuntime } from "./runtime-guard-DQEzrjPX.js";
82
82
  import "./ports-CVcXIoyn.js";
83
- import "./config-guard-D-TQgvVp.js";
83
+ import "./config-guard-BByyGR_p.js";
84
84
  import "./logging-CE47aZcO.js";
85
85
  import "./note-BDX6ZDm1.js";
86
86
  import "./clack-prompter-BbdTlNx8.js";
87
- import "./onboarding-CO6tO31a.js";
87
+ import "./onboarding-BSBsFjVg.js";
88
88
  import "./onboard-skills-B-VRqQPq.js";
89
89
  import "./github-copilot-auth-D7TUwRK1.js";
90
90
  import "./onboard-channels-CAGl4wwR.js";
@@ -103,8 +103,8 @@ import "./systemd-fjt-WYE7.js";
103
103
  import "./diagnostics-DPRvn_ky.js";
104
104
  import "./node-service--cl-zK26.js";
105
105
  import "./channels-status-issues-D92ZMiSY.js";
106
- import "./doctor-completion-DIVGXWoA.js";
107
- import "./register.subclis-DVpNgFGJ.js";
106
+ import "./doctor-completion-CDF0CrIu.js";
107
+ import "./register.subclis-Bjjgcf7H.js";
108
108
  import "./gateway-rpc-DYI5hnM6.js";
109
109
  import "./help-format-VHofKIT0.js";
110
110
  import "./admin-unlock-CTCNN-zM.js";
@@ -120,13 +120,13 @@ import "./ensure-local-gateway-B2qYYNsm.js";
120
120
  import "./channel-auth-DOqfPLIr.js";
121
121
  import "./login-Du7RjDym.js";
122
122
  import "./auth-health-DfT6NGrM.js";
123
- import "./doctor-VlG2fzJj.js";
124
- import "./completion-cli-BtA5gCZv.js";
123
+ import "./doctor-TWMTvssD.js";
124
+ import "./completion-cli-BMGgxIj8.js";
125
125
  import "./service-audit-B_swanYW.js";
126
126
  import "./hooks-status-CJBhXrQP.js";
127
- import "./tui-CGJKO7lz.js";
127
+ import "./tui-BWmaXkGV.js";
128
128
  import "./channel-options-Dad1PMC0.js";
129
- import { n as buildProgram } from "./program-kZ2NwNkY.js";
129
+ import { n as buildProgram } from "./program-DHiNWTzH.js";
130
130
  import process from "node:process";
131
131
  import { fileURLToPath } from "node:url";
132
132
 
@@ -38,12 +38,12 @@ import { t as readLastGatewayErrorLine } from "./diagnostics-DPRvn_ky.js";
38
38
  import { t as resolveNodeService } from "./node-service--cl-zK26.js";
39
39
  import { t as collectChannelStatusIssues } from "./channels-status-issues-D92ZMiSY.js";
40
40
  import { i as redactSecrets, n as formatDuration$1, r as formatGatewayAuthUsed, t as formatAge$1 } from "./format-lvtLJpBH.js";
41
- import { a as formatUpdateOneLiner, i as formatUpdateAvailableHint, o as getUpdateCheckResult, r as ensureCompletionCacheExists, s as resolveUpdateAvailability, t as checkShellCompletionStatus } from "./doctor-completion-DIVGXWoA.js";
41
+ import { a as formatUpdateOneLiner, i as formatUpdateAvailableHint, o as getUpdateCheckResult, r as ensureCompletionCacheExists, s as resolveUpdateAvailability, t as checkShellCompletionStatus } from "./doctor-completion-CDF0CrIu.js";
42
42
  import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-Dcc_8tht.js";
43
43
  import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-jkMiwykI.js";
44
- import { r as installCompletion } from "./completion-cli-BtA5gCZv.js";
44
+ import { r as installCompletion } from "./completion-cli-BMGgxIj8.js";
45
45
  import { t as buildWorkspaceHookStatus } from "./hooks-status-CJBhXrQP.js";
46
- import { t as runTui } from "./tui-CGJKO7lz.js";
46
+ import { t as runTui } from "./tui-BWmaXkGV.js";
47
47
  import fs from "node:fs";
48
48
  import path from "node:path";
49
49
  import os from "node:os";
@@ -33,7 +33,7 @@ import { exec as exec$1 } from "child_process";
33
33
  import { createReadStream as createReadStream$1, createWriteStream as createWriteStream$1, promises as promises$1 } from "fs";
34
34
  import { Readable, Transform } from "stream";
35
35
  import { platform, release, tmpdir as tmpdir$1 } from "os";
36
- import EventEmitter$1, { EventEmitter, once } from "events";
36
+ import EventEmitter, { EventEmitter as EventEmitter$1, once } from "events";
37
37
  import { promisify as promisify$1 } from "util";
38
38
  import { join as join$1 } from "path";
39
39
  import * as Crypto from "crypto";
@@ -228371,7 +228371,7 @@ const BUFFERABLE_EVENT_SET = new Set([
228371
228371
  * making the data processing more efficient.
228372
228372
  */
228373
228373
  const makeEventBuffer = (logger) => {
228374
- const ev = new EventEmitter$1();
228374
+ const ev = new EventEmitter();
228375
228375
  const historyCache = /* @__PURE__ */ new Set();
228376
228376
  let data = makeBufferData();
228377
228377
  let isBuffering = false;
@@ -233941,7 +233941,7 @@ var BinaryInfo = class {
233941
233941
 
233942
233942
  //#endregion
233943
233943
  //#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
233944
- var AbstractSocketClient = class extends EventEmitter {
233944
+ var AbstractSocketClient = class extends EventEmitter$1 {
233945
233945
  constructor(url, config) {
233946
233946
  super();
233947
233947
  this.url = url;
@@ -5,10 +5,10 @@ import { n as replaceCliName, r as resolveCliName } from "./command-format-DOYW_
5
5
  import { t as isTruthyEnvValue } from "./env-ChCKTuXK.js";
6
6
  import { t as VERSION } from "./version-BKRSzdyx.js";
7
7
  import { t as formatDocsLink } from "./links-CFNtV6AI.js";
8
- import { i as registerProgramCommands, n as PLUGIN_CLI_COMMANDS, t as ensureConfigReady } from "./config-guard-D-TQgvVp.js";
9
- import { a as getCommandPath, d as hasHelpOrVersion, l as getVerboseFlag } from "./register.subclis-DVpNgFGJ.js";
8
+ import { i as registerProgramCommands, n as PLUGIN_CLI_COMMANDS, t as ensureConfigReady } from "./config-guard-BByyGR_p.js";
9
+ import { a as getCommandPath, d as hasHelpOrVersion, l as getVerboseFlag } from "./register.subclis-Bjjgcf7H.js";
10
10
  import { t as ensurePluginRegistryLoaded } from "./plugin-registry-y0aOioWc.js";
11
- import { a as hasEmittedCliBanner, i as formatCliBannerLine, r as emitCliBanner } from "./tui-CGJKO7lz.js";
11
+ import { a as hasEmittedCliBanner, i as formatCliBannerLine, r as emitCliBanner } from "./tui-BWmaXkGV.js";
12
12
  import { n as resolveCliChannelOptions } from "./channel-options-Dad1PMC0.js";
13
13
  import { Command } from "commander";
14
14
 
@@ -124,7 +124,7 @@ const entries = [
124
124
  name: "gateway",
125
125
  description: "Gateway control",
126
126
  register: async (program) => {
127
- (await import("./gateway-cli-Dr12gf0C.js")).registerGatewayCli(program);
127
+ (await import("./gateway-cli-CcHR-Pug.js")).registerGatewayCli(program);
128
128
  }
129
129
  },
130
130
  {
@@ -194,7 +194,7 @@ const entries = [
194
194
  name: "tui",
195
195
  description: "Terminal UI",
196
196
  register: async (program) => {
197
- (await import("./tui-cli-BMU4tGUk.js")).registerTuiCli(program);
197
+ (await import("./tui-cli-2lOOfzFI.js")).registerTuiCli(program);
198
198
  }
199
199
  },
200
200
  {
@@ -310,14 +310,14 @@ const entries = [
310
310
  name: "update",
311
311
  description: "CLI update helpers",
312
312
  register: async (program) => {
313
- (await import("./update-cli-BE4-M0_-.js")).registerUpdateCli(program);
313
+ (await import("./update-cli-CdkmxSUv.js")).registerUpdateCli(program);
314
314
  }
315
315
  },
316
316
  {
317
317
  name: "completion",
318
318
  description: "Generate shell completion script",
319
319
  register: async (program) => {
320
- (await import("./completion-cli-BtA5gCZv.js").then((n) => n.n)).registerCompletionCli(program);
320
+ (await import("./completion-cli-BMGgxIj8.js").then((n) => n.n)).registerCompletionCli(program);
321
321
  }
322
322
  }
323
323
  ];
@@ -77,11 +77,11 @@ import "./deps-Wr4nf60s.js";
77
77
  import "./tailscale-B0Nz70aN.js";
78
78
  import { t as ensureSKYKOICliOnPath } from "./path-env-C0IwmyXV.js";
79
79
  import { t as assertSupportedRuntime } from "./runtime-guard-DQEzrjPX.js";
80
- import { n as PLUGIN_CLI_COMMANDS, r as findRoutedCommand, t as ensureConfigReady } from "./config-guard-D-TQgvVp.js";
80
+ import { n as PLUGIN_CLI_COMMANDS, r as findRoutedCommand, t as ensureConfigReady } from "./config-guard-BByyGR_p.js";
81
81
  import "./logging-CE47aZcO.js";
82
82
  import "./note-BDX6ZDm1.js";
83
83
  import "./clack-prompter-BbdTlNx8.js";
84
- import "./onboarding-CO6tO31a.js";
84
+ import "./onboarding-BSBsFjVg.js";
85
85
  import "./onboard-skills-B-VRqQPq.js";
86
86
  import "./github-copilot-auth-D7TUwRK1.js";
87
87
  import "./onboard-channels-CAGl4wwR.js";
@@ -100,8 +100,8 @@ import "./systemd-fjt-WYE7.js";
100
100
  import "./diagnostics-DPRvn_ky.js";
101
101
  import "./node-service--cl-zK26.js";
102
102
  import "./channels-status-issues-D92ZMiSY.js";
103
- import "./doctor-completion-DIVGXWoA.js";
104
- import { a as getCommandPath, c as getPrimaryCommand, d as hasHelpOrVersion } from "./register.subclis-DVpNgFGJ.js";
103
+ import "./doctor-completion-CDF0CrIu.js";
104
+ import { a as getCommandPath, c as getPrimaryCommand, d as hasHelpOrVersion } from "./register.subclis-Bjjgcf7H.js";
105
105
  import "./gateway-rpc-DYI5hnM6.js";
106
106
  import "./help-format-VHofKIT0.js";
107
107
  import "./admin-unlock-CTCNN-zM.js";
@@ -117,11 +117,11 @@ import "./ensure-local-gateway-B2qYYNsm.js";
117
117
  import "./channel-auth-DOqfPLIr.js";
118
118
  import "./login-Du7RjDym.js";
119
119
  import "./auth-health-DfT6NGrM.js";
120
- import "./doctor-VlG2fzJj.js";
121
- import "./completion-cli-BtA5gCZv.js";
120
+ import "./doctor-TWMTvssD.js";
121
+ import "./completion-cli-BMGgxIj8.js";
122
122
  import "./service-audit-B_swanYW.js";
123
123
  import "./hooks-status-CJBhXrQP.js";
124
- import { r as emitCliBanner } from "./tui-CGJKO7lz.js";
124
+ import { r as emitCliBanner } from "./tui-BWmaXkGV.js";
125
125
  import process$1 from "node:process";
126
126
  import { fileURLToPath } from "node:url";
127
127
  import fs from "node:fs";
@@ -175,7 +175,7 @@ async function runCli(argv = process$1.argv) {
175
175
  assertSupportedRuntime();
176
176
  if (await tryRouteCli(normalizedArgv)) return;
177
177
  enableConsoleCapture();
178
- const { buildProgram } = await import("./program-kZ2NwNkY.js").then((n) => n.t);
178
+ const { buildProgram } = await import("./program-DHiNWTzH.js").then((n) => n.t);
179
179
  const program = buildProgram();
180
180
  installUnhandledRejectionHandler();
181
181
  process$1.on("uncaughtException", (error) => {
@@ -208,7 +208,7 @@ async function runCli(argv = process$1.argv) {
208
208
  }
209
209
  const primary = getPrimaryCommand(parseArgv);
210
210
  if (primary) {
211
- const { registerSubCliByName } = await import("./register.subclis-DVpNgFGJ.js").then((n) => n.i);
211
+ const { registerSubCliByName } = await import("./register.subclis-Bjjgcf7H.js").then((n) => n.i);
212
212
  await registerSubCliByName(program, primary);
213
213
  }
214
214
  if (!!primary && PLUGIN_CLI_COMMANDS.has(primary)) {
@@ -4924,7 +4924,8 @@ function createChecklistSyncWatcher(deps) {
4924
4924
  * The engine is headless-testable: it writes frames through an injected sink.
4925
4925
  */
4926
4926
  const SIM_DT = 1 / 30;
4927
- const RENDER_INTERVAL_MS = 33;
4927
+ /** 60fps active rate (a full-screen frame renders in <1ms, so this is easy). */
4928
+ const RENDER_INTERVAL_MS = 16;
4928
4929
  /** Poll rate once the scene goes quiet — near-zero CPU until something changes. */
4929
4930
  const IDLE_INTERVAL_MS = 200;
4930
4931
  const MAX_CATCHUP_UPDATES = 5;
@@ -5094,11 +5095,12 @@ var CanvasEngine = class {
5094
5095
  return emitted;
5095
5096
  }
5096
5097
  scheduleNext() {
5097
- const interval = this.idleFrames > 12 ? IDLE_INTERVAL_MS : RENDER_INTERVAL_MS;
5098
+ const interval = this.idleFrames > 24 ? IDLE_INTERVAL_MS : RENDER_INTERVAL_MS;
5099
+ const delay = Math.max(1, interval - this.stats.lastFrameMs);
5098
5100
  this.timer = setTimeout(() => {
5099
5101
  this.tick(Date.now());
5100
5102
  this.scheduleNext();
5101
- }, interval);
5103
+ }, delay);
5102
5104
  this.timer.unref?.();
5103
5105
  }
5104
5106
  start() {
@@ -5898,7 +5900,7 @@ async function decodeImage(path, cellsW, cellsH) {
5898
5900
  * for half-block rendering. Returns null when ffmpeg is unavailable.
5899
5901
  */
5900
5902
  async function decodeVideo(path, cellsW, cellsH, opts) {
5901
- const fps = opts?.fps ?? 12;
5903
+ const fps = opts?.fps ?? 24;
5902
5904
  const maxSeconds = opts?.maxSeconds ?? 30;
5903
5905
  const w = Math.max(2, cellsW);
5904
5906
  const h = Math.max(2, cellsH * 2);
@@ -6354,7 +6356,7 @@ function createProgramRunner(source) {
6354
6356
  if (!rendered) {
6355
6357
  const r = renderImageToCells(grid.w, grid.h, x | 0, y | 0, w | 0, h | 0, media.frames[fi], { reserveBottom: CANVAS_CHAT_RESERVE });
6356
6358
  if (r) {
6357
- if (renderedCache.size > 240) renderedCache.clear();
6359
+ if (renderedCache.size > 600) renderedCache.clear();
6358
6360
  renderedCache.set(rkey, r);
6359
6361
  rendered = r;
6360
6362
  }
@@ -6811,7 +6813,7 @@ function createSpecScene(spec) {
6811
6813
  mode: fitMode
6812
6814
  });
6813
6815
  if (r) {
6814
- if (renderedCache.size > 240) renderedCache.clear();
6816
+ if (renderedCache.size > 600) renderedCache.clear();
6815
6817
  renderedCache.set(key, r);
6816
6818
  rendered = r;
6817
6819
  }
@@ -52,7 +52,7 @@ import "./systemd-fjt-WYE7.js";
52
52
  import "./diagnostics-DPRvn_ky.js";
53
53
  import "./daemon-runtime-jkMiwykI.js";
54
54
  import "./ensure-local-gateway-B2qYYNsm.js";
55
- import { t as runTui } from "./tui-CGJKO7lz.js";
55
+ import { t as runTui } from "./tui-BWmaXkGV.js";
56
56
 
57
57
  //#region src/cli/tui-cli.ts
58
58
  function registerTuiCli(program) {
@@ -93,15 +93,15 @@ import "./service-CW9nUfWU.js";
93
93
  import "./systemd-fjt-WYE7.js";
94
94
  import "./diagnostics-DPRvn_ky.js";
95
95
  import "./channels-status-issues-D92ZMiSY.js";
96
- import { a as formatUpdateOneLiner, i as formatUpdateAvailableHint, r as ensureCompletionCacheExists, s as resolveUpdateAvailability, t as checkShellCompletionStatus } from "./doctor-completion-DIVGXWoA.js";
97
- import "./register.subclis-DVpNgFGJ.js";
96
+ import { a as formatUpdateOneLiner, i as formatUpdateAvailableHint, r as ensureCompletionCacheExists, s as resolveUpdateAvailability, t as checkShellCompletionStatus } from "./doctor-completion-CDF0CrIu.js";
97
+ import "./register.subclis-Bjjgcf7H.js";
98
98
  import { t as formatHelpExamples } from "./help-format-VHofKIT0.js";
99
99
  import "./control-ui-assets-Dcc_8tht.js";
100
100
  import "./daemon-runtime-jkMiwykI.js";
101
101
  import "./systemd-linger-T7_vGBN4.js";
102
102
  import "./auth-health-DfT6NGrM.js";
103
- import { t as doctorCommand } from "./doctor-VlG2fzJj.js";
104
- import { r as installCompletion } from "./completion-cli-BtA5gCZv.js";
103
+ import { t as doctorCommand } from "./doctor-TWMTvssD.js";
104
+ import { r as installCompletion } from "./completion-cli-BMGgxIj8.js";
105
105
  import "./service-audit-B_swanYW.js";
106
106
  import "./shared-CsJmoyjd.js";
107
107
  import { r as runDaemonRestart } from "./daemon-cli-B5aK-HPj.js";
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@SKYKOI/bluebubbles",
3
- "version": "2026.3.388",
3
+ "version": "2026.3.389",
4
4
  "description": "SKYKOI BlueBubbles channel plugin",
5
5
  "type": "module",
6
6
  "devDependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@SKYKOI/copilot-proxy",
3
- "version": "2026.3.388",
3
+ "version": "2026.3.389",
4
4
  "description": "SKYKOI Copilot Proxy provider plugin",
5
5
  "type": "module",
6
6
  "devDependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@SKYKOI/diagnostics-otel",
3
- "version": "2026.3.388",
3
+ "version": "2026.3.389",
4
4
  "description": "SKYKOI diagnostics OpenTelemetry exporter",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@SKYKOI/discord",
3
- "version": "2026.3.388",
3
+ "version": "2026.3.389",
4
4
  "description": "SKYKOI Discord channel plugin",
5
5
  "type": "module",
6
6
  "devDependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@SKYKOI/feishu",
3
- "version": "2026.3.388",
3
+ "version": "2026.3.389",
4
4
  "description": "SKYKOI Feishu/Lark channel plugin (community maintained by @m1heng)",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@SKYKOI/google-antigravity-auth",
3
- "version": "2026.3.388",
3
+ "version": "2026.3.389",
4
4
  "description": "SKYKOI Google Antigravity OAuth provider plugin",
5
5
  "type": "module",
6
6
  "devDependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@SKYKOI/google-gemini-cli-auth",
3
- "version": "2026.3.388",
3
+ "version": "2026.3.389",
4
4
  "description": "SKYKOI Gemini CLI OAuth provider plugin",
5
5
  "type": "module",
6
6
  "devDependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@SKYKOI/googlechat",
3
- "version": "2026.3.388",
3
+ "version": "2026.3.389",
4
4
  "description": "SKYKOI Google Chat channel plugin",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@SKYKOI/imessage",
3
- "version": "2026.3.388",
3
+ "version": "2026.3.389",
4
4
  "description": "SKYKOI iMessage channel plugin",
5
5
  "type": "module",
6
6
  "devDependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@SKYKOI/line",
3
- "version": "2026.3.388",
3
+ "version": "2026.3.389",
4
4
  "description": "SKYKOI LINE channel plugin",
5
5
  "type": "module",
6
6
  "devDependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@SKYKOI/llm-task",
3
- "version": "2026.3.388",
3
+ "version": "2026.3.389",
4
4
  "description": "SKYKOI JSON-only LLM task plugin",
5
5
  "type": "module",
6
6
  "devDependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@SKYKOI/lobster",
3
- "version": "2026.3.388",
3
+ "version": "2026.3.389",
4
4
  "description": "Lobster workflow tool plugin (typed pipelines + resumable approvals)",
5
5
  "type": "module",
6
6
  "devDependencies": {
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## 2026.3.389
4
+
5
+ ### Changes
6
+ - Version alignment with core SKYKOI release numbers.
7
+
3
8
  ## 2026.3.388
4
9
 
5
10
  ### Changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@SKYKOI/matrix",
3
- "version": "2026.3.388",
3
+ "version": "2026.3.389",
4
4
  "description": "SKYKOI Matrix channel plugin",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@SKYKOI/mattermost",
3
- "version": "2026.3.388",
3
+ "version": "2026.3.389",
4
4
  "description": "SKYKOI Mattermost channel plugin",
5
5
  "type": "module",
6
6
  "devDependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@SKYKOI/memory-core",
3
- "version": "2026.3.388",
3
+ "version": "2026.3.389",
4
4
  "description": "SKYKOI core memory search plugin",
5
5
  "type": "module",
6
6
  "devDependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@SKYKOI/memory-lancedb",
3
- "version": "2026.3.388",
3
+ "version": "2026.3.389",
4
4
  "description": "SKYKOI LanceDB-backed long-term memory plugin with auto-recall/capture",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@SKYKOI/minimax-portal-auth",
3
- "version": "2026.3.388",
3
+ "version": "2026.3.389",
4
4
  "description": "SKYKOI MiniMax Portal OAuth provider plugin",
5
5
  "type": "module",
6
6
  "devDependencies": {
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## 2026.3.389
4
+
5
+ ### Changes
6
+ - Version alignment with core SKYKOI release numbers.
7
+
3
8
  ## 2026.3.388
4
9
 
5
10
  ### Changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@SKYKOI/msteams",
3
- "version": "2026.3.388",
3
+ "version": "2026.3.389",
4
4
  "description": "SKYKOI Microsoft Teams channel plugin",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@SKYKOI/nextcloud-talk",
3
- "version": "2026.3.388",
3
+ "version": "2026.3.389",
4
4
  "description": "SKYKOI Nextcloud Talk channel plugin",
5
5
  "type": "module",
6
6
  "devDependencies": {
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## 2026.3.389
4
+
5
+ ### Changes
6
+ - Version alignment with core SKYKOI release numbers.
7
+
3
8
  ## 2026.3.388
4
9
 
5
10
  ### Changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@SKYKOI/nostr",
3
- "version": "2026.3.388",
3
+ "version": "2026.3.389",
4
4
  "description": "SKYKOI Nostr channel plugin for NIP-04 encrypted DMs",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@SKYKOI/open-prose",
3
- "version": "2026.3.388",
3
+ "version": "2026.3.389",
4
4
  "description": "OpenProse VM skill pack plugin (slash command + telemetry).",
5
5
  "type": "module",
6
6
  "devDependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@SKYKOI/signal",
3
- "version": "2026.3.388",
3
+ "version": "2026.3.389",
4
4
  "description": "SKYKOI Signal channel plugin",
5
5
  "type": "module",
6
6
  "devDependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@SKYKOI/slack",
3
- "version": "2026.3.388",
3
+ "version": "2026.3.389",
4
4
  "description": "SKYKOI Slack channel plugin",
5
5
  "type": "module",
6
6
  "devDependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@SKYKOI/telegram",
3
- "version": "2026.3.388",
3
+ "version": "2026.3.389",
4
4
  "description": "SKYKOI Telegram channel plugin",
5
5
  "type": "module",
6
6
  "devDependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@SKYKOI/tlon",
3
- "version": "2026.3.388",
3
+ "version": "2026.3.389",
4
4
  "description": "SKYKOI Tlon/Urbit channel plugin",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## 2026.3.389
4
+
5
+ ### Changes
6
+ - Version alignment with core SKYKOI release numbers.
7
+
3
8
  ## 2026.3.388
4
9
 
5
10
  ### Changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@SKYKOI/twitch",
3
- "version": "2026.3.388",
3
+ "version": "2026.3.389",
4
4
  "description": "SKYKOI Twitch channel plugin",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## 2026.3.389
4
+
5
+ ### Changes
6
+ - Version alignment with core SKYKOI release numbers.
7
+
3
8
  ## 2026.3.388
4
9
 
5
10
  ### Changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@SKYKOI/voice-call",
3
- "version": "2026.3.388",
3
+ "version": "2026.3.389",
4
4
  "description": "SKYKOI voice-call plugin",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@SKYKOI/whatsapp",
3
- "version": "2026.3.388",
3
+ "version": "2026.3.389",
4
4
  "description": "SKYKOI WhatsApp channel plugin",
5
5
  "type": "module",
6
6
  "devDependencies": {
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## 2026.3.389
4
+
5
+ ### Changes
6
+ - Version alignment with core SKYKOI release numbers.
7
+
3
8
  ## 2026.3.388
4
9
 
5
10
  ### Changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@SKYKOI/zalo",
3
- "version": "2026.3.388",
3
+ "version": "2026.3.389",
4
4
  "description": "SKYKOI Zalo channel plugin",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## 2026.3.389
4
+
5
+ ### Changes
6
+ - Version alignment with core SKYKOI release numbers.
7
+
3
8
  ## 2026.3.388
4
9
 
5
10
  ### Changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@SKYKOI/zalouser",
3
- "version": "2026.3.388",
3
+ "version": "2026.3.389",
4
4
  "description": "SKYKOI Zalo Personal Account plugin via zca-cli",
5
5
  "type": "module",
6
6
  "dependencies": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skykoi",
3
- "version": "2026.3.388",
3
+ "version": "2026.3.389",
4
4
  "description": "SkyKoi — Koi runtime. Multi-channel gateway CLI with RPC Koi.",
5
5
  "keywords": [
6
6
  "cli",