skykoi 2026.3.110 → 2026.3.112

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 (41) hide show
  1. package/dist/{agent-BkiW2A67.js → agent-D-74_QQo.js} +2 -2
  2. package/dist/{archive-DO8CzNyY.js → archive-DqIggqCs.js} +1 -1
  3. package/dist/build-info.json +3 -3
  4. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  5. package/dist/{channel-options-CGEXYHSZ.js → channel-options-DxyrqGjs.js} +1 -1
  6. package/dist/{channels-cli-5vKYtbdi.js → channels-cli-uoV-YczY.js} +6 -6
  7. package/dist/cli/daemon-cli.js +1 -1
  8. package/dist/{cli-CSQK7_Bc.js → cli-BPDgaCkV.js} +1 -1
  9. package/dist/{completion-cli-C5ZYkqzz.js → completion-cli-BpodzLoC.js} +1 -1
  10. package/dist/{config-guard-ixMroCGM.js → config-guard-xiYQjvV3.js} +13 -13
  11. package/dist/{configure-Dap2wRZt.js → configure-BVNciVFh.js} +4 -4
  12. package/dist/{daemon-cli-DkiguTK5.js → daemon-cli-BEEkuigo.js} +2 -2
  13. package/dist/{deps-CuoMPZaV.js → deps-B9NUBox-.js} +1 -1
  14. package/dist/{doctor-BuBYLkt0.js → doctor-HA6D2jgk.js} +3 -3
  15. package/dist/entry.js +1 -1
  16. package/dist/extension-api.js +1 -1
  17. package/dist/{gateway-cli-C_a5pVge.js → gateway-cli-BBH5-WWI.js} +193 -17
  18. package/dist/{github-copilot-auth-G6bvEvVa.js → github-copilot-auth-EMnEPGRa.js} +1 -1
  19. package/dist/{health-format-CP_U225o.js → health-format-B9d1aDz3.js} +1 -1
  20. package/dist/{hooks-cli-CyHESdfX.js → hooks-cli-E7yi8ahM.js} +3 -3
  21. package/dist/index.js +19 -19
  22. package/dist/{installs-C8NAGCka.js → installs-BFOaLQar.js} +1 -1
  23. package/dist/{models-cli-Pc5xR_ft.js → models-cli-B0H3_stp.js} +2 -2
  24. package/dist/{onboard-channels-BveAYQCI.js → onboard-channels-avDJAMIU.js} +2 -2
  25. package/dist/{onboard-skills-K5_EXyQ3.js → onboard-skills-C51d1PXK.js} +3 -3
  26. package/dist/{onboarding-BsuMrTSC.js → onboarding-BWwHptYo.js} +6 -6
  27. package/dist/{plugin-registry-BcOJ6BUp.js → plugin-registry-CDCF61gQ.js} +1 -1
  28. package/dist/plugin-sdk/agents/subagent-registry.d.ts +6 -0
  29. package/dist/plugin-sdk/index.js +13 -13
  30. package/dist/plugin-sdk/{pi-model-discovery-BxgZV_u1.js → pi-model-discovery-Bat7x2o7.js} +3 -3
  31. package/dist/{plugins-cli-NHu9cmdr.js → plugins-cli-hNDwzaJt.js} +5 -5
  32. package/dist/{program-PlXqwfPn.js → program-IMVtn_zB.js} +4 -4
  33. package/dist/{register.subclis-4Pm3kMEO.js → register.subclis-8ULaMbdJ.js} +10 -10
  34. package/dist/{reply-DrBjXO-c.js → reply-CPC-ifZ8.js} +14 -6
  35. package/dist/{run-main-Da1nmA4R.js → run-main-CtdPMVPD.js} +20 -20
  36. package/dist/{server-node-events-B7ucKVgu.js → server-node-events-ZUQo2ghO.js} +3 -3
  37. package/dist/{status-PuO1mF0e.js → status-CYlhurBU.js} +1 -1
  38. package/dist/{update-Br42opDA.js → update-DVwkpqct.js} +1 -1
  39. package/dist/{update-cli-BfaxLyrO.js → update-cli-DkXo1xyR.js} +11 -11
  40. package/dist/{update-runner-BiEGPxAO.js → update-runner-BHtCR1w6.js} +3 -3
  41. package/package.json +1 -1
@@ -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-BAr32Lnc.js";
2
- import { B as runWithModelFallback, Br as resolveAgentTimeoutMs, Dn as clearAgentRunContext, En as AGENT_LANE_NESTED, F as resolveOutboundTarget, I as resolveSessionDeliveryTarget, On as emitAgentEvent, Tr as loadModelCatalog, Ut as getRemoteSkillEligibility, Yt as getSkillsSnapshotVersion, _r as lookupContextTokens, br as applyVerboseOverride, c as runEmbeddedPiAgent, i as runCliAgent, jn as registerAgentRunContext, n as getCliSessionId, o as resolveSendPolicy, r as setCliSessionId, vr as clearSessionAuthProfileOverride, yr as applyModelOverrideToSessionEntry } from "./reply-DrBjXO-c.js";
2
+ import { An as AGENT_LANE_NESTED, Cr as applyModelOverrideToSessionEntry, Fn as registerAgentRunContext, Gt as getRemoteSkillEligibility, H as runWithModelFallback, L as resolveOutboundTarget, Mn as emitAgentEvent, R as resolveSessionDeliveryTarget, Sr as clearSessionAuthProfileOverride, Wr as resolveAgentTimeoutMs, Zt as getSkillsSnapshotVersion, c as runEmbeddedPiAgent, i as runCliAgent, jn as clearAgentRunContext, kr as loadModelCatalog, n as getCliSessionId, o as resolveSendPolicy, r as setCliSessionId, wr as applyVerboseOverride, xr as lookupContextTokens } from "./reply-CPC-ifZ8.js";
3
3
  import { N as DEFAULT_CHAT_CHANNEL, c as defaultRuntime } from "./subsystem-Dl1sS5S-.js";
4
4
  import { d as resolveAgentIdFromSessionKey, l as normalizeAgentId, u as normalizeMainKey } from "./session-key-hGS8_hRJ.js";
5
5
  import { a as resolveAgentModelPrimary, i as resolveAgentModelFallbacksOverride, o as resolveAgentSkillsFilter, r as resolveAgentDir, s as resolveAgentWorkspaceDir, t as listAgentIds, x as ensureAgentWorkspace } from "./agent-scope-DrL2uTp9.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-CAvRsPIf.js";
14
14
  import { a as normalizeOutboundPayloadsForJson, i as normalizeOutboundPayloads, r as formatOutboundPayloadLog, t as deliverOutboundPayloads } from "./deliver-3Ja7MnxP.js";
15
15
  import { l as hasNonzeroUsage } from "./session-cost-usage-CJ5Inqel.js";
16
- import { t as createDefaultDeps } from "./deps-CuoMPZaV.js";
16
+ import { t as createDefaultDeps } from "./deps-B9NUBox-.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 { i as __require, o as __toESM, t as __commonJSMin } from "./chunk-D_gEzPfs.js";
2
- import { yt as require_inherits } from "./reply-DrBjXO-c.js";
2
+ import { xt as require_inherits } from "./reply-CPC-ifZ8.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.110",
3
- "commit": "6641e384e9cbee5b2344e7107b17d5a3b27f55cb",
4
- "builtAt": "2026-04-13T00:44:30.784Z"
2
+ "version": "2026.3.112",
3
+ "commit": "8891ef48e848461e94762bc98564d826d816d7ef",
4
+ "builtAt": "2026-04-13T01:07:28.729Z"
5
5
  }
@@ -1 +1 @@
1
- 54ae3a7262cdd67365475489e86c3684245cd02b1253b60ff9be2bbda9d9158f
1
+ 0b628f66c2677e6a5af025938fdf3c310acb4b94f7b6c79c32d564cbb7305f76
@@ -2,7 +2,7 @@ import { M as CHAT_CHANNEL_ORDER } from "./subsystem-Dl1sS5S-.js";
2
2
  import { t as isTruthyEnvValue } from "./env-EjmWoVFM.js";
3
3
  import { n as listChannelPlugins } from "./plugins-CvpPbUcD.js";
4
4
  import { i as listChannelPluginCatalogEntries } from "./plugin-auto-enable-5KyNn7n8.js";
5
- import { t as ensurePluginRegistryLoaded } from "./plugin-registry-BcOJ6BUp.js";
5
+ import { t as ensurePluginRegistryLoaded } from "./plugin-registry-CDCF61gQ.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-BAr32Lnc.js";
2
- import { Fn as createSlackWebClient, ht as formatUsageReportLines, mt as loadProviderUsageSummary, vn as parseDiscordTarget, yn as fetchChannelPermissionsDiscord } from "./reply-DrBjXO-c.js";
2
+ import { _t as formatUsageReportLines, bn as parseDiscordTarget, gt as loadProviderUsageSummary, xn as fetchChannelPermissionsDiscord, zn as createSlackWebClient } from "./reply-CPC-ifZ8.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-Dl1sS5S-.js";
4
4
  import "./paths-DcA9-j8b.js";
5
5
  import { c as normalizeAccountId, t as DEFAULT_ACCOUNT_ID } from "./session-key-hGS8_hRJ.js";
@@ -60,14 +60,14 @@ import { n as resolveMessageChannelSelection } from "./channel-selection-BZvCBj3
60
60
  import { t as resolveChannelDefaultAccountId } from "./helpers-Ccy5jhZP.js";
61
61
  import "./note-ty8fydmp.js";
62
62
  import { t as createClackPrompter } from "./clack-prompter-D03d7Olp.js";
63
- import { i as reloadOnboardingPluginRegistry, n as setupChannels, r as ensureOnboardingPluginInstalled } from "./onboard-channels-BveAYQCI.js";
63
+ import { i as reloadOnboardingPluginRegistry, n as setupChannels, r as ensureOnboardingPluginInstalled } from "./onboard-channels-avDJAMIU.js";
64
64
  import { i as listChannelPluginCatalogEntries } from "./plugin-auto-enable-5KyNn7n8.js";
65
- import "./archive-DO8CzNyY.js";
65
+ import "./archive-DqIggqCs.js";
66
66
  import "./skill-scanner-BapBkMb3.js";
67
- import "./installs-C8NAGCka.js";
67
+ import "./installs-BFOaLQar.js";
68
68
  import { t as collectChannelStatusIssues } from "./channels-status-issues-BaXwaWXv.js";
69
- import { n as hasExplicitOptions } from "./plugin-registry-BcOJ6BUp.js";
70
- import { t as formatCliChannelOptions } from "./channel-options-CGEXYHSZ.js";
69
+ import { n as hasExplicitOptions } from "./plugin-registry-CDCF61gQ.js";
70
+ import { t as formatCliChannelOptions } from "./channel-options-DxyrqGjs.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-DkiguTK5.js";
2
+ export { registerDaemonCli, runDaemonInstall, runDaemonRestart, runDaemonStart, runDaemonStatus, runDaemonStop, runDaemonUninstall } from "../daemon-cli-BEEkuigo.js";
@@ -1,5 +1,5 @@
1
1
  import "./pi-embedded-helpers-BAr32Lnc.js";
2
- import { pt as loadSKYKOIPlugins } from "./reply-DrBjXO-c.js";
2
+ import { ht as loadSKYKOIPlugins } from "./reply-CPC-ifZ8.js";
3
3
  import { t as createSubsystemLogger } from "./subsystem-Dl1sS5S-.js";
4
4
  import "./paths-DcA9-j8b.js";
5
5
  import "./utils-DIctjiBL.js";
@@ -1,6 +1,6 @@
1
1
  import { r as __exportAll } from "./chunk-D_gEzPfs.js";
2
2
  import { g as resolveStateDir } from "./paths-DcA9-j8b.js";
3
- import { n as registerSubCliByName, t as getSubCliEntries } from "./register.subclis-4Pm3kMEO.js";
3
+ import { n as registerSubCliByName, t as getSubCliEntries } from "./register.subclis-8ULaMbdJ.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 { A as runMessageAction, Et as formatControlUiSshHint, Ft as resolveControlUiLinks, L as formatTargetDisplay, Ot as handleReset, Pt as randomToken, Rt as waitForGatewayReachable, St as applyWizardMetadata, Tt as ensureWorkspaceAndSessions, _r as lookupContextTokens, ct as CHANNEL_TARGETS_DESCRIPTION, jt as openUrl, kt as moveToTrash, lt as CHANNEL_TARGET_DESCRIPTION, nn as runMemoryStatus, tn as registerMemoryCli, wt as detectBrowserOpenSupport, xt as DEFAULT_WORKSPACE, z as CHANNEL_MESSAGE_ACTION_NAMES } from "./reply-DrBjXO-c.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-CPC-ifZ8.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-Dl1sS5S-.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-DcA9-j8b.js";
4
4
  import { l as normalizeAgentId, n as DEFAULT_AGENT_ID, t as DEFAULT_ACCOUNT_ID } from "./session-key-hGS8_hRJ.js";
@@ -19,29 +19,29 @@ import { t as formatDocsLink } from "./links-yjT27ApF.js";
19
19
  import { n as runCommandWithRuntime } from "./cli-utils-CodyYLHe.js";
20
20
  import { n as withProgress } from "./progress-C_FQJYVr.js";
21
21
  import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint } from "./prompt-style-DjEIdF58.js";
22
- import { t as createDefaultDeps } from "./deps-CuoMPZaV.js";
22
+ import { t as createDefaultDeps } from "./deps-B9NUBox-.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-TZ7Ncciq.js";
24
24
  import { t as resolveChannelDefaultAccountId } from "./helpers-Ccy5jhZP.js";
25
25
  import { n as logConfigUpdated, t as formatConfigPath } from "./logging-B818ac7o.js";
26
26
  import { t as WizardCancelledError } from "./prompts-CDHXxTNu.js";
27
27
  import { t as createClackPrompter } from "./clack-prompter-D03d7Olp.js";
28
- import { a as buildAgentSummaries, c as loadAgentIdentity, f as parseIdentityMarkdown, i as applyAgentConfig, l as pruneAgentConfig, n as statusCommand, o as findAgentEntryIndex, s as listAgentEntries, t as runOnboardingWizard, u as identityHasValues } from "./onboarding-BsuMrTSC.js";
29
- import { d as applyAuthChoice, f as applyOpenAIConfig, h as promptAuthChoiceGrouped, m as applyGoogleGeminiModelDefault, p as upsertSharedEnvVar, u as warnIfModelConfigLooksOff } from "./onboard-skills-K5_EXyQ3.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-G6bvEvVa.js";
31
- import { n as setupChannels } from "./onboard-channels-BveAYQCI.js";
32
- import { l as healthCommand } from "./health-format-CP_U225o.js";
28
+ import { a as buildAgentSummaries, c as loadAgentIdentity, f as parseIdentityMarkdown, i as applyAgentConfig, l as pruneAgentConfig, n as statusCommand, o as findAgentEntryIndex, s as listAgentEntries, t as runOnboardingWizard, u as identityHasValues } from "./onboarding-BWwHptYo.js";
29
+ import { d as applyAuthChoice, f as applyOpenAIConfig, h as promptAuthChoiceGrouped, m as applyGoogleGeminiModelDefault, p as upsertSharedEnvVar, u as warnIfModelConfigLooksOff } from "./onboard-skills-C51d1PXK.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-EMnEPGRa.js";
31
+ import { n as setupChannels } from "./onboard-channels-avDJAMIU.js";
32
+ import { l as healthCommand } from "./health-format-B9d1aDz3.js";
33
33
  import { t as renderTable } from "./table-BuHjFIeu.js";
34
34
  import { t as resolveGatewayService } from "./service-Fxlow9XO.js";
35
35
  import { r as isSystemdUserServiceAvailable } from "./systemd-BTcdURXT.js";
36
- import { l as getVerboseFlag, o as getFlagValue, r as registerSubCliCommands, s as getPositiveIntFlagValue, u as hasFlag } from "./register.subclis-4Pm3kMEO.js";
36
+ import { l as getVerboseFlag, o as getFlagValue, r as registerSubCliCommands, s as getPositiveIntFlagValue, u as hasFlag } from "./register.subclis-8ULaMbdJ.js";
37
37
  import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-Dn_9I_Fb.js";
38
38
  import { t as formatHelpExamples } from "./help-format-rUxU9jE_.js";
39
- import { a as createOutboundSendDeps, n as resolveSessionKeyForRequest, t as agentCommand } from "./agent-BkiW2A67.js";
40
- import { n as hasExplicitOptions, t as ensurePluginRegistryLoaded } from "./plugin-registry-BcOJ6BUp.js";
39
+ import { a as createOutboundSendDeps, n as resolveSessionKeyForRequest, t as agentCommand } from "./agent-D-74_QQo.js";
40
+ import { n as hasExplicitOptions, t as ensurePluginRegistryLoaded } from "./plugin-registry-CDCF61gQ.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-Dap2wRZt.js";
42
+ import { i as CONFIGURE_WIZARD_SECTIONS, n as configureCommand, r as configureCommandWithSections } from "./configure-BVNciVFh.js";
43
43
  import { n as ensureSystemdUserLingerNonInteractive } from "./systemd-linger-BSA8MnYc.js";
44
- import { n as loadAndMaybeMigrateDoctorConfig, t as doctorCommand } from "./doctor-BuBYLkt0.js";
44
+ import { n as loadAndMaybeMigrateDoctorConfig, t as doctorCommand } from "./doctor-HA6D2jgk.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-Dap2wRZt.js").then((n) => n.t);
2795
+ const { CONFIGURE_WIZARD_SECTIONS, configureCommand, configureCommandWithSections } = await import("./configure-BVNciVFh.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 { At as normalizeGatewayTokenInput, Dt as guardCancel, Ft as resolveControlUiLinks, Lt as summarizeExistingConfig, Mt as printWizardHeader, Nt as probeGatewayReachable, Pt as randomToken, Rt as waitForGatewayReachable, St as applyWizardMetadata, Tt as ensureWorkspaceAndSessions, xt as DEFAULT_WORKSPACE } from "./reply-DrBjXO-c.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-CPC-ifZ8.js";
3
3
  import { c as defaultRuntime } from "./subsystem-Dl1sS5S-.js";
4
4
  import { t as CONFIG_PATH, u as resolveGatewayPort } from "./paths-DcA9-j8b.js";
5
5
  import { h as resolveUserPath, y as shortenHomePath } from "./utils-DIctjiBL.js";
@@ -15,9 +15,9 @@ import { n as logConfigUpdated } from "./logging-B818ac7o.js";
15
15
  import { t as note$1 } from "./note-ty8fydmp.js";
16
16
  import { t as WizardCancelledError } from "./prompts-CDHXxTNu.js";
17
17
  import { t as createClackPrompter } from "./clack-prompter-D03d7Olp.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-K5_EXyQ3.js";
19
- import { n as setupChannels, t as noteChannelStatus } from "./onboard-channels-BveAYQCI.js";
20
- import { l as healthCommand, n as ensureControlUiAssetsBuilt, t as formatHealthCheckFailure } from "./health-format-CP_U225o.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-C51d1PXK.js";
19
+ import { n as setupChannels, t as noteChannelStatus } from "./onboard-channels-avDJAMIU.js";
20
+ import { l as healthCommand, n as ensureControlUiAssetsBuilt, t as formatHealthCheckFailure } from "./health-format-B9d1aDz3.js";
21
21
  import { t as resolveGatewayService } from "./service-Fxlow9XO.js";
22
22
  import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-BSA8MnYc.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 { Ft as resolveControlUiLinks } from "./reply-DrBjXO-c.js";
2
+ import { Lt as resolveControlUiLinks } from "./reply-CPC-ifZ8.js";
3
3
  import { C as colorize, O as getResolvedLoggerSettings, T as theme, c as defaultRuntime, w as isRich } from "./subsystem-Dl1sS5S-.js";
4
4
  import { d as resolveIsNixMode, g as resolveStateDir, o as resolveConfigPath, u as resolveGatewayPort } from "./paths-DcA9-j8b.js";
5
5
  import { y as shortenHomePath } from "./utils-DIctjiBL.js";
@@ -14,7 +14,7 @@ import { n as callGateway } from "./call-CU7_TNZs.js";
14
14
  import { t as formatDocsLink } from "./links-yjT27ApF.js";
15
15
  import { n as withProgress } from "./progress-C_FQJYVr.js";
16
16
  import { d as resolveGatewaySystemdServiceName, l as resolveGatewayLaunchAgentLabel } from "./constants-CXZus5hc.js";
17
- import { t as createDefaultDeps } from "./deps-CuoMPZaV.js";
17
+ import { t as createDefaultDeps } from "./deps-B9NUBox-.js";
18
18
  import { i as buildGatewayInstallPlan, r as isGatewayDaemonRuntime, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-TZ7Ncciq.js";
19
19
  import { o as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-Fxlow9XO.js";
20
20
  import { r as isSystemdUserServiceAvailable } from "./systemd-BTcdURXT.js";
@@ -1,4 +1,4 @@
1
- import { Mn as sendMessageWhatsApp, Pn as sendMessageSlack, bt as sendMessageIMessage, gn as sendMessageDiscord, hn as sendMessageTelegram } from "./reply-DrBjXO-c.js";
1
+ import { In as sendMessageWhatsApp, Rn as sendMessageSlack, St as sendMessageIMessage, _n as sendMessageTelegram, vn as sendMessageDiscord } from "./reply-CPC-ifZ8.js";
2
2
  import { b as sendMessageSignal } from "./deliver-3Ja7MnxP.js";
3
3
 
4
4
  //#region src/cli/deps.ts
@@ -1,4 +1,4 @@
1
- import { Dt as guardCancel, Mt as printWizardHeader, Pt as randomToken, St as applyWizardMetadata, Tr as loadModelCatalog, pt as loadSKYKOIPlugins } from "./reply-DrBjXO-c.js";
1
+ import { It as randomToken, Pt as printWizardHeader, ht as loadSKYKOIPlugins, kr as loadModelCatalog, kt as guardCancel, wt as applyWizardMetadata } from "./reply-CPC-ifZ8.js";
2
2
  import { O as getResolvedLoggerSettings, c as defaultRuntime } from "./subsystem-Dl1sS5S-.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-DcA9-j8b.js";
4
4
  import { i as buildAgentMainSessionKey, l as normalizeAgentId, r as DEFAULT_MAIN_KEY, t as DEFAULT_ACCOUNT_ID } from "./session-key-hGS8_hRJ.js";
@@ -25,8 +25,8 @@ import { t as resolveChannelDefaultAccountId } from "./helpers-Ccy5jhZP.js";
25
25
  import { n as logConfigUpdated } from "./logging-B818ac7o.js";
26
26
  import { t as note$1 } from "./note-ty8fydmp.js";
27
27
  import { t as applyPluginAutoEnable } from "./plugin-auto-enable-5KyNn7n8.js";
28
- import { i as resolveControlUiDistIndexPathForRoot, l as healthCommand, r as resolveControlUiDistIndexHealth, t as formatHealthCheckFailure } from "./health-format-CP_U225o.js";
29
- import { c as doctorShellCompletion, t as runGatewayUpdate } from "./update-runner-BiEGPxAO.js";
28
+ import { i as resolveControlUiDistIndexPathForRoot, l as healthCommand, r as resolveControlUiDistIndexHealth, t as formatHealthCheckFailure } from "./health-format-B9d1aDz3.js";
29
+ import { c as doctorShellCompletion, t as runGatewayUpdate } from "./update-runner-BHtCR1w6.js";
30
30
  import { i as resolveGatewayAuth } from "./auth-DN9iwG98.js";
31
31
  import { t as buildWorkspaceSkillStatus } from "./skills-status-BimvAz-k.js";
32
32
  import { a as repairLaunchAgentBootstrap, i as launchAgentPlistExists, n as isLaunchAgentListed, o as resolveGatewayLogPaths, r as isLaunchAgentLoaded, t as resolveGatewayService } from "./service-Fxlow9XO.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-Da1nmA4R.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
247
+ import("./run-main-CtdPMVPD.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-BAr32Lnc.js";
2
- import { Br as resolveAgentTimeoutMs, Ln as resolveAgentIdentity, c as runEmbeddedPiAgent } from "./reply-DrBjXO-c.js";
2
+ import { Vn as resolveAgentIdentity, Wr as resolveAgentTimeoutMs, c as runEmbeddedPiAgent } from "./reply-CPC-ifZ8.js";
3
3
  import "./subsystem-Dl1sS5S-.js";
4
4
  import "./paths-DcA9-j8b.js";
5
5
  import "./utils-DIctjiBL.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-BAr32Lnc.js";
3
- import { $ as writeRestartSentinel, $n as resolveTtsConfig, $t as getHookType, An as onAgentEvent, Ar as DEFAULT_INPUT_IMAGE_MIMES, B as runWithModelFallback, Bn as resolveUserTimeFormat, Br as resolveAgentTimeoutMs, Bt as buildControlUiAvatarUrl, C as resolveSessionModelRef, Cn as isAbortTrigger, Cr as isSystemEventContextChanged, D as readSessionPreviewItemsFromTranscript, Dn as clearAgentRunContext, Dr as DEFAULT_INPUT_FILE_MAX_CHARS, E as readSessionMessages, Er as DEFAULT_INPUT_FILE_MAX_BYTES, F as resolveOutboundTarget, Fr as DEFAULT_INPUT_TIMEOUT_MS, G as scheduleGatewaySigusr1Restart, Gn as triggerInternalHook, Gt as recordRemoteNodeInfo, H as authorizeGatewaySigusr1Restart, Hn as clearInternalHooks, Ht as resolveAssistantAvatarUrl, I as resolveSessionDeliveryTarget, Ir as extractFileContentFromSource, J as formatDoctorNonInteractiveHint, Jn as getTtsProvider, Jt as setSkillsRemoteRegistry, K as setGatewaySigusr1RestartPolicy, Kn as OPENAI_TTS_MODELS, Kt as refreshRemoteBinsForConnectedNodes, Ln as resolveAgentIdentity, Lr as extractImageContentFromSource, M as resolveOutboundSessionRoute, Mr as DEFAULT_INPUT_PDF_MAX_PAGES, Nn as normalizePollInput, Nr as DEFAULT_INPUT_PDF_MAX_PIXELS, O as resolveSessionTranscriptCandidates, On as emitAgentEvent, Or as DEFAULT_INPUT_FILE_MIMES, Ot as handleReset, Pr as DEFAULT_INPUT_PDF_MIN_TEXT_CHARS, Qn as resolveTtsAutoMode, Qt as detectSuspiciousPatterns, R as resetDirectoryCache, Rr as normalizeMimeList, S as resolveGatewaySessionStoreTarget, Sn as formatZonedTimestamp, Sr as enqueueSystemEvent, T as capArrayByJsonBytes, Tn as initSubagentRegistry, Tr as loadModelCatalog, U as consumeGatewaySigusr1RestartAuthorization, Un as createInternalHookEvent, Ut as getRemoteSkillEligibility, Vn as resolveUserTimezone, Vt as normalizeControlUiBasePath, W as isGatewaySigusr1RestartExternallyAllowed, Wn as registerInternalHook, Wt as primeRemoteSkillsCache, Xn as isTtsProviderConfigured, Xt as registerSkillsChangeListener, Y as formatRestartSentinelMessage, Yn as isTtsEnabled, Yt as getSkillsSnapshotVersion, Z as summarizeRestartSentinel, Zn as resolveTtsApiKey, Zt as buildSafeExternalPrompt, _ as resolveAnnounceTargetFromKey, _n as getChannelActivity, _r as lookupContextTokens, a as normalizeSendPolicy, an as normalizeGroupActivation, at as normalizePayloadToSystemText, b as loadCombinedSessionStoreForGateway, bn as dispatchInboundMessage, br as applyVerboseOverride, c as runEmbeddedPiAgent, cr as CommandLane, d as waitForEmbeddedPiRunEnd, dr as isDiagnosticsEnabled, en as isExternalHookSession, er as resolveTtsPrefsPath, et as normalizeCronJobCreate, fn as getLastHeartbeatEvent, fr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, ft as getPluginToolMeta, g as onCanvasChange, gr as stripHeartbeatToken, h as listCanvasUris, i as runCliAgent, in as createReplyPrefixOptions, ir as textToSpeech, it as normalizeOptionalText, j as ensureOutboundSessionEntry, jn as registerAgentRunContext, jr as DEFAULT_INPUT_MAX_REDIRECTS, k as stripEnvelopeFromMessages, kn as getAgentRunContext, kr as DEFAULT_INPUT_IMAGE_MAX_BYTES, l as abortEmbeddedPiRun, ln as buildHistoryContextFromEntries, lr as startDiagnosticHeartbeat, m as getCanvasResource, mt as loadProviderUsageSummary, n as getCliSessionId, nr as setTtsEnabled, nt as inferLegacyName, o as resolveSendPolicy, ot as normalizeRequiredName, p as createSKYKOITools, pn as onHeartbeatEvent, pt as loadSKYKOIPlugins, q as consumeRestartSentinel, qn as OPENAI_TTS_VOICES, qt as refreshRemoteNodeBins, r as setCliSessionId, rr as setTtsProvider, rt as normalizeOptionalAgentId, s as clearSessionQueues, sn as registerUnhandledRejectionHandler, sr as setCommandLaneConcurrency, st as migrateLegacyCronPayload, tr as resolveTtsProviderOrder, tt as normalizeCronJobPatch, un as resolveHeartbeatVisibility, ur as stopDiagnosticHeartbeat, ut as requestHeartbeatNow, v as listAgentsForGateway, vt as handleSlackHttpRequest, w as archiveFileOnDisk, wn as stopSubagentsForRequester, x as loadSessionEntry, xn as createReplyDispatcher, xr as parseVerboseOverride, y as listSessionsFromStore, yr as applyModelOverrideToSessionEntry, zn as formatUserTime, zt as CONTROL_UI_AVATAR_PREFIX } from "./reply-DrBjXO-c.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 findSubagentRunByChildSessionKey, Dr as isSystemEventContextChanged, E as archiveFileOnDisk, En as stopSubagentsForRequester, Er as enqueueSystemEvent, Fn as registerAgentRunContext, Fr as DEFAULT_INPUT_MAX_REDIRECTS, G as consumeGatewaySigusr1RestartAuthorization, Gn as resolveUserTimezone, Gt as getRemoteSkillEligibility, H as runWithModelFallback, 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 emitAgentEvent, Mr as DEFAULT_INPUT_FILE_MIMES, N as ensureOutboundSessionEntry, Nn as getAgentRunContext, Nr as DEFAULT_INPUT_IMAGE_MAX_BYTES, O as readSessionMessages, On as findSubagentRunByRunId, P as resolveOutboundSessionRoute, Pn as onAgentEvent, 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, Vn as resolveAgentIdentity, Vr as extractImageContentFromSource, Vt as CONTROL_UI_AVATAR_PREFIX, W as authorizeGatewaySigusr1Restart, Wn as resolveUserTimeFormat, Wr as resolveAgentTimeoutMs, 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 normalizeOptionalAgentId, b as listAgentsForGateway, br as stripHeartbeatToken, bt as handleSlackHttpRequest, c as runEmbeddedPiAgent, 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 runCliAgent, ir as resolveTtsPrefsPath, it as inferLegacyName, j as stripEnvelopeFromMessages, jn as clearAgentRunContext, jr as DEFAULT_INPUT_FILE_MAX_CHARS, k as readSessionPreviewItemsFromTranscript, kn as initSubagentRegistry, 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-CPC-ifZ8.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-Dl1sS5S-.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-DcA9-j8b.js";
6
6
  import { _ as isSubagentSessionKey, d as resolveAgentIdFromSessionKey, i as buildAgentMainSessionKey, l as normalizeAgentId, m as toAgentRequestSessionKey, n as DEFAULT_AGENT_ID, t as DEFAULT_ACCOUNT_ID, u as normalizeMainKey, v as parseAgentSessionKey } from "./session-key-hGS8_hRJ.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-BkpZ5AHD.js";
65
65
  import { t as parseAbsoluteTimeMs } from "./parse-CQc2Wki1.js";
66
66
  import { n as resolveMessageChannelSelection } from "./channel-selection-BZvCBj33.js";
67
- import { n as createOutboundSendDeps, t as createDefaultDeps } from "./deps-CuoMPZaV.js";
67
+ import { n as createOutboundSendDeps, t as createDefaultDeps } from "./deps-B9NUBox-.js";
68
68
  import { i as enableTailscaleServe, n as disableTailscaleServe, o as getTailnetHostname, r as enableTailscaleFunnel, t as disableTailscaleFunnel } from "./tailscale-CW2aNYJ9.js";
69
69
  import { t as ensureSKYKOICliOnPath } from "./path-env-DsAko5OY.js";
70
70
  import "./daemon-runtime-TZ7Ncciq.js";
@@ -73,16 +73,16 @@ import { t as resolveChannelDefaultAccountId } from "./helpers-Ccy5jhZP.js";
73
73
  import "./logging-B818ac7o.js";
74
74
  import "./note-ty8fydmp.js";
75
75
  import { t as WizardCancelledError } from "./prompts-CDHXxTNu.js";
76
- import { c as loadAgentIdentity, d as loadAgentIdentityFromWorkspace, i as applyAgentConfig, l as pruneAgentConfig, o as findAgentEntryIndex, r as getStatusSummary, s as listAgentEntries, t as runOnboardingWizard } from "./onboarding-BsuMrTSC.js";
77
- import { n as installSkill } from "./onboard-skills-K5_EXyQ3.js";
78
- import "./github-copilot-auth-G6bvEvVa.js";
79
- import "./onboard-channels-BveAYQCI.js";
76
+ import { c as loadAgentIdentity, d as loadAgentIdentityFromWorkspace, i as applyAgentConfig, l as pruneAgentConfig, o as findAgentEntryIndex, r as getStatusSummary, s as listAgentEntries, t as runOnboardingWizard } from "./onboarding-BWwHptYo.js";
77
+ import { n as installSkill } from "./onboard-skills-C51d1PXK.js";
78
+ import "./github-copilot-auth-EMnEPGRa.js";
79
+ import "./onboard-channels-avDJAMIU.js";
80
80
  import { r as buildChannelUiCatalog, t as applyPluginAutoEnable } from "./plugin-auto-enable-5KyNn7n8.js";
81
- import "./archive-DO8CzNyY.js";
81
+ import "./archive-DqIggqCs.js";
82
82
  import "./skill-scanner-BapBkMb3.js";
83
- import "./installs-C8NAGCka.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-CP_U225o.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-BiEGPxAO.js";
83
+ import "./installs-BFOaLQar.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-B9d1aDz3.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-BHtCR1w6.js";
86
86
  import { i as resolveGatewayAuth, n as authorizeGatewayConnect, r as isLocalDirectRequest, t as assertGatewayAuthConfigured } from "./auth-DN9iwG98.js";
87
87
  import { i as probeGateway } from "./audit-DJbnVckq.js";
88
88
  import "./table-BuHjFIeu.js";
@@ -92,16 +92,16 @@ import { p as resolveGatewayStateDir } from "./systemd-BTcdURXT.js";
92
92
  import "./service-audit-1lQL5Bfw.js";
93
93
  import "./node-service-CdjRxBgz.js";
94
94
  import "./channels-status-issues-BaXwaWXv.js";
95
- import "./register.subclis-4Pm3kMEO.js";
96
- import { a as createOutboundSendDeps$1, i as resolveAgentOutboundTarget, r as resolveAgentDeliveryPlan, t as agentCommand } from "./agent-BkiW2A67.js";
95
+ import "./register.subclis-8ULaMbdJ.js";
96
+ import { a as createOutboundSendDeps$1, i as resolveAgentOutboundTarget, r as resolveAgentDeliveryPlan, t as agentCommand } from "./agent-D-74_QQo.js";
97
97
  import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } from "./widearea-dns-C09wbKzV.js";
98
98
  import { n as discoverGatewayBeacons } from "./bonjour-discovery-DF5ll51G.js";
99
- import "./completion-cli-C5ZYkqzz.js";
99
+ import "./completion-cli-BpodzLoC.js";
100
100
  import { i as shouldIncludeHook, n as loadWorkspaceHookEntries, r as resolveHookConfig } from "./hooks-status-C1k8_Ivg.js";
101
101
  import "./tui-4rX82QpF.js";
102
102
  import { t as buildChannelAccountSnapshot } from "./status-DqH1H1Pt.js";
103
103
  import "./shared-32F_rZjy.js";
104
- import { a as runDaemonStop, i as runDaemonStart, n as runDaemonStatus, o as runDaemonUninstall, r as runDaemonRestart, s as runDaemonInstall } from "./daemon-cli-DkiguTK5.js";
104
+ import { a as runDaemonStop, i as runDaemonStart, n as runDaemonStatus, o as runDaemonUninstall, r as runDaemonRestart, s as runDaemonInstall } from "./daemon-cli-BEEkuigo.js";
105
105
  import { a as toOptionString, i as parsePort$1, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-vW-rMMy7.js";
106
106
  import { i as setGatewayWsLogStyle, n as logWs, r as summarizeAgentEventForWsLog, t as formatForLog } from "./ws-log-NQGsvlnZ.js";
107
107
  import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-BUClTRiB.js";
@@ -4129,7 +4129,7 @@ async function start(state) {
4129
4129
  }, "cron: started");
4130
4130
  });
4131
4131
  }
4132
- function stop(state) {
4132
+ function stop$1(state) {
4133
4133
  stopTimer(state);
4134
4134
  }
4135
4135
  async function status(state) {
@@ -4280,7 +4280,7 @@ var CronService = class {
4280
4280
  await start(this.state);
4281
4281
  }
4282
4282
  stop() {
4283
- stop(this.state);
4283
+ stop$1(this.state);
4284
4284
  }
4285
4285
  async status() {
4286
4286
  return await status(this.state);
@@ -10754,7 +10754,7 @@ const nodeHandlers = {
10754
10754
  const p = params;
10755
10755
  const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
10756
10756
  await respondUnavailableOnThrow(respond, async () => {
10757
- const { handleNodeEvent } = await import("./server-node-events-B7ucKVgu.js");
10757
+ const { handleNodeEvent } = await import("./server-node-events-ZUQo2ghO.js");
10758
10758
  const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
10759
10759
  await handleNodeEvent({
10760
10760
  deps: context.deps,
@@ -14642,6 +14642,181 @@ function createGatewayBroadcaster(params) {
14642
14642
  };
14643
14643
  }
14644
14644
 
14645
+ //#endregion
14646
+ //#region src/agents/subagent-fleet-telemetry.ts
14647
+ /**
14648
+ * Sub-agent fleet telemetry → fleet canvas bridge.
14649
+ *
14650
+ * Every tool call, text delta, and lifecycle transition inside a
14651
+ * sub-agent's run is mirrored into the parent's fleet canvas entry so
14652
+ * the SubAgentWidget renders live:
14653
+ * - tool_call → currentAction + log entry
14654
+ * - assistant text → streamingText
14655
+ * - lifecycle end → status flip to done / failed + clear streamingText
14656
+ *
14657
+ * Sub-agent events flow through `emitAgentEvent` exactly like top-level
14658
+ * runs; we identify them by runId lookup in the subagent registry. When
14659
+ * matched, we patch `canvas://session/{parentSessionKey}/fleet` via a
14660
+ * read-merge-write on just the entry for that sub-agent (id =
14661
+ * childSessionKey).
14662
+ *
14663
+ * Wired in once at gateway startup alongside wireCanvasBroadcast.
14664
+ */
14665
+ const MAX_LOG_ENTRIES = 24;
14666
+ const MAX_STREAMING_TEXT_LEN = 2e3;
14667
+ const lastTextByChild = /* @__PURE__ */ new Map();
14668
+ function patchFleetEntry(parentSessionKey, childSessionKey, patch) {
14669
+ const uri = canvasUri(parentSessionKey, "fleet");
14670
+ const prior = getCanvasResource(uri)?.content ?? {
14671
+ _type: "fleet",
14672
+ agents: []
14673
+ };
14674
+ const priorAgents = Array.isArray(prior.agents) ? prior.agents : [];
14675
+ const idx = priorAgents.findIndex((a) => a.id === childSessionKey);
14676
+ if (idx < 0) return;
14677
+ const merged = {
14678
+ ...priorAgents[idx],
14679
+ ...patch
14680
+ };
14681
+ const agents = [...priorAgents];
14682
+ agents[idx] = merged;
14683
+ try {
14684
+ replaceCanvasResource(uri, {
14685
+ _type: "fleet",
14686
+ agents
14687
+ });
14688
+ } catch {}
14689
+ }
14690
+ function appendLog(parentSessionKey, childSessionKey, entry) {
14691
+ const uri = canvasUri(parentSessionKey, "fleet");
14692
+ const prior = getCanvasResource(uri)?.content ?? {
14693
+ _type: "fleet",
14694
+ agents: []
14695
+ };
14696
+ const priorAgents = Array.isArray(prior.agents) ? prior.agents : [];
14697
+ const idx = priorAgents.findIndex((a) => a.id === childSessionKey);
14698
+ if (idx < 0) return;
14699
+ const existing = priorAgents[idx];
14700
+ const log = (existing.log ?? []).concat(entry).slice(-MAX_LOG_ENTRIES);
14701
+ const agents = [...priorAgents];
14702
+ agents[idx] = {
14703
+ ...existing,
14704
+ log,
14705
+ lastActivityAt: entry.ts
14706
+ };
14707
+ try {
14708
+ replaceCanvasResource(uri, {
14709
+ _type: "fleet",
14710
+ agents
14711
+ });
14712
+ } catch {}
14713
+ }
14714
+ function resolveSubagentContext(runId, sessionKey) {
14715
+ const byRun = findSubagentRunByRunId(runId);
14716
+ if (byRun) return byRun;
14717
+ if (sessionKey) return findSubagentRunByChildSessionKey(sessionKey);
14718
+ }
14719
+ let started = false;
14720
+ let stop = null;
14721
+ /** Idempotent. Call once at gateway startup. */
14722
+ function startSubagentFleetTelemetry() {
14723
+ if (started) return stop ?? (() => {});
14724
+ started = true;
14725
+ stop = onAgentEvent((evt) => {
14726
+ const record = resolveSubagentContext(evt.runId, evt.sessionKey);
14727
+ if (!record) return;
14728
+ const parent = record.requesterSessionKey;
14729
+ const child = record.childSessionKey;
14730
+ const data = evt.data;
14731
+ const now = evt.ts ?? Date.now();
14732
+ if (evt.stream === "lifecycle") {
14733
+ const phase = data?.phase ?? "";
14734
+ if (phase === "start") {
14735
+ patchFleetEntry(parent, child, {
14736
+ status: "working",
14737
+ lastActivityAt: now
14738
+ });
14739
+ appendLog(parent, child, {
14740
+ kind: "start",
14741
+ text: "Sub-agent started",
14742
+ ts: now
14743
+ });
14744
+ } else if (phase === "end") {
14745
+ const reason = data?.reason ?? "completed";
14746
+ patchFleetEntry(parent, child, {
14747
+ status: "done",
14748
+ streamingText: void 0,
14749
+ currentAction: void 0,
14750
+ lastActivityAt: now
14751
+ });
14752
+ appendLog(parent, child, {
14753
+ kind: "end",
14754
+ text: reason,
14755
+ ts: now
14756
+ });
14757
+ lastTextByChild.delete(child);
14758
+ } else if (phase === "error") {
14759
+ const errMsg = data?.error ?? data?.message ?? "error";
14760
+ patchFleetEntry(parent, child, {
14761
+ status: "failed",
14762
+ streamingText: void 0,
14763
+ currentAction: void 0,
14764
+ lastActivityAt: now
14765
+ });
14766
+ appendLog(parent, child, {
14767
+ kind: "error",
14768
+ text: errMsg,
14769
+ ts: now
14770
+ });
14771
+ lastTextByChild.delete(child);
14772
+ }
14773
+ return;
14774
+ }
14775
+ if (evt.stream === "tool") {
14776
+ const phase = data?.phase ?? "";
14777
+ const toolName = data?.name ?? "tool";
14778
+ if (phase === "start") {
14779
+ const args = data?.args ?? {};
14780
+ const description = data?.description ?? args._activity ?? args._description ?? toolName;
14781
+ patchFleetEntry(parent, child, {
14782
+ currentAction: `${toolName}: ${String(description).slice(0, 140)}`,
14783
+ lastActivityAt: now
14784
+ });
14785
+ appendLog(parent, child, {
14786
+ kind: "tool",
14787
+ text: String(description).slice(0, 200),
14788
+ ts: now
14789
+ });
14790
+ } else if (phase === "result") patchFleetEntry(parent, child, {
14791
+ currentAction: void 0,
14792
+ lastActivityAt: now
14793
+ });
14794
+ return;
14795
+ }
14796
+ if (evt.stream === "assistant") {
14797
+ const fullText = data?.text;
14798
+ const delta = data?.delta;
14799
+ const prev = lastTextByChild.get(child) ?? "";
14800
+ let next = prev;
14801
+ if (fullText !== void 0 && fullText.length > prev.length) next = fullText;
14802
+ else if (delta) next = prev + delta;
14803
+ if (next !== prev) {
14804
+ lastTextByChild.set(child, next);
14805
+ patchFleetEntry(parent, child, {
14806
+ streamingText: next.length > MAX_STREAMING_TEXT_LEN ? next.slice(-MAX_STREAMING_TEXT_LEN) : next,
14807
+ lastActivityAt: now
14808
+ });
14809
+ }
14810
+ }
14811
+ });
14812
+ return () => {
14813
+ stop?.();
14814
+ started = false;
14815
+ stop = null;
14816
+ lastTextByChild.clear();
14817
+ };
14818
+ }
14819
+
14645
14820
  //#endregion
14646
14821
  //#region src/agents/identity-avatar.ts
14647
14822
  const ALLOWED_AVATAR_EXTS = new Set([
@@ -17184,6 +17359,7 @@ async function createGatewayRuntimeState(params) {
17184
17359
  const chatAbortControllers = /* @__PURE__ */ new Map();
17185
17360
  const toolEventRecipients = createToolEventRecipientRegistry();
17186
17361
  wireCanvasBroadcast(broadcastToConnIds);
17362
+ startSubagentFleetTelemetry();
17187
17363
  return {
17188
17364
  canvasHost,
17189
17365
  httpServer,
@@ -1,4 +1,4 @@
1
- import { pt as loadSKYKOIPlugins } from "./reply-DrBjXO-c.js";
1
+ import { ht as loadSKYKOIPlugins } from "./reply-CPC-ifZ8.js";
2
2
  import { t as createSubsystemLogger } from "./subsystem-Dl1sS5S-.js";
3
3
  import { l as normalizeAgentId } from "./session-key-hGS8_hRJ.js";
4
4
  import { b as sleep } from "./utils-DIctjiBL.js";
@@ -1,4 +1,4 @@
1
- import { N as resolveHeartbeatDeliveryTarget, P as resolveHeartbeatSenderContext, Rn as resolveEffectiveMessagesConfig, Vn as resolveUserTimezone, ar as enqueueCommandInLane, cr as CommandLane, dn as emitHeartbeatEvent, dt as setHeartbeatWakeHandler, fr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, gr as stripHeartbeatToken, hr as resolveHeartbeatPrompt$1, mn as resolveIndicatorType, mr as isHeartbeatContentEffectivelyEmpty, or as getQueueSize, pr as DEFAULT_HEARTBEAT_EVERY, t as getReplyFromConfig, u as isEmbeddedPiRunActive, un as resolveHeartbeatVisibility, ut as requestHeartbeatNow, wr as peekSystemEvents } from "./reply-DrBjXO-c.js";
1
+ import { F as resolveHeartbeatDeliveryTarget, Gn as resolveUserTimezone, Hn as resolveEffectiveMessagesConfig, I as resolveHeartbeatSenderContext, Or as peekSystemEvents, _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-CPC-ifZ8.js";
2
2
  import { C as colorize, T as theme, c as defaultRuntime, m as info, t as createSubsystemLogger, w as isRich } from "./subsystem-Dl1sS5S-.js";
3
3
  import { d as resolveAgentIdFromSessionKey, h as toAgentStoreSessionKey, l as normalizeAgentId } from "./session-key-hGS8_hRJ.js";
4
4
  import { t as runCommandWithTimeout } from "./exec-CToLomNk.js";
@@ -1,5 +1,5 @@
1
1
  import "./pi-embedded-helpers-BAr32Lnc.js";
2
- import "./reply-DrBjXO-c.js";
2
+ import "./reply-CPC-ifZ8.js";
3
3
  import { T as theme, c as defaultRuntime } from "./subsystem-Dl1sS5S-.js";
4
4
  import "./paths-DcA9-j8b.js";
5
5
  import { h as resolveUserPath, t as CONFIG_DIR, y as shortenHomePath } from "./utils-DIctjiBL.js";
@@ -55,10 +55,10 @@ import "./satisfies-Ch9z1ETk.js";
55
55
  import "./session-cost-usage-CJ5Inqel.js";
56
56
  import "./control-service-BkpZ5AHD.js";
57
57
  import "./channel-selection-BZvCBj33.js";
58
- import { a as resolvePackedRootDir, i as resolveArchiveKind, n as fileExists, r as readJsonFile, t as extractArchive } from "./archive-DO8CzNyY.js";
58
+ import { a as resolvePackedRootDir, i as resolveArchiveKind, n as fileExists, r as readJsonFile, t as extractArchive } from "./archive-DqIggqCs.js";
59
59
  import { t as renderTable } from "./table-BuHjFIeu.js";
60
60
  import { a as parseFrontmatter, n as loadWorkspaceHookEntries, t as buildWorkspaceHookStatus } from "./hooks-status-C1k8_Ivg.js";
61
- import { t as buildPluginStatusReport } from "./status-PuO1mF0e.js";
61
+ import { t as buildPluginStatusReport } from "./status-CYlhurBU.js";
62
62
  import fs from "node:fs";
63
63
  import path from "node:path";
64
64
  import os from "node:os";