skykoi 2026.3.32 → 2026.3.34
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/plugin-sdk/index.js +7 -7
- 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
|
+
385fcba8caf75349091c6df427b375a19cfe3909f7117d3e6b9d4c6556462955
|
|
@@ -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";
|
package/dist/plugin-sdk/index.js
CHANGED
|
@@ -6,7 +6,7 @@ import os, { homedir } from "node:os";
|
|
|
6
6
|
import path from "node:path";
|
|
7
7
|
import fs, { createWriteStream, existsSync, statSync } from "node:fs";
|
|
8
8
|
import { Logger } from "tslog";
|
|
9
|
-
import
|
|
9
|
+
import json5 from "json5";
|
|
10
10
|
import chalk, { Chalk } from "chalk";
|
|
11
11
|
import fs$1 from "node:fs/promises";
|
|
12
12
|
import { execFile, execFileSync, spawn } from "node:child_process";
|
|
@@ -2272,7 +2272,7 @@ function readLoggingConfig() {
|
|
|
2272
2272
|
try {
|
|
2273
2273
|
if (!fs.existsSync(configPath)) return;
|
|
2274
2274
|
const raw = fs.readFileSync(configPath, "utf-8");
|
|
2275
|
-
const logging =
|
|
2275
|
+
const logging = json5.parse(raw)?.logging;
|
|
2276
2276
|
if (!logging || typeof logging !== "object" || Array.isArray(logging)) return;
|
|
2277
2277
|
return logging;
|
|
2278
2278
|
} catch {
|
|
@@ -8077,7 +8077,7 @@ var IncludeProcessor = class IncludeProcessor {
|
|
|
8077
8077
|
};
|
|
8078
8078
|
const defaultResolver = {
|
|
8079
8079
|
readFile: (p) => fs.readFileSync(p, "utf-8"),
|
|
8080
|
-
parseJson: (raw) =>
|
|
8080
|
+
parseJson: (raw) => json5.parse(raw)
|
|
8081
8081
|
};
|
|
8082
8082
|
/**
|
|
8083
8083
|
* Resolves all $include directives in a parsed config object.
|
|
@@ -10718,18 +10718,18 @@ function resolveConfigPathForDeps(deps) {
|
|
|
10718
10718
|
function normalizeDeps(overrides = {}) {
|
|
10719
10719
|
return {
|
|
10720
10720
|
fs: overrides.fs ?? fs,
|
|
10721
|
-
json5: overrides.json5 ??
|
|
10721
|
+
json5: overrides.json5 ?? json5,
|
|
10722
10722
|
env: overrides.env ?? process.env,
|
|
10723
10723
|
homedir: overrides.homedir ?? os.homedir,
|
|
10724
10724
|
configPath: overrides.configPath ?? "",
|
|
10725
10725
|
logger: overrides.logger ?? console
|
|
10726
10726
|
};
|
|
10727
10727
|
}
|
|
10728
|
-
function parseConfigJson5(raw, json5 =
|
|
10728
|
+
function parseConfigJson5(raw, json5$1 = json5) {
|
|
10729
10729
|
try {
|
|
10730
10730
|
return {
|
|
10731
10731
|
ok: true,
|
|
10732
|
-
parsed: json5.parse(raw)
|
|
10732
|
+
parsed: json5$1.parse(raw)
|
|
10733
10733
|
};
|
|
10734
10734
|
} catch (err) {
|
|
10735
10735
|
return {
|
|
@@ -11226,7 +11226,7 @@ function loadSessionStore(storePath, opts = {}) {
|
|
|
11226
11226
|
let mtimeMs = getFileMtimeMs(storePath);
|
|
11227
11227
|
try {
|
|
11228
11228
|
const raw = fs.readFileSync(storePath, "utf-8");
|
|
11229
|
-
const parsed =
|
|
11229
|
+
const parsed = json5.parse(raw);
|
|
11230
11230
|
if (isSessionStoreRecord(parsed)) store = parsed;
|
|
11231
11231
|
mtimeMs = getFileMtimeMs(storePath) ?? mtimeMs;
|
|
11232
11232
|
} catch {}
|
|
@@ -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";
|