skykoi 2026.3.122 → 2026.3.126

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 (40) hide show
  1. package/dist/{archive-Bv2lJQE5.js → archive-J7bWb8gw.js} +1 -1
  2. package/dist/build-info.json +3 -3
  3. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  4. package/dist/{channel-options-3HQwlAC6.js → channel-options-eLqlU314.js} +1 -1
  5. package/dist/{channels-cli-CSdiuDT-.js → channels-cli-Com2hNIM.js} +6 -6
  6. package/dist/cli/daemon-cli.js +1 -1
  7. package/dist/{cli-C0ap0W3W.js → cli-CQP4Xhf_.js} +1 -1
  8. package/dist/{completion-cli-CalRSgou.js → completion-cli-Hnu-oXDT.js} +1 -1
  9. package/dist/{config-guard-BERzak91.js → config-guard-BAp1WbEK.js} +13 -13
  10. package/dist/{configure-BYpqjNVu.js → configure-CJsFUPQp.js} +4 -4
  11. package/dist/{daemon-cli-BCcnB0WL.js → daemon-cli-7YsgAmOG.js} +2 -2
  12. package/dist/{deps-BeVoW34K.js → deps-ByWdHWG3.js} +1 -1
  13. package/dist/{doctor-C4WrZlQa.js → doctor-A2ZBvxVg.js} +3 -3
  14. package/dist/entry.js +1 -1
  15. package/dist/extension-api.js +1 -1
  16. package/dist/{gateway-cli-Di2Y39Di.js → gateway-cli-CyGs8k-D.js} +41 -26
  17. package/dist/{github-copilot-auth-sms0k8JQ.js → github-copilot-auth-DeopF0cr.js} +1 -1
  18. package/dist/{health-format-Dqk4Y4nQ.js → health-format-DvMelD84.js} +1 -1
  19. package/dist/{hooks-cli-B1mEhzD4.js → hooks-cli-D7LFn19O.js} +3 -3
  20. package/dist/index.js +19 -19
  21. package/dist/{installs-ML1vHGpm.js → installs-Drygyj9X.js} +1 -1
  22. package/dist/{koi-Wz7-N0tf.js → koi-B10DL41l.js} +2 -2
  23. package/dist/{models-cli-Bs0kK2WY.js → models-cli-CeQx3tjA.js} +2 -2
  24. package/dist/{onboard-channels-CprwP46J.js → onboard-channels-CHGxE7Ei.js} +2 -2
  25. package/dist/{onboard-skills-DAlgjhMu.js → onboard-skills-D-uADS78.js} +3 -3
  26. package/dist/{onboarding-f0BUNi-0.js → onboarding-CEVjBGpb.js} +6 -6
  27. package/dist/{plugin-registry-BdnAvjb_.js → plugin-registry-DEowz-3R.js} +1 -1
  28. package/dist/plugin-sdk/koi/pi-embedded-subscribe.handlers.types.d.ts +12 -0
  29. package/dist/{plugins-cli-7djqgI6_.js → plugins-cli-MMXOTZ32.js} +5 -5
  30. package/dist/{program-C2kOGCvp.js → program-dx2iSHjx.js} +4 -4
  31. package/dist/{register.subclis-DzhpCpdD.js → register.subclis-BGYm1Vhc.js} +10 -10
  32. package/dist/{reply-CwTKucGa.js → reply-CRJVoGsf.js} +33 -3
  33. package/dist/{run-main-Bur4ZVKF.js → run-main-B6NuDnvz.js} +20 -20
  34. package/dist/{server-node-events-EknYxP7N.js → server-node-events-BfGXd3mi.js} +3 -3
  35. package/dist/{status-DwLiLbKL.js → status-C50kGIYK.js} +1 -1
  36. package/dist/{update-Dq9eL9ha.js → update-CrzjSgvP.js} +1 -1
  37. package/dist/{update-cli-Dy_sPOxS.js → update-cli-Bl3t1a7G.js} +11 -11
  38. package/dist/{update-runner-B38-PMEP.js → update-runner-BPB6djdr.js} +3 -3
  39. package/docs/reference/templates/KOIS.md +224 -0
  40. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import { i as __require, o as __toESM, t as __commonJSMin } from "./chunk-D_gEzPfs.js";
2
- import { xt as require_inherits } from "./reply-CwTKucGa.js";
2
+ import { xt as require_inherits } from "./reply-CRJVoGsf.js";
3
3
  import path from "node:path";
4
4
  import fs from "node:fs/promises";
5
5
  import * as tar from "tar";
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "2026.3.122",
3
- "commit": "6e3d1ebeefbd5f410522e9cc89876c7e6142ce6b",
4
- "builtAt": "2026-04-24T04:57:17.484Z"
2
+ "version": "2026.3.126",
3
+ "commit": "1b1ca5a160392e787d9c2cb4e75c72818095bc26",
4
+ "builtAt": "2026-04-28T01:37:07.933Z"
5
5
  }
@@ -1 +1 @@
1
- 57437563986d615e71486595f125c5f44daaa6a57b34978d897e9e4ade0793ae
1
+ a942ab0016ae7dc5b683ad9558a28b2db05778b943373fd1040674735e91ed02
@@ -2,7 +2,7 @@ import { M as CHAT_CHANNEL_ORDER } from "./subsystem-RXphV8Xh.js";
2
2
  import { t as isTruthyEnvValue } from "./env-CUqrNILf.js";
3
3
  import { n as listChannelPlugins } from "./plugins-CSje3MWA.js";
4
4
  import { i as listChannelPluginCatalogEntries } from "./plugin-auto-enable-Dkfl2_S9.js";
5
- import { t as ensurePluginRegistryLoaded } from "./plugin-registry-BdnAvjb_.js";
5
+ import { t as ensurePluginRegistryLoaded } from "./plugin-registry-DEowz-3R.js";
6
6
 
7
7
  //#region src/cli/channel-options.ts
8
8
  function dedupe(values) {
@@ -1,5 +1,5 @@
1
1
  import "./pi-embedded-helpers-DLCze-82.js";
2
- import { _t as formatUsageReportLines, bn as parseDiscordTarget, gt as loadProviderUsageSummary, xn as fetchChannelPermissionsDiscord, zn as createSlackWebClient } from "./reply-CwTKucGa.js";
2
+ import { _t as formatUsageReportLines, bn as parseDiscordTarget, gt as loadProviderUsageSummary, xn as fetchChannelPermissionsDiscord, zn as createSlackWebClient } from "./reply-CRJVoGsf.js";
3
3
  import { N as DEFAULT_CHAT_CHANNEL, O as getResolvedLoggerSettings, T as theme, c as defaultRuntime, p as danger, y as setVerbose } from "./subsystem-RXphV8Xh.js";
4
4
  import "./paths-VdmjGGyc.js";
5
5
  import { c as normalizeAccountId, t as DEFAULT_ACCOUNT_ID } from "./session-key-DvA8Pdt6.js";
@@ -60,14 +60,14 @@ import { n as resolveMessageChannelSelection } from "./channel-selection-Cct7Z5L
60
60
  import { t as resolveChannelDefaultAccountId } from "./helpers-Gv-oWn3H.js";
61
61
  import "./note-Dmec5qaE.js";
62
62
  import { t as createClackPrompter } from "./clack-prompter-C-kLjRLl.js";
63
- import { i as reloadOnboardingPluginRegistry, n as setupChannels, r as ensureOnboardingPluginInstalled } from "./onboard-channels-CprwP46J.js";
63
+ import { i as reloadOnboardingPluginRegistry, n as setupChannels, r as ensureOnboardingPluginInstalled } from "./onboard-channels-CHGxE7Ei.js";
64
64
  import { i as listChannelPluginCatalogEntries } from "./plugin-auto-enable-Dkfl2_S9.js";
65
- import "./archive-Bv2lJQE5.js";
65
+ import "./archive-J7bWb8gw.js";
66
66
  import "./skill-scanner-BapBkMb3.js";
67
- import "./installs-ML1vHGpm.js";
67
+ import "./installs-Drygyj9X.js";
68
68
  import { t as collectChannelStatusIssues } from "./channels-status-issues-ZWAiE-Er.js";
69
- import { n as hasExplicitOptions } from "./plugin-registry-BdnAvjb_.js";
70
- import { t as formatCliChannelOptions } from "./channel-options-3HQwlAC6.js";
69
+ import { n as hasExplicitOptions } from "./plugin-registry-DEowz-3R.js";
70
+ import { t as formatCliChannelOptions } from "./channel-options-eLqlU314.js";
71
71
  import { t as buildChannelAccountSnapshot } from "./status-DqH1H1Pt.js";
72
72
  import { t as parseLogLine } from "./parse-log-line-BjmXZSHU.js";
73
73
  import fs from "node:fs/promises";
@@ -1,2 +1,2 @@
1
1
  // Legacy shim for pre-tsdown update-cli imports.
2
- export { registerDaemonCli, runDaemonInstall, runDaemonRestart, runDaemonStart, runDaemonStatus, runDaemonStop, runDaemonUninstall } from "../daemon-cli-BCcnB0WL.js";
2
+ export { registerDaemonCli, runDaemonInstall, runDaemonRestart, runDaemonStart, runDaemonStatus, runDaemonStop, runDaemonUninstall } from "../daemon-cli-7YsgAmOG.js";
@@ -1,5 +1,5 @@
1
1
  import "./pi-embedded-helpers-DLCze-82.js";
2
- import { ht as loadSKYKOIPlugins } from "./reply-CwTKucGa.js";
2
+ import { ht as loadSKYKOIPlugins } from "./reply-CRJVoGsf.js";
3
3
  import { t as createSubsystemLogger } from "./subsystem-RXphV8Xh.js";
4
4
  import "./paths-VdmjGGyc.js";
5
5
  import "./utils-rBzA-VDv.js";
@@ -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-DzhpCpdD.js";
3
+ import { n as registerSubCliByName, t as getSubCliEntries } from "./register.subclis-BGYm1Vhc.js";
4
4
  import path from "node:path";
5
5
  import os from "node:os";
6
6
  import fs from "node:fs/promises";
@@ -1,4 +1,4 @@
1
- import { At as handleReset, Bt as waitForGatewayReachable, Ct as DEFAULT_WORKSPACE, Dt as ensureWorkspaceAndSessions, Et as detectBrowserOpenSupport, It as randomToken, Lt as resolveControlUiLinks, M as runMessageAction, Nt as openUrl, Ot as formatControlUiSshHint, V as CHANNEL_MESSAGE_ACTION_NAMES, dt as CHANNEL_TARGET_DESCRIPTION, in as runMemoryStatus, jt as moveToTrash, rn as registerMemoryCli, ut as CHANNEL_TARGETS_DESCRIPTION, wt as applyWizardMetadata, xr as lookupContextTokens, z as formatTargetDisplay } from "./reply-CwTKucGa.js";
1
+ import { At as handleReset, Bt as waitForGatewayReachable, Ct as DEFAULT_WORKSPACE, Dt as ensureWorkspaceAndSessions, Et as detectBrowserOpenSupport, It as randomToken, Lt as resolveControlUiLinks, M as runMessageAction, Nt as openUrl, Ot as formatControlUiSshHint, V as CHANNEL_MESSAGE_ACTION_NAMES, dt as CHANNEL_TARGET_DESCRIPTION, in as runMemoryStatus, jt as moveToTrash, rn as registerMemoryCli, ut as CHANNEL_TARGETS_DESCRIPTION, wt as applyWizardMetadata, xr as lookupContextTokens, z as formatTargetDisplay } from "./reply-CRJVoGsf.js";
2
2
  import { B as normalizeChatChannelId, C as colorize, I as getChatChannelMeta, N as DEFAULT_CHAT_CHANNEL, T as theme, c as defaultRuntime, l as restoreTerminalState, m as info, p as danger, w as isRich, y as setVerbose } from "./subsystem-RXphV8Xh.js";
3
3
  import { g as resolveStateDir, i as isNixMode, m as resolveOAuthDir, o as resolveConfigPath, r as STATE_DIR, u as resolveGatewayPort } from "./paths-VdmjGGyc.js";
4
4
  import { l as normalizeKoiId, n as DEFAULT_KOI_ID, t as DEFAULT_ACCOUNT_ID } from "./session-key-DvA8Pdt6.js";
@@ -19,29 +19,29 @@ import { t as formatDocsLink } from "./links-C_Wh_hEg.js";
19
19
  import { n as runCommandWithRuntime } from "./cli-utils-CodyYLHe.js";
20
20
  import { n as withProgress } from "./progress-DFAddbk2.js";
21
21
  import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint } from "./prompt-style-BlBA3D3n.js";
22
- import { t as createDefaultDeps } from "./deps-BeVoW34K.js";
22
+ import { t as createDefaultDeps } from "./deps-ByWdHWG3.js";
23
23
  import { a as gatewayInstallErrorHint, g as assertSupportedRuntime, i as buildGatewayInstallPlan, r as isGatewayDaemonRuntime, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-zA9c7pSo.js";
24
24
  import { t as resolveChannelDefaultAccountId } from "./helpers-Gv-oWn3H.js";
25
25
  import { n as logConfigUpdated, t as formatConfigPath } from "./logging-B1FMFmkG.js";
26
26
  import { t as WizardCancelledError } from "./prompts-CDHXxTNu.js";
27
27
  import { t as createClackPrompter } from "./clack-prompter-C-kLjRLl.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-f0BUNi-0.js";
29
- import { d as applyAuthChoice, f as applyOpenAIConfig, h as promptAuthChoiceGrouped, m as applyGoogleGeminiModelDefault, p as upsertSharedEnvVar, u as warnIfModelConfigLooksOff } from "./onboard-skills-DAlgjhMu.js";
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-sms0k8JQ.js";
31
- import { n as setupChannels } from "./onboard-channels-CprwP46J.js";
32
- import { l as healthCommand } from "./health-format-Dqk4Y4nQ.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-CEVjBGpb.js";
29
+ import { d as applyAuthChoice, f as applyOpenAIConfig, h as promptAuthChoiceGrouped, m as applyGoogleGeminiModelDefault, p as upsertSharedEnvVar, u as warnIfModelConfigLooksOff } from "./onboard-skills-D-uADS78.js";
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-DeopF0cr.js";
31
+ import { n as setupChannels } from "./onboard-channels-CHGxE7Ei.js";
32
+ import { l as healthCommand } from "./health-format-DvMelD84.js";
33
33
  import { t as renderTable } from "./table-C3bAYPAj.js";
34
34
  import { t as resolveGatewayService } from "./service-DISnbLGb.js";
35
35
  import { r as isSystemdUserServiceAvailable } from "./systemd-B6CNpufN.js";
36
- import { l as getVerboseFlag, o as getFlagValue, r as registerSubCliCommands, s as getPositiveIntFlagValue, u as hasFlag } from "./register.subclis-DzhpCpdD.js";
36
+ import { l as getVerboseFlag, o as getFlagValue, r as registerSubCliCommands, s as getPositiveIntFlagValue, u as hasFlag } from "./register.subclis-BGYm1Vhc.js";
37
37
  import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-BtsmFf8t.js";
38
38
  import { t as formatHelpExamples } from "./help-format-D1wK1nn-.js";
39
- import { a as createOutboundSendDeps, n as resolveSessionKeyForRequest, t as koiCommand } from "./koi-Wz7-N0tf.js";
40
- import { n as hasExplicitOptions, t as ensurePluginRegistryLoaded } from "./plugin-registry-BdnAvjb_.js";
39
+ import { a as createOutboundSendDeps, n as resolveSessionKeyForRequest, t as koiCommand } from "./koi-B10DL41l.js";
40
+ import { n as hasExplicitOptions, t as ensurePluginRegistryLoaded } from "./plugin-registry-DEowz-3R.js";
41
41
  import { n as parsePositiveIntOrUndefined, t as collectOption } from "./helpers-xCg96Vkw.js";
42
- import { i as CONFIGURE_WIZARD_SECTIONS, n as configureCommand, r as configureCommandWithSections } from "./configure-BYpqjNVu.js";
42
+ import { i as CONFIGURE_WIZARD_SECTIONS, n as configureCommand, r as configureCommandWithSections } from "./configure-CJsFUPQp.js";
43
43
  import { n as ensureSystemdUserLingerNonInteractive } from "./systemd-linger-DG0RJLyt.js";
44
- import { n as loadAndMaybeMigrateDoctorConfig, t as doctorCommand } from "./doctor-C4WrZlQa.js";
44
+ import { n as loadAndMaybeMigrateDoctorConfig, t as doctorCommand } from "./doctor-A2ZBvxVg.js";
45
45
  import { fileURLToPath } from "node:url";
46
46
  import fs from "node:fs";
47
47
  import path from "node:path";
@@ -2792,7 +2792,7 @@ async function loadValidConfig() {
2792
2792
  }
2793
2793
  function registerConfigCli(program) {
2794
2794
  const cmd = program.command("config").description("Config helpers (get/set/unset). Run without subcommand for the wizard.").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/config", "docs.skykoi.com/cli/config")}\n`).option("--section <section>", "Configure wizard sections (repeatable). Use with no subcommand.", (value, previous) => [...previous, value], []).action(async (opts) => {
2795
- const { CONFIGURE_WIZARD_SECTIONS, configureCommand, configureCommandWithSections } = await import("./configure-BYpqjNVu.js").then((n) => n.t);
2795
+ const { CONFIGURE_WIZARD_SECTIONS, configureCommand, configureCommandWithSections } = await import("./configure-CJsFUPQp.js").then((n) => n.t);
2796
2796
  const sections = Array.isArray(opts.section) ? opts.section.map((value) => typeof value === "string" ? value.trim() : "").filter(Boolean) : [];
2797
2797
  if (sections.length === 0) {
2798
2798
  await configureCommand(defaultRuntime);
@@ -1,5 +1,5 @@
1
1
  import { r as __exportAll } from "./chunk-D_gEzPfs.js";
2
- import { Bt as waitForGatewayReachable, Ct as DEFAULT_WORKSPACE, Dt as ensureWorkspaceAndSessions, Ft as probeGatewayReachable, It as randomToken, Lt as resolveControlUiLinks, Mt as normalizeGatewayTokenInput, Pt as printWizardHeader, kt as guardCancel, wt as applyWizardMetadata, zt as summarizeExistingConfig } from "./reply-CwTKucGa.js";
2
+ import { Bt as waitForGatewayReachable, Ct as DEFAULT_WORKSPACE, Dt as ensureWorkspaceAndSessions, Ft as probeGatewayReachable, It as randomToken, Lt as resolveControlUiLinks, Mt as normalizeGatewayTokenInput, Pt as printWizardHeader, kt as guardCancel, wt as applyWizardMetadata, zt as summarizeExistingConfig } from "./reply-CRJVoGsf.js";
3
3
  import { c as defaultRuntime } from "./subsystem-RXphV8Xh.js";
4
4
  import { t as CONFIG_PATH, u as resolveGatewayPort } from "./paths-VdmjGGyc.js";
5
5
  import { h as resolveUserPath, y as shortenHomePath } from "./utils-rBzA-VDv.js";
@@ -15,9 +15,9 @@ import { n as logConfigUpdated } from "./logging-B1FMFmkG.js";
15
15
  import { t as note$1 } from "./note-Dmec5qaE.js";
16
16
  import { t as WizardCancelledError } from "./prompts-CDHXxTNu.js";
17
17
  import { t as createClackPrompter } from "./clack-prompter-C-kLjRLl.js";
18
- import { a as applyModelFallbacksFromSelection, c as promptModelAllowlist, d as applyAuthChoice, h as promptAuthChoiceGrouped, i as applyModelAllowlist, l as resolvePreferredProviderForAuthChoice, o as applyPrimaryModel, r as promptRemoteGatewayConfig, s as promptDefaultModel, t as setupSkills } from "./onboard-skills-DAlgjhMu.js";
19
- import { n as setupChannels, t as noteChannelStatus } from "./onboard-channels-CprwP46J.js";
20
- import { l as healthCommand, n as ensureControlUiAssetsBuilt, t as formatHealthCheckFailure } from "./health-format-Dqk4Y4nQ.js";
18
+ import { a as applyModelFallbacksFromSelection, c as promptModelAllowlist, d as applyAuthChoice, h as promptAuthChoiceGrouped, i as applyModelAllowlist, l as resolvePreferredProviderForAuthChoice, o as applyPrimaryModel, r as promptRemoteGatewayConfig, s as promptDefaultModel, t as setupSkills } from "./onboard-skills-D-uADS78.js";
19
+ import { n as setupChannels, t as noteChannelStatus } from "./onboard-channels-CHGxE7Ei.js";
20
+ import { l as healthCommand, n as ensureControlUiAssetsBuilt, t as formatHealthCheckFailure } from "./health-format-DvMelD84.js";
21
21
  import { t as resolveGatewayService } from "./service-DISnbLGb.js";
22
22
  import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-DG0RJLyt.js";
23
23
  import { confirm, intro, outro, select, text } from "@clack/prompts";
@@ -1,5 +1,5 @@
1
1
  import { r as __exportAll } from "./chunk-D_gEzPfs.js";
2
- import { Lt as resolveControlUiLinks } from "./reply-CwTKucGa.js";
2
+ import { Lt as resolveControlUiLinks } from "./reply-CRJVoGsf.js";
3
3
  import { C as colorize, O as getResolvedLoggerSettings, T as theme, c as defaultRuntime, w as isRich } from "./subsystem-RXphV8Xh.js";
4
4
  import { d as resolveIsNixMode, g as resolveStateDir, o as resolveConfigPath, u as resolveGatewayPort } from "./paths-VdmjGGyc.js";
5
5
  import { y as shortenHomePath } from "./utils-rBzA-VDv.js";
@@ -14,7 +14,7 @@ import { n as callGateway } from "./call-Devflo20.js";
14
14
  import { t as formatDocsLink } from "./links-C_Wh_hEg.js";
15
15
  import { n as withProgress } from "./progress-DFAddbk2.js";
16
16
  import { d as resolveGatewaySystemdServiceName, l as resolveGatewayLaunchAgentLabel } from "./constants-D-pouD_3.js";
17
- import { t as createDefaultDeps } from "./deps-BeVoW34K.js";
17
+ import { t as createDefaultDeps } from "./deps-ByWdHWG3.js";
18
18
  import { i as buildGatewayInstallPlan, r as isGatewayDaemonRuntime, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-zA9c7pSo.js";
19
19
  import { o as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-DISnbLGb.js";
20
20
  import { r as isSystemdUserServiceAvailable } from "./systemd-B6CNpufN.js";
@@ -1,4 +1,4 @@
1
- import { In as sendMessageWhatsApp, Rn as sendMessageSlack, St as sendMessageIMessage, _n as sendMessageTelegram, vn as sendMessageDiscord } from "./reply-CwTKucGa.js";
1
+ import { In as sendMessageWhatsApp, Rn as sendMessageSlack, St as sendMessageIMessage, _n as sendMessageTelegram, vn as sendMessageDiscord } from "./reply-CRJVoGsf.js";
2
2
  import { b as sendMessageSignal } from "./deliver-D-yIbL44.js";
3
3
 
4
4
  //#region src/cli/deps.ts
@@ -1,4 +1,4 @@
1
- import { It as randomToken, Pt as printWizardHeader, ht as loadSKYKOIPlugins, kr as loadModelCatalog, kt as guardCancel, wt as applyWizardMetadata } from "./reply-CwTKucGa.js";
1
+ import { It as randomToken, Pt as printWizardHeader, ht as loadSKYKOIPlugins, kr as loadModelCatalog, kt as guardCancel, wt as applyWizardMetadata } from "./reply-CRJVoGsf.js";
2
2
  import { O as getResolvedLoggerSettings, c as defaultRuntime } from "./subsystem-RXphV8Xh.js";
3
3
  import { d as resolveIsNixMode, f as resolveLegacyStateDirs, g as resolveStateDir, m as resolveOAuthDir, p as resolveNewStateDir, t as CONFIG_PATH, u as resolveGatewayPort } from "./paths-VdmjGGyc.js";
4
4
  import { a as buildKoiMainSessionKey, l as normalizeKoiId, r as DEFAULT_MAIN_KEY, t as DEFAULT_ACCOUNT_ID } from "./session-key-DvA8Pdt6.js";
@@ -25,8 +25,8 @@ import { t as resolveChannelDefaultAccountId } from "./helpers-Gv-oWn3H.js";
25
25
  import { n as logConfigUpdated } from "./logging-B1FMFmkG.js";
26
26
  import { t as note$1 } from "./note-Dmec5qaE.js";
27
27
  import { t as applyPluginAutoEnable } from "./plugin-auto-enable-Dkfl2_S9.js";
28
- import { i as resolveControlUiDistIndexPathForRoot, l as healthCommand, r as resolveControlUiDistIndexHealth, t as formatHealthCheckFailure } from "./health-format-Dqk4Y4nQ.js";
29
- import { c as doctorShellCompletion, t as runGatewayUpdate } from "./update-runner-B38-PMEP.js";
28
+ import { i as resolveControlUiDistIndexPathForRoot, l as healthCommand, r as resolveControlUiDistIndexHealth, t as formatHealthCheckFailure } from "./health-format-DvMelD84.js";
29
+ import { c as doctorShellCompletion, t as runGatewayUpdate } from "./update-runner-BPB6djdr.js";
30
30
  import { i as resolveGatewayAuth } from "./auth-BpJ5NqQz.js";
31
31
  import { t as buildWorkspaceSkillStatus } from "./skills-status-Cv7rYvon.js";
32
32
  import { a as repairLaunchAgentBootstrap, i as launchAgentPlistExists, n as isLaunchAgentListed, o as resolveGatewayLogPaths, r as isLaunchAgentLoaded, t as resolveGatewayService } from "./service-DISnbLGb.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-Bur4ZVKF.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
247
+ import("./run-main-B6NuDnvz.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
  });
@@ -1,5 +1,5 @@
1
1
  import "./pi-embedded-helpers-DLCze-82.js";
2
- import { Hn as resolveKoiIdentity, Wr as resolveKoiTimeoutMs, c as runEmbeddedPiKoi } from "./reply-CwTKucGa.js";
2
+ import { Hn as resolveKoiIdentity, Wr as resolveKoiTimeoutMs, c as runEmbeddedPiKoi } from "./reply-CRJVoGsf.js";
3
3
  import "./subsystem-RXphV8Xh.js";
4
4
  import "./paths-VdmjGGyc.js";
5
5
  import "./utils-rBzA-VDv.js";
@@ -1,6 +1,6 @@
1
1
  import { o as __toESM } from "./chunk-D_gEzPfs.js";
2
2
  import { B as normalizeElevatedLevel, H as normalizeThinkLevel, I as formatThinkingLevels, K as supportsXHighThinking, L as formatXHighModelHint, U as normalizeUsageDisplay, V as normalizeReasoningLevel, W as normalizeVerboseLevel } from "./pi-embedded-helpers-DLCze-82.js";
3
- import { $ as summarizeRestartSentinel, $n as isTtsEnabled, $t as buildSafeExternalPrompt, A as resolveSessionTranscriptCandidates, Ar as DEFAULT_INPUT_FILE_MAX_BYTES, At as handleReset, B as resetDirectoryCache, Br as extractFileContentFromSource, C as loadSessionEntry, Cn as createReplyDispatcher, Cr as applyModelOverrideToSessionEntry, D as capArrayByJsonBytes, Dn as findSubkoiRunByChildSessionKey, Dr as isSystemEventContextChanged, E as archiveFileOnDisk, En as stopSubkoisForRequester, Er as enqueueSystemEvent, Fn as registerKoiRunContext, Fr as DEFAULT_INPUT_MAX_REDIRECTS, G as consumeGatewaySigusr1RestartAuthorization, Gn as resolveUserTimezone, Gt as getRemoteSkillEligibility, H as runWithModelFallback, Hn as resolveKoiIdentity, Hr as normalizeMimeList, Ht as buildControlUiAvatarUrl, Ir as DEFAULT_INPUT_PDF_MAX_PAGES, J as setGatewaySigusr1RestartPolicy, Jn as registerInternalHook, Jt as refreshRemoteBinsForConnectedNodes, K as isGatewaySigusr1RestartExternallyAllowed, Kn as clearInternalHooks, Kt as primeRemoteSkillsCache, L as resolveOutboundTarget, Ln as normalizePollInput, Lr as DEFAULT_INPUT_PDF_MAX_PIXELS, Mn as emitKoiEvent, Mr as DEFAULT_INPUT_FILE_MIMES, N as ensureOutboundSessionEntry, Nn as getKoiRunContext, Nr as DEFAULT_INPUT_IMAGE_MAX_BYTES, O as readSessionMessages, On as findSubkoiRunByRunId, P as resolveOutboundSessionRoute, Pn as onKoiEvent, Pr as DEFAULT_INPUT_IMAGE_MIMES, Qn as getTtsProvider, Qt as registerSkillsChangeListener, R as resolveSessionDeliveryTarget, Rr as DEFAULT_INPUT_PDF_MIN_TEXT_CHARS, S as loadCombinedSessionStoreForGateway, Sn as dispatchInboundMessage, T as resolveSessionModelRef, Tn as isAbortTrigger, Tr as parseVerboseOverride, Un as formatUserTime, Ut as normalizeControlUiBasePath, Vr as extractImageContentFromSource, Vt as CONTROL_UI_AVATAR_PREFIX, W as authorizeGatewaySigusr1Restart, Wn as resolveUserTimeFormat, Wr as resolveKoiTimeoutMs, Wt as resolveAssistantAvatarUrl, X as formatDoctorNonInteractiveHint, Xn as OPENAI_TTS_MODELS, Xt as setSkillsRemoteRegistry, Y as consumeRestartSentinel, Yn as triggerInternalHook, Yt as refreshRemoteNodeBins, Z as formatRestartSentinelMessage, Zn as OPENAI_TTS_VOICES, Zt as getSkillsSnapshotVersion, _ as onCanvasChange, a as normalizeSendPolicy, ar as resolveTtsProviderOrder, at as normalizeOptionalKoiId, b as listKoisForGateway, br as stripHeartbeatToken, bt as handleSlackHttpRequest, c as runEmbeddedPiKoi, cr as textToSpeech, ct as normalizeRequiredName, d as waitForEmbeddedPiRunEnd, dn as buildHistoryContextFromEntries, dr as setCommandLaneConcurrency, en as detectSuspiciousPatterns, er as isTtsProviderConfigured, fn as resolveHeartbeatVisibility, fr as CommandLane, ft as requestHeartbeatNow, g as listCanvasUris, gr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, gt as loadProviderUsageSummary, h as getCanvasResource, hn as onHeartbeatEvent, hr as isDiagnosticsEnabled, ht as loadSKYKOIPlugins, i as runCliKoi, ir as resolveTtsPrefsPath, it as inferLegacyName, j as stripEnvelopeFromMessages, jn as clearKoiRunContext, jr as DEFAULT_INPUT_FILE_MAX_CHARS, k as readSessionPreviewItemsFromTranscript, kn as initSubkoiRegistry, kr as loadModelCatalog, l as abortEmbeddedPiRun, ln as registerUnhandledRejectionHandler, lt as migrateLegacyCronPayload, m as canvasUri, mn as getLastHeartbeatEvent, mr as stopDiagnosticHeartbeat, mt as getPluginToolMeta, n as getCliSessionId, nn as isExternalHookSession, nr as resolveTtsAutoMode, nt as normalizeCronJobCreate, o as resolveSendPolicy, on as createReplyPrefixOptions, or as setTtsEnabled, ot as normalizeOptionalText, p as createSKYKOITools, pr as startDiagnosticHeartbeat, q as scheduleGatewaySigusr1Restart, qn as createInternalHookEvent, qt as recordRemoteNodeInfo, r as setCliSessionId, rr as resolveTtsConfig, rt as normalizeCronJobPatch, s as clearSessionQueues, sn as normalizeGroupActivation, sr as setTtsProvider, st as normalizePayloadToSystemText, tn as getHookType, tr as resolveTtsApiKey, tt as writeRestartSentinel, v as replaceCanvasResource, w as resolveGatewaySessionStoreTarget, wn as formatZonedTimestamp, wr as applyVerboseOverride, x as listSessionsFromStore, xr as lookupContextTokens, y as resolveAnnounceTargetFromKey, yn as getChannelActivity, zr as DEFAULT_INPUT_TIMEOUT_MS } from "./reply-CwTKucGa.js";
3
+ import { $ as summarizeRestartSentinel, $n as isTtsEnabled, $t as buildSafeExternalPrompt, A as resolveSessionTranscriptCandidates, Ar as DEFAULT_INPUT_FILE_MAX_BYTES, At as handleReset, B as resetDirectoryCache, Br as extractFileContentFromSource, C as loadSessionEntry, Cn as createReplyDispatcher, Cr as applyModelOverrideToSessionEntry, D as capArrayByJsonBytes, Dn as findSubkoiRunByChildSessionKey, Dr as isSystemEventContextChanged, E as archiveFileOnDisk, En as stopSubkoisForRequester, Er as enqueueSystemEvent, Fn as registerKoiRunContext, Fr as DEFAULT_INPUT_MAX_REDIRECTS, G as consumeGatewaySigusr1RestartAuthorization, Gn as resolveUserTimezone, Gt as getRemoteSkillEligibility, H as runWithModelFallback, Hn as resolveKoiIdentity, Hr as normalizeMimeList, Ht as buildControlUiAvatarUrl, Ir as DEFAULT_INPUT_PDF_MAX_PAGES, J as setGatewaySigusr1RestartPolicy, Jn as registerInternalHook, Jt as refreshRemoteBinsForConnectedNodes, K as isGatewaySigusr1RestartExternallyAllowed, Kn as clearInternalHooks, Kt as primeRemoteSkillsCache, L as resolveOutboundTarget, Ln as normalizePollInput, Lr as DEFAULT_INPUT_PDF_MAX_PIXELS, Mn as emitKoiEvent, Mr as DEFAULT_INPUT_FILE_MIMES, N as ensureOutboundSessionEntry, Nn as getKoiRunContext, Nr as DEFAULT_INPUT_IMAGE_MAX_BYTES, O as readSessionMessages, On as findSubkoiRunByRunId, P as resolveOutboundSessionRoute, Pn as onKoiEvent, Pr as DEFAULT_INPUT_IMAGE_MIMES, Qn as getTtsProvider, Qt as registerSkillsChangeListener, R as resolveSessionDeliveryTarget, Rr as DEFAULT_INPUT_PDF_MIN_TEXT_CHARS, S as loadCombinedSessionStoreForGateway, Sn as dispatchInboundMessage, T as resolveSessionModelRef, Tn as isAbortTrigger, Tr as parseVerboseOverride, Un as formatUserTime, Ut as normalizeControlUiBasePath, Vr as extractImageContentFromSource, Vt as CONTROL_UI_AVATAR_PREFIX, W as authorizeGatewaySigusr1Restart, Wn as resolveUserTimeFormat, Wr as resolveKoiTimeoutMs, Wt as resolveAssistantAvatarUrl, X as formatDoctorNonInteractiveHint, Xn as OPENAI_TTS_MODELS, Xt as setSkillsRemoteRegistry, Y as consumeRestartSentinel, Yn as triggerInternalHook, Yt as refreshRemoteNodeBins, Z as formatRestartSentinelMessage, Zn as OPENAI_TTS_VOICES, Zt as getSkillsSnapshotVersion, _ as onCanvasChange, a as normalizeSendPolicy, ar as resolveTtsProviderOrder, at as normalizeOptionalKoiId, b as listKoisForGateway, br as stripHeartbeatToken, bt as handleSlackHttpRequest, c as runEmbeddedPiKoi, cr as textToSpeech, ct as normalizeRequiredName, d as waitForEmbeddedPiRunEnd, dn as buildHistoryContextFromEntries, dr as setCommandLaneConcurrency, en as detectSuspiciousPatterns, er as isTtsProviderConfigured, fn as resolveHeartbeatVisibility, fr as CommandLane, ft as requestHeartbeatNow, g as listCanvasUris, gr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, gt as loadProviderUsageSummary, h as getCanvasResource, hn as onHeartbeatEvent, hr as isDiagnosticsEnabled, ht as loadSKYKOIPlugins, i as runCliKoi, ir as resolveTtsPrefsPath, it as inferLegacyName, j as stripEnvelopeFromMessages, jn as clearKoiRunContext, jr as DEFAULT_INPUT_FILE_MAX_CHARS, k as readSessionPreviewItemsFromTranscript, kn as initSubkoiRegistry, kr as loadModelCatalog, l as abortEmbeddedPiRun, ln as registerUnhandledRejectionHandler, lt as migrateLegacyCronPayload, m as canvasUri, mn as getLastHeartbeatEvent, mr as stopDiagnosticHeartbeat, mt as getPluginToolMeta, n as getCliSessionId, nn as isExternalHookSession, nr as resolveTtsAutoMode, nt as normalizeCronJobCreate, o as resolveSendPolicy, on as createReplyPrefixOptions, or as setTtsEnabled, ot as normalizeOptionalText, p as createSKYKOITools, pr as startDiagnosticHeartbeat, q as scheduleGatewaySigusr1Restart, qn as createInternalHookEvent, qt as recordRemoteNodeInfo, r as setCliSessionId, rr as resolveTtsConfig, rt as normalizeCronJobPatch, s as clearSessionQueues, sn as normalizeGroupActivation, sr as setTtsProvider, st as normalizePayloadToSystemText, tn as getHookType, tr as resolveTtsApiKey, tt as writeRestartSentinel, v as replaceCanvasResource, w as resolveGatewaySessionStoreTarget, wn as formatZonedTimestamp, wr as applyVerboseOverride, x as listSessionsFromStore, xr as lookupContextTokens, y as resolveAnnounceTargetFromKey, yn as getChannelActivity, zr as DEFAULT_INPUT_TIMEOUT_MS } from "./reply-CRJVoGsf.js";
4
4
  import { C as colorize, D as getLogger, E as getChildLogger, N as DEFAULT_CHAT_CHANNEL, O as getResolvedLoggerSettings, T as theme, V as getActivePluginRegistry, a as setConsoleTimestampPrefix, c as defaultRuntime, i as setConsoleSubsystemFilter, j as CHANNEL_IDS, n as runtimeForLogger, t as createSubsystemLogger, w as isRich, y as setVerbose } from "./subsystem-RXphV8Xh.js";
5
5
  import { g as resolveStateDir, i as isNixMode, l as resolveGatewayLockDir, o as resolveConfigPath, r as STATE_DIR, t as CONFIG_PATH, u as resolveGatewayPort } from "./paths-VdmjGGyc.js";
6
6
  import { _ as isSubkoiSessionKey, a as buildKoiMainSessionKey, d as resolveKoiIdFromSessionKey, l as normalizeKoiId, m as toKoiRequestSessionKey, n as DEFAULT_KOI_ID, t as DEFAULT_ACCOUNT_ID, u as normalizeMainKey, v as parseKoiSessionKey } from "./session-key-DvA8Pdt6.js";
@@ -64,7 +64,7 @@ import { i as readExecApprovalsSnapshot, o as resolveExecApprovalsSocketPath, r
64
64
  import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-BXq7ieVg.js";
65
65
  import { t as parseAbsoluteTimeMs } from "./parse-CQc2Wki1.js";
66
66
  import { n as resolveMessageChannelSelection } from "./channel-selection-Cct7Z5LA.js";
67
- import { n as createOutboundSendDeps, t as createDefaultDeps } from "./deps-BeVoW34K.js";
67
+ import { n as createOutboundSendDeps, t as createDefaultDeps } from "./deps-ByWdHWG3.js";
68
68
  import { i as enableTailscaleServe, n as disableTailscaleServe, o as getTailnetHostname, r as enableTailscaleFunnel, t as disableTailscaleFunnel } from "./tailscale-Dr_sivWa.js";
69
69
  import { t as ensureSKYKOICliOnPath } from "./path-env-Cii9ruuZ.js";
70
70
  import "./daemon-runtime-zA9c7pSo.js";
@@ -73,16 +73,16 @@ import { t as resolveChannelDefaultAccountId } from "./helpers-Gv-oWn3H.js";
73
73
  import "./logging-B1FMFmkG.js";
74
74
  import "./note-Dmec5qaE.js";
75
75
  import { t as WizardCancelledError } from "./prompts-CDHXxTNu.js";
76
- 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-f0BUNi-0.js";
77
- import { n as installSkill } from "./onboard-skills-DAlgjhMu.js";
78
- import "./github-copilot-auth-sms0k8JQ.js";
79
- import "./onboard-channels-CprwP46J.js";
76
+ 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-CEVjBGpb.js";
77
+ import { n as installSkill } from "./onboard-skills-D-uADS78.js";
78
+ import "./github-copilot-auth-DeopF0cr.js";
79
+ import "./onboard-channels-CHGxE7Ei.js";
80
80
  import { r as buildChannelUiCatalog, t as applyPluginAutoEnable } from "./plugin-auto-enable-Dkfl2_S9.js";
81
- import "./archive-Bv2lJQE5.js";
81
+ import "./archive-J7bWb8gw.js";
82
82
  import "./skill-scanner-BapBkMb3.js";
83
- import "./installs-ML1vHGpm.js";
84
- 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-Dqk4Y4nQ.js";
85
- import { S as normalizeUpdateChannel, _ as resolveNpmChannelTag, h as compareSemverStrings, m as checkUpdateStatus, t as runGatewayUpdate, y as DEFAULT_PACKAGE_CHANNEL } from "./update-runner-B38-PMEP.js";
83
+ import "./installs-Drygyj9X.js";
84
+ 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-DvMelD84.js";
85
+ import { S as normalizeUpdateChannel, _ as resolveNpmChannelTag, h as compareSemverStrings, m as checkUpdateStatus, t as runGatewayUpdate, y as DEFAULT_PACKAGE_CHANNEL } from "./update-runner-BPB6djdr.js";
86
86
  import { i as resolveGatewayAuth, n as authorizeGatewayConnect, r as isLocalDirectRequest, t as assertGatewayAuthConfigured } from "./auth-BpJ5NqQz.js";
87
87
  import { i as probeGateway } from "./audit-C2UmdvHN.js";
88
88
  import "./table-C3bAYPAj.js";
@@ -92,16 +92,16 @@ import { p as resolveGatewayStateDir } from "./systemd-B6CNpufN.js";
92
92
  import "./service-audit-vIEykY2c.js";
93
93
  import "./node-service-98lgTDsG.js";
94
94
  import "./channels-status-issues-ZWAiE-Er.js";
95
- import "./register.subclis-DzhpCpdD.js";
96
- import { a as createOutboundSendDeps$1, i as resolveKoiOutboundTarget, r as resolveKoiDeliveryPlan, t as koiCommand } from "./koi-Wz7-N0tf.js";
95
+ import "./register.subclis-BGYm1Vhc.js";
96
+ import { a as createOutboundSendDeps$1, i as resolveKoiOutboundTarget, r as resolveKoiDeliveryPlan, t as koiCommand } from "./koi-B10DL41l.js";
97
97
  import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } from "./widearea-dns-CpW38Fcp.js";
98
98
  import { n as discoverGatewayBeacons } from "./bonjour-discovery-DDusha3m.js";
99
- import "./completion-cli-CalRSgou.js";
99
+ import "./completion-cli-Hnu-oXDT.js";
100
100
  import { i as shouldIncludeHook, n as loadWorkspaceHookEntries, r as resolveHookConfig } from "./hooks-status-osXu-ROQ.js";
101
101
  import "./tui-DpOoKhf1.js";
102
102
  import { t as buildChannelAccountSnapshot } from "./status-DqH1H1Pt.js";
103
103
  import "./shared-Pw7WzSoo.js";
104
- import { a as runDaemonStop, i as runDaemonStart, n as runDaemonStatus, o as runDaemonUninstall, r as runDaemonRestart, s as runDaemonInstall } from "./daemon-cli-BCcnB0WL.js";
104
+ import { a as runDaemonStop, i as runDaemonStart, n as runDaemonStatus, o as runDaemonUninstall, r as runDaemonRestart, s as runDaemonInstall } from "./daemon-cli-7YsgAmOG.js";
105
105
  import { a as toOptionString, i as parsePort$1, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-BKQtVMRP.js";
106
106
  import { i as setGatewayWsLogStyle, n as logWs, r as summarizeKoiEventForWsLog, t as formatForLog } from "./ws-log-BdRV5r5X.js";
107
107
  import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-D-Ninu6t.js";
@@ -2099,7 +2099,7 @@ function createKoiEventHandler({ broadcast, broadcastToConnIds, nodeSendToSessio
2099
2099
  if (!shouldSuppressHeartbeatBroadcast(clientRunId)) broadcast("chat", payload, { dropIfSlow: true });
2100
2100
  nodeSendToSession(sessionKey, "chat", payload);
2101
2101
  };
2102
- const emitChatFinal = (sessionKey, clientRunId, seq, jobState, error) => {
2102
+ const emitChatFinal = (sessionKey, clientRunId, seq, jobState, error, billing) => {
2103
2103
  const text = chatRunState.buffers.get(clientRunId)?.trim() ?? "";
2104
2104
  chatRunState.buffers.delete(clientRunId);
2105
2105
  chatRunState.deltaSentAt.delete(clientRunId);
@@ -2116,7 +2116,13 @@ function createKoiEventHandler({ broadcast, broadcastToConnIds, nodeSendToSessio
2116
2116
  text
2117
2117
  }],
2118
2118
  timestamp: Date.now()
2119
- } : void 0
2119
+ } : void 0,
2120
+ usage: billing?.usage,
2121
+ model: billing?.model,
2122
+ provider: billing?.provider,
2123
+ stopReason: billing?.stopReason,
2124
+ providerRequestId: billing?.requestId,
2125
+ durationMs: billing?.durationMs
2120
2126
  };
2121
2127
  if (!shouldSuppressHeartbeatBroadcast(clientRunId)) broadcast("chat", payload);
2122
2128
  nodeSendToSession(sessionKey, "chat", payload);
@@ -2202,15 +2208,24 @@ function createKoiEventHandler({ broadcast, broadcastToConnIds, nodeSendToSessio
2202
2208
  if (sessionKey) {
2203
2209
  nodeSendToSession(sessionKey, "koi", isToolEvent ? toolPayload : koiPayload);
2204
2210
  if (!isAborted && evt.stream === "assistant" && typeof evt.data?.text === "string") emitChatDelta(sessionKey, clientRunId, evt.seq, evt.data.text);
2205
- else if (!isAborted && (lifecyclePhase === "end" || lifecyclePhase === "error")) if (chatLink) {
2206
- const finished = chatRunState.registry.shift(evt.runId);
2207
- if (!finished) {
2208
- clearKoiRunContext(evt.runId);
2209
- return;
2210
- }
2211
- emitChatFinal(finished.sessionKey, finished.clientRunId, evt.seq, lifecyclePhase === "error" ? "error" : "done", evt.data?.error);
2212
- } else emitChatFinal(sessionKey, evt.runId, evt.seq, lifecyclePhase === "error" ? "error" : "done", evt.data?.error);
2213
- else if (isAborted && (lifecyclePhase === "end" || lifecyclePhase === "error")) {
2211
+ else if (!isAborted && (lifecyclePhase === "end" || lifecyclePhase === "error")) {
2212
+ const billing = lifecyclePhase === "end" ? {
2213
+ usage: evt.data?.usage,
2214
+ model: typeof evt.data?.model === "string" ? evt.data.model : void 0,
2215
+ provider: typeof evt.data?.provider === "string" ? evt.data.provider : void 0,
2216
+ stopReason: typeof evt.data?.stopReason === "string" ? evt.data.stopReason : void 0,
2217
+ requestId: typeof evt.data?.requestId === "string" ? evt.data.requestId : void 0,
2218
+ durationMs: typeof evt.data?.endedAt === "number" && typeof evt.data?.startedAt === "number" ? evt.data.endedAt - evt.data.startedAt : void 0
2219
+ } : void 0;
2220
+ if (chatLink) {
2221
+ const finished = chatRunState.registry.shift(evt.runId);
2222
+ if (!finished) {
2223
+ clearKoiRunContext(evt.runId);
2224
+ return;
2225
+ }
2226
+ emitChatFinal(finished.sessionKey, finished.clientRunId, evt.seq, lifecyclePhase === "error" ? "error" : "done", evt.data?.error, billing);
2227
+ } else emitChatFinal(sessionKey, evt.runId, evt.seq, lifecyclePhase === "error" ? "error" : "done", evt.data?.error, billing);
2228
+ } else if (isAborted && (lifecyclePhase === "end" || lifecyclePhase === "error")) {
2214
2229
  chatRunState.abortedRuns.delete(clientRunId);
2215
2230
  chatRunState.abortedRuns.delete(evt.runId);
2216
2231
  chatRunState.buffers.delete(clientRunId);
@@ -10754,7 +10769,7 @@ const nodeHandlers = {
10754
10769
  const p = params;
10755
10770
  const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
10756
10771
  await respondUnavailableOnThrow(respond, async () => {
10757
- const { handleNodeEvent } = await import("./server-node-events-EknYxP7N.js");
10772
+ const { handleNodeEvent } = await import("./server-node-events-BfGXd3mi.js");
10758
10773
  const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
10759
10774
  await handleNodeEvent({
10760
10775
  deps: context.deps,
@@ -1,4 +1,4 @@
1
- import { ht as loadSKYKOIPlugins } from "./reply-CwTKucGa.js";
1
+ import { ht as loadSKYKOIPlugins } from "./reply-CRJVoGsf.js";
2
2
  import { t as createSubsystemLogger } from "./subsystem-RXphV8Xh.js";
3
3
  import { l as normalizeKoiId } from "./session-key-DvA8Pdt6.js";
4
4
  import { b as sleep } from "./utils-rBzA-VDv.js";
@@ -1,4 +1,4 @@
1
- import { F as resolveHeartbeatDeliveryTarget, Gn as resolveUserTimezone, I as resolveHeartbeatSenderContext, Or as peekSystemEvents, Vn as resolveEffectiveMessagesConfig, _r as DEFAULT_HEARTBEAT_EVERY, br as stripHeartbeatToken, fn as resolveHeartbeatVisibility, fr as CommandLane, ft as requestHeartbeatNow, gn as resolveIndicatorType, gr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, lr as enqueueCommandInLane, pn as emitHeartbeatEvent, pt as setHeartbeatWakeHandler, t as getReplyFromConfig, u as isEmbeddedPiRunActive, ur as getQueueSize, vr as isHeartbeatContentEffectivelyEmpty, yr as resolveHeartbeatPrompt$1 } from "./reply-CwTKucGa.js";
1
+ import { F as resolveHeartbeatDeliveryTarget, Gn as resolveUserTimezone, I as resolveHeartbeatSenderContext, Or as peekSystemEvents, Vn as resolveEffectiveMessagesConfig, _r as DEFAULT_HEARTBEAT_EVERY, br as stripHeartbeatToken, fn as resolveHeartbeatVisibility, fr as CommandLane, ft as requestHeartbeatNow, gn as resolveIndicatorType, gr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, lr as enqueueCommandInLane, pn as emitHeartbeatEvent, pt as setHeartbeatWakeHandler, t as getReplyFromConfig, u as isEmbeddedPiRunActive, ur as getQueueSize, vr as isHeartbeatContentEffectivelyEmpty, yr as resolveHeartbeatPrompt$1 } from "./reply-CRJVoGsf.js";
2
2
  import { C as colorize, T as theme, c as defaultRuntime, m as info, t as createSubsystemLogger, w as isRich } from "./subsystem-RXphV8Xh.js";
3
3
  import { d as resolveKoiIdFromSessionKey, h as toKoiStoreSessionKey, l as normalizeKoiId } from "./session-key-DvA8Pdt6.js";
4
4
  import { t as runCommandWithTimeout } from "./exec-BE7MIgZB.js";
@@ -1,5 +1,5 @@
1
1
  import "./pi-embedded-helpers-DLCze-82.js";
2
- import "./reply-CwTKucGa.js";
2
+ import "./reply-CRJVoGsf.js";
3
3
  import { T as theme, c as defaultRuntime } from "./subsystem-RXphV8Xh.js";
4
4
  import "./paths-VdmjGGyc.js";
5
5
  import { h as resolveUserPath, t as CONFIG_DIR, y as shortenHomePath } from "./utils-rBzA-VDv.js";
@@ -55,10 +55,10 @@ import "./satisfies-Ch9z1ETk.js";
55
55
  import "./session-cost-usage---TbpV-6.js";
56
56
  import "./control-service-BXq7ieVg.js";
57
57
  import "./channel-selection-Cct7Z5LA.js";
58
- import { a as resolvePackedRootDir, i as resolveArchiveKind, n as fileExists, r as readJsonFile, t as extractArchive } from "./archive-Bv2lJQE5.js";
58
+ import { a as resolvePackedRootDir, i as resolveArchiveKind, n as fileExists, r as readJsonFile, t as extractArchive } from "./archive-J7bWb8gw.js";
59
59
  import { t as renderTable } from "./table-C3bAYPAj.js";
60
60
  import { a as parseFrontmatter, n as loadWorkspaceHookEntries, t as buildWorkspaceHookStatus } from "./hooks-status-osXu-ROQ.js";
61
- import { t as buildPluginStatusReport } from "./status-DwLiLbKL.js";
61
+ import { t as buildPluginStatusReport } from "./status-C50kGIYK.js";
62
62
  import fs from "node:fs";
63
63
  import path from "node:path";
64
64
  import os from "node:os";
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import "./pi-embedded-helpers-DLCze-82.js";
3
- import { Ur as applyTemplate, an as monitorWebChannel, cn as installUnhandledRejectionHandler, t as getReplyFromConfig, un as waitForever } from "./reply-CwTKucGa.js";
3
+ import { Ur as applyTemplate, an as monitorWebChannel, cn as installUnhandledRejectionHandler, t as getReplyFromConfig, un as waitForever } from "./reply-CRJVoGsf.js";
4
4
  import { r as enableConsoleCapture } from "./subsystem-RXphV8Xh.js";
5
5
  import "./paths-VdmjGGyc.js";
6
6
  import { S as toWhatsappJid, d as normalizeE164, n as assertWebChannel } from "./utils-rBzA-VDv.js";
@@ -55,27 +55,27 @@ import "./satisfies-Ch9z1ETk.js";
55
55
  import "./session-cost-usage---TbpV-6.js";
56
56
  import "./control-service-BXq7ieVg.js";
57
57
  import "./channel-selection-Cct7Z5LA.js";
58
- import { t as createDefaultDeps } from "./deps-BeVoW34K.js";
58
+ import { t as createDefaultDeps } from "./deps-ByWdHWG3.js";
59
59
  import { l as ensureBinary, u as promptYesNo } from "./tailscale-Dr_sivWa.js";
60
60
  import { t as loadDotEnv } from "./dotenv-Ro4Ai1Xa.js";
61
61
  import { t as isMainModule } from "./is-main-DY9Hjhai.js";
62
62
  import { t as ensureSKYKOICliOnPath } from "./path-env-Cii9ruuZ.js";
63
63
  import { g as assertSupportedRuntime } from "./daemon-runtime-zA9c7pSo.js";
64
64
  import "./ports-Dnr7VHLO.js";
65
- import "./config-guard-BERzak91.js";
65
+ import "./config-guard-BAp1WbEK.js";
66
66
  import "./logging-B1FMFmkG.js";
67
67
  import "./note-Dmec5qaE.js";
68
68
  import "./clack-prompter-C-kLjRLl.js";
69
- import "./onboarding-f0BUNi-0.js";
70
- import "./onboard-skills-DAlgjhMu.js";
71
- import "./github-copilot-auth-sms0k8JQ.js";
72
- import "./onboard-channels-CprwP46J.js";
69
+ import "./onboarding-CEVjBGpb.js";
70
+ import "./onboard-skills-D-uADS78.js";
71
+ import "./github-copilot-auth-DeopF0cr.js";
72
+ import "./onboard-channels-CHGxE7Ei.js";
73
73
  import "./plugin-auto-enable-Dkfl2_S9.js";
74
- import "./archive-Bv2lJQE5.js";
74
+ import "./archive-J7bWb8gw.js";
75
75
  import "./skill-scanner-BapBkMb3.js";
76
- import "./installs-ML1vHGpm.js";
77
- import "./health-format-Dqk4Y4nQ.js";
78
- import "./update-runner-B38-PMEP.js";
76
+ import "./installs-Drygyj9X.js";
77
+ import "./health-format-DvMelD84.js";
78
+ import "./update-runner-BPB6djdr.js";
79
79
  import "./auth-BpJ5NqQz.js";
80
80
  import "./audit-C2UmdvHN.js";
81
81
  import "./table-C3bAYPAj.js";
@@ -85,22 +85,22 @@ import "./systemd-B6CNpufN.js";
85
85
  import "./service-audit-vIEykY2c.js";
86
86
  import "./node-service-98lgTDsG.js";
87
87
  import "./channels-status-issues-ZWAiE-Er.js";
88
- import "./register.subclis-DzhpCpdD.js";
88
+ import "./register.subclis-BGYm1Vhc.js";
89
89
  import "./gateway-rpc-BtsmFf8t.js";
90
90
  import "./help-format-D1wK1nn-.js";
91
- import "./koi-Wz7-N0tf.js";
92
- import "./plugin-registry-BdnAvjb_.js";
93
- import "./configure-BYpqjNVu.js";
91
+ import "./koi-B10DL41l.js";
92
+ import "./plugin-registry-DEowz-3R.js";
93
+ import "./configure-CJsFUPQp.js";
94
94
  import "./systemd-linger-DG0RJLyt.js";
95
95
  import "./widearea-dns-CpW38Fcp.js";
96
96
  import "./bonjour-discovery-DDusha3m.js";
97
97
  import "./auth-health-CmYw5aMg.js";
98
- import "./doctor-C4WrZlQa.js";
99
- import "./completion-cli-CalRSgou.js";
98
+ import "./doctor-A2ZBvxVg.js";
99
+ import "./completion-cli-Hnu-oXDT.js";
100
100
  import "./hooks-status-osXu-ROQ.js";
101
101
  import "./tui-DpOoKhf1.js";
102
- import "./channel-options-3HQwlAC6.js";
103
- import { n as buildProgram } from "./program-C2kOGCvp.js";
102
+ import "./channel-options-eLqlU314.js";
103
+ import { n as buildProgram } from "./program-dx2iSHjx.js";
104
104
  import process from "node:process";
105
105
  import { fileURLToPath } from "node:url";
106
106
 
@@ -1,7 +1,7 @@
1
1
  import { h as resolveUserPath, t as CONFIG_DIR } from "./utils-rBzA-VDv.js";
2
2
  import { t as runCommandWithTimeout } from "./exec-BE7MIgZB.js";
3
3
  import { a as MANIFEST_KEY } from "./manifest-registry-C7LlRODl.js";
4
- import { a as resolvePackedRootDir, i as resolveArchiveKind, n as fileExists, r as readJsonFile, t as extractArchive } from "./archive-Bv2lJQE5.js";
4
+ import { a as resolvePackedRootDir, i as resolveArchiveKind, n as fileExists, r as readJsonFile, t as extractArchive } from "./archive-J7bWb8gw.js";
5
5
  import { t as scanDirectoryWithSummary } from "./skill-scanner-BapBkMb3.js";
6
6
  import path from "node:path";
7
7
  import os from "node:os";
@@ -1,5 +1,5 @@
1
1
  import { H as normalizeThinkLevel, I as formatThinkingLevels, K as supportsXHighThinking, L as formatXHighModelHint, W as normalizeVerboseLevel } from "./pi-embedded-helpers-DLCze-82.js";
2
- import { An as KOI_LANE_NESTED, Cr as applyModelOverrideToSessionEntry, Fn as registerKoiRunContext, Gt as getRemoteSkillEligibility, H as runWithModelFallback, L as resolveOutboundTarget, Mn as emitKoiEvent, R as resolveSessionDeliveryTarget, Sr as clearSessionAuthProfileOverride, Wr as resolveKoiTimeoutMs, Zt as getSkillsSnapshotVersion, c as runEmbeddedPiKoi, i as runCliKoi, jn as clearKoiRunContext, kr as loadModelCatalog, n as getCliSessionId, o as resolveSendPolicy, r as setCliSessionId, wr as applyVerboseOverride, xr as lookupContextTokens } from "./reply-CwTKucGa.js";
2
+ import { An as KOI_LANE_NESTED, Cr as applyModelOverrideToSessionEntry, Fn as registerKoiRunContext, Gt as getRemoteSkillEligibility, H as runWithModelFallback, L as resolveOutboundTarget, Mn as emitKoiEvent, R as resolveSessionDeliveryTarget, Sr as clearSessionAuthProfileOverride, Wr as resolveKoiTimeoutMs, Zt as getSkillsSnapshotVersion, c as runEmbeddedPiKoi, i as runCliKoi, jn as clearKoiRunContext, kr as loadModelCatalog, n as getCliSessionId, o as resolveSendPolicy, r as setCliSessionId, wr as applyVerboseOverride, xr as lookupContextTokens } from "./reply-CRJVoGsf.js";
3
3
  import { N as DEFAULT_CHAT_CHANNEL, c as defaultRuntime } from "./subsystem-RXphV8Xh.js";
4
4
  import { d as resolveKoiIdFromSessionKey, l as normalizeKoiId, u as normalizeMainKey } from "./session-key-DvA8Pdt6.js";
5
5
  import { a as resolveKoiModelFallbacksOverride, c as resolveKoiWorkspaceDir, i as resolveKoiDir, o as resolveKoiModelPrimary, s as resolveKoiSkillsFilter, t as listKoiIds, x as ensureKoiWorkspace } from "./koi-scope-BqGPXMMK.js";
@@ -13,7 +13,7 @@ import { a as isInternalMessageChannel, d as resolveMessageChannel, i as isGatew
13
13
  import { n as resolveSessionFilePath, o as resolveStorePath } from "./paths-Cbunf_xB.js";
14
14
  import { a as normalizeOutboundPayloadsForJson, i as normalizeOutboundPayloads, r as formatOutboundPayloadLog, t as deliverOutboundPayloads } from "./deliver-D-yIbL44.js";
15
15
  import { l as hasNonzeroUsage } from "./session-cost-usage---TbpV-6.js";
16
- import { t as createDefaultDeps } from "./deps-BeVoW34K.js";
16
+ import { t as createDefaultDeps } from "./deps-ByWdHWG3.js";
17
17
  import crypto from "node:crypto";
18
18
 
19
19
  //#region src/cli/outbound-send-deps.ts
@@ -1,5 +1,5 @@
1
1
  import "./pi-embedded-helpers-DLCze-82.js";
2
- import { Nt as openUrl, U as describeFailoverError, c as runEmbeddedPiKoi, gt as loadProviderUsageSummary, kr as loadModelCatalog, vt as formatUsageWindowSummary, yt as resolveUsageProviderId } from "./reply-CwTKucGa.js";
2
+ import { Nt as openUrl, U as describeFailoverError, c as runEmbeddedPiKoi, gt as loadProviderUsageSummary, kr as loadModelCatalog, vt as formatUsageWindowSummary, yt as resolveUsageProviderId } from "./reply-CRJVoGsf.js";
3
3
  import { C as colorize, T as theme, c as defaultRuntime, w as isRich$1 } from "./subsystem-RXphV8Xh.js";
4
4
  import { t as CONFIG_PATH } from "./paths-VdmjGGyc.js";
5
5
  import { y as shortenHomePath } from "./utils-rBzA-VDv.js";
@@ -59,7 +59,7 @@ import "./channel-selection-Cct7Z5LA.js";
59
59
  import { n as logConfigUpdated } from "./logging-B1FMFmkG.js";
60
60
  import "./note-Dmec5qaE.js";
61
61
  import { t as createClackPrompter } from "./clack-prompter-C-kLjRLl.js";
62
- import { a as normalizeAlias, c as updateConfig, d as resolvePluginProviders, i as formatTokenK, l as createVpsAwareOAuthHandlers, n as ensureFlagCompatibility, o as resolveKnownKoiId, pt as validateAnthropicSetupToken, r as formatMs, s as resolveModelTarget, t as githubCopilotLoginCommand, u as isRemoteEnvironment, v as applyAuthProfileConfig } from "./github-copilot-auth-sms0k8JQ.js";
62
+ import { a as normalizeAlias, c as updateConfig, d as resolvePluginProviders, i as formatTokenK, l as createVpsAwareOAuthHandlers, n as ensureFlagCompatibility, o as resolveKnownKoiId, pt as validateAnthropicSetupToken, r as formatMs, s as resolveModelTarget, t as githubCopilotLoginCommand, u as isRemoteEnvironment, v as applyAuthProfileConfig } from "./github-copilot-auth-DeopF0cr.js";
63
63
  import { t as renderTable } from "./table-C3bAYPAj.js";
64
64
  import { i as redactSecrets } from "./format-APMZSEkl.js";
65
65
  import { n as buildAuthHealthSummary, r as formatRemainingShort, t as DEFAULT_OAUTH_WARN_MS } from "./auth-health-CmYw5aMg.js";
@@ -1,4 +1,4 @@
1
- import { ht as loadSKYKOIPlugins } from "./reply-CwTKucGa.js";
1
+ import { ht as loadSKYKOIPlugins } from "./reply-CRJVoGsf.js";
2
2
  import { F as formatChannelSelectionLine, L as listChatChannels, P as formatChannelPrimerLine, t as createSubsystemLogger } from "./subsystem-RXphV8Xh.js";
3
3
  import { c as normalizeAccountId, t as DEFAULT_ACCOUNT_ID } from "./session-key-DvA8Pdt6.js";
4
4
  import { c as resolveKoiWorkspaceDir, n as resolveDefaultKoiId } from "./koi-scope-BqGPXMMK.js";
@@ -7,7 +7,7 @@ import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-CSje3M
7
7
  import { t as formatDocsLink } from "./links-C_Wh_hEg.js";
8
8
  import { t as resolveChannelDefaultAccountId } from "./helpers-Gv-oWn3H.js";
9
9
  import { i as listChannelPluginCatalogEntries, n as isChannelConfigured } from "./plugin-auto-enable-Dkfl2_S9.js";
10
- import { n as installPluginFromNpmSpec, t as recordPluginInstall } from "./installs-ML1vHGpm.js";
10
+ import { n as installPluginFromNpmSpec, t as recordPluginInstall } from "./installs-Drygyj9X.js";
11
11
  import fs from "node:fs";
12
12
  import path from "node:path";
13
13
 
@@ -1,4 +1,4 @@
1
- import { Nt as openUrl, Rt as resolveNodeManagerOptions, Tt as detectBinary, kr as loadModelCatalog } from "./reply-CwTKucGa.js";
1
+ import { Nt as openUrl, Rt as resolveNodeManagerOptions, Tt as detectBinary, kr as loadModelCatalog } from "./reply-CRJVoGsf.js";
2
2
  import { f as resolveConfigDir, h as resolveUserPath, s as ensureDir, t as CONFIG_DIR } from "./utils-rBzA-VDv.js";
3
3
  import { t as runCommandWithTimeout } from "./exec-BE7MIgZB.js";
4
4
  import { c as resolveKoiWorkspaceDir, i as resolveKoiDir, n as resolveDefaultKoiId, o as resolveKoiModelPrimary, w as resolveDefaultKoiWorkspaceDir } from "./koi-scope-BqGPXMMK.js";
@@ -8,8 +8,8 @@ import { t as formatCliCommand } from "./command-format-BxjVkF35.js";
8
8
  import { _ as resolveSkillKey, d as hasBinary, i as loadWorkspaceSkillEntries, t as resolveSkillsInstallPreferences } from "./skills-DoaIV1r9.js";
9
9
  import { Y as fetchWithSsrFGuard } from "./deliver-D-yIbL44.js";
10
10
  import { t as resolveBrewExecutable } from "./brew-C3EWd0g3.js";
11
- import { $ as setOpenrouterApiKey, A as applyQianfanProviderConfig, B as applyXiaomiProviderConfig, C as applyMoonshotConfig, D as applyOpenrouterConfig, E as applyMoonshotProviderConfigCn, F as applyVercelAiGatewayConfig, G as ZAI_DEFAULT_MODEL_REF, H as OPENROUTER_DEFAULT_MODEL_REF, I as applyVercelAiGatewayProviderConfig, J as setGeminiApiKey, K as setAnthropicApiKey, L as applyXaiConfig, M as applySyntheticProviderConfig, N as applyVeniceConfig, O as applyOpenrouterProviderConfig, P as applyVeniceProviderConfig, Q as setOpencodeZenApiKey, R as applyXaiProviderConfig, S as applyKimiCodeProviderConfig, T as applyMoonshotProviderConfig, U as VERCEL_AI_GATEWAY_DEFAULT_MODEL_REF, V as applyZaiConfig, W as XIAOMI_DEFAULT_MODEL_REF, X as setMinimaxApiKey, Y as setKimiCodingApiKey, Z as setMoonshotApiKey, _ as applyMinimaxProviderConfig, at as setXiaomiApiKey, b as applyCloudflareAiGatewayProviderConfig, ct as KIMI_CODING_MODEL_REF, d as resolvePluginProviders, dt as XAI_DEFAULT_MODEL_REF, et as setQianfanApiKey, f as applyOpencodeZenConfig, ft as buildTokenProfileId, g as applyMinimaxConfig, h as applyMinimaxApiProviderConfig, i as formatTokenK, it as setXaiApiKey, j as applySyntheticConfig, k as applyQianfanConfig, l as createVpsAwareOAuthHandlers, lt as MOONSHOT_DEFAULT_MODEL_REF, m as applyMinimaxApiConfig, nt as setVeniceApiKey, ot as setZaiApiKey, p as applyOpencodeZenProviderConfig, pt as validateAnthropicSetupToken, q as setCloudflareAiGatewayConfig, rt as setVercelAiGatewayApiKey, st as writeOAuthCredentials, t as githubCopilotLoginCommand, tt as setSyntheticApiKey, u as isRemoteEnvironment, ut as QIANFAN_DEFAULT_MODEL_REF, v as applyAuthProfileConfig, w as applyMoonshotConfigCn, x as applyKimiCodeConfig, y as applyCloudflareAiGatewayConfig, z as applyXiaomiConfig } from "./github-copilot-auth-sms0k8JQ.js";
12
- import { a as enablePluginInConfig } from "./onboard-channels-CprwP46J.js";
11
+ import { $ as setOpenrouterApiKey, A as applyQianfanProviderConfig, B as applyXiaomiProviderConfig, C as applyMoonshotConfig, D as applyOpenrouterConfig, E as applyMoonshotProviderConfigCn, F as applyVercelAiGatewayConfig, G as ZAI_DEFAULT_MODEL_REF, H as OPENROUTER_DEFAULT_MODEL_REF, I as applyVercelAiGatewayProviderConfig, J as setGeminiApiKey, K as setAnthropicApiKey, L as applyXaiConfig, M as applySyntheticProviderConfig, N as applyVeniceConfig, O as applyOpenrouterProviderConfig, P as applyVeniceProviderConfig, Q as setOpencodeZenApiKey, R as applyXaiProviderConfig, S as applyKimiCodeProviderConfig, T as applyMoonshotProviderConfig, U as VERCEL_AI_GATEWAY_DEFAULT_MODEL_REF, V as applyZaiConfig, W as XIAOMI_DEFAULT_MODEL_REF, X as setMinimaxApiKey, Y as setKimiCodingApiKey, Z as setMoonshotApiKey, _ as applyMinimaxProviderConfig, at as setXiaomiApiKey, b as applyCloudflareAiGatewayProviderConfig, ct as KIMI_CODING_MODEL_REF, d as resolvePluginProviders, dt as XAI_DEFAULT_MODEL_REF, et as setQianfanApiKey, f as applyOpencodeZenConfig, ft as buildTokenProfileId, g as applyMinimaxConfig, h as applyMinimaxApiProviderConfig, i as formatTokenK, it as setXaiApiKey, j as applySyntheticConfig, k as applyQianfanConfig, l as createVpsAwareOAuthHandlers, lt as MOONSHOT_DEFAULT_MODEL_REF, m as applyMinimaxApiConfig, nt as setVeniceApiKey, ot as setZaiApiKey, p as applyOpencodeZenProviderConfig, pt as validateAnthropicSetupToken, q as setCloudflareAiGatewayConfig, rt as setVercelAiGatewayApiKey, st as writeOAuthCredentials, t as githubCopilotLoginCommand, tt as setSyntheticApiKey, u as isRemoteEnvironment, ut as QIANFAN_DEFAULT_MODEL_REF, v as applyAuthProfileConfig, w as applyMoonshotConfigCn, x as applyKimiCodeConfig, y as applyCloudflareAiGatewayConfig, z as applyXiaomiConfig } from "./github-copilot-auth-DeopF0cr.js";
12
+ import { a as enablePluginInConfig } from "./onboard-channels-CHGxE7Ei.js";
13
13
  import { t as scanDirectoryWithSummary } from "./skill-scanner-BapBkMb3.js";
14
14
  import { t as buildWorkspaceSkillStatus } from "./skills-status-Cv7rYvon.js";
15
15
  import { n as resolveWideAreaDiscoveryDomain } from "./widearea-dns-CpW38Fcp.js";