skykoi 2026.3.32 → 2026.3.33
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/build-info.json +3 -3
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{completion-cli-52VvoM_K.js → completion-cli-BFpMGGJp.js} +2 -2
- package/dist/{completion-cli-BT_5u1b7.js → completion-cli-DXt5J6NO.js} +1 -1
- package/dist/{config-guard-D-C6wp6Q.js → config-guard-Ct1PT1ZL.js} +3 -3
- package/dist/{doctor-D3FZptHG.js → doctor-BA4__Mx7.js} +1 -1
- package/dist/{doctor-D7gplt7y.js → doctor-DPA2jDpR.js} +1 -1
- package/dist/entry.js +1 -1
- package/dist/{gateway-cli-DIr4w7H1.js → gateway-cli-Dfp03Bdx.js} +59 -31
- package/dist/{gateway-cli-VBGOf-7z.js → gateway-cli-Uf3L1tlp.js} +58 -30
- package/dist/index.js +4 -4
- package/dist/{onboarding-D__7Nlsl.js → onboarding-ByEvNN8_.js} +2 -2
- package/dist/{program-DgFnkvu_.js → program-DsqhEBlx.js} +6 -6
- package/dist/{register.subclis-C00vuiWz.js → register.subclis-CtdazzCK.js} +3 -3
- package/dist/{run-main-B4K_5H7e.js → run-main-DEA5tZby.js} +8 -8
- package/dist/{status-B9gw1tPc.js → status-UAO83kNe.js} +2 -2
- package/dist/{update-cli-D4bfteVO.js → update-cli-BJw0FEUf.js} +3 -3
- package/dist/{update-cli-TpiKYwkG.js → update-cli-uktSZBAl.js} +4 -4
- package/dist/{update-runner-D2rkfIG-.js → update-runner-CqR4E_QO.js} +1 -1
- package/dist/{update-runner--JLGNdGD.js → update-runner-D9NZDqxe.js} +1 -1
- package/package.json +1 -1
package/dist/build-info.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
390eda7f2c7ce7c437b8463d706583fd1a1bc16b5b8d209ecbc555ddec23673b
|
|
@@ -124,7 +124,7 @@ const entries = [
|
|
|
124
124
|
name: "gateway",
|
|
125
125
|
description: "Gateway control",
|
|
126
126
|
register: async (program) => {
|
|
127
|
-
(await import("./gateway-cli-
|
|
127
|
+
(await import("./gateway-cli-Uf3L1tlp.js")).registerGatewayCli(program);
|
|
128
128
|
}
|
|
129
129
|
},
|
|
130
130
|
{
|
|
@@ -282,7 +282,7 @@ const entries = [
|
|
|
282
282
|
name: "update",
|
|
283
283
|
description: "CLI update helpers",
|
|
284
284
|
register: async (program) => {
|
|
285
|
-
(await import("./update-cli-
|
|
285
|
+
(await import("./update-cli-BJw0FEUf.js")).registerUpdateCli(program);
|
|
286
286
|
}
|
|
287
287
|
},
|
|
288
288
|
{
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { n as __exportAll } from "./chunk-BXK9XSlF.js";
|
|
2
2
|
import { X as resolveStateDir } from "./entry.js";
|
|
3
|
-
import { n as registerSubCliByName, t as getSubCliEntries } from "./register.subclis-
|
|
3
|
+
import { n as registerSubCliByName, t as getSubCliEntries } from "./register.subclis-CtdazzCK.js";
|
|
4
4
|
import path from "node:path";
|
|
5
5
|
import os from "node:os";
|
|
6
6
|
import fs from "node:fs/promises";
|
|
@@ -22,7 +22,7 @@ import { a as resolveSessionTranscriptsDirForAgent, i as resolveSessionTranscrip
|
|
|
22
22
|
import { d as loadSessionStore } from "./sandbox-DyDrMxBF.js";
|
|
23
23
|
import { r as runCommandWithRuntime } from "./cli-utils-CQTTNUIq.js";
|
|
24
24
|
import { n as ensurePluginRegistryLoaded, t as hasExplicitOptions } from "./command-options-YP_dvMez.js";
|
|
25
|
-
import { l as getVerboseFlag, o as getFlagValue, r as registerSubCliCommands, s as getPositiveIntFlagValue, u as hasFlag } from "./register.subclis-
|
|
25
|
+
import { l as getVerboseFlag, o as getFlagValue, r as registerSubCliCommands, s as getPositiveIntFlagValue, u as hasFlag } from "./register.subclis-CtdazzCK.js";
|
|
26
26
|
import { n as parsePositiveIntOrUndefined, t as collectOption } from "./helpers-CEFiyjZQ.js";
|
|
27
27
|
import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-DQcPueX1.js";
|
|
28
28
|
import { t as createDefaultDeps } from "./deps-DZVkCyfF.js";
|
|
@@ -34,12 +34,12 @@ import { d as applyAuthChoice, f as applyOpenAIConfig, h as promptAuthChoiceGrou
|
|
|
34
34
|
import { l as healthCommand } from "./health-format-BL3M1y4s.js";
|
|
35
35
|
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-DJ_95veW.js";
|
|
36
36
|
import { n as logConfigUpdated, t as formatConfigPath } from "./logging-D15QDE2U.js";
|
|
37
|
-
import { a as findAgentEntryIndex, c as pruneAgentConfig, d as parseIdentityMarkdown, f as runOnboardingWizard, i as buildAgentSummaries, l as identityHasValues, o as listAgentEntries, r as applyAgentConfig, s as loadAgentIdentity, t as statusCommand } from "./status-
|
|
37
|
+
import { a as findAgentEntryIndex, c as pruneAgentConfig, d as parseIdentityMarkdown, f as runOnboardingWizard, i as buildAgentSummaries, l as identityHasValues, o as listAgentEntries, r as applyAgentConfig, s as loadAgentIdentity, t as statusCommand } from "./status-UAO83kNe.js";
|
|
38
38
|
import { a as createOutboundSendDeps, n as resolveSessionKeyForRequest, t as agentCommand } from "./agent-BKhAPOvN.js";
|
|
39
39
|
import { t as formatHelpExamples } from "./help-format-tZizD4BR.js";
|
|
40
40
|
import { i as CONFIGURE_WIZARD_SECTIONS, n as configureCommand, r as configureCommandWithSections } from "./configure-D50d4QdJ.js";
|
|
41
41
|
import { n as ensureSystemdUserLingerNonInteractive } from "./systemd-linger-CEreLGmo.js";
|
|
42
|
-
import { n as loadAndMaybeMigrateDoctorConfig, t as doctorCommand } from "./doctor-
|
|
42
|
+
import { n as loadAndMaybeMigrateDoctorConfig, t as doctorCommand } from "./doctor-BA4__Mx7.js";
|
|
43
43
|
import path from "node:path";
|
|
44
44
|
import fs from "node:fs";
|
|
45
45
|
import JSON5 from "json5";
|
|
@@ -29,7 +29,7 @@ import { r as isSystemdUserServiceAvailable } from "./systemd-DQvm8tRB.js";
|
|
|
29
29
|
import { n as renderSystemdUnavailableHints, t as isSystemdUnavailableDetail } from "./systemd-hints-DiosV8jd.js";
|
|
30
30
|
import { a as renderGatewayServiceCleanupHints, i as findExtraGatewayServices, n as auditGatewayServiceConfig, o as readLastGatewayErrorLine, r as needsNodeRuntimeMigration, t as SERVICE_AUDIT_CODES } from "./service-audit-CQ1bUSCH.js";
|
|
31
31
|
import { i as resolveControlUiDistIndexPathForRoot, l as healthCommand, r as resolveControlUiDistIndexHealth, t as formatHealthCheckFailure } from "./health-format-BL3M1y4s.js";
|
|
32
|
-
import { f as doctorShellCompletion, t as runGatewayUpdate } from "./update-runner-
|
|
32
|
+
import { f as doctorShellCompletion, t as runGatewayUpdate } from "./update-runner-CqR4E_QO.js";
|
|
33
33
|
import { n as logConfigUpdated } from "./logging-D15QDE2U.js";
|
|
34
34
|
import { t as buildWorkspaceSkillStatus } from "./skills-status-C4wmQlJW.js";
|
|
35
35
|
import { n as buildAuthHealthSummary, r as formatRemainingShort, t as DEFAULT_OAUTH_WARN_MS } from "./auth-health-BtHeU2M-.js";
|
|
@@ -26,7 +26,7 @@ import { n as logConfigUpdated } from "./logging-CLxV9Na7.js";
|
|
|
26
26
|
import { t as note$1 } from "./note-CrCSjpk3.js";
|
|
27
27
|
import { t as applyPluginAutoEnable } from "./plugin-auto-enable-KzIwJe0A.js";
|
|
28
28
|
import { i as resolveControlUiDistIndexPathForRoot, l as healthCommand, r as resolveControlUiDistIndexHealth, t as formatHealthCheckFailure } from "./health-format-DUFBNWnB.js";
|
|
29
|
-
import { c as doctorShellCompletion, t as runGatewayUpdate } from "./update-runner
|
|
29
|
+
import { c as doctorShellCompletion, t as runGatewayUpdate } from "./update-runner-D9NZDqxe.js";
|
|
30
30
|
import { i as resolveGatewayAuth } from "./auth-DSrYkGU-.js";
|
|
31
31
|
import { t as buildWorkspaceSkillStatus } from "./skills-status-BVaiHzFh.js";
|
|
32
32
|
import { a as repairLaunchAgentBootstrap, i as launchAgentPlistExists, n as isLaunchAgentListed, o as resolveGatewayLogPaths, r as isLaunchAgentLoaded, t as resolveGatewayService } from "./service-BKQOHHW6.js";
|
package/dist/entry.js
CHANGED
|
@@ -1334,7 +1334,7 @@ if (!ensureExperimentalWarningSuppressed()) {
|
|
|
1334
1334
|
applyCliProfileEnv({ profile: parsed.profile });
|
|
1335
1335
|
process$1.argv = parsed.argv;
|
|
1336
1336
|
}
|
|
1337
|
-
import("./run-main-
|
|
1337
|
+
import("./run-main-DEA5tZby.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
|
|
1338
1338
|
console.error("[SKYKOI] Failed to start CLI:", error instanceof Error ? error.stack ?? error.message : error);
|
|
1339
1339
|
process$1.exitCode = 1;
|
|
1340
1340
|
});
|
|
@@ -61,8 +61,8 @@ import { r as runCommandWithRuntime } from "./cli-utils-CQTTNUIq.js";
|
|
|
61
61
|
import "./pairing-labels-DxpfDscO.js";
|
|
62
62
|
import { t as buildChannelAccountSnapshot } from "./status-t7_XFd6z.js";
|
|
63
63
|
import "./channels-status-issues-Cx4DwKM8.js";
|
|
64
|
-
import "./register.subclis-
|
|
65
|
-
import "./completion-cli-
|
|
64
|
+
import "./register.subclis-CtdazzCK.js";
|
|
65
|
+
import "./completion-cli-DXt5J6NO.js";
|
|
66
66
|
import { n as createOutboundSendDeps, t as createDefaultDeps } from "./deps-DZVkCyfF.js";
|
|
67
67
|
import "./daemon-runtime-HqcnmSTj.js";
|
|
68
68
|
import "./service-DV05Mtg_.js";
|
|
@@ -76,11 +76,11 @@ import { a as toOptionString, i as parsePort$1, n as extractGatewayMiskeys, r as
|
|
|
76
76
|
import { i as probeGateway } from "./audit-D0OQ_h8g.js";
|
|
77
77
|
import { g as discoverGatewayBeacons, n as installSkill } from "./onboard-skills-Bmw1Vd5a.js";
|
|
78
78
|
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-BL3M1y4s.js";
|
|
79
|
-
import { S as normalizeUpdateChannel, _ as resolveNpmChannelTag, h as compareSemverStrings, m as checkUpdateStatus, t as runGatewayUpdate, y as DEFAULT_PACKAGE_CHANNEL } from "./update-runner-
|
|
79
|
+
import { S as normalizeUpdateChannel, _ as resolveNpmChannelTag, h as compareSemverStrings, m as checkUpdateStatus, t as runGatewayUpdate, y as DEFAULT_PACKAGE_CHANNEL } from "./update-runner-CqR4E_QO.js";
|
|
80
80
|
import "./github-copilot-auth-DJ_95veW.js";
|
|
81
81
|
import "./logging-D15QDE2U.js";
|
|
82
82
|
import { i as shouldIncludeHook, n as loadWorkspaceHookEntries, r as resolveHookConfig } from "./hooks-status-CRG1w6AU.js";
|
|
83
|
-
import { a as findAgentEntryIndex, c as pruneAgentConfig, f as runOnboardingWizard, n as getStatusSummary, o as listAgentEntries, r as applyAgentConfig, s as loadAgentIdentity, u as loadAgentIdentityFromWorkspace } from "./status-
|
|
83
|
+
import { a as findAgentEntryIndex, c as pruneAgentConfig, f as runOnboardingWizard, n as getStatusSummary, o as listAgentEntries, r as applyAgentConfig, s as loadAgentIdentity, u as loadAgentIdentityFromWorkspace } from "./status-UAO83kNe.js";
|
|
84
84
|
import { t as buildWorkspaceSkillStatus } from "./skills-status-C4wmQlJW.js";
|
|
85
85
|
import "./tui-_aG7l29T.js";
|
|
86
86
|
import { i as setGatewayWsLogStyle, n as logWs, r as summarizeAgentEventForWsLog, t as formatForLog } from "./ws-log-C4lXq6b4.js";
|
|
@@ -89,11 +89,11 @@ import { a as createOutboundSendDeps$1, i as resolveAgentOutboundTarget, r as re
|
|
|
89
89
|
import "./node-service-C2JDeXPT.js";
|
|
90
90
|
import { n as forceFreePortAndWait } from "./ports-Bc_X7vVa.js";
|
|
91
91
|
import { spawn, spawnSync } from "node:child_process";
|
|
92
|
-
import path from "node:path";
|
|
93
|
-
import os from "node:os";
|
|
92
|
+
import path, { join } from "node:path";
|
|
93
|
+
import os, { homedir } from "node:os";
|
|
94
94
|
import chalk from "chalk";
|
|
95
95
|
import * as fsSync from "node:fs";
|
|
96
|
-
import fs, { constants } from "node:fs";
|
|
96
|
+
import fs, { constants, existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
97
97
|
import JSON5 from "json5";
|
|
98
98
|
import fs$1 from "node:fs/promises";
|
|
99
99
|
import { fileURLToPath, pathToFileURL } from "node:url";
|
|
@@ -15895,7 +15895,45 @@ async function startPluginServices(params) {
|
|
|
15895
15895
|
|
|
15896
15896
|
//#endregion
|
|
15897
15897
|
//#region src/gateway/bedrock-credentials.ts
|
|
15898
|
-
|
|
15898
|
+
/**
|
|
15899
|
+
* Auto-fetch AWS Bedrock credentials from the SkyKoi platform.
|
|
15900
|
+
*
|
|
15901
|
+
* Credential flow (ordered by priority):
|
|
15902
|
+
* 1. AWS env vars already set (e.g. EC2 instance profile) → use as-is
|
|
15903
|
+
* 2. Local credential cache (~/.skykoi/bedrock-credentials.json) → load from disk
|
|
15904
|
+
* 3. Platform credential proxy → fetch, inject into env, persist to disk
|
|
15905
|
+
*
|
|
15906
|
+
* Credentials are permanent IAM access keys (no expiration). Once fetched from
|
|
15907
|
+
* the platform they're cached locally so the gateway works after reboots without
|
|
15908
|
+
* any network calls to the platform.
|
|
15909
|
+
*/
|
|
15910
|
+
function getCredentialCachePath() {
|
|
15911
|
+
const dir = join(homedir(), ".skykoi");
|
|
15912
|
+
if (!existsSync(dir)) mkdirSync(dir, { recursive: true });
|
|
15913
|
+
return join(dir, "bedrock-credentials.json");
|
|
15914
|
+
}
|
|
15915
|
+
function loadCachedCredentials() {
|
|
15916
|
+
try {
|
|
15917
|
+
const path = getCredentialCachePath();
|
|
15918
|
+
if (!existsSync(path)) return null;
|
|
15919
|
+
const raw = readFileSync(path, "utf-8");
|
|
15920
|
+
const data = JSON.parse(raw);
|
|
15921
|
+
if (data.accessKeyId && data.secretAccessKey) return data;
|
|
15922
|
+
return null;
|
|
15923
|
+
} catch {
|
|
15924
|
+
return null;
|
|
15925
|
+
}
|
|
15926
|
+
}
|
|
15927
|
+
function saveCachedCredentials(creds) {
|
|
15928
|
+
try {
|
|
15929
|
+
writeFileSync(getCredentialCachePath(), JSON.stringify(creds, null, 2), { mode: 384 });
|
|
15930
|
+
} catch {}
|
|
15931
|
+
}
|
|
15932
|
+
function injectCredentials(creds) {
|
|
15933
|
+
process.env.AWS_ACCESS_KEY_ID = creds.accessKeyId;
|
|
15934
|
+
process.env.AWS_SECRET_ACCESS_KEY = creds.secretAccessKey;
|
|
15935
|
+
if (creds.region) process.env.AWS_REGION = creds.region;
|
|
15936
|
+
}
|
|
15899
15937
|
function resolveGatewayToken(cfg) {
|
|
15900
15938
|
const gw = cfg.gateway;
|
|
15901
15939
|
if (!gw?.auth) return void 0;
|
|
@@ -15903,6 +15941,11 @@ function resolveGatewayToken(cfg) {
|
|
|
15903
15941
|
}
|
|
15904
15942
|
async function bootstrapBedrockCredentials(cfg) {
|
|
15905
15943
|
if (resolveAwsSdkEnvVarName() !== void 0) return false;
|
|
15944
|
+
const cached = loadCachedCredentials();
|
|
15945
|
+
if (cached) {
|
|
15946
|
+
injectCredentials(cached);
|
|
15947
|
+
return true;
|
|
15948
|
+
}
|
|
15906
15949
|
const appUrl = process.env.SKYKOI_APP_URL?.trim();
|
|
15907
15950
|
const agentId = process.env.SKYKOI_AGENT_ID?.trim();
|
|
15908
15951
|
const gatewayToken = process.env.SKYKOI_GATEWAY_TOKEN?.trim() || resolveGatewayToken(cfg);
|
|
@@ -15911,38 +15954,23 @@ async function bootstrapBedrockCredentials(cfg) {
|
|
|
15911
15954
|
const url = `${appUrl}/api/agents/${agentId}/credentials/proxy?provider=amazon-bedrock`;
|
|
15912
15955
|
const res = await fetch(url, {
|
|
15913
15956
|
headers: { "x-gateway-token": gatewayToken },
|
|
15914
|
-
signal: AbortSignal.timeout(
|
|
15957
|
+
signal: AbortSignal.timeout(3e4)
|
|
15915
15958
|
});
|
|
15916
15959
|
if (!res.ok) return false;
|
|
15917
15960
|
const cred = (await res.json()).credentials?.find((c) => c.data?.accessKeyId && c.data?.secretAccessKey);
|
|
15918
15961
|
if (!cred) return false;
|
|
15919
|
-
|
|
15920
|
-
|
|
15921
|
-
|
|
15922
|
-
|
|
15923
|
-
|
|
15962
|
+
const credentials = {
|
|
15963
|
+
accessKeyId: cred.data.accessKeyId,
|
|
15964
|
+
secretAccessKey: cred.data.secretAccessKey,
|
|
15965
|
+
region: cred.data.region || "us-east-1"
|
|
15966
|
+
};
|
|
15967
|
+
injectCredentials(credentials);
|
|
15968
|
+
saveCachedCredentials(credentials);
|
|
15924
15969
|
return true;
|
|
15925
15970
|
} catch {
|
|
15926
15971
|
return false;
|
|
15927
15972
|
}
|
|
15928
15973
|
}
|
|
15929
|
-
function scheduleCredentialRefresh(cfg, expiresAt) {
|
|
15930
|
-
if (refreshTimer) clearTimeout(refreshTimer);
|
|
15931
|
-
const expiresMs = new Date(expiresAt).getTime();
|
|
15932
|
-
const now = Date.now();
|
|
15933
|
-
const refreshIn = Math.max(expiresMs - now - 10 * 6e4, 6e4);
|
|
15934
|
-
refreshTimer = setTimeout(async () => {
|
|
15935
|
-
try {
|
|
15936
|
-
delete process.env.AWS_ACCESS_KEY_ID;
|
|
15937
|
-
delete process.env.AWS_SECRET_ACCESS_KEY;
|
|
15938
|
-
delete process.env.AWS_SESSION_TOKEN;
|
|
15939
|
-
await bootstrapBedrockCredentials(cfg);
|
|
15940
|
-
} catch {
|
|
15941
|
-
scheduleCredentialRefresh(cfg, new Date(Date.now() + 15 * 6e4).toISOString());
|
|
15942
|
-
}
|
|
15943
|
-
}, refreshIn);
|
|
15944
|
-
if (refreshTimer.unref) refreshTimer.unref();
|
|
15945
|
-
}
|
|
15946
15974
|
|
|
15947
15975
|
//#endregion
|
|
15948
15976
|
//#region src/gateway/server-restart-sentinel.ts
|
|
@@ -55,7 +55,7 @@ import { n as createOutboundSendDeps, t as createDefaultDeps } from "./deps-DRCH
|
|
|
55
55
|
import { i as enableTailscaleServe, n as disableTailscaleServe, o as getTailnetHostname, r as enableTailscaleFunnel, t as disableTailscaleFunnel } from "./tailscale-C9oNI3cv.js";
|
|
56
56
|
import { t as ensureSKYKOICliOnPath } from "./path-env-BnUKFCos.js";
|
|
57
57
|
import "./daemon-runtime-B7p4kL16.js";
|
|
58
|
-
import { c as loadAgentIdentity, d as loadAgentIdentityFromWorkspace, i as applyAgentConfig, l as pruneAgentConfig, o as findAgentEntryIndex, p as forceFreePortAndWait, r as getStatusSummary, s as listAgentEntries, t as runOnboardingWizard } from "./onboarding-
|
|
58
|
+
import { c as loadAgentIdentity, d as loadAgentIdentityFromWorkspace, i as applyAgentConfig, l as pruneAgentConfig, o as findAgentEntryIndex, p as forceFreePortAndWait, r as getStatusSummary, s as listAgentEntries, t as runOnboardingWizard } from "./onboarding-ByEvNN8_.js";
|
|
59
59
|
import { t as resolveChannelDefaultAccountId } from "./helpers-yjIEMzi8.js";
|
|
60
60
|
import "./logging-CLxV9Na7.js";
|
|
61
61
|
import "./note-CrCSjpk3.js";
|
|
@@ -68,7 +68,7 @@ import "./archive-Dy3Ezb-5.js";
|
|
|
68
68
|
import "./skill-scanner-BoGjHXUZ.js";
|
|
69
69
|
import "./installs-ChtZhX65.js";
|
|
70
70
|
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-DUFBNWnB.js";
|
|
71
|
-
import { S as normalizeUpdateChannel, _ as resolveNpmChannelTag, h as compareSemverStrings, m as checkUpdateStatus, t as runGatewayUpdate, y as DEFAULT_PACKAGE_CHANNEL } from "./update-runner
|
|
71
|
+
import { S as normalizeUpdateChannel, _ as resolveNpmChannelTag, h as compareSemverStrings, m as checkUpdateStatus, t as runGatewayUpdate, y as DEFAULT_PACKAGE_CHANNEL } from "./update-runner-D9NZDqxe.js";
|
|
72
72
|
import { i as resolveGatewayAuth, n as authorizeGatewayConnect, r as isLocalDirectRequest, t as assertGatewayAuthConfigured } from "./auth-DSrYkGU-.js";
|
|
73
73
|
import { i as probeGateway } from "./audit-zzBGcjIg.js";
|
|
74
74
|
import "./table-BOthYYmp.js";
|
|
@@ -78,7 +78,7 @@ import "./systemd-DyrxDxSB.js";
|
|
|
78
78
|
import "./service-audit-Cyagv33t.js";
|
|
79
79
|
import "./node-service-DPiAKtp-.js";
|
|
80
80
|
import "./channels-status-issues-CbB072Pz.js";
|
|
81
|
-
import "./completion-cli-
|
|
81
|
+
import "./completion-cli-BFpMGGJp.js";
|
|
82
82
|
import { a as createOutboundSendDeps$1, i as resolveAgentOutboundTarget, r as resolveAgentDeliveryPlan, t as agentCommand } from "./agent-D3YXnrX0.js";
|
|
83
83
|
import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } from "./widearea-dns-Cr9yVcsB.js";
|
|
84
84
|
import { i as shouldIncludeHook, n as loadWorkspaceHookEntries, r as resolveHookConfig } from "./hooks-status-CdjD9QYu.js";
|
|
@@ -90,10 +90,10 @@ import { a as toOptionString, i as parsePort$1, n as extractGatewayMiskeys, r as
|
|
|
90
90
|
import { i as setGatewayWsLogStyle, n as logWs, r as summarizeAgentEventForWsLog, t as formatForLog } from "./ws-log-DQL_wvbk.js";
|
|
91
91
|
import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-Dt0EMX-c.js";
|
|
92
92
|
import { fileURLToPath, pathToFileURL } from "node:url";
|
|
93
|
-
import os from "node:os";
|
|
94
|
-
import path from "node:path";
|
|
93
|
+
import os, { homedir } from "node:os";
|
|
94
|
+
import path, { join } from "node:path";
|
|
95
95
|
import * as fsSync from "node:fs";
|
|
96
|
-
import fs, { constants } from "node:fs";
|
|
96
|
+
import fs, { constants, existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
97
97
|
import JSON5 from "json5";
|
|
98
98
|
import chalk from "chalk";
|
|
99
99
|
import fs$1 from "node:fs/promises";
|
|
@@ -15896,7 +15896,45 @@ async function startPluginServices(params) {
|
|
|
15896
15896
|
|
|
15897
15897
|
//#endregion
|
|
15898
15898
|
//#region src/gateway/bedrock-credentials.ts
|
|
15899
|
-
|
|
15899
|
+
/**
|
|
15900
|
+
* Auto-fetch AWS Bedrock credentials from the SkyKoi platform.
|
|
15901
|
+
*
|
|
15902
|
+
* Credential flow (ordered by priority):
|
|
15903
|
+
* 1. AWS env vars already set (e.g. EC2 instance profile) → use as-is
|
|
15904
|
+
* 2. Local credential cache (~/.skykoi/bedrock-credentials.json) → load from disk
|
|
15905
|
+
* 3. Platform credential proxy → fetch, inject into env, persist to disk
|
|
15906
|
+
*
|
|
15907
|
+
* Credentials are permanent IAM access keys (no expiration). Once fetched from
|
|
15908
|
+
* the platform they're cached locally so the gateway works after reboots without
|
|
15909
|
+
* any network calls to the platform.
|
|
15910
|
+
*/
|
|
15911
|
+
function getCredentialCachePath() {
|
|
15912
|
+
const dir = join(homedir(), ".skykoi");
|
|
15913
|
+
if (!existsSync(dir)) mkdirSync(dir, { recursive: true });
|
|
15914
|
+
return join(dir, "bedrock-credentials.json");
|
|
15915
|
+
}
|
|
15916
|
+
function loadCachedCredentials() {
|
|
15917
|
+
try {
|
|
15918
|
+
const path = getCredentialCachePath();
|
|
15919
|
+
if (!existsSync(path)) return null;
|
|
15920
|
+
const raw = readFileSync(path, "utf-8");
|
|
15921
|
+
const data = JSON.parse(raw);
|
|
15922
|
+
if (data.accessKeyId && data.secretAccessKey) return data;
|
|
15923
|
+
return null;
|
|
15924
|
+
} catch {
|
|
15925
|
+
return null;
|
|
15926
|
+
}
|
|
15927
|
+
}
|
|
15928
|
+
function saveCachedCredentials(creds) {
|
|
15929
|
+
try {
|
|
15930
|
+
writeFileSync(getCredentialCachePath(), JSON.stringify(creds, null, 2), { mode: 384 });
|
|
15931
|
+
} catch {}
|
|
15932
|
+
}
|
|
15933
|
+
function injectCredentials(creds) {
|
|
15934
|
+
process.env.AWS_ACCESS_KEY_ID = creds.accessKeyId;
|
|
15935
|
+
process.env.AWS_SECRET_ACCESS_KEY = creds.secretAccessKey;
|
|
15936
|
+
if (creds.region) process.env.AWS_REGION = creds.region;
|
|
15937
|
+
}
|
|
15900
15938
|
function resolveGatewayToken(cfg) {
|
|
15901
15939
|
const gw = cfg.gateway;
|
|
15902
15940
|
if (!gw?.auth) return void 0;
|
|
@@ -15904,6 +15942,11 @@ function resolveGatewayToken(cfg) {
|
|
|
15904
15942
|
}
|
|
15905
15943
|
async function bootstrapBedrockCredentials(cfg) {
|
|
15906
15944
|
if (resolveAwsSdkEnvVarName() !== void 0) return false;
|
|
15945
|
+
const cached = loadCachedCredentials();
|
|
15946
|
+
if (cached) {
|
|
15947
|
+
injectCredentials(cached);
|
|
15948
|
+
return true;
|
|
15949
|
+
}
|
|
15907
15950
|
const appUrl = process.env.SKYKOI_APP_URL?.trim();
|
|
15908
15951
|
const agentId = process.env.SKYKOI_AGENT_ID?.trim();
|
|
15909
15952
|
const gatewayToken = process.env.SKYKOI_GATEWAY_TOKEN?.trim() || resolveGatewayToken(cfg);
|
|
@@ -15912,38 +15955,23 @@ async function bootstrapBedrockCredentials(cfg) {
|
|
|
15912
15955
|
const url = `${appUrl}/api/agents/${agentId}/credentials/proxy?provider=amazon-bedrock`;
|
|
15913
15956
|
const res = await fetch(url, {
|
|
15914
15957
|
headers: { "x-gateway-token": gatewayToken },
|
|
15915
|
-
signal: AbortSignal.timeout(
|
|
15958
|
+
signal: AbortSignal.timeout(3e4)
|
|
15916
15959
|
});
|
|
15917
15960
|
if (!res.ok) return false;
|
|
15918
15961
|
const cred = (await res.json()).credentials?.find((c) => c.data?.accessKeyId && c.data?.secretAccessKey);
|
|
15919
15962
|
if (!cred) return false;
|
|
15920
|
-
|
|
15921
|
-
|
|
15922
|
-
|
|
15923
|
-
|
|
15924
|
-
|
|
15963
|
+
const credentials = {
|
|
15964
|
+
accessKeyId: cred.data.accessKeyId,
|
|
15965
|
+
secretAccessKey: cred.data.secretAccessKey,
|
|
15966
|
+
region: cred.data.region || "us-east-1"
|
|
15967
|
+
};
|
|
15968
|
+
injectCredentials(credentials);
|
|
15969
|
+
saveCachedCredentials(credentials);
|
|
15925
15970
|
return true;
|
|
15926
15971
|
} catch {
|
|
15927
15972
|
return false;
|
|
15928
15973
|
}
|
|
15929
15974
|
}
|
|
15930
|
-
function scheduleCredentialRefresh(cfg, expiresAt) {
|
|
15931
|
-
if (refreshTimer) clearTimeout(refreshTimer);
|
|
15932
|
-
const expiresMs = new Date(expiresAt).getTime();
|
|
15933
|
-
const now = Date.now();
|
|
15934
|
-
const refreshIn = Math.max(expiresMs - now - 10 * 6e4, 6e4);
|
|
15935
|
-
refreshTimer = setTimeout(async () => {
|
|
15936
|
-
try {
|
|
15937
|
-
delete process.env.AWS_ACCESS_KEY_ID;
|
|
15938
|
-
delete process.env.AWS_SECRET_ACCESS_KEY;
|
|
15939
|
-
delete process.env.AWS_SESSION_TOKEN;
|
|
15940
|
-
await bootstrapBedrockCredentials(cfg);
|
|
15941
|
-
} catch {
|
|
15942
|
-
scheduleCredentialRefresh(cfg, new Date(Date.now() + 15 * 6e4).toISOString());
|
|
15943
|
-
}
|
|
15944
|
-
}, refreshIn);
|
|
15945
|
-
if (refreshTimer.unref) refreshTimer.unref();
|
|
15946
|
-
}
|
|
15947
15975
|
|
|
15948
15976
|
//#endregion
|
|
15949
15977
|
//#region src/gateway/server-restart-sentinel.ts
|
package/dist/index.js
CHANGED
|
@@ -51,7 +51,7 @@ import { l as ensureBinary, u as promptYesNo } from "./tailscale-C9oNI3cv.js";
|
|
|
51
51
|
import { t as isMainModule } from "./is-main-B6kCyqsv.js";
|
|
52
52
|
import { t as ensureSKYKOICliOnPath } from "./path-env-BnUKFCos.js";
|
|
53
53
|
import { a as gatewayInstallErrorHint, g as assertSupportedRuntime, i as buildGatewayInstallPlan, r as isGatewayDaemonRuntime, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-B7p4kL16.js";
|
|
54
|
-
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-
|
|
54
|
+
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-ByEvNN8_.js";
|
|
55
55
|
import { t as resolveChannelDefaultAccountId } from "./helpers-yjIEMzi8.js";
|
|
56
56
|
import { n as logConfigUpdated, t as formatConfigPath } from "./logging-CLxV9Na7.js";
|
|
57
57
|
import "./note-CrCSjpk3.js";
|
|
@@ -65,7 +65,7 @@ import "./archive-Dy3Ezb-5.js";
|
|
|
65
65
|
import "./skill-scanner-BoGjHXUZ.js";
|
|
66
66
|
import "./installs-ChtZhX65.js";
|
|
67
67
|
import { l as healthCommand } from "./health-format-DUFBNWnB.js";
|
|
68
|
-
import "./update-runner
|
|
68
|
+
import "./update-runner-D9NZDqxe.js";
|
|
69
69
|
import "./auth-DSrYkGU-.js";
|
|
70
70
|
import "./audit-zzBGcjIg.js";
|
|
71
71
|
import { t as renderTable } from "./table-BOthYYmp.js";
|
|
@@ -75,7 +75,7 @@ import { r as isSystemdUserServiceAvailable } from "./systemd-DyrxDxSB.js";
|
|
|
75
75
|
import "./service-audit-Cyagv33t.js";
|
|
76
76
|
import "./node-service-DPiAKtp-.js";
|
|
77
77
|
import "./channels-status-issues-CbB072Pz.js";
|
|
78
|
-
import { c as registerSubCliCommands, d as getPositiveIntFlagValue, f as getVerboseFlag, l as getCommandPath, m as hasHelpOrVersion, p as hasFlag, u as getFlagValue } from "./completion-cli-
|
|
78
|
+
import { c as registerSubCliCommands, d as getPositiveIntFlagValue, f as getVerboseFlag, l as getCommandPath, m as hasHelpOrVersion, p as hasFlag, u as getFlagValue } from "./completion-cli-BFpMGGJp.js";
|
|
79
79
|
import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-CbL6geDo.js";
|
|
80
80
|
import { t as formatHelpExamples } from "./help-format-q-N7n7vs.js";
|
|
81
81
|
import { a as createOutboundSendDeps, n as resolveSessionKeyForRequest, t as agentCommand } from "./agent-D3YXnrX0.js";
|
|
@@ -85,7 +85,7 @@ import { i as CONFIGURE_WIZARD_SECTIONS, n as configureCommand, r as configureCo
|
|
|
85
85
|
import { n as ensureSystemdUserLingerNonInteractive } from "./systemd-linger-C5NE1TWa.js";
|
|
86
86
|
import "./widearea-dns-Cr9yVcsB.js";
|
|
87
87
|
import "./auth-health-DLdo_EBm.js";
|
|
88
|
-
import { n as loadAndMaybeMigrateDoctorConfig, t as doctorCommand } from "./doctor-
|
|
88
|
+
import { n as loadAndMaybeMigrateDoctorConfig, t as doctorCommand } from "./doctor-DPA2jDpR.js";
|
|
89
89
|
import "./hooks-status-CdjD9QYu.js";
|
|
90
90
|
import { i as hasEmittedCliBanner, n as emitCliBanner, r as formatCliBannerLine } from "./tui-CQVWQGBQ.js";
|
|
91
91
|
import process$1 from "node:process";
|
|
@@ -24,7 +24,7 @@ import { t as WizardCancelledError } from "./prompts-FbZThK8w.js";
|
|
|
24
24
|
import { c as promptDefaultModel, d as warnIfModelConfigLooksOff, f as applyAuthChoice, g as promptAuthChoiceGrouped, r as promptRemoteGatewayConfig, s as applyPrimaryModel, t as setupSkills, u as resolvePreferredProviderForAuthChoice } from "./onboard-skills-C0FcXPym.js";
|
|
25
25
|
import { n as setupChannels } from "./onboard-channels-yENZymbS.js";
|
|
26
26
|
import { l as healthCommand, n as ensureControlUiAssetsBuilt, s as formatHealthChannelLines, t as formatHealthCheckFailure, u as resolveHeartbeatSummaryForAgent } from "./health-format-DUFBNWnB.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
|
|
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-D9NZDqxe.js";
|
|
28
28
|
import { i as probeGateway, t as runSecurityAudit } from "./audit-zzBGcjIg.js";
|
|
29
29
|
import { t as renderTable } from "./table-BOthYYmp.js";
|
|
30
30
|
import { t as buildWorkspaceSkillStatus } from "./skills-status-BVaiHzFh.js";
|
|
@@ -34,7 +34,7 @@ import { o as readLastGatewayErrorLine } from "./service-audit-Cyagv33t.js";
|
|
|
34
34
|
import { t as resolveNodeService } from "./node-service-DPiAKtp-.js";
|
|
35
35
|
import { t as collectChannelStatusIssues } from "./channels-status-issues-CbB072Pz.js";
|
|
36
36
|
import { i as redactSecrets, n as formatDuration$1, r as formatGatewayAuthUsed, t as formatAge$1 } from "./format-8citvr_1.js";
|
|
37
|
-
import { r as installCompletion } from "./completion-cli-
|
|
37
|
+
import { r as installCompletion } from "./completion-cli-BFpMGGJp.js";
|
|
38
38
|
import { t as buildWorkspaceHookStatus } from "./hooks-status-CdjD9QYu.js";
|
|
39
39
|
import { t as runTui } from "./tui-CQVWQGBQ.js";
|
|
40
40
|
import os from "node:os";
|
|
@@ -52,8 +52,8 @@ import "./pairing-labels-DxpfDscO.js";
|
|
|
52
52
|
import "./channels-status-issues-Cx4DwKM8.js";
|
|
53
53
|
import { n as ensurePluginRegistryLoaded } from "./command-options-YP_dvMez.js";
|
|
54
54
|
import { n as resolveCliChannelOptions } from "./channel-options-DoRr2LmL.js";
|
|
55
|
-
import { a as getCommandPath, d as hasHelpOrVersion, l as getVerboseFlag } from "./register.subclis-
|
|
56
|
-
import "./completion-cli-
|
|
55
|
+
import { a as getCommandPath, d as hasHelpOrVersion, l as getVerboseFlag } from "./register.subclis-CtdazzCK.js";
|
|
56
|
+
import "./completion-cli-DXt5J6NO.js";
|
|
57
57
|
import "./gateway-rpc-DQcPueX1.js";
|
|
58
58
|
import "./deps-DZVkCyfF.js";
|
|
59
59
|
import "./daemon-runtime-HqcnmSTj.js";
|
|
@@ -65,22 +65,22 @@ import "./widearea-dns-DHSIgmLp.js";
|
|
|
65
65
|
import "./audit-D0OQ_h8g.js";
|
|
66
66
|
import "./onboard-skills-Bmw1Vd5a.js";
|
|
67
67
|
import "./health-format-BL3M1y4s.js";
|
|
68
|
-
import "./update-runner-
|
|
68
|
+
import "./update-runner-CqR4E_QO.js";
|
|
69
69
|
import "./github-copilot-auth-DJ_95veW.js";
|
|
70
70
|
import "./logging-D15QDE2U.js";
|
|
71
71
|
import "./hooks-status-CRG1w6AU.js";
|
|
72
|
-
import "./status-
|
|
72
|
+
import "./status-UAO83kNe.js";
|
|
73
73
|
import "./skills-status-C4wmQlJW.js";
|
|
74
74
|
import { i as hasEmittedCliBanner, n as emitCliBanner, r as formatCliBannerLine } from "./tui-_aG7l29T.js";
|
|
75
75
|
import "./agent-BKhAPOvN.js";
|
|
76
76
|
import "./node-service-C2JDeXPT.js";
|
|
77
77
|
import { t as forceFreePort } from "./ports-Bc_X7vVa.js";
|
|
78
78
|
import "./auth-health-BtHeU2M-.js";
|
|
79
|
-
import { r as registerProgramCommands, t as ensureConfigReady } from "./config-guard-
|
|
79
|
+
import { r as registerProgramCommands, t as ensureConfigReady } from "./config-guard-Ct1PT1ZL.js";
|
|
80
80
|
import "./help-format-tZizD4BR.js";
|
|
81
81
|
import "./configure-D50d4QdJ.js";
|
|
82
82
|
import "./systemd-linger-CEreLGmo.js";
|
|
83
|
-
import "./doctor-
|
|
83
|
+
import "./doctor-BA4__Mx7.js";
|
|
84
84
|
import { Command } from "commander";
|
|
85
85
|
|
|
86
86
|
//#region src/cli/program/context.ts
|
|
@@ -124,7 +124,7 @@ const entries = [
|
|
|
124
124
|
name: "gateway",
|
|
125
125
|
description: "Gateway control",
|
|
126
126
|
register: async (program) => {
|
|
127
|
-
(await import("./gateway-cli-
|
|
127
|
+
(await import("./gateway-cli-Dfp03Bdx.js")).registerGatewayCli(program);
|
|
128
128
|
}
|
|
129
129
|
},
|
|
130
130
|
{
|
|
@@ -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-
|
|
285
|
+
(await import("./update-cli-uktSZBAl.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-
|
|
292
|
+
(await import("./completion-cli-DXt5J6NO.js").then((n) => n.n)).registerCompletionCli(program);
|
|
293
293
|
}
|
|
294
294
|
}
|
|
295
295
|
];
|
|
@@ -51,8 +51,8 @@ import "./login-qr-BHTIpk7i.js";
|
|
|
51
51
|
import "./pairing-labels-DxpfDscO.js";
|
|
52
52
|
import "./channels-status-issues-Cx4DwKM8.js";
|
|
53
53
|
import { n as ensurePluginRegistryLoaded } from "./command-options-YP_dvMez.js";
|
|
54
|
-
import { a as getCommandPath, c as getPrimaryCommand, d as hasHelpOrVersion } from "./register.subclis-
|
|
55
|
-
import "./completion-cli-
|
|
54
|
+
import { a as getCommandPath, c as getPrimaryCommand, d as hasHelpOrVersion } from "./register.subclis-CtdazzCK.js";
|
|
55
|
+
import "./completion-cli-DXt5J6NO.js";
|
|
56
56
|
import "./gateway-rpc-DQcPueX1.js";
|
|
57
57
|
import "./deps-DZVkCyfF.js";
|
|
58
58
|
import { h as assertSupportedRuntime } from "./daemon-runtime-HqcnmSTj.js";
|
|
@@ -64,21 +64,21 @@ import "./widearea-dns-DHSIgmLp.js";
|
|
|
64
64
|
import "./audit-D0OQ_h8g.js";
|
|
65
65
|
import "./onboard-skills-Bmw1Vd5a.js";
|
|
66
66
|
import "./health-format-BL3M1y4s.js";
|
|
67
|
-
import "./update-runner-
|
|
67
|
+
import "./update-runner-CqR4E_QO.js";
|
|
68
68
|
import "./github-copilot-auth-DJ_95veW.js";
|
|
69
69
|
import "./logging-D15QDE2U.js";
|
|
70
70
|
import "./hooks-status-CRG1w6AU.js";
|
|
71
|
-
import "./status-
|
|
71
|
+
import "./status-UAO83kNe.js";
|
|
72
72
|
import "./skills-status-C4wmQlJW.js";
|
|
73
73
|
import { n as emitCliBanner } from "./tui-_aG7l29T.js";
|
|
74
74
|
import "./agent-BKhAPOvN.js";
|
|
75
75
|
import "./node-service-C2JDeXPT.js";
|
|
76
76
|
import "./auth-health-BtHeU2M-.js";
|
|
77
|
-
import { n as findRoutedCommand, t as ensureConfigReady } from "./config-guard-
|
|
77
|
+
import { n as findRoutedCommand, t as ensureConfigReady } from "./config-guard-Ct1PT1ZL.js";
|
|
78
78
|
import "./help-format-tZizD4BR.js";
|
|
79
79
|
import "./configure-D50d4QdJ.js";
|
|
80
80
|
import "./systemd-linger-CEreLGmo.js";
|
|
81
|
-
import "./doctor-
|
|
81
|
+
import "./doctor-BA4__Mx7.js";
|
|
82
82
|
import path from "node:path";
|
|
83
83
|
import process$1 from "node:process";
|
|
84
84
|
import fs from "node:fs";
|
|
@@ -140,7 +140,7 @@ async function runCli(argv = process$1.argv) {
|
|
|
140
140
|
assertSupportedRuntime();
|
|
141
141
|
if (await tryRouteCli(normalizedArgv)) return;
|
|
142
142
|
enableConsoleCapture();
|
|
143
|
-
const { buildProgram } = await import("./program-
|
|
143
|
+
const { buildProgram } = await import("./program-DsqhEBlx.js");
|
|
144
144
|
const program = buildProgram();
|
|
145
145
|
installUnhandledRejectionHandler();
|
|
146
146
|
process$1.on("uncaughtException", (error) => {
|
|
@@ -150,7 +150,7 @@ async function runCli(argv = process$1.argv) {
|
|
|
150
150
|
const parseArgv = rewriteUpdateFlagArgv(normalizedArgv);
|
|
151
151
|
const primary = getPrimaryCommand(parseArgv);
|
|
152
152
|
if (primary) {
|
|
153
|
-
const { registerSubCliByName } = await import("./register.subclis-
|
|
153
|
+
const { registerSubCliByName } = await import("./register.subclis-CtdazzCK.js").then((n) => n.i);
|
|
154
154
|
await registerSubCliByName(program, primary);
|
|
155
155
|
}
|
|
156
156
|
if (!(!primary && hasHelpOrVersion(parseArgv))) {
|
|
@@ -20,7 +20,7 @@ import { o as resolveStorePath } from "./paths-DPLOvGLU.js";
|
|
|
20
20
|
import { I as resolveMainSessionKey, d as loadSessionStore } from "./sandbox-DyDrMxBF.js";
|
|
21
21
|
import { t as buildChannelSummary } from "./channel-summary-BfmMtKO5.js";
|
|
22
22
|
import { t as collectChannelStatusIssues } from "./channels-status-issues-Cx4DwKM8.js";
|
|
23
|
-
import { r as installCompletion } from "./completion-cli-
|
|
23
|
+
import { r as installCompletion } from "./completion-cli-DXt5J6NO.js";
|
|
24
24
|
import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-HqcnmSTj.js";
|
|
25
25
|
import { o as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-DV05Mtg_.js";
|
|
26
26
|
import { r as isSystemdUserServiceAvailable } from "./systemd-DQvm8tRB.js";
|
|
@@ -29,7 +29,7 @@ import { t as renderTable } from "./table-Kzsd53ks.js";
|
|
|
29
29
|
import { i as probeGateway, t as runSecurityAudit } from "./audit-D0OQ_h8g.js";
|
|
30
30
|
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-Bmw1Vd5a.js";
|
|
31
31
|
import { l as healthCommand, n as ensureControlUiAssetsBuilt, s as formatHealthChannelLines, t as formatHealthCheckFailure, u as resolveHeartbeatSummaryForAgent } from "./health-format-BL3M1y4s.js";
|
|
32
|
-
import { C as resolveEffectiveUpdateChannel, S as normalizeUpdateChannel, c as formatUpdateOneLiner, d as checkShellCompletionStatus, h as compareSemverStrings, l as getUpdateCheckResult, m as checkUpdateStatus, p as ensureCompletionCacheExists, s as formatUpdateAvailableHint, u as resolveUpdateAvailability, x as formatUpdateChannelLabel } from "./update-runner-
|
|
32
|
+
import { C as resolveEffectiveUpdateChannel, S as normalizeUpdateChannel, c as formatUpdateOneLiner, d as checkShellCompletionStatus, h as compareSemverStrings, l as getUpdateCheckResult, m as checkUpdateStatus, p as ensureCompletionCacheExists, s as formatUpdateAvailableHint, u as resolveUpdateAvailability, x as formatUpdateChannelLabel } from "./update-runner-CqR4E_QO.js";
|
|
33
33
|
import { n as logConfigUpdated } from "./logging-D15QDE2U.js";
|
|
34
34
|
import { t as buildWorkspaceHookStatus } from "./hooks-status-CRG1w6AU.js";
|
|
35
35
|
import { t as buildWorkspaceSkillStatus } from "./skills-status-C4wmQlJW.js";
|
|
@@ -54,7 +54,7 @@ import "./archive-Dy3Ezb-5.js";
|
|
|
54
54
|
import "./skill-scanner-BoGjHXUZ.js";
|
|
55
55
|
import "./installs-ChtZhX65.js";
|
|
56
56
|
import "./health-format-DUFBNWnB.js";
|
|
57
|
-
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
|
|
57
|
+
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-D9NZDqxe.js";
|
|
58
58
|
import "./auth-DSrYkGU-.js";
|
|
59
59
|
import { t as renderTable } from "./table-BOthYYmp.js";
|
|
60
60
|
import "./skills-status-BVaiHzFh.js";
|
|
@@ -62,11 +62,11 @@ import "./service-BKQOHHW6.js";
|
|
|
62
62
|
import "./systemd-DyrxDxSB.js";
|
|
63
63
|
import "./service-audit-Cyagv33t.js";
|
|
64
64
|
import "./channels-status-issues-CbB072Pz.js";
|
|
65
|
-
import { r as installCompletion } from "./completion-cli-
|
|
65
|
+
import { r as installCompletion } from "./completion-cli-BFpMGGJp.js";
|
|
66
66
|
import { t as formatHelpExamples } from "./help-format-q-N7n7vs.js";
|
|
67
67
|
import "./systemd-linger-C5NE1TWa.js";
|
|
68
68
|
import "./auth-health-DLdo_EBm.js";
|
|
69
|
-
import { t as doctorCommand } from "./doctor-
|
|
69
|
+
import { t as doctorCommand } from "./doctor-DPA2jDpR.js";
|
|
70
70
|
import "./shared-CX7eJEGL.js";
|
|
71
71
|
import { r as runDaemonRestart } from "./daemon-cli-DC0OyoyG.js";
|
|
72
72
|
import { n as updateNpmInstalledPlugins, t as syncPluginsForUpdateChannel } from "./update-BM7DEuEF.js";
|
|
@@ -49,8 +49,8 @@ import "./pairing-store-D5pH_THY.js";
|
|
|
49
49
|
import "./login-qr-BHTIpk7i.js";
|
|
50
50
|
import "./pairing-labels-DxpfDscO.js";
|
|
51
51
|
import "./channels-status-issues-Cx4DwKM8.js";
|
|
52
|
-
import "./register.subclis-
|
|
53
|
-
import { r as installCompletion } from "./completion-cli-
|
|
52
|
+
import "./register.subclis-CtdazzCK.js";
|
|
53
|
+
import { r as installCompletion } from "./completion-cli-DXt5J6NO.js";
|
|
54
54
|
import "./deps-DZVkCyfF.js";
|
|
55
55
|
import { g as parseSemver } from "./daemon-runtime-HqcnmSTj.js";
|
|
56
56
|
import "./service-DV05Mtg_.js";
|
|
@@ -60,14 +60,14 @@ import { r as runDaemonRestart } from "./daemon-cli-CMZsQu2M.js";
|
|
|
60
60
|
import "./service-audit-CQ1bUSCH.js";
|
|
61
61
|
import { t as renderTable } from "./table-Kzsd53ks.js";
|
|
62
62
|
import "./health-format-BL3M1y4s.js";
|
|
63
|
-
import { C as resolveEffectiveUpdateChannel, S as normalizeUpdateChannel, _ as resolveNpmChannelTag, a as globalInstallArgs, b as channelToNpmTag, c as formatUpdateOneLiner, d as checkShellCompletionStatus, g as fetchNpmTagVersion, h as compareSemverStrings, i as detectGlobalInstallManagerForRoot, m as checkUpdateStatus, n as cleanupGlobalRenameDirs, o as resolveGlobalPackageRoot, p as ensureCompletionCacheExists, r as detectGlobalInstallManagerByPresence, s as formatUpdateAvailableHint, t as runGatewayUpdate, u as resolveUpdateAvailability, v as DEFAULT_GIT_CHANNEL, x as formatUpdateChannelLabel, y as DEFAULT_PACKAGE_CHANNEL } from "./update-runner-
|
|
63
|
+
import { C as resolveEffectiveUpdateChannel, S as normalizeUpdateChannel, _ as resolveNpmChannelTag, a as globalInstallArgs, b as channelToNpmTag, c as formatUpdateOneLiner, d as checkShellCompletionStatus, g as fetchNpmTagVersion, h as compareSemverStrings, i as detectGlobalInstallManagerForRoot, m as checkUpdateStatus, n as cleanupGlobalRenameDirs, o as resolveGlobalPackageRoot, p as ensureCompletionCacheExists, r as detectGlobalInstallManagerByPresence, s as formatUpdateAvailableHint, t as runGatewayUpdate, u as resolveUpdateAvailability, v as DEFAULT_GIT_CHANNEL, x as formatUpdateChannelLabel, y as DEFAULT_PACKAGE_CHANNEL } from "./update-runner-CqR4E_QO.js";
|
|
64
64
|
import "./logging-D15QDE2U.js";
|
|
65
65
|
import "./skills-status-C4wmQlJW.js";
|
|
66
66
|
import "./auth-health-BtHeU2M-.js";
|
|
67
67
|
import { n as updateNpmInstalledPlugins, t as syncPluginsForUpdateChannel } from "./update-NeXgYicE.js";
|
|
68
68
|
import { t as formatHelpExamples } from "./help-format-tZizD4BR.js";
|
|
69
69
|
import "./systemd-linger-CEreLGmo.js";
|
|
70
|
-
import { t as doctorCommand } from "./doctor-
|
|
70
|
+
import { t as doctorCommand } from "./doctor-BA4__Mx7.js";
|
|
71
71
|
import { spawnSync } from "node:child_process";
|
|
72
72
|
import path from "node:path";
|
|
73
73
|
import os from "node:os";
|
|
@@ -4,7 +4,7 @@ import { t as resolveSKYKOIPackageRoot } from "./SKYKOI-root-B5HYTPZX.js";
|
|
|
4
4
|
import { j as VERSION } from "./config-CtkB7u5D.js";
|
|
5
5
|
import { Ln as trimLogTail } from "./loader-BY97YNZi.js";
|
|
6
6
|
import { t as note } from "./note-YmyPRD-3.js";
|
|
7
|
-
import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-
|
|
7
|
+
import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-DXt5J6NO.js";
|
|
8
8
|
import { g as parseSemver } from "./daemon-runtime-HqcnmSTj.js";
|
|
9
9
|
import { i as resolveControlUiDistIndexPathForRoot, r as resolveControlUiDistIndexHealth } from "./health-format-BL3M1y4s.js";
|
|
10
10
|
import { spawnSync } from "node:child_process";
|
|
@@ -6,7 +6,7 @@ import { j as VERSION } from "./config-CJhjWqlt.js";
|
|
|
6
6
|
import { _ as parseSemver } from "./daemon-runtime-B7p4kL16.js";
|
|
7
7
|
import { t as note } from "./note-CrCSjpk3.js";
|
|
8
8
|
import { i as resolveControlUiDistIndexPathForRoot, r as resolveControlUiDistIndexHealth } from "./health-format-DUFBNWnB.js";
|
|
9
|
-
import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-
|
|
9
|
+
import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-BFpMGGJp.js";
|
|
10
10
|
import os from "node:os";
|
|
11
11
|
import path from "node:path";
|
|
12
12
|
import fs from "node:fs/promises";
|