skykoi 2026.3.109 → 2026.3.111
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.
- package/dist/{agent-DdvhtOnq.js → agent-Da5YOcs3.js} +2 -2
- package/dist/{archive-K367RUKA.js → archive-CdIhvmdq.js} +1 -1
- package/dist/build-info.json +3 -3
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-options-CMkt7KmZ.js → channel-options-CkTlHlq7.js} +1 -1
- package/dist/{channels-cli-D1s3G0cU.js → channels-cli-B9v6Cz4b.js} +6 -6
- package/dist/cli/daemon-cli.js +1 -1
- package/dist/{cli-B0P-hBwI.js → cli-C0kcHMN5.js} +1 -1
- package/dist/{completion-cli-wtDM8ECw.js → completion-cli-4JYy7b35.js} +1 -1
- package/dist/{config-guard-BveRqRcQ.js → config-guard-BXXiyeEb.js} +13 -13
- package/dist/{configure-Bquy62Os.js → configure-C504luDs.js} +4 -4
- package/dist/{daemon-cli-uGbBfAN-.js → daemon-cli-DLtD4zDH.js} +2 -2
- package/dist/{deps-HcyyRTnz.js → deps-C6KOAneQ.js} +1 -1
- package/dist/{doctor-C_8foHxL.js → doctor-BPESbchY.js} +3 -3
- package/dist/entry.js +1 -1
- package/dist/extension-api.js +1 -1
- package/dist/{gateway-cli-K4RnxBjc.js → gateway-cli-D23A7b51.js} +193 -17
- package/dist/{github-copilot-auth-CqzHWe3n.js → github-copilot-auth-DzwNnQJj.js} +1 -1
- package/dist/{health-format-BIhIGbbS.js → health-format-6-sirUMO.js} +1 -1
- package/dist/{hooks-cli-DrlaYV85.js → hooks-cli-Bcd65fa3.js} +3 -3
- package/dist/index.js +19 -19
- package/dist/{installs-CU1Ya6um.js → installs-BS8Q_aqJ.js} +1 -1
- package/dist/{models-cli-CFOzsQoS.js → models-cli-BfHsXWsB.js} +2 -2
- package/dist/{onboard-channels-DUX8_CDl.js → onboard-channels-B3o8UrpN.js} +2 -2
- package/dist/{onboard-skills-BVUT7EAs.js → onboard-skills-B7VesLf0.js} +3 -3
- package/dist/{onboarding-C-BzRzfq.js → onboarding-BYmhyyK0.js} +6 -6
- package/dist/{plugin-registry-C9sIeFaR.js → plugin-registry-C2pg1P8k.js} +1 -1
- package/dist/plugin-sdk/agents/subagent-registry.d.ts +6 -0
- package/dist/{plugins-cli-DATsjL9T.js → plugins-cli-yGYQtfgy.js} +5 -5
- package/dist/{program-Ca189VPm.js → program-Cn-IUods.js} +4 -4
- package/dist/{register.subclis-ZXIOVEOW.js → register.subclis-BcEwwuzW.js} +10 -10
- package/dist/{reply-DxKCkSXe.js → reply-Bma2fIJw.js} +14 -10
- package/dist/{run-main-DfPvX4GL.js → run-main-DKkktYVY.js} +20 -20
- package/dist/{server-node-events-D1UolHrO.js → server-node-events-C550S2ce.js} +3 -3
- package/dist/{status-BkwgLUzs.js → status-DcXXRApT.js} +1 -1
- package/dist/{update-cli-Dj_uWaVi.js → update-cli-D3ODTbqD.js} +11 -11
- package/dist/{update-Dd7rLUec.js → update-pWQbZXY-.js} +1 -1
- package/dist/{update-runner-OhC0LerY.js → update-runner-7neXUX8D.js} +3 -3
- 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 {
|
|
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-Bma2fIJw.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-
|
|
16
|
+
import { t as createDefaultDeps } from "./deps-C6KOAneQ.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 {
|
|
2
|
+
import { xt as require_inherits } from "./reply-Bma2fIJw.js";
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import fs from "node:fs/promises";
|
|
5
5
|
import * as tar from "tar";
|
package/dist/build-info.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
683d72bada4262363630f6ea138be66d233ef64a178a4c4ed8322678c04d6cca
|
|
@@ -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-
|
|
5
|
+
import { t as ensurePluginRegistryLoaded } from "./plugin-registry-C2pg1P8k.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 {
|
|
2
|
+
import { _t as formatUsageReportLines, bn as parseDiscordTarget, gt as loadProviderUsageSummary, xn as fetchChannelPermissionsDiscord, zn as createSlackWebClient } from "./reply-Bma2fIJw.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-
|
|
63
|
+
import { i as reloadOnboardingPluginRegistry, n as setupChannels, r as ensureOnboardingPluginInstalled } from "./onboard-channels-B3o8UrpN.js";
|
|
64
64
|
import { i as listChannelPluginCatalogEntries } from "./plugin-auto-enable-ClD8Hu9T.js";
|
|
65
|
-
import "./archive-
|
|
65
|
+
import "./archive-CdIhvmdq.js";
|
|
66
66
|
import "./skill-scanner-BapBkMb3.js";
|
|
67
|
-
import "./installs-
|
|
67
|
+
import "./installs-BS8Q_aqJ.js";
|
|
68
68
|
import { t as collectChannelStatusIssues } from "./channels-status-issues-BaXwaWXv.js";
|
|
69
|
-
import { n as hasExplicitOptions } from "./plugin-registry-
|
|
70
|
-
import { t as formatCliChannelOptions } from "./channel-options-
|
|
69
|
+
import { n as hasExplicitOptions } from "./plugin-registry-C2pg1P8k.js";
|
|
70
|
+
import { t as formatCliChannelOptions } from "./channel-options-CkTlHlq7.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";
|
package/dist/cli/daemon-cli.js
CHANGED
|
@@ -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-
|
|
2
|
+
export { registerDaemonCli, runDaemonInstall, runDaemonRestart, runDaemonStart, runDaemonStatus, runDaemonStop, runDaemonUninstall } from "../daemon-cli-DLtD4zDH.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "./pi-embedded-helpers-D5gz7ahu.js";
|
|
2
|
-
import {
|
|
2
|
+
import { ht as loadSKYKOIPlugins } from "./reply-Bma2fIJw.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-
|
|
3
|
+
import { n as registerSubCliByName, t as getSubCliEntries } from "./register.subclis-BcEwwuzW.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 {
|
|
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-Bma2fIJw.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-
|
|
22
|
+
import { t as createDefaultDeps } from "./deps-C6KOAneQ.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-
|
|
29
|
-
import { d as applyAuthChoice, f as applyOpenAIConfig, h as promptAuthChoiceGrouped, m as applyGoogleGeminiModelDefault, p as upsertSharedEnvVar, u as warnIfModelConfigLooksOff } from "./onboard-skills-
|
|
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-
|
|
31
|
-
import { n as setupChannels } from "./onboard-channels-
|
|
32
|
-
import { l as healthCommand } from "./health-format-
|
|
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-BYmhyyK0.js";
|
|
29
|
+
import { d as applyAuthChoice, f as applyOpenAIConfig, h as promptAuthChoiceGrouped, m as applyGoogleGeminiModelDefault, p as upsertSharedEnvVar, u as warnIfModelConfigLooksOff } from "./onboard-skills-B7VesLf0.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-DzwNnQJj.js";
|
|
31
|
+
import { n as setupChannels } from "./onboard-channels-B3o8UrpN.js";
|
|
32
|
+
import { l as healthCommand } from "./health-format-6-sirUMO.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-
|
|
36
|
+
import { l as getVerboseFlag, o as getFlagValue, r as registerSubCliCommands, s as getPositiveIntFlagValue, u as hasFlag } from "./register.subclis-BcEwwuzW.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-
|
|
40
|
-
import { n as hasExplicitOptions, t as ensurePluginRegistryLoaded } from "./plugin-registry-
|
|
39
|
+
import { a as createOutboundSendDeps, n as resolveSessionKeyForRequest, t as agentCommand } from "./agent-Da5YOcs3.js";
|
|
40
|
+
import { n as hasExplicitOptions, t as ensurePluginRegistryLoaded } from "./plugin-registry-C2pg1P8k.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-
|
|
42
|
+
import { i as CONFIGURE_WIZARD_SECTIONS, n as configureCommand, r as configureCommandWithSections } from "./configure-C504luDs.js";
|
|
43
43
|
import { n as ensureSystemdUserLingerNonInteractive } from "./systemd-linger-BSA8MnYc.js";
|
|
44
|
-
import { n as loadAndMaybeMigrateDoctorConfig, t as doctorCommand } from "./doctor-
|
|
44
|
+
import { n as loadAndMaybeMigrateDoctorConfig, t as doctorCommand } from "./doctor-BPESbchY.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-
|
|
2795
|
+
const { CONFIGURE_WIZARD_SECTIONS, configureCommand, configureCommandWithSections } = await import("./configure-C504luDs.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 {
|
|
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-Bma2fIJw.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-
|
|
19
|
-
import { n as setupChannels, t as noteChannelStatus } from "./onboard-channels-
|
|
20
|
-
import { l as healthCommand, n as ensureControlUiAssetsBuilt, t as formatHealthCheckFailure } from "./health-format-
|
|
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-B7VesLf0.js";
|
|
19
|
+
import { n as setupChannels, t as noteChannelStatus } from "./onboard-channels-B3o8UrpN.js";
|
|
20
|
+
import { l as healthCommand, n as ensureControlUiAssetsBuilt, t as formatHealthCheckFailure } from "./health-format-6-sirUMO.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 {
|
|
2
|
+
import { Lt as resolveControlUiLinks } from "./reply-Bma2fIJw.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-
|
|
17
|
+
import { t as createDefaultDeps } from "./deps-C6KOAneQ.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 {
|
|
1
|
+
import { In as sendMessageWhatsApp, Rn as sendMessageSlack, St as sendMessageIMessage, _n as sendMessageTelegram, vn as sendMessageDiscord } from "./reply-Bma2fIJw.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 {
|
|
1
|
+
import { It as randomToken, Pt as printWizardHeader, ht as loadSKYKOIPlugins, kr as loadModelCatalog, kt as guardCancel, wt as applyWizardMetadata } from "./reply-Bma2fIJw.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-
|
|
29
|
-
import { c as doctorShellCompletion, t as runGatewayUpdate } from "./update-runner-
|
|
28
|
+
import { i as resolveControlUiDistIndexPathForRoot, l as healthCommand, r as resolveControlUiDistIndexHealth, t as formatHealthCheckFailure } from "./health-format-6-sirUMO.js";
|
|
29
|
+
import { c as doctorShellCompletion, t as runGatewayUpdate } from "./update-runner-7neXUX8D.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-
|
|
247
|
+
import("./run-main-DKkktYVY.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
|
});
|
package/dist/extension-api.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "./pi-embedded-helpers-D5gz7ahu.js";
|
|
2
|
-
import {
|
|
2
|
+
import { Vn as resolveAgentIdentity, Wr as resolveAgentTimeoutMs, c as runEmbeddedPiAgent } from "./reply-Bma2fIJw.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
|
|
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-Bma2fIJw.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-
|
|
67
|
+
import { n as createOutboundSendDeps, t as createDefaultDeps } from "./deps-C6KOAneQ.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-
|
|
77
|
-
import { n as installSkill } from "./onboard-skills-
|
|
78
|
-
import "./github-copilot-auth-
|
|
79
|
-
import "./onboard-channels-
|
|
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-BYmhyyK0.js";
|
|
77
|
+
import { n as installSkill } from "./onboard-skills-B7VesLf0.js";
|
|
78
|
+
import "./github-copilot-auth-DzwNnQJj.js";
|
|
79
|
+
import "./onboard-channels-B3o8UrpN.js";
|
|
80
80
|
import { r as buildChannelUiCatalog, t as applyPluginAutoEnable } from "./plugin-auto-enable-ClD8Hu9T.js";
|
|
81
|
-
import "./archive-
|
|
81
|
+
import "./archive-CdIhvmdq.js";
|
|
82
82
|
import "./skill-scanner-BapBkMb3.js";
|
|
83
|
-
import "./installs-
|
|
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-
|
|
85
|
-
import { S as normalizeUpdateChannel, _ as resolveNpmChannelTag, h as compareSemverStrings, m as checkUpdateStatus, t as runGatewayUpdate, y as DEFAULT_PACKAGE_CHANNEL } from "./update-runner-
|
|
83
|
+
import "./installs-BS8Q_aqJ.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-6-sirUMO.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-7neXUX8D.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-
|
|
96
|
-
import { a as createOutboundSendDeps$1, i as resolveAgentOutboundTarget, r as resolveAgentDeliveryPlan, t as agentCommand } from "./agent-
|
|
95
|
+
import "./register.subclis-BcEwwuzW.js";
|
|
96
|
+
import { a as createOutboundSendDeps$1, i as resolveAgentOutboundTarget, r as resolveAgentDeliveryPlan, t as agentCommand } from "./agent-Da5YOcs3.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-
|
|
99
|
+
import "./completion-cli-4JYy7b35.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-
|
|
104
|
+
import { a as runDaemonStop, i as runDaemonStart, n as runDaemonStatus, o as runDaemonUninstall, r as runDaemonRestart, s as runDaemonInstall } from "./daemon-cli-DLtD4zDH.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";
|
|
@@ -4129,7 +4129,7 @@ async function start(state) {
|
|
|
4129
4129
|
}, "cron: started");
|
|
4130
4130
|
});
|
|
4131
4131
|
}
|
|
4132
|
-
function stop(state) {
|
|
4132
|
+
function stop$1(state) {
|
|
4133
4133
|
stopTimer(state);
|
|
4134
4134
|
}
|
|
4135
4135
|
async function status(state) {
|
|
@@ -4280,7 +4280,7 @@ var CronService = class {
|
|
|
4280
4280
|
await start(this.state);
|
|
4281
4281
|
}
|
|
4282
4282
|
stop() {
|
|
4283
|
-
stop(this.state);
|
|
4283
|
+
stop$1(this.state);
|
|
4284
4284
|
}
|
|
4285
4285
|
async status() {
|
|
4286
4286
|
return await status(this.state);
|
|
@@ -10754,7 +10754,7 @@ const nodeHandlers = {
|
|
|
10754
10754
|
const p = params;
|
|
10755
10755
|
const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
|
|
10756
10756
|
await respondUnavailableOnThrow(respond, async () => {
|
|
10757
|
-
const { handleNodeEvent } = await import("./server-node-events-
|
|
10757
|
+
const { handleNodeEvent } = await import("./server-node-events-C550S2ce.js");
|
|
10758
10758
|
const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
|
|
10759
10759
|
await handleNodeEvent({
|
|
10760
10760
|
deps: context.deps,
|
|
@@ -14642,6 +14642,181 @@ function createGatewayBroadcaster(params) {
|
|
|
14642
14642
|
};
|
|
14643
14643
|
}
|
|
14644
14644
|
|
|
14645
|
+
//#endregion
|
|
14646
|
+
//#region src/agents/subagent-fleet-telemetry.ts
|
|
14647
|
+
/**
|
|
14648
|
+
* Sub-agent fleet telemetry → fleet canvas bridge.
|
|
14649
|
+
*
|
|
14650
|
+
* Every tool call, text delta, and lifecycle transition inside a
|
|
14651
|
+
* sub-agent's run is mirrored into the parent's fleet canvas entry so
|
|
14652
|
+
* the SubAgentWidget renders live:
|
|
14653
|
+
* - tool_call → currentAction + log entry
|
|
14654
|
+
* - assistant text → streamingText
|
|
14655
|
+
* - lifecycle end → status flip to done / failed + clear streamingText
|
|
14656
|
+
*
|
|
14657
|
+
* Sub-agent events flow through `emitAgentEvent` exactly like top-level
|
|
14658
|
+
* runs; we identify them by runId lookup in the subagent registry. When
|
|
14659
|
+
* matched, we patch `canvas://session/{parentSessionKey}/fleet` via a
|
|
14660
|
+
* read-merge-write on just the entry for that sub-agent (id =
|
|
14661
|
+
* childSessionKey).
|
|
14662
|
+
*
|
|
14663
|
+
* Wired in once at gateway startup alongside wireCanvasBroadcast.
|
|
14664
|
+
*/
|
|
14665
|
+
const MAX_LOG_ENTRIES = 24;
|
|
14666
|
+
const MAX_STREAMING_TEXT_LEN = 2e3;
|
|
14667
|
+
const lastTextByChild = /* @__PURE__ */ new Map();
|
|
14668
|
+
function patchFleetEntry(parentSessionKey, childSessionKey, patch) {
|
|
14669
|
+
const uri = canvasUri(parentSessionKey, "fleet");
|
|
14670
|
+
const prior = getCanvasResource(uri)?.content ?? {
|
|
14671
|
+
_type: "fleet",
|
|
14672
|
+
agents: []
|
|
14673
|
+
};
|
|
14674
|
+
const priorAgents = Array.isArray(prior.agents) ? prior.agents : [];
|
|
14675
|
+
const idx = priorAgents.findIndex((a) => a.id === childSessionKey);
|
|
14676
|
+
if (idx < 0) return;
|
|
14677
|
+
const merged = {
|
|
14678
|
+
...priorAgents[idx],
|
|
14679
|
+
...patch
|
|
14680
|
+
};
|
|
14681
|
+
const agents = [...priorAgents];
|
|
14682
|
+
agents[idx] = merged;
|
|
14683
|
+
try {
|
|
14684
|
+
replaceCanvasResource(uri, {
|
|
14685
|
+
_type: "fleet",
|
|
14686
|
+
agents
|
|
14687
|
+
});
|
|
14688
|
+
} catch {}
|
|
14689
|
+
}
|
|
14690
|
+
function appendLog(parentSessionKey, childSessionKey, entry) {
|
|
14691
|
+
const uri = canvasUri(parentSessionKey, "fleet");
|
|
14692
|
+
const prior = getCanvasResource(uri)?.content ?? {
|
|
14693
|
+
_type: "fleet",
|
|
14694
|
+
agents: []
|
|
14695
|
+
};
|
|
14696
|
+
const priorAgents = Array.isArray(prior.agents) ? prior.agents : [];
|
|
14697
|
+
const idx = priorAgents.findIndex((a) => a.id === childSessionKey);
|
|
14698
|
+
if (idx < 0) return;
|
|
14699
|
+
const existing = priorAgents[idx];
|
|
14700
|
+
const log = (existing.log ?? []).concat(entry).slice(-MAX_LOG_ENTRIES);
|
|
14701
|
+
const agents = [...priorAgents];
|
|
14702
|
+
agents[idx] = {
|
|
14703
|
+
...existing,
|
|
14704
|
+
log,
|
|
14705
|
+
lastActivityAt: entry.ts
|
|
14706
|
+
};
|
|
14707
|
+
try {
|
|
14708
|
+
replaceCanvasResource(uri, {
|
|
14709
|
+
_type: "fleet",
|
|
14710
|
+
agents
|
|
14711
|
+
});
|
|
14712
|
+
} catch {}
|
|
14713
|
+
}
|
|
14714
|
+
function resolveSubagentContext(runId, sessionKey) {
|
|
14715
|
+
const byRun = findSubagentRunByRunId(runId);
|
|
14716
|
+
if (byRun) return byRun;
|
|
14717
|
+
if (sessionKey) return findSubagentRunByChildSessionKey(sessionKey);
|
|
14718
|
+
}
|
|
14719
|
+
let started = false;
|
|
14720
|
+
let stop = null;
|
|
14721
|
+
/** Idempotent. Call once at gateway startup. */
|
|
14722
|
+
function startSubagentFleetTelemetry() {
|
|
14723
|
+
if (started) return stop ?? (() => {});
|
|
14724
|
+
started = true;
|
|
14725
|
+
stop = onAgentEvent((evt) => {
|
|
14726
|
+
const record = resolveSubagentContext(evt.runId, evt.sessionKey);
|
|
14727
|
+
if (!record) return;
|
|
14728
|
+
const parent = record.requesterSessionKey;
|
|
14729
|
+
const child = record.childSessionKey;
|
|
14730
|
+
const data = evt.data;
|
|
14731
|
+
const now = evt.ts ?? Date.now();
|
|
14732
|
+
if (evt.stream === "lifecycle") {
|
|
14733
|
+
const phase = data?.phase ?? "";
|
|
14734
|
+
if (phase === "start") {
|
|
14735
|
+
patchFleetEntry(parent, child, {
|
|
14736
|
+
status: "working",
|
|
14737
|
+
lastActivityAt: now
|
|
14738
|
+
});
|
|
14739
|
+
appendLog(parent, child, {
|
|
14740
|
+
kind: "start",
|
|
14741
|
+
text: "Sub-agent started",
|
|
14742
|
+
ts: now
|
|
14743
|
+
});
|
|
14744
|
+
} else if (phase === "end") {
|
|
14745
|
+
const reason = data?.reason ?? "completed";
|
|
14746
|
+
patchFleetEntry(parent, child, {
|
|
14747
|
+
status: "done",
|
|
14748
|
+
streamingText: void 0,
|
|
14749
|
+
currentAction: void 0,
|
|
14750
|
+
lastActivityAt: now
|
|
14751
|
+
});
|
|
14752
|
+
appendLog(parent, child, {
|
|
14753
|
+
kind: "end",
|
|
14754
|
+
text: reason,
|
|
14755
|
+
ts: now
|
|
14756
|
+
});
|
|
14757
|
+
lastTextByChild.delete(child);
|
|
14758
|
+
} else if (phase === "error") {
|
|
14759
|
+
const errMsg = data?.error ?? data?.message ?? "error";
|
|
14760
|
+
patchFleetEntry(parent, child, {
|
|
14761
|
+
status: "failed",
|
|
14762
|
+
streamingText: void 0,
|
|
14763
|
+
currentAction: void 0,
|
|
14764
|
+
lastActivityAt: now
|
|
14765
|
+
});
|
|
14766
|
+
appendLog(parent, child, {
|
|
14767
|
+
kind: "error",
|
|
14768
|
+
text: errMsg,
|
|
14769
|
+
ts: now
|
|
14770
|
+
});
|
|
14771
|
+
lastTextByChild.delete(child);
|
|
14772
|
+
}
|
|
14773
|
+
return;
|
|
14774
|
+
}
|
|
14775
|
+
if (evt.stream === "tool") {
|
|
14776
|
+
const phase = data?.phase ?? "";
|
|
14777
|
+
const toolName = data?.name ?? "tool";
|
|
14778
|
+
if (phase === "start") {
|
|
14779
|
+
const args = data?.args ?? {};
|
|
14780
|
+
const description = data?.description ?? args._activity ?? args._description ?? toolName;
|
|
14781
|
+
patchFleetEntry(parent, child, {
|
|
14782
|
+
currentAction: `${toolName}: ${String(description).slice(0, 140)}`,
|
|
14783
|
+
lastActivityAt: now
|
|
14784
|
+
});
|
|
14785
|
+
appendLog(parent, child, {
|
|
14786
|
+
kind: "tool",
|
|
14787
|
+
text: String(description).slice(0, 200),
|
|
14788
|
+
ts: now
|
|
14789
|
+
});
|
|
14790
|
+
} else if (phase === "result") patchFleetEntry(parent, child, {
|
|
14791
|
+
currentAction: void 0,
|
|
14792
|
+
lastActivityAt: now
|
|
14793
|
+
});
|
|
14794
|
+
return;
|
|
14795
|
+
}
|
|
14796
|
+
if (evt.stream === "assistant") {
|
|
14797
|
+
const fullText = data?.text;
|
|
14798
|
+
const delta = data?.delta;
|
|
14799
|
+
const prev = lastTextByChild.get(child) ?? "";
|
|
14800
|
+
let next = prev;
|
|
14801
|
+
if (fullText !== void 0 && fullText.length > prev.length) next = fullText;
|
|
14802
|
+
else if (delta) next = prev + delta;
|
|
14803
|
+
if (next !== prev) {
|
|
14804
|
+
lastTextByChild.set(child, next);
|
|
14805
|
+
patchFleetEntry(parent, child, {
|
|
14806
|
+
streamingText: next.length > MAX_STREAMING_TEXT_LEN ? next.slice(-MAX_STREAMING_TEXT_LEN) : next,
|
|
14807
|
+
lastActivityAt: now
|
|
14808
|
+
});
|
|
14809
|
+
}
|
|
14810
|
+
}
|
|
14811
|
+
});
|
|
14812
|
+
return () => {
|
|
14813
|
+
stop?.();
|
|
14814
|
+
started = false;
|
|
14815
|
+
stop = null;
|
|
14816
|
+
lastTextByChild.clear();
|
|
14817
|
+
};
|
|
14818
|
+
}
|
|
14819
|
+
|
|
14645
14820
|
//#endregion
|
|
14646
14821
|
//#region src/agents/identity-avatar.ts
|
|
14647
14822
|
const ALLOWED_AVATAR_EXTS = new Set([
|
|
@@ -17184,6 +17359,7 @@ async function createGatewayRuntimeState(params) {
|
|
|
17184
17359
|
const chatAbortControllers = /* @__PURE__ */ new Map();
|
|
17185
17360
|
const toolEventRecipients = createToolEventRecipientRegistry();
|
|
17186
17361
|
wireCanvasBroadcast(broadcastToConnIds);
|
|
17362
|
+
startSubagentFleetTelemetry();
|
|
17187
17363
|
return {
|
|
17188
17364
|
canvasHost,
|
|
17189
17365
|
httpServer,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ht as loadSKYKOIPlugins } from "./reply-Bma2fIJw.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 {
|
|
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-Bma2fIJw.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-
|
|
2
|
+
import "./reply-Bma2fIJw.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-
|
|
58
|
+
import { a as resolvePackedRootDir, i as resolveArchiveKind, n as fileExists, r as readJsonFile, t as extractArchive } from "./archive-CdIhvmdq.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-
|
|
61
|
+
import { t as buildPluginStatusReport } from "./status-DcXXRApT.js";
|
|
62
62
|
import fs from "node:fs";
|
|
63
63
|
import path from "node:path";
|
|
64
64
|
import os from "node:os";
|