skykoi 2026.3.113 → 2026.3.114

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 (39) hide show
  1. package/dist/{agent-W16M_JVV.js → agent-BdsKQ4Ra.js} +2 -2
  2. package/dist/{archive-BwcWGib9.js → archive-CZ2LAwkV.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-DFIv57w6.js → channel-options-DP7jo8uF.js} +1 -1
  6. package/dist/{channels-cli-Dy_YqO_G.js → channels-cli-B67G8Utv.js} +6 -6
  7. package/dist/cli/daemon-cli.js +1 -1
  8. package/dist/{cli-mjv2gAet.js → cli-Ci82hWcO.js} +1 -1
  9. package/dist/{completion-cli-DMRQpSpH.js → completion-cli-Cg6eOXgx.js} +1 -1
  10. package/dist/{config-guard-TIFy-6hy.js → config-guard-DYRuuYTQ.js} +13 -13
  11. package/dist/{configure-ShYwWLdM.js → configure-BHvHiWLB.js} +4 -4
  12. package/dist/{daemon-cli-Bw_dP53Z.js → daemon-cli-BHFufs5Z.js} +2 -2
  13. package/dist/{deps-DmfzhPN1.js → deps-DTEDh0iq.js} +1 -1
  14. package/dist/{doctor-CO3PPV0J.js → doctor-B5koTf-K.js} +3 -3
  15. package/dist/entry.js +1 -1
  16. package/dist/extension-api.js +1 -1
  17. package/dist/{gateway-cli-CYSBA8bi.js → gateway-cli-CRaIp5Mk.js} +15 -15
  18. package/dist/{github-copilot-auth-1Dk5IIXu.js → github-copilot-auth-CSOZuoNZ.js} +1 -1
  19. package/dist/{health-format-CMb_0rCe.js → health-format-DJzPhZ5h.js} +1 -1
  20. package/dist/{hooks-cli-BUfz4vro.js → hooks-cli-C2kxqffx.js} +3 -3
  21. package/dist/index.js +19 -19
  22. package/dist/{installs-qktJXsvc.js → installs-PW81srKN.js} +1 -1
  23. package/dist/{models-cli-DAxauNWO.js → models-cli-DK7V8Y6t.js} +2 -2
  24. package/dist/{onboard-channels-DyMJgLeh.js → onboard-channels-CHYlDu7i.js} +2 -2
  25. package/dist/{onboard-skills-BRB4QIGk.js → onboard-skills-Dsmd9fTW.js} +3 -3
  26. package/dist/{onboarding-QQuNSzOR.js → onboarding-BAo-J0CM.js} +6 -6
  27. package/dist/{plugin-registry-DHffbSib.js → plugin-registry-De2ftrJy.js} +1 -1
  28. package/dist/plugin-sdk/index.js +7 -7
  29. package/dist/{plugins-cli-yyXpMTwr.js → plugins-cli-C3mqCH8r.js} +5 -5
  30. package/dist/{program-DedxW59q.js → program-BKKfR23G.js} +4 -4
  31. package/dist/{register.subclis-CcGbAbQ8.js → register.subclis-DI1CACuG.js} +10 -10
  32. package/dist/{reply-DSt9Rh5Y.js → reply-CeYfN5vF.js} +48 -23
  33. package/dist/{run-main-CYoYGNr_.js → run-main-BmlMbxqZ.js} +20 -20
  34. package/dist/{server-node-events-8LwfRYhM.js → server-node-events-DR_qBu8o.js} +3 -3
  35. package/dist/{status-C3EYTRuj.js → status-BCwsVgZm.js} +1 -1
  36. package/dist/{update-BK8LYpYE.js → update-Df7ATls6.js} +1 -1
  37. package/dist/{update-cli-vHmrovz_.js → update-cli-DH4INzZK.js} +11 -11
  38. package/dist/{update-runner-DNMaKyp1.js → update-runner-CPUsf4hg.js} +3 -3
  39. 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-D5gz7ahu.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-DSt9Rh5Y.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-CeYfN5vF.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-DDU96v2Z.js";
15
15
  import { l as hasNonzeroUsage } from "./session-cost-usage-CJ5Inqel.js";
16
- import { t as createDefaultDeps } from "./deps-DmfzhPN1.js";
16
+ import { t as createDefaultDeps } from "./deps-DTEDh0iq.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 { xt as require_inherits } from "./reply-DSt9Rh5Y.js";
2
+ import { xt as require_inherits } from "./reply-CeYfN5vF.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.113",
3
- "commit": "f94d65693a978eb9074a31151f758770cc58fab0",
4
- "builtAt": "2026-04-13T01:29:59.379Z"
2
+ "version": "2026.3.114",
3
+ "commit": "d9d933a2682b3aae1c3c5dc55a532d5c4c609493",
4
+ "builtAt": "2026-04-13T02:01:53.881Z"
5
5
  }
@@ -1 +1 @@
1
- 1f0752e373dcfbd2cb492b34911737108086421520027a006ba731000b5e7d27
1
+ 71616dcb389ce71665d2439bb6c19b16812bce0fe58fde65c895370535819c4d
@@ -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-ClD8Hu9T.js";
5
- import { t as ensurePluginRegistryLoaded } from "./plugin-registry-DHffbSib.js";
5
+ import { t as ensurePluginRegistryLoaded } from "./plugin-registry-De2ftrJy.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-D5gz7ahu.js";
2
- import { _t as formatUsageReportLines, bn as parseDiscordTarget, gt as loadProviderUsageSummary, xn as fetchChannelPermissionsDiscord, zn as createSlackWebClient } from "./reply-DSt9Rh5Y.js";
2
+ import { _t as formatUsageReportLines, bn as parseDiscordTarget, gt as loadProviderUsageSummary, xn as fetchChannelPermissionsDiscord, zn as createSlackWebClient } from "./reply-CeYfN5vF.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-DyMJgLeh.js";
63
+ import { i as reloadOnboardingPluginRegistry, n as setupChannels, r as ensureOnboardingPluginInstalled } from "./onboard-channels-CHYlDu7i.js";
64
64
  import { i as listChannelPluginCatalogEntries } from "./plugin-auto-enable-ClD8Hu9T.js";
65
- import "./archive-BwcWGib9.js";
65
+ import "./archive-CZ2LAwkV.js";
66
66
  import "./skill-scanner-BapBkMb3.js";
67
- import "./installs-qktJXsvc.js";
67
+ import "./installs-PW81srKN.js";
68
68
  import { t as collectChannelStatusIssues } from "./channels-status-issues-BaXwaWXv.js";
69
- import { n as hasExplicitOptions } from "./plugin-registry-DHffbSib.js";
70
- import { t as formatCliChannelOptions } from "./channel-options-DFIv57w6.js";
69
+ import { n as hasExplicitOptions } from "./plugin-registry-De2ftrJy.js";
70
+ import { t as formatCliChannelOptions } from "./channel-options-DP7jo8uF.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-Bw_dP53Z.js";
2
+ export { registerDaemonCli, runDaemonInstall, runDaemonRestart, runDaemonStart, runDaemonStatus, runDaemonStop, runDaemonUninstall } from "../daemon-cli-BHFufs5Z.js";
@@ -1,5 +1,5 @@
1
1
  import "./pi-embedded-helpers-D5gz7ahu.js";
2
- import { ht as loadSKYKOIPlugins } from "./reply-DSt9Rh5Y.js";
2
+ import { ht as loadSKYKOIPlugins } from "./reply-CeYfN5vF.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-CcGbAbQ8.js";
3
+ import { n as registerSubCliByName, t as getSubCliEntries } from "./register.subclis-DI1CACuG.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-DSt9Rh5Y.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-CeYfN5vF.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-DmfzhPN1.js";
22
+ import { t as createDefaultDeps } from "./deps-DTEDh0iq.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-vtoMFexx.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-QQuNSzOR.js";
29
- import { d as applyAuthChoice, f as applyOpenAIConfig, h as promptAuthChoiceGrouped, m as applyGoogleGeminiModelDefault, p as upsertSharedEnvVar, u as warnIfModelConfigLooksOff } from "./onboard-skills-BRB4QIGk.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-1Dk5IIXu.js";
31
- import { n as setupChannels } from "./onboard-channels-DyMJgLeh.js";
32
- import { l as healthCommand } from "./health-format-CMb_0rCe.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-BAo-J0CM.js";
29
+ import { d as applyAuthChoice, f as applyOpenAIConfig, h as promptAuthChoiceGrouped, m as applyGoogleGeminiModelDefault, p as upsertSharedEnvVar, u as warnIfModelConfigLooksOff } from "./onboard-skills-Dsmd9fTW.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-CSOZuoNZ.js";
31
+ import { n as setupChannels } from "./onboard-channels-CHYlDu7i.js";
32
+ import { l as healthCommand } from "./health-format-DJzPhZ5h.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-CcGbAbQ8.js";
36
+ import { l as getVerboseFlag, o as getFlagValue, r as registerSubCliCommands, s as getPositiveIntFlagValue, u as hasFlag } from "./register.subclis-DI1CACuG.js";
37
37
  import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-D4VaaKAU.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-W16M_JVV.js";
40
- import { n as hasExplicitOptions, t as ensurePluginRegistryLoaded } from "./plugin-registry-DHffbSib.js";
39
+ import { a as createOutboundSendDeps, n as resolveSessionKeyForRequest, t as agentCommand } from "./agent-BdsKQ4Ra.js";
40
+ import { n as hasExplicitOptions, t as ensurePluginRegistryLoaded } from "./plugin-registry-De2ftrJy.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-ShYwWLdM.js";
42
+ import { i as CONFIGURE_WIZARD_SECTIONS, n as configureCommand, r as configureCommandWithSections } from "./configure-BHvHiWLB.js";
43
43
  import { n as ensureSystemdUserLingerNonInteractive } from "./systemd-linger-BSA8MnYc.js";
44
- import { n as loadAndMaybeMigrateDoctorConfig, t as doctorCommand } from "./doctor-CO3PPV0J.js";
44
+ import { n as loadAndMaybeMigrateDoctorConfig, t as doctorCommand } from "./doctor-B5koTf-K.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-ShYwWLdM.js").then((n) => n.t);
2795
+ const { CONFIGURE_WIZARD_SECTIONS, configureCommand, configureCommandWithSections } = await import("./configure-BHvHiWLB.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-DSt9Rh5Y.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-CeYfN5vF.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-BRB4QIGk.js";
19
- import { n as setupChannels, t as noteChannelStatus } from "./onboard-channels-DyMJgLeh.js";
20
- import { l as healthCommand, n as ensureControlUiAssetsBuilt, t as formatHealthCheckFailure } from "./health-format-CMb_0rCe.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-Dsmd9fTW.js";
19
+ import { n as setupChannels, t as noteChannelStatus } from "./onboard-channels-CHYlDu7i.js";
20
+ import { l as healthCommand, n as ensureControlUiAssetsBuilt, t as formatHealthCheckFailure } from "./health-format-DJzPhZ5h.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 { Lt as resolveControlUiLinks } from "./reply-DSt9Rh5Y.js";
2
+ import { Lt as resolveControlUiLinks } from "./reply-CeYfN5vF.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-DwOdrKsR.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-DmfzhPN1.js";
17
+ import { t as createDefaultDeps } from "./deps-DTEDh0iq.js";
18
18
  import { i as buildGatewayInstallPlan, r as isGatewayDaemonRuntime, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-vtoMFexx.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 { In as sendMessageWhatsApp, Rn as sendMessageSlack, St as sendMessageIMessage, _n as sendMessageTelegram, vn as sendMessageDiscord } from "./reply-DSt9Rh5Y.js";
1
+ import { In as sendMessageWhatsApp, Rn as sendMessageSlack, St as sendMessageIMessage, _n as sendMessageTelegram, vn as sendMessageDiscord } from "./reply-CeYfN5vF.js";
2
2
  import { b as sendMessageSignal } from "./deliver-DDU96v2Z.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-DSt9Rh5Y.js";
1
+ import { It as randomToken, Pt as printWizardHeader, ht as loadSKYKOIPlugins, kr as loadModelCatalog, kt as guardCancel, wt as applyWizardMetadata } from "./reply-CeYfN5vF.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-ClD8Hu9T.js";
28
- import { i as resolveControlUiDistIndexPathForRoot, l as healthCommand, r as resolveControlUiDistIndexHealth, t as formatHealthCheckFailure } from "./health-format-CMb_0rCe.js";
29
- import { c as doctorShellCompletion, t as runGatewayUpdate } from "./update-runner-DNMaKyp1.js";
28
+ import { i as resolveControlUiDistIndexPathForRoot, l as healthCommand, r as resolveControlUiDistIndexHealth, t as formatHealthCheckFailure } from "./health-format-DJzPhZ5h.js";
29
+ import { c as doctorShellCompletion, t as runGatewayUpdate } from "./update-runner-CPUsf4hg.js";
30
30
  import { i as resolveGatewayAuth } from "./auth-CMhFyIcG.js";
31
31
  import { t as buildWorkspaceSkillStatus } from "./skills-status-BSS2etLw.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-CYoYGNr_.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
247
+ import("./run-main-BmlMbxqZ.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-D5gz7ahu.js";
2
- import { Vn as resolveAgentIdentity, Wr as resolveAgentTimeoutMs, c as runEmbeddedPiAgent } from "./reply-DSt9Rh5Y.js";
2
+ import { Vn as resolveAgentIdentity, Wr as resolveAgentTimeoutMs, c as runEmbeddedPiAgent } from "./reply-CeYfN5vF.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-D5gz7ahu.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-DSt9Rh5Y.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-CeYfN5vF.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-BonAEJ5j.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-DmfzhPN1.js";
67
+ import { n as createOutboundSendDeps, t as createDefaultDeps } from "./deps-DTEDh0iq.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-vtoMFexx.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-QQuNSzOR.js";
77
- import { n as installSkill } from "./onboard-skills-BRB4QIGk.js";
78
- import "./github-copilot-auth-1Dk5IIXu.js";
79
- import "./onboard-channels-DyMJgLeh.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-BAo-J0CM.js";
77
+ import { n as installSkill } from "./onboard-skills-Dsmd9fTW.js";
78
+ import "./github-copilot-auth-CSOZuoNZ.js";
79
+ import "./onboard-channels-CHYlDu7i.js";
80
80
  import { r as buildChannelUiCatalog, t as applyPluginAutoEnable } from "./plugin-auto-enable-ClD8Hu9T.js";
81
- import "./archive-BwcWGib9.js";
81
+ import "./archive-CZ2LAwkV.js";
82
82
  import "./skill-scanner-BapBkMb3.js";
83
- import "./installs-qktJXsvc.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-CMb_0rCe.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-DNMaKyp1.js";
83
+ import "./installs-PW81srKN.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-DJzPhZ5h.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-CPUsf4hg.js";
86
86
  import { i as resolveGatewayAuth, n as authorizeGatewayConnect, r as isLocalDirectRequest, t as assertGatewayAuthConfigured } from "./auth-CMhFyIcG.js";
87
87
  import { i as probeGateway } from "./audit-CgQYEpCL.js";
88
88
  import "./table-BuHjFIeu.js";
@@ -92,16 +92,16 @@ import { p as resolveGatewayStateDir } from "./systemd-BTcdURXT.js";
92
92
  import "./service-audit-CO_WVcvf.js";
93
93
  import "./node-service-CdjRxBgz.js";
94
94
  import "./channels-status-issues-BaXwaWXv.js";
95
- import "./register.subclis-CcGbAbQ8.js";
96
- import { a as createOutboundSendDeps$1, i as resolveAgentOutboundTarget, r as resolveAgentDeliveryPlan, t as agentCommand } from "./agent-W16M_JVV.js";
95
+ import "./register.subclis-DI1CACuG.js";
96
+ import { a as createOutboundSendDeps$1, i as resolveAgentOutboundTarget, r as resolveAgentDeliveryPlan, t as agentCommand } from "./agent-BdsKQ4Ra.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-DMRQpSpH.js";
99
+ import "./completion-cli-Cg6eOXgx.js";
100
100
  import { i as shouldIncludeHook, n as loadWorkspaceHookEntries, r as resolveHookConfig } from "./hooks-status-Bk7yFv90.js";
101
101
  import "./tui-0wcL5_de.js";
102
102
  import { t as buildChannelAccountSnapshot } from "./status-DqH1H1Pt.js";
103
103
  import "./shared-BzZOYgS0.js";
104
- import { a as runDaemonStop, i as runDaemonStart, n as runDaemonStatus, o as runDaemonUninstall, r as runDaemonRestart, s as runDaemonInstall } from "./daemon-cli-Bw_dP53Z.js";
104
+ import { a as runDaemonStop, i as runDaemonStart, n as runDaemonStatus, o as runDaemonUninstall, r as runDaemonRestart, s as runDaemonInstall } from "./daemon-cli-BHFufs5Z.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-Ja2q39R7.js";
@@ -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-8LwfRYhM.js");
10757
+ const { handleNodeEvent } = await import("./server-node-events-DR_qBu8o.js");
10758
10758
  const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
10759
10759
  await handleNodeEvent({
10760
10760
  deps: context.deps,
@@ -1,4 +1,4 @@
1
- import { ht as loadSKYKOIPlugins } from "./reply-DSt9Rh5Y.js";
1
+ import { ht as loadSKYKOIPlugins } from "./reply-CeYfN5vF.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 { 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-DSt9Rh5Y.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-CeYfN5vF.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-D5gz7ahu.js";
2
- import "./reply-DSt9Rh5Y.js";
2
+ import "./reply-CeYfN5vF.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-BonAEJ5j.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-BwcWGib9.js";
58
+ import { a as resolvePackedRootDir, i as resolveArchiveKind, n as fileExists, r as readJsonFile, t as extractArchive } from "./archive-CZ2LAwkV.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-Bk7yFv90.js";
61
- import { t as buildPluginStatusReport } from "./status-C3EYTRuj.js";
61
+ import { t as buildPluginStatusReport } from "./status-BCwsVgZm.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-D5gz7ahu.js";
3
- import { Ur as applyTemplate, an as monitorWebChannel, cn as installUnhandledRejectionHandler, t as getReplyFromConfig, un as waitForever } from "./reply-DSt9Rh5Y.js";
3
+ import { Ur as applyTemplate, an as monitorWebChannel, cn as installUnhandledRejectionHandler, t as getReplyFromConfig, un as waitForever } from "./reply-CeYfN5vF.js";
4
4
  import { r as enableConsoleCapture } from "./subsystem-Dl1sS5S-.js";
5
5
  import "./paths-DcA9-j8b.js";
6
6
  import { S as toWhatsappJid, d as normalizeE164, n as assertWebChannel } from "./utils-DIctjiBL.js";
@@ -55,27 +55,27 @@ import "./satisfies-Ch9z1ETk.js";
55
55
  import "./session-cost-usage-CJ5Inqel.js";
56
56
  import "./control-service-BonAEJ5j.js";
57
57
  import "./channel-selection-BZvCBj33.js";
58
- import { t as createDefaultDeps } from "./deps-DmfzhPN1.js";
58
+ import { t as createDefaultDeps } from "./deps-DTEDh0iq.js";
59
59
  import { l as ensureBinary, u as promptYesNo } from "./tailscale-CW2aNYJ9.js";
60
60
  import { t as loadDotEnv } from "./dotenv-DlZCd7a6.js";
61
61
  import { t as isMainModule } from "./is-main-DY9Hjhai.js";
62
62
  import { t as ensureSKYKOICliOnPath } from "./path-env-DsAko5OY.js";
63
63
  import { g as assertSupportedRuntime } from "./daemon-runtime-vtoMFexx.js";
64
64
  import "./ports-CCPpWmHD.js";
65
- import "./config-guard-TIFy-6hy.js";
65
+ import "./config-guard-DYRuuYTQ.js";
66
66
  import "./logging-B818ac7o.js";
67
67
  import "./note-ty8fydmp.js";
68
68
  import "./clack-prompter-D03d7Olp.js";
69
- import "./onboarding-QQuNSzOR.js";
70
- import "./onboard-skills-BRB4QIGk.js";
71
- import "./github-copilot-auth-1Dk5IIXu.js";
72
- import "./onboard-channels-DyMJgLeh.js";
69
+ import "./onboarding-BAo-J0CM.js";
70
+ import "./onboard-skills-Dsmd9fTW.js";
71
+ import "./github-copilot-auth-CSOZuoNZ.js";
72
+ import "./onboard-channels-CHYlDu7i.js";
73
73
  import "./plugin-auto-enable-ClD8Hu9T.js";
74
- import "./archive-BwcWGib9.js";
74
+ import "./archive-CZ2LAwkV.js";
75
75
  import "./skill-scanner-BapBkMb3.js";
76
- import "./installs-qktJXsvc.js";
77
- import "./health-format-CMb_0rCe.js";
78
- import "./update-runner-DNMaKyp1.js";
76
+ import "./installs-PW81srKN.js";
77
+ import "./health-format-DJzPhZ5h.js";
78
+ import "./update-runner-CPUsf4hg.js";
79
79
  import "./auth-CMhFyIcG.js";
80
80
  import "./audit-CgQYEpCL.js";
81
81
  import "./table-BuHjFIeu.js";
@@ -85,22 +85,22 @@ import "./systemd-BTcdURXT.js";
85
85
  import "./service-audit-CO_WVcvf.js";
86
86
  import "./node-service-CdjRxBgz.js";
87
87
  import "./channels-status-issues-BaXwaWXv.js";
88
- import "./register.subclis-CcGbAbQ8.js";
88
+ import "./register.subclis-DI1CACuG.js";
89
89
  import "./gateway-rpc-D4VaaKAU.js";
90
90
  import "./help-format-rUxU9jE_.js";
91
- import "./agent-W16M_JVV.js";
92
- import "./plugin-registry-DHffbSib.js";
93
- import "./configure-ShYwWLdM.js";
91
+ import "./agent-BdsKQ4Ra.js";
92
+ import "./plugin-registry-De2ftrJy.js";
93
+ import "./configure-BHvHiWLB.js";
94
94
  import "./systemd-linger-BSA8MnYc.js";
95
95
  import "./widearea-dns-C09wbKzV.js";
96
96
  import "./bonjour-discovery-DF5ll51G.js";
97
97
  import "./auth-health-Cg7cWRH-.js";
98
- import "./doctor-CO3PPV0J.js";
99
- import "./completion-cli-DMRQpSpH.js";
98
+ import "./doctor-B5koTf-K.js";
99
+ import "./completion-cli-Cg6eOXgx.js";
100
100
  import "./hooks-status-Bk7yFv90.js";
101
101
  import "./tui-0wcL5_de.js";
102
- import "./channel-options-DFIv57w6.js";
103
- import { n as buildProgram } from "./program-DedxW59q.js";
102
+ import "./channel-options-DP7jo8uF.js";
103
+ import { n as buildProgram } from "./program-BKKfR23G.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-DIctjiBL.js";
2
2
  import { t as runCommandWithTimeout } from "./exec-CToLomNk.js";
3
3
  import { a as MANIFEST_KEY } from "./manifest-registry-5tS0nRed.js";
4
- import { a as resolvePackedRootDir, i as resolveArchiveKind, n as fileExists, r as readJsonFile, t as extractArchive } from "./archive-BwcWGib9.js";
4
+ import { a as resolvePackedRootDir, i as resolveArchiveKind, n as fileExists, r as readJsonFile, t as extractArchive } from "./archive-CZ2LAwkV.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 "./pi-embedded-helpers-D5gz7ahu.js";
2
- import { Nt as openUrl, U as describeFailoverError, c as runEmbeddedPiAgent, gt as loadProviderUsageSummary, kr as loadModelCatalog, vt as formatUsageWindowSummary, yt as resolveUsageProviderId } from "./reply-DSt9Rh5Y.js";
2
+ import { Nt as openUrl, U as describeFailoverError, c as runEmbeddedPiAgent, gt as loadProviderUsageSummary, kr as loadModelCatalog, vt as formatUsageWindowSummary, yt as resolveUsageProviderId } from "./reply-CeYfN5vF.js";
3
3
  import { C as colorize, T as theme, c as defaultRuntime, w as isRich$1 } from "./subsystem-Dl1sS5S-.js";
4
4
  import { t as CONFIG_PATH } from "./paths-DcA9-j8b.js";
5
5
  import { y as shortenHomePath } from "./utils-DIctjiBL.js";
@@ -59,7 +59,7 @@ import "./channel-selection-BZvCBj33.js";
59
59
  import { n as logConfigUpdated } from "./logging-B818ac7o.js";
60
60
  import "./note-ty8fydmp.js";
61
61
  import { t as createClackPrompter } from "./clack-prompter-D03d7Olp.js";
62
- import { a as normalizeAlias, c as updateConfig, d as resolvePluginProviders, i as formatTokenK, l as createVpsAwareOAuthHandlers, n as ensureFlagCompatibility, o as resolveKnownAgentId, pt as validateAnthropicSetupToken, r as formatMs, s as resolveModelTarget, t as githubCopilotLoginCommand, u as isRemoteEnvironment, v as applyAuthProfileConfig } from "./github-copilot-auth-1Dk5IIXu.js";
62
+ import { a as normalizeAlias, c as updateConfig, d as resolvePluginProviders, i as formatTokenK, l as createVpsAwareOAuthHandlers, n as ensureFlagCompatibility, o as resolveKnownAgentId, pt as validateAnthropicSetupToken, r as formatMs, s as resolveModelTarget, t as githubCopilotLoginCommand, u as isRemoteEnvironment, v as applyAuthProfileConfig } from "./github-copilot-auth-CSOZuoNZ.js";
63
63
  import { t as renderTable } from "./table-BuHjFIeu.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-Cg7cWRH-.js";
@@ -1,4 +1,4 @@
1
- import { ht as loadSKYKOIPlugins } from "./reply-DSt9Rh5Y.js";
1
+ import { ht as loadSKYKOIPlugins } from "./reply-CeYfN5vF.js";
2
2
  import { F as formatChannelSelectionLine, L as listChatChannels, P as formatChannelPrimerLine, t as createSubsystemLogger } from "./subsystem-Dl1sS5S-.js";
3
3
  import { c as normalizeAccountId, t as DEFAULT_ACCOUNT_ID } from "./session-key-hGS8_hRJ.js";
4
4
  import { c as resolveDefaultAgentId, s as resolveAgentWorkspaceDir } from "./agent-scope-DrL2uTp9.js";
@@ -7,7 +7,7 @@ import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-CvpPbU
7
7
  import { t as formatDocsLink } from "./links-yjT27ApF.js";
8
8
  import { t as resolveChannelDefaultAccountId } from "./helpers-Ccy5jhZP.js";
9
9
  import { i as listChannelPluginCatalogEntries, n as isChannelConfigured } from "./plugin-auto-enable-ClD8Hu9T.js";
10
- import { n as installPluginFromNpmSpec, t as recordPluginInstall } from "./installs-qktJXsvc.js";
10
+ import { n as installPluginFromNpmSpec, t as recordPluginInstall } from "./installs-PW81srKN.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-DSt9Rh5Y.js";
1
+ import { Nt as openUrl, Rt as resolveNodeManagerOptions, Tt as detectBinary, kr as loadModelCatalog } from "./reply-CeYfN5vF.js";
2
2
  import { f as resolveConfigDir, h as resolveUserPath, s as ensureDir, t as CONFIG_DIR } from "./utils-DIctjiBL.js";
3
3
  import { t as runCommandWithTimeout } from "./exec-CToLomNk.js";
4
4
  import { a as resolveAgentModelPrimary, c as resolveDefaultAgentId, r as resolveAgentDir, s as resolveAgentWorkspaceDir, w as resolveDefaultAgentWorkspaceDir } from "./agent-scope-DrL2uTp9.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-Bfqz-DdS.js";
9
9
  import { Y as fetchWithSsrFGuard } from "./deliver-DDU96v2Z.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-1Dk5IIXu.js";
12
- import { a as enablePluginInConfig } from "./onboard-channels-DyMJgLeh.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-CSOZuoNZ.js";
12
+ import { a as enablePluginInConfig } from "./onboard-channels-CHYlDu7i.js";
13
13
  import { t as scanDirectoryWithSummary } from "./skill-scanner-BapBkMb3.js";
14
14
  import { t as buildWorkspaceSkillStatus } from "./skills-status-BSS2etLw.js";
15
15
  import { n as resolveWideAreaDiscoveryDomain } from "./widearea-dns-C09wbKzV.js";
@@ -1,4 +1,4 @@
1
- import { $ as summarizeRestartSentinel, At as handleReset, Bn as getMemorySearchManager, Bt as waitForGatewayReachable, Ct as DEFAULT_WORKSPACE, Dt as ensureWorkspaceAndSessions, Et as detectBrowserOpenSupport, Ft as probeGatewayReachable, Gt as getRemoteSkillEligibility, It as randomToken, Lt as resolveControlUiLinks, Mt as normalizeGatewayTokenInput, Nt as openUrl, Or as peekSystemEvents, Ot as formatControlUiSshHint, Pt as printWizardHeader, Q as readRestartSentinel, Ut as normalizeControlUiBasePath, _t as formatUsageReportLines, b as listAgentsForGateway, f as sha256HexPrefix, gt as loadProviderUsageSummary, wt as applyWizardMetadata, xr as lookupContextTokens, zt as summarizeExistingConfig } from "./reply-DSt9Rh5Y.js";
1
+ import { $ as summarizeRestartSentinel, At as handleReset, Bn as getMemorySearchManager, Bt as waitForGatewayReachable, Ct as DEFAULT_WORKSPACE, Dt as ensureWorkspaceAndSessions, Et as detectBrowserOpenSupport, Ft as probeGatewayReachable, Gt as getRemoteSkillEligibility, It as randomToken, Lt as resolveControlUiLinks, Mt as normalizeGatewayTokenInput, Nt as openUrl, Or as peekSystemEvents, Ot as formatControlUiSshHint, Pt as printWizardHeader, Q as readRestartSentinel, Ut as normalizeControlUiBasePath, _t as formatUsageReportLines, b as listAgentsForGateway, f as sha256HexPrefix, gt as loadProviderUsageSummary, wt as applyWizardMetadata, xr as lookupContextTokens, zt as summarizeExistingConfig } from "./reply-CeYfN5vF.js";
2
2
  import { T as theme, c as defaultRuntime, l as restoreTerminalState, m as info, w as isRich } from "./subsystem-Dl1sS5S-.js";
3
3
  import { n as DEFAULT_GATEWAY_PORT, u as resolveGatewayPort } from "./paths-DcA9-j8b.js";
4
4
  import { l as normalizeAgentId, v as parseAgentSessionKey } from "./session-key-hGS8_hRJ.js";
@@ -21,10 +21,10 @@ import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWA
21
21
  import { t as resolveChannelDefaultAccountId } from "./helpers-Ccy5jhZP.js";
22
22
  import { n as logConfigUpdated } from "./logging-B818ac7o.js";
23
23
  import { t as WizardCancelledError } from "./prompts-CDHXxTNu.js";
24
- import { d as applyAuthChoice, h as promptAuthChoiceGrouped, l as resolvePreferredProviderForAuthChoice, o as applyPrimaryModel, r as promptRemoteGatewayConfig, s as promptDefaultModel, t as setupSkills, u as warnIfModelConfigLooksOff } from "./onboard-skills-BRB4QIGk.js";
25
- import { n as setupChannels } from "./onboard-channels-DyMJgLeh.js";
26
- import { l as healthCommand, n as ensureControlUiAssetsBuilt, s as formatHealthChannelLines, t as formatHealthCheckFailure, u as resolveHeartbeatSummaryForAgent } from "./health-format-CMb_0rCe.js";
27
- import { C as resolveEffectiveUpdateChannel, S as normalizeUpdateChannel, d as formatUpdateOneLiner, f as getUpdateCheckResult, h as compareSemverStrings, l as ensureCompletionCacheExists, m as checkUpdateStatus, p as resolveUpdateAvailability, s as checkShellCompletionStatus, u as formatUpdateAvailableHint, x as formatUpdateChannelLabel } from "./update-runner-DNMaKyp1.js";
24
+ import { d as applyAuthChoice, h as promptAuthChoiceGrouped, l as resolvePreferredProviderForAuthChoice, o as applyPrimaryModel, r as promptRemoteGatewayConfig, s as promptDefaultModel, t as setupSkills, u as warnIfModelConfigLooksOff } from "./onboard-skills-Dsmd9fTW.js";
25
+ import { n as setupChannels } from "./onboard-channels-CHYlDu7i.js";
26
+ import { l as healthCommand, n as ensureControlUiAssetsBuilt, s as formatHealthChannelLines, t as formatHealthCheckFailure, u as resolveHeartbeatSummaryForAgent } from "./health-format-DJzPhZ5h.js";
27
+ import { C as resolveEffectiveUpdateChannel, S as normalizeUpdateChannel, d as formatUpdateOneLiner, f as getUpdateCheckResult, h as compareSemverStrings, l as ensureCompletionCacheExists, m as checkUpdateStatus, p as resolveUpdateAvailability, s as checkShellCompletionStatus, u as formatUpdateAvailableHint, x as formatUpdateChannelLabel } from "./update-runner-CPUsf4hg.js";
28
28
  import { i as probeGateway, t as runSecurityAudit } from "./audit-CgQYEpCL.js";
29
29
  import { t as renderTable } from "./table-BuHjFIeu.js";
30
30
  import { t as buildWorkspaceSkillStatus } from "./skills-status-BSS2etLw.js";
@@ -34,7 +34,7 @@ import { o as readLastGatewayErrorLine } from "./service-audit-CO_WVcvf.js";
34
34
  import { t as resolveNodeService } from "./node-service-CdjRxBgz.js";
35
35
  import { t as collectChannelStatusIssues } from "./channels-status-issues-BaXwaWXv.js";
36
36
  import { i as redactSecrets, n as formatDuration$1, r as formatGatewayAuthUsed, t as formatAge$1 } from "./format-APMZSEkl.js";
37
- import { r as installCompletion } from "./completion-cli-DMRQpSpH.js";
37
+ import { r as installCompletion } from "./completion-cli-Cg6eOXgx.js";
38
38
  import { t as buildWorkspaceHookStatus } from "./hooks-status-Bk7yFv90.js";
39
39
  import { t as runTui } from "./tui-0wcL5_de.js";
40
40
  import fs from "node:fs";
@@ -1,4 +1,4 @@
1
- import { ht as loadSKYKOIPlugins } from "./reply-DSt9Rh5Y.js";
1
+ import { ht as loadSKYKOIPlugins } from "./reply-CeYfN5vF.js";
2
2
  import { t as createSubsystemLogger } from "./subsystem-Dl1sS5S-.js";
3
3
  import { c as resolveDefaultAgentId, s as resolveAgentWorkspaceDir } from "./agent-scope-DrL2uTp9.js";
4
4
  import { o as loadConfig } from "./config-Baj9Whac.js";
@@ -21,7 +21,7 @@ import chalk, { Chalk } from "chalk";
21
21
  import fs, { constants, createWriteStream, existsSync, statSync } from "node:fs";
22
22
  import path from "node:path";
23
23
  import { Logger } from "tslog";
24
- import json5 from "json5";
24
+ import JSON5 from "json5";
25
25
  import os, { homedir, tmpdir } from "node:os";
26
26
  import { promisify } from "node:util";
27
27
  import fs$1 from "node:fs/promises";
@@ -2269,7 +2269,7 @@ function readLoggingConfig() {
2269
2269
  try {
2270
2270
  if (!fs.existsSync(configPath)) return;
2271
2271
  const raw = fs.readFileSync(configPath, "utf-8");
2272
- const logging = json5.parse(raw)?.logging;
2272
+ const logging = JSON5.parse(raw)?.logging;
2273
2273
  if (!logging || typeof logging !== "object" || Array.isArray(logging)) return;
2274
2274
  return logging;
2275
2275
  } catch {
@@ -18997,7 +18997,7 @@ var IncludeProcessor = class IncludeProcessor {
18997
18997
  };
18998
18998
  const defaultResolver = {
18999
18999
  readFile: (p) => fs.readFileSync(p, "utf-8"),
19000
- parseJson: (raw) => json5.parse(raw)
19000
+ parseJson: (raw) => JSON5.parse(raw)
19001
19001
  };
19002
19002
  /**
19003
19003
  * Resolves all $include directives in a parsed config object.
@@ -21671,18 +21671,18 @@ function resolveConfigPathForDeps(deps) {
21671
21671
  function normalizeDeps(overrides = {}) {
21672
21672
  return {
21673
21673
  fs: overrides.fs ?? fs,
21674
- json5: overrides.json5 ?? json5,
21674
+ json5: overrides.json5 ?? JSON5,
21675
21675
  env: overrides.env ?? process.env,
21676
21676
  homedir: overrides.homedir ?? os.homedir,
21677
21677
  configPath: overrides.configPath ?? "",
21678
21678
  logger: overrides.logger ?? console
21679
21679
  };
21680
21680
  }
21681
- function parseConfigJson5(raw, json5$1 = json5) {
21681
+ function parseConfigJson5(raw, json5 = JSON5) {
21682
21682
  try {
21683
21683
  return {
21684
21684
  ok: true,
21685
- parsed: json5$1.parse(raw)
21685
+ parsed: json5.parse(raw)
21686
21686
  };
21687
21687
  } catch (err) {
21688
21688
  return {
@@ -22196,7 +22196,7 @@ function loadSessionStore(storePath, opts = {}) {
22196
22196
  let mtimeMs = getFileMtimeMs(storePath);
22197
22197
  try {
22198
22198
  const raw = fs.readFileSync(storePath, "utf-8");
22199
- const parsed = json5.parse(raw);
22199
+ const parsed = JSON5.parse(raw);
22200
22200
  if (isSessionStoreRecord(parsed)) store = parsed;
22201
22201
  mtimeMs = getFileMtimeMs(storePath) ?? mtimeMs;
22202
22202
  } catch {}
@@ -1,5 +1,5 @@
1
1
  import "./pi-embedded-helpers-D5gz7ahu.js";
2
- import "./reply-DSt9Rh5Y.js";
2
+ import "./reply-CeYfN5vF.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, v as shortenHomeInString, y as shortenHomePath } from "./utils-DIctjiBL.js";
@@ -54,12 +54,12 @@ import "./satisfies-Ch9z1ETk.js";
54
54
  import "./session-cost-usage-CJ5Inqel.js";
55
55
  import "./control-service-BonAEJ5j.js";
56
56
  import "./channel-selection-BZvCBj33.js";
57
- import { i as resolveArchiveKind } from "./archive-BwcWGib9.js";
57
+ import { i as resolveArchiveKind } from "./archive-CZ2LAwkV.js";
58
58
  import "./skill-scanner-BapBkMb3.js";
59
- import { n as installPluginFromNpmSpec, r as installPluginFromPath, t as recordPluginInstall } from "./installs-qktJXsvc.js";
59
+ import { n as installPluginFromNpmSpec, r as installPluginFromPath, t as recordPluginInstall } from "./installs-PW81srKN.js";
60
60
  import { t as renderTable } from "./table-BuHjFIeu.js";
61
- import { t as buildPluginStatusReport } from "./status-C3EYTRuj.js";
62
- import { n as updateNpmInstalledPlugins } from "./update-BK8LYpYE.js";
61
+ import { t as buildPluginStatusReport } from "./status-BCwsVgZm.js";
62
+ import { n as updateNpmInstalledPlugins } from "./update-Df7ATls6.js";
63
63
  import fs from "node:fs";
64
64
  import path from "node:path";
65
65
 
@@ -4,11 +4,11 @@ import { n as replaceCliName, r as resolveCliName } from "./command-format-BxjVk
4
4
  import { t as isTruthyEnvValue } from "./env-EjmWoVFM.js";
5
5
  import { N as VERSION } from "./config-Baj9Whac.js";
6
6
  import { t as formatDocsLink } from "./links-yjT27ApF.js";
7
- import { r as registerProgramCommands, t as ensureConfigReady } from "./config-guard-TIFy-6hy.js";
8
- import { a as getCommandPath, d as hasHelpOrVersion, l as getVerboseFlag } from "./register.subclis-CcGbAbQ8.js";
9
- import { t as ensurePluginRegistryLoaded } from "./plugin-registry-DHffbSib.js";
7
+ import { r as registerProgramCommands, t as ensureConfigReady } from "./config-guard-DYRuuYTQ.js";
8
+ import { a as getCommandPath, d as hasHelpOrVersion, l as getVerboseFlag } from "./register.subclis-DI1CACuG.js";
9
+ import { t as ensurePluginRegistryLoaded } from "./plugin-registry-De2ftrJy.js";
10
10
  import { i as hasEmittedCliBanner, n as emitCliBanner, r as formatCliBannerLine } from "./tui-0wcL5_de.js";
11
- import { n as resolveCliChannelOptions } from "./channel-options-DFIv57w6.js";
11
+ import { n as resolveCliChannelOptions } from "./channel-options-DP7jo8uF.js";
12
12
  import { Command } from "commander";
13
13
 
14
14
  //#region src/cli/program/context.ts
@@ -124,14 +124,14 @@ const entries = [
124
124
  name: "gateway",
125
125
  description: "Gateway control",
126
126
  register: async (program) => {
127
- (await import("./gateway-cli-CYSBA8bi.js")).registerGatewayCli(program);
127
+ (await import("./gateway-cli-CRaIp5Mk.js")).registerGatewayCli(program);
128
128
  }
129
129
  },
130
130
  {
131
131
  name: "daemon",
132
132
  description: "Gateway service (legacy alias)",
133
133
  register: async (program) => {
134
- (await import("./daemon-cli-Bw_dP53Z.js").then((n) => n.t)).registerDaemonCli(program);
134
+ (await import("./daemon-cli-BHFufs5Z.js").then((n) => n.t)).registerDaemonCli(program);
135
135
  }
136
136
  },
137
137
  {
@@ -152,7 +152,7 @@ const entries = [
152
152
  name: "models",
153
153
  description: "Model configuration",
154
154
  register: async (program) => {
155
- (await import("./models-cli-DAxauNWO.js")).registerModelsCli(program);
155
+ (await import("./models-cli-DK7V8Y6t.js")).registerModelsCli(program);
156
156
  }
157
157
  },
158
158
  {
@@ -222,7 +222,7 @@ const entries = [
222
222
  name: "hooks",
223
223
  description: "Hooks tooling",
224
224
  register: async (program) => {
225
- (await import("./hooks-cli-BUfz4vro.js")).registerHooksCli(program);
225
+ (await import("./hooks-cli-C2kxqffx.js")).registerHooksCli(program);
226
226
  }
227
227
  },
228
228
  {
@@ -236,7 +236,7 @@ const entries = [
236
236
  name: "pairing",
237
237
  description: "Pairing helpers",
238
238
  register: async (program) => {
239
- const { registerPluginCliCommands } = await import("./cli-mjv2gAet.js");
239
+ const { registerPluginCliCommands } = await import("./cli-Ci82hWcO.js");
240
240
  registerPluginCliCommands(program, await loadConfig());
241
241
  (await import("./pairing-cli-Cw_pzXp7.js")).registerPairingCli(program);
242
242
  }
@@ -245,8 +245,8 @@ const entries = [
245
245
  name: "plugins",
246
246
  description: "Plugin management",
247
247
  register: async (program) => {
248
- (await import("./plugins-cli-yyXpMTwr.js")).registerPluginsCli(program);
249
- const { registerPluginCliCommands } = await import("./cli-mjv2gAet.js");
248
+ (await import("./plugins-cli-C3mqCH8r.js")).registerPluginsCli(program);
249
+ const { registerPluginCliCommands } = await import("./cli-Ci82hWcO.js");
250
250
  registerPluginCliCommands(program, await loadConfig());
251
251
  }
252
252
  },
@@ -254,7 +254,7 @@ const entries = [
254
254
  name: "channels",
255
255
  description: "Channel management",
256
256
  register: async (program) => {
257
- (await import("./channels-cli-Dy_YqO_G.js")).registerChannelsCli(program);
257
+ (await import("./channels-cli-B67G8Utv.js")).registerChannelsCli(program);
258
258
  }
259
259
  },
260
260
  {
@@ -282,14 +282,14 @@ const entries = [
282
282
  name: "update",
283
283
  description: "CLI update helpers",
284
284
  register: async (program) => {
285
- (await import("./update-cli-vHmrovz_.js")).registerUpdateCli(program);
285
+ (await import("./update-cli-DH4INzZK.js")).registerUpdateCli(program);
286
286
  }
287
287
  },
288
288
  {
289
289
  name: "completion",
290
290
  description: "Generate shell completion script",
291
291
  register: async (program) => {
292
- (await import("./completion-cli-DMRQpSpH.js").then((n) => n.n)).registerCompletionCli(program);
292
+ (await import("./completion-cli-Cg6eOXgx.js").then((n) => n.n)).registerCompletionCli(program);
293
293
  }
294
294
  }
295
295
  ];
@@ -5153,7 +5153,7 @@ function markActivity() {
5153
5153
  function resolveSessionKey$1({ sessionKey, sessionId }) {
5154
5154
  return sessionKey ?? sessionId ?? "unknown";
5155
5155
  }
5156
- function getSessionState(ref) {
5156
+ function getSessionState$1(ref) {
5157
5157
  const key = resolveSessionKey$1(ref);
5158
5158
  const existing = sessionStates.get(key);
5159
5159
  if (existing) {
@@ -5208,7 +5208,7 @@ function logWebhookError(params) {
5208
5208
  markActivity();
5209
5209
  }
5210
5210
  function logMessageQueued(params) {
5211
- const state = getSessionState(params);
5211
+ const state = getSessionState$1(params);
5212
5212
  state.queueDepth += 1;
5213
5213
  state.lastActivity = Date.now();
5214
5214
  diag.debug(`message queued: sessionId=${state.sessionId ?? "unknown"} sessionKey=${state.sessionKey ?? "unknown"} source=${params.source} queueDepth=${state.queueDepth} sessionState=${state.state}`);
@@ -5242,7 +5242,7 @@ function logMessageProcessed(params) {
5242
5242
  markActivity();
5243
5243
  }
5244
5244
  function logSessionStateChange(params) {
5245
- const state = getSessionState(params);
5245
+ const state = getSessionState$1(params);
5246
5246
  const isProbeSession = state.sessionId?.startsWith("probe-") ?? false;
5247
5247
  const prevState = state.state;
5248
5248
  state.state = params.state;
@@ -5261,7 +5261,7 @@ function logSessionStateChange(params) {
5261
5261
  markActivity();
5262
5262
  }
5263
5263
  function logSessionStuck(params) {
5264
- const state = getSessionState(params);
5264
+ const state = getSessionState$1(params);
5265
5265
  diag.warn(`stuck session: sessionId=${state.sessionId ?? "unknown"} sessionKey=${state.sessionKey ?? "unknown"} state=${params.state} age=${Math.round(params.ageMs / 1e3)}s queueDepth=${state.queueDepth}`);
5266
5266
  emitDiagnosticEvent({
5267
5267
  type: "session.stuck",
@@ -155280,8 +155280,23 @@ function mirrorToCanvas(state) {
155280
155280
  });
155281
155281
  } catch {}
155282
155282
  }
155283
+ const checklistStateBySession = /* @__PURE__ */ new Map();
155284
+ function currentChecklistSessionKey() {
155285
+ if (!activeRunId$2) return void 0;
155286
+ return getAgentRunContext(activeRunId$2)?.sessionKey;
155287
+ }
155288
+ function getChecklistState() {
155289
+ const key = currentChecklistSessionKey();
155290
+ if (!key) return null;
155291
+ return checklistStateBySession.get(key) ?? null;
155292
+ }
155293
+ function setChecklistState(next) {
155294
+ const key = currentChecklistSessionKey();
155295
+ if (!key) return;
155296
+ if (next) checklistStateBySession.set(key, next);
155297
+ else checklistStateBySession.delete(key);
155298
+ }
155283
155299
  function createChecklistTool() {
155284
- let state = null;
155285
155300
  registerEnforcement$1();
155286
155301
  return {
155287
155302
  label: "checklist",
@@ -155309,6 +155324,7 @@ function createChecklistTool() {
155309
155324
  ].join("\n"),
155310
155325
  parameters: ChecklistToolSchema,
155311
155326
  execute: async (_toolCallId, args) => {
155327
+ let state = getChecklistState();
155312
155328
  const params = args;
155313
155329
  const action = params.action || "update";
155314
155330
  switch (action) {
@@ -155348,6 +155364,7 @@ function createChecklistTool() {
155348
155364
  title,
155349
155365
  items
155350
155366
  };
155367
+ setChecklistState(state);
155351
155368
  mirrorToCanvas(state);
155352
155369
  const { done, total } = flatCount(state.items);
155353
155370
  return jsonResult({
@@ -155410,6 +155427,7 @@ function createChecklistTool() {
155410
155427
  }
155411
155428
  case "reset":
155412
155429
  state = null;
155430
+ setChecklistState(null);
155413
155431
  if (activeRunId$2) {
155414
155432
  const ctx = getAgentRunContext(activeRunId$2);
155415
155433
  if (ctx?.sessionKey) deleteCanvasResource(canvasUri(ctx.sessionKey, "checklist"));
@@ -155853,8 +155871,23 @@ function mirrorPlanToCanvas(state) {
155853
155871
  });
155854
155872
  } catch {}
155855
155873
  }
155874
+ const stateBySession = /* @__PURE__ */ new Map();
155875
+ function currentSessionKey() {
155876
+ if (!activeRunId) return void 0;
155877
+ return getAgentRunContext(activeRunId)?.sessionKey;
155878
+ }
155879
+ function getSessionState() {
155880
+ const key = currentSessionKey();
155881
+ if (!key) return null;
155882
+ return stateBySession.get(key) ?? null;
155883
+ }
155884
+ function setSessionState(next) {
155885
+ const key = currentSessionKey();
155886
+ if (!key) return;
155887
+ if (next) stateBySession.set(key, next);
155888
+ else stateBySession.delete(key);
155889
+ }
155856
155890
  function createPlanTool() {
155857
- let state = null;
155858
155891
  registerEnforcement();
155859
155892
  return {
155860
155893
  label: "plan",
@@ -155889,6 +155922,7 @@ function createPlanTool() {
155889
155922
  ].join("\n"),
155890
155923
  parameters: PlanToolSchema,
155891
155924
  execute: async (_toolCallId, args) => {
155925
+ let state = getSessionState();
155892
155926
  const params = args;
155893
155927
  const action = params.action || "propose";
155894
155928
  switch (action) {
@@ -155970,6 +156004,7 @@ function createPlanTool() {
155970
156004
  questions: normalizedQuestions,
155971
156005
  proposed: true
155972
156006
  };
156007
+ setSessionState(state);
155973
156008
  if (activeRunId) proposeCountByRun.set(activeRunId, (proposeCountByRun.get(activeRunId) ?? 0) + 1);
155974
156009
  mirrorPlanToCanvas(state);
155975
156010
  return jsonResult({
@@ -156067,15 +156102,6 @@ function createPlanTool() {
156067
156102
  _type: "plan",
156068
156103
  error: `Unknown phaseId: ${pid}`
156069
156104
  });
156070
- if (!phase.checklist.every((c) => c.done)) {
156071
- const pending = phase.checklist.filter((c) => !c.done).length;
156072
- return jsonResult({
156073
- _type: "plan",
156074
- error: "BLOCKED — phase checklist not complete",
156075
- enforced: true,
156076
- message: `Phase "${phase.title}" has ${pending} unfinished checklist item${pending === 1 ? "" : "s"}. Finish them via the \`checklist\` tool, then try \`complete_phase\` again. Phases can't be marked done while they have outstanding work.`
156077
- });
156078
- }
156079
156105
  phase.status = "done";
156080
156106
  const nextUpcoming = state.phases.find((p) => p.status === "upcoming");
156081
156107
  if (nextUpcoming) nextUpcoming.status = "active";
@@ -156099,22 +156125,21 @@ function createPlanTool() {
156099
156125
  message: nextPhase ? `Phase "${pid}" complete. Next phase "${nextPhase.title}" is now active. Your next step: call checklist(action="reset") to CLEAR the prior phase's items, then checklist(action="update", items=<items listed in nextPhase.checklistItems>) to start the new phase with a FRESH checklist. NEVER carry the previous phase's checklist forward.` : allPhasesDone ? "All phases done. Plan complete. Call checklist(action=\"reset\") if you need a clean slate for future unrelated work." : "Phase complete but no next phase is active — unusual. Call revise if you need to adjust the plan."
156100
156126
  });
156101
156127
  }
156102
- case "reset":
156128
+ case "reset": {
156129
+ let resetWarning;
156103
156130
  if (state && state.phases.length > 0) {
156104
156131
  const pendingPhases = state.phases.filter((p) => p.status !== "done");
156105
- if (pendingPhases.length > 0) return jsonResult({
156106
- _type: "plan",
156107
- error: "BLOCKED — can't reset with unfinished phases",
156108
- enforced: true,
156109
- message: `Plan has ${pendingPhases.length} unfinished phase${pendingPhases.length === 1 ? "" : "s"}: ` + pendingPhases.map((p) => `"${p.title}"`).join(", ") + ". Finish each phase via the checklist tool → call `complete_phase` on it → move to the next. Only reset after every phase is done."
156110
- });
156132
+ if (pendingPhases.length > 0) resetWarning = `Reset discarded ${pendingPhases.length} unfinished phase${pendingPhases.length === 1 ? "" : "s"}: ` + pendingPhases.map((p) => `"${p.title}"`).join(", ") + ". If this was unintentional, call plan.propose to start over.";
156111
156133
  }
156112
156134
  state = null;
156135
+ setSessionState(null);
156113
156136
  mirrorPlanToCanvas(null);
156114
156137
  return jsonResult({
156115
156138
  _type: "plan",
156116
- cleared: true
156139
+ cleared: true,
156140
+ ...resetWarning ? { warning: resetWarning } : {}
156117
156141
  });
156142
+ }
156118
156143
  default: return jsonResult({ error: `Unknown action: ${action}` });
156119
156144
  }
156120
156145
  }
@@ -1,5 +1,5 @@
1
1
  import "./pi-embedded-helpers-D5gz7ahu.js";
2
- import { cn as installUnhandledRejectionHandler } from "./reply-DSt9Rh5Y.js";
2
+ import { cn as installUnhandledRejectionHandler } from "./reply-CeYfN5vF.js";
3
3
  import { c as defaultRuntime, r as enableConsoleCapture } from "./subsystem-Dl1sS5S-.js";
4
4
  import "./paths-DcA9-j8b.js";
5
5
  import "./utils-DIctjiBL.js";
@@ -54,25 +54,25 @@ import "./satisfies-Ch9z1ETk.js";
54
54
  import "./session-cost-usage-CJ5Inqel.js";
55
55
  import "./control-service-BonAEJ5j.js";
56
56
  import "./channel-selection-BZvCBj33.js";
57
- import "./deps-DmfzhPN1.js";
57
+ import "./deps-DTEDh0iq.js";
58
58
  import "./tailscale-CW2aNYJ9.js";
59
59
  import { t as loadDotEnv } from "./dotenv-DlZCd7a6.js";
60
60
  import { t as ensureSKYKOICliOnPath } from "./path-env-DsAko5OY.js";
61
61
  import { g as assertSupportedRuntime } from "./daemon-runtime-vtoMFexx.js";
62
- import { n as findRoutedCommand, t as ensureConfigReady } from "./config-guard-TIFy-6hy.js";
62
+ import { n as findRoutedCommand, t as ensureConfigReady } from "./config-guard-DYRuuYTQ.js";
63
63
  import "./logging-B818ac7o.js";
64
64
  import "./note-ty8fydmp.js";
65
65
  import "./clack-prompter-D03d7Olp.js";
66
- import "./onboarding-QQuNSzOR.js";
67
- import "./onboard-skills-BRB4QIGk.js";
68
- import "./github-copilot-auth-1Dk5IIXu.js";
69
- import "./onboard-channels-DyMJgLeh.js";
66
+ import "./onboarding-BAo-J0CM.js";
67
+ import "./onboard-skills-Dsmd9fTW.js";
68
+ import "./github-copilot-auth-CSOZuoNZ.js";
69
+ import "./onboard-channels-CHYlDu7i.js";
70
70
  import "./plugin-auto-enable-ClD8Hu9T.js";
71
- import "./archive-BwcWGib9.js";
71
+ import "./archive-CZ2LAwkV.js";
72
72
  import "./skill-scanner-BapBkMb3.js";
73
- import "./installs-qktJXsvc.js";
74
- import "./health-format-CMb_0rCe.js";
75
- import "./update-runner-DNMaKyp1.js";
73
+ import "./installs-PW81srKN.js";
74
+ import "./health-format-DJzPhZ5h.js";
75
+ import "./update-runner-CPUsf4hg.js";
76
76
  import "./auth-CMhFyIcG.js";
77
77
  import "./audit-CgQYEpCL.js";
78
78
  import "./table-BuHjFIeu.js";
@@ -82,18 +82,18 @@ import "./systemd-BTcdURXT.js";
82
82
  import "./service-audit-CO_WVcvf.js";
83
83
  import "./node-service-CdjRxBgz.js";
84
84
  import "./channels-status-issues-BaXwaWXv.js";
85
- import { a as getCommandPath, c as getPrimaryCommand, d as hasHelpOrVersion } from "./register.subclis-CcGbAbQ8.js";
85
+ import { a as getCommandPath, c as getPrimaryCommand, d as hasHelpOrVersion } from "./register.subclis-DI1CACuG.js";
86
86
  import "./gateway-rpc-D4VaaKAU.js";
87
87
  import "./help-format-rUxU9jE_.js";
88
- import "./agent-W16M_JVV.js";
89
- import { t as ensurePluginRegistryLoaded } from "./plugin-registry-DHffbSib.js";
90
- import "./configure-ShYwWLdM.js";
88
+ import "./agent-BdsKQ4Ra.js";
89
+ import { t as ensurePluginRegistryLoaded } from "./plugin-registry-De2ftrJy.js";
90
+ import "./configure-BHvHiWLB.js";
91
91
  import "./systemd-linger-BSA8MnYc.js";
92
92
  import "./widearea-dns-C09wbKzV.js";
93
93
  import "./bonjour-discovery-DF5ll51G.js";
94
94
  import "./auth-health-Cg7cWRH-.js";
95
- import "./doctor-CO3PPV0J.js";
96
- import "./completion-cli-DMRQpSpH.js";
95
+ import "./doctor-B5koTf-K.js";
96
+ import "./completion-cli-Cg6eOXgx.js";
97
97
  import "./hooks-status-Bk7yFv90.js";
98
98
  import { n as emitCliBanner } from "./tui-0wcL5_de.js";
99
99
  import process$1 from "node:process";
@@ -149,7 +149,7 @@ async function runCli(argv = process$1.argv) {
149
149
  assertSupportedRuntime();
150
150
  if (await tryRouteCli(normalizedArgv)) return;
151
151
  enableConsoleCapture();
152
- const { buildProgram } = await import("./program-DedxW59q.js").then((n) => n.t);
152
+ const { buildProgram } = await import("./program-BKKfR23G.js").then((n) => n.t);
153
153
  const program = buildProgram();
154
154
  installUnhandledRejectionHandler();
155
155
  process$1.on("uncaughtException", (error) => {
@@ -159,11 +159,11 @@ async function runCli(argv = process$1.argv) {
159
159
  const parseArgv = rewriteUpdateFlagArgv(normalizedArgv);
160
160
  const primary = getPrimaryCommand(parseArgv);
161
161
  if (primary) {
162
- const { registerSubCliByName } = await import("./register.subclis-CcGbAbQ8.js").then((n) => n.i);
162
+ const { registerSubCliByName } = await import("./register.subclis-DI1CACuG.js").then((n) => n.i);
163
163
  await registerSubCliByName(program, primary);
164
164
  }
165
165
  if (!(!primary && hasHelpOrVersion(parseArgv))) {
166
- const { registerPluginCliCommands } = await import("./cli-mjv2gAet.js");
166
+ const { registerPluginCliCommands } = await import("./cli-Ci82hWcO.js");
167
167
  const { loadConfig } = await import("./config-Baj9Whac.js").then((n) => n.t);
168
168
  registerPluginCliCommands(program, loadConfig());
169
169
  }
@@ -1,5 +1,5 @@
1
1
  import "./pi-embedded-helpers-D5gz7ahu.js";
2
- import { C as loadSessionEntry, Er as enqueueSystemEvent, ft as requestHeartbeatNow } from "./reply-DSt9Rh5Y.js";
2
+ import { C as loadSessionEntry, Er as enqueueSystemEvent, ft as requestHeartbeatNow } from "./reply-CeYfN5vF.js";
3
3
  import { c as defaultRuntime } from "./subsystem-Dl1sS5S-.js";
4
4
  import "./paths-DcA9-j8b.js";
5
5
  import { u as normalizeMainKey } from "./session-key-hGS8_hRJ.js";
@@ -55,8 +55,8 @@ import "./satisfies-Ch9z1ETk.js";
55
55
  import "./session-cost-usage-CJ5Inqel.js";
56
56
  import "./control-service-BonAEJ5j.js";
57
57
  import "./channel-selection-BZvCBj33.js";
58
- import "./deps-DmfzhPN1.js";
59
- import { t as agentCommand } from "./agent-W16M_JVV.js";
58
+ import "./deps-DTEDh0iq.js";
59
+ import { t as agentCommand } from "./agent-BdsKQ4Ra.js";
60
60
  import { t as formatForLog } from "./ws-log-NQGsvlnZ.js";
61
61
  import { randomUUID } from "node:crypto";
62
62
 
@@ -1,4 +1,4 @@
1
- import { ht as loadSKYKOIPlugins } from "./reply-DSt9Rh5Y.js";
1
+ import { ht as loadSKYKOIPlugins } from "./reply-CeYfN5vF.js";
2
2
  import { t as createSubsystemLogger } from "./subsystem-Dl1sS5S-.js";
3
3
  import { c as resolveDefaultAgentId, s as resolveAgentWorkspaceDir, w as resolveDefaultAgentWorkspaceDir } from "./agent-scope-DrL2uTp9.js";
4
4
  import { o as loadConfig } from "./config-Baj9Whac.js";
@@ -1,6 +1,6 @@
1
1
  import { h as resolveUserPath } from "./utils-DIctjiBL.js";
2
2
  import { n as discoverSKYKOIPlugins, r as loadPluginManifest } from "./manifest-registry-5tS0nRed.js";
3
- import { i as resolvePluginInstallDir, n as installPluginFromNpmSpec, t as recordPluginInstall } from "./installs-qktJXsvc.js";
3
+ import { i as resolvePluginInstallDir, n as installPluginFromNpmSpec, t as recordPluginInstall } from "./installs-PW81srKN.js";
4
4
  import fs from "node:fs/promises";
5
5
 
6
6
  //#region src/plugins/update.ts
@@ -1,5 +1,5 @@
1
1
  import "./pi-embedded-helpers-D5gz7ahu.js";
2
- import { et as trimLogTail } from "./reply-DSt9Rh5Y.js";
2
+ import { et as trimLogTail } from "./reply-CeYfN5vF.js";
3
3
  import { T as theme, c as defaultRuntime } from "./subsystem-Dl1sS5S-.js";
4
4
  import "./paths-DcA9-j8b.js";
5
5
  import "./utils-DIctjiBL.js";
@@ -56,17 +56,17 @@ import "./satisfies-Ch9z1ETk.js";
56
56
  import "./session-cost-usage-CJ5Inqel.js";
57
57
  import "./control-service-BonAEJ5j.js";
58
58
  import "./channel-selection-BZvCBj33.js";
59
- import "./deps-DmfzhPN1.js";
59
+ import "./deps-DTEDh0iq.js";
60
60
  import "./tailscale-CW2aNYJ9.js";
61
61
  import { _ as parseSemver } from "./daemon-runtime-vtoMFexx.js";
62
62
  import "./logging-B818ac7o.js";
63
63
  import "./note-ty8fydmp.js";
64
64
  import "./plugin-auto-enable-ClD8Hu9T.js";
65
- import "./archive-BwcWGib9.js";
65
+ import "./archive-CZ2LAwkV.js";
66
66
  import "./skill-scanner-BapBkMb3.js";
67
- import "./installs-qktJXsvc.js";
68
- import "./health-format-CMb_0rCe.js";
69
- import { C as resolveEffectiveUpdateChannel, S as normalizeUpdateChannel, _ as resolveNpmChannelTag, a as globalInstallArgs, b as channelToNpmTag, d as formatUpdateOneLiner, g as fetchNpmTagVersion, h as compareSemverStrings, i as detectGlobalInstallManagerForRoot, l as ensureCompletionCacheExists, m as checkUpdateStatus, n as cleanupGlobalRenameDirs, o as resolveGlobalPackageRoot, p as resolveUpdateAvailability, r as detectGlobalInstallManagerByPresence, s as checkShellCompletionStatus, t as runGatewayUpdate, u as formatUpdateAvailableHint, v as DEFAULT_GIT_CHANNEL, x as formatUpdateChannelLabel, y as DEFAULT_PACKAGE_CHANNEL } from "./update-runner-DNMaKyp1.js";
67
+ import "./installs-PW81srKN.js";
68
+ import "./health-format-DJzPhZ5h.js";
69
+ import { C as resolveEffectiveUpdateChannel, S as normalizeUpdateChannel, _ as resolveNpmChannelTag, a as globalInstallArgs, b as channelToNpmTag, d as formatUpdateOneLiner, g as fetchNpmTagVersion, h as compareSemverStrings, i as detectGlobalInstallManagerForRoot, l as ensureCompletionCacheExists, m as checkUpdateStatus, n as cleanupGlobalRenameDirs, o as resolveGlobalPackageRoot, p as resolveUpdateAvailability, r as detectGlobalInstallManagerByPresence, s as checkShellCompletionStatus, t as runGatewayUpdate, u as formatUpdateAvailableHint, v as DEFAULT_GIT_CHANNEL, x as formatUpdateChannelLabel, y as DEFAULT_PACKAGE_CHANNEL } from "./update-runner-CPUsf4hg.js";
70
70
  import "./auth-CMhFyIcG.js";
71
71
  import { t as renderTable } from "./table-BuHjFIeu.js";
72
72
  import "./skills-status-BSS2etLw.js";
@@ -74,15 +74,15 @@ import "./service-Fxlow9XO.js";
74
74
  import "./systemd-BTcdURXT.js";
75
75
  import "./service-audit-CO_WVcvf.js";
76
76
  import "./channels-status-issues-BaXwaWXv.js";
77
- import "./register.subclis-CcGbAbQ8.js";
77
+ import "./register.subclis-DI1CACuG.js";
78
78
  import { t as formatHelpExamples } from "./help-format-rUxU9jE_.js";
79
79
  import "./systemd-linger-BSA8MnYc.js";
80
80
  import "./auth-health-Cg7cWRH-.js";
81
- import { t as doctorCommand } from "./doctor-CO3PPV0J.js";
82
- import { r as installCompletion } from "./completion-cli-DMRQpSpH.js";
81
+ import { t as doctorCommand } from "./doctor-B5koTf-K.js";
82
+ import { r as installCompletion } from "./completion-cli-Cg6eOXgx.js";
83
83
  import "./shared-BzZOYgS0.js";
84
- import { r as runDaemonRestart } from "./daemon-cli-Bw_dP53Z.js";
85
- import { n as updateNpmInstalledPlugins, t as syncPluginsForUpdateChannel } from "./update-BK8LYpYE.js";
84
+ import { r as runDaemonRestart } from "./daemon-cli-BHFufs5Z.js";
85
+ import { n as updateNpmInstalledPlugins, t as syncPluginsForUpdateChannel } from "./update-Df7ATls6.js";
86
86
  import path from "node:path";
87
87
  import os from "node:os";
88
88
  import fs from "node:fs/promises";
@@ -1,12 +1,12 @@
1
- import { et as trimLogTail } from "./reply-DSt9Rh5Y.js";
1
+ import { et as trimLogTail } from "./reply-CeYfN5vF.js";
2
2
  import { t as runCommandWithTimeout } from "./exec-CToLomNk.js";
3
3
  import { t as resolveSKYKOIPackageRoot } from "./skykoi-root-BcOj1-eE.js";
4
4
  import { r as resolveCliName, t as formatCliCommand } from "./command-format-BxjVkF35.js";
5
5
  import { N as VERSION } from "./config-Baj9Whac.js";
6
6
  import { _ as parseSemver } from "./daemon-runtime-vtoMFexx.js";
7
7
  import { t as note } from "./note-ty8fydmp.js";
8
- import { i as resolveControlUiDistIndexPathForRoot, r as resolveControlUiDistIndexHealth } from "./health-format-CMb_0rCe.js";
9
- import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-DMRQpSpH.js";
8
+ import { i as resolveControlUiDistIndexPathForRoot, r as resolveControlUiDistIndexHealth } from "./health-format-DJzPhZ5h.js";
9
+ import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-Cg6eOXgx.js";
10
10
  import path from "node:path";
11
11
  import os from "node:os";
12
12
  import fs from "node:fs/promises";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skykoi",
3
- "version": "2026.3.113",
3
+ "version": "2026.3.114",
4
4
  "description": "SkyKoi — AI agent runtime. Multi-channel gateway CLI with RPC agent. Forked from SkyKoi.",
5
5
  "keywords": [
6
6
  "skykoi",