skykoi 2026.3.365 → 2026.3.366
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/{archive-V8-RCbVU.js → archive-lc4aTrME.js} +1 -1
- package/dist/build-info.json +2 -2
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{capture-service-SdKz2CMm.js → capture-service-Cf1TbNjO.js} +170 -4
- package/dist/{channel-options-za1_wuVW.js → channel-options-DyDeQlCI.js} +1 -1
- package/dist/{channels-cli-CrvMS744.js → channels-cli-DrMs9_n6.js} +6 -6
- package/dist/cli/daemon-cli.js +1 -1
- package/dist/{cli-m2eMMz9I.js → cli-Bp5p4fp9.js} +1 -1
- package/dist/{completion-cli-C9ir8GOD.js → completion-cli-DvRTz9tW.js} +1 -1
- package/dist/{config-guard-Y04pZGJc.js → config-guard-D2MuFG-R.js} +13 -13
- package/dist/{configure-PZiKU3V7.js → configure-YnJ1tddp.js} +3 -3
- package/dist/{daemon-cli-7PvPfrov.js → daemon-cli-CWGXZMX3.js} +1 -1
- package/dist/{deps-CaffRbsR.js → deps-bxV4Fhqd.js} +1 -1
- package/dist/{doctor-vUQ-UZG1.js → doctor-BmZlvlO9.js} +3 -3
- package/dist/{doctor-completion-BMyOL8bF.js → doctor-completion-B_DB6yKB.js} +1 -1
- package/dist/entry.js +1 -1
- package/dist/extension-api.js +1 -1
- package/dist/{gateway-cli-5-NDy9DQ.js → gateway-cli-CKUmcFLG.js} +16 -16
- package/dist/{github-copilot-auth-Bi9_8JjO.js → github-copilot-auth-B8anaBMU.js} +1 -1
- package/dist/{health-format-CxmTuy8H.js → health-format-HJ49Tlyk.js} +1 -1
- package/dist/{hooks-cli-4TyhUU7r.js → hooks-cli-tNp3Hoa1.js} +3 -3
- package/dist/index.js +19 -19
- package/dist/{installs-Nxn1YLbh.js → installs-CgF6acAX.js} +1 -1
- package/dist/{koi-AmEsOzbA.js → koi-C7h4YyTn.js} +2 -2
- package/dist/{models-cli-BD34jgwV.js → models-cli-Duetla7W.js} +2 -2
- package/dist/{onboard-channels-DsBq18pU.js → onboard-channels-Cg-RtF_Q.js} +2 -2
- package/dist/{onboard-skills-DocB9vHW.js → onboard-skills-AM1-GoCb.js} +3 -3
- package/dist/{onboarding-DxB2jPaW.js → onboarding-BXqZpqCS.js} +6 -6
- package/dist/{plugin-registry-D7fneJ6X.js → plugin-registry-OEYl6Glv.js} +1 -1
- package/dist/plugin-sdk/capture/audio-capture.d.ts +4 -0
- package/dist/plugin-sdk/capture/capture-store.d.ts +1 -1
- package/dist/plugin-sdk/index.js +16 -16
- package/dist/plugin-sdk/{pi-model-discovery-szlzYGsC.js → pi-model-discovery-CBWcyyqn.js} +3 -3
- package/dist/{plugins-cli-DEQgAvf2.js → plugins-cli-Drazdm-4.js} +5 -5
- package/dist/{program-CMod3Tkq.js → program-B4F-KxtZ.js} +4 -4
- package/dist/{register.subclis-Cxfj8DMz.js → register.subclis-C514WXu2.js} +10 -10
- package/dist/{reply-Dx6GW2J0.js → reply-kg3drq1N.js} +1 -1
- package/dist/{run-main-CLkrpAdw.js → run-main-CWySis6K.js} +20 -20
- package/dist/{server-node-events-Lr_FVpbB.js → server-node-events-B1vg4hw3.js} +3 -3
- package/dist/{status-DNr2zDWJ.js → status-CrxsbMfq.js} +1 -1
- package/dist/{update-BhiebIic.js → update-DCBf0mrX.js} +1 -1
- package/dist/{update-cli-CZ0GwPc-.js → update-cli-CHpskZMu.js} +11 -11
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { i as __require, o as __toESM, t as __commonJSMin } from "./chunk-D_gEzPfs.js";
|
|
2
|
-
import { mt as require_inherits } from "./reply-
|
|
2
|
+
import { mt as require_inherits } from "./reply-kg3drq1N.js";
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import fs from "node:fs/promises";
|
|
5
5
|
import * as tar from "tar";
|
package/dist/build-info.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
8cc8d318fda386cc3a78e86697fb9c588ce6d4e1edbcdd5c2485df465242429d
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { appendFileSync, closeSync, copyFileSync, createReadStream, existsSync, mkdirSync, openSync, readFileSync, readSync, statSync, unlinkSync, watch, writeFileSync } from "node:fs";
|
|
2
|
-
import { extname, join, relative } from "node:path";
|
|
2
|
+
import { dirname, extname, join, relative } from "node:path";
|
|
3
3
|
import { homedir } from "node:os";
|
|
4
|
-
import { execFile, execSync } from "node:child_process";
|
|
4
|
+
import { execFile, execFileSync, execSync, spawn } from "node:child_process";
|
|
5
5
|
|
|
6
6
|
//#region src/capture/terminal-capture.ts
|
|
7
7
|
const ITERM_SCRIPT = `
|
|
@@ -1386,6 +1386,104 @@ function startMessageCapture() {
|
|
|
1386
1386
|
} };
|
|
1387
1387
|
}
|
|
1388
1388
|
|
|
1389
|
+
//#endregion
|
|
1390
|
+
//#region src/capture/audio-capture.ts
|
|
1391
|
+
const AUDIO_LIVE_FILE$1 = join(homedir(), ".skykoi", "capture", "audio-live.jsonl");
|
|
1392
|
+
function findPackageRoot() {
|
|
1393
|
+
let dir = dirname(new URL(import.meta.url).pathname);
|
|
1394
|
+
for (let i = 0; i < 10; i++) {
|
|
1395
|
+
if (existsSync(join(dir, "package.json"))) return dir;
|
|
1396
|
+
dir = dirname(dir);
|
|
1397
|
+
}
|
|
1398
|
+
return dir;
|
|
1399
|
+
}
|
|
1400
|
+
function daemonDir() {
|
|
1401
|
+
return join(findPackageRoot(), "src", "capture", "audio-daemon");
|
|
1402
|
+
}
|
|
1403
|
+
function daemonBinary() {
|
|
1404
|
+
return join(daemonDir(), "audio-daemon");
|
|
1405
|
+
}
|
|
1406
|
+
function isDaemonRunning() {
|
|
1407
|
+
try {
|
|
1408
|
+
return execFileSync("pgrep", ["-f", "audio-daemon"], {
|
|
1409
|
+
encoding: "utf8",
|
|
1410
|
+
timeout: 3e3
|
|
1411
|
+
}).trim().length > 0;
|
|
1412
|
+
} catch {
|
|
1413
|
+
return false;
|
|
1414
|
+
}
|
|
1415
|
+
}
|
|
1416
|
+
function compileDaemon() {
|
|
1417
|
+
const dir = daemonDir();
|
|
1418
|
+
if (!existsSync(join(dir, "main.swift"))) return false;
|
|
1419
|
+
try {
|
|
1420
|
+
execFileSync("swiftc", [
|
|
1421
|
+
"-O",
|
|
1422
|
+
"-o",
|
|
1423
|
+
"audio-daemon",
|
|
1424
|
+
"main.swift",
|
|
1425
|
+
"-framework",
|
|
1426
|
+
"AVFoundation",
|
|
1427
|
+
"-framework",
|
|
1428
|
+
"Speech",
|
|
1429
|
+
"-framework",
|
|
1430
|
+
"ScreenCaptureKit",
|
|
1431
|
+
"-framework",
|
|
1432
|
+
"CoreMedia"
|
|
1433
|
+
], {
|
|
1434
|
+
cwd: dir,
|
|
1435
|
+
timeout: 12e4
|
|
1436
|
+
});
|
|
1437
|
+
return true;
|
|
1438
|
+
} catch (err) {
|
|
1439
|
+
console.error(`[capture] Audio daemon compilation failed: ${err}`);
|
|
1440
|
+
return false;
|
|
1441
|
+
}
|
|
1442
|
+
}
|
|
1443
|
+
function startAudioCapture() {
|
|
1444
|
+
if (process.platform !== "darwin") return { stop: () => {} };
|
|
1445
|
+
if (isDaemonRunning()) {
|
|
1446
|
+
console.log("[capture] Audio daemon already running");
|
|
1447
|
+
return { stop: () => {
|
|
1448
|
+
try {
|
|
1449
|
+
execFileSync("pkill", ["-f", "audio-daemon"], { timeout: 3e3 });
|
|
1450
|
+
} catch {}
|
|
1451
|
+
} };
|
|
1452
|
+
}
|
|
1453
|
+
const binary = daemonBinary();
|
|
1454
|
+
if (!existsSync(binary)) {
|
|
1455
|
+
console.log("[capture] Audio daemon not found, compiling...");
|
|
1456
|
+
if (!compileDaemon()) {
|
|
1457
|
+
console.error("[capture] Audio daemon compilation failed — audio capture disabled");
|
|
1458
|
+
return { stop: () => {} };
|
|
1459
|
+
}
|
|
1460
|
+
}
|
|
1461
|
+
try {
|
|
1462
|
+
writeFileSync(AUDIO_LIVE_FILE$1, "");
|
|
1463
|
+
} catch {}
|
|
1464
|
+
let proc = null;
|
|
1465
|
+
try {
|
|
1466
|
+
proc = spawn(binary, [], {
|
|
1467
|
+
stdio: "ignore",
|
|
1468
|
+
detached: true
|
|
1469
|
+
});
|
|
1470
|
+
proc.unref();
|
|
1471
|
+
console.log(`[capture] Audio daemon started (PID ${proc.pid})`);
|
|
1472
|
+
} catch (err) {
|
|
1473
|
+
console.error(`[capture] Audio daemon failed to start: ${err}`);
|
|
1474
|
+
return { stop: () => {} };
|
|
1475
|
+
}
|
|
1476
|
+
const pid = proc?.pid;
|
|
1477
|
+
return { stop: () => {
|
|
1478
|
+
if (pid) try {
|
|
1479
|
+
process.kill(pid, "SIGTERM");
|
|
1480
|
+
} catch {}
|
|
1481
|
+
try {
|
|
1482
|
+
execFileSync("pkill", ["-f", "audio-daemon"], { timeout: 3e3 });
|
|
1483
|
+
} catch {}
|
|
1484
|
+
} };
|
|
1485
|
+
}
|
|
1486
|
+
|
|
1389
1487
|
//#endregion
|
|
1390
1488
|
//#region src/capture/capture-service.ts
|
|
1391
1489
|
/**
|
|
@@ -1397,7 +1495,9 @@ function startMessageCapture() {
|
|
|
1397
1495
|
* receives raw data on every turn.
|
|
1398
1496
|
*/
|
|
1399
1497
|
const INPUT_LIVE_FILE = join(homedir(), ".skykoi", "capture", "input-live.jsonl");
|
|
1498
|
+
const AUDIO_LIVE_FILE = join(homedir(), ".skykoi", "capture", "audio-live.jsonl");
|
|
1400
1499
|
let inputFileLastReadOffset = -1;
|
|
1500
|
+
let audioFileLastReadOffset = -1;
|
|
1401
1501
|
let lastTerminalSnapshot = [];
|
|
1402
1502
|
let lastProcessSnapshot = null;
|
|
1403
1503
|
const TERMINAL_POLL_MS = 5e3;
|
|
@@ -1452,8 +1552,44 @@ function buildCaptureContextBlock() {
|
|
|
1452
1552
|
}
|
|
1453
1553
|
}
|
|
1454
1554
|
} catch {}
|
|
1455
|
-
const
|
|
1456
|
-
|
|
1555
|
+
const audioInputs = [];
|
|
1556
|
+
try {
|
|
1557
|
+
if (existsSync(AUDIO_LIVE_FILE)) {
|
|
1558
|
+
const audioFileSize = statSync(AUDIO_LIVE_FILE).size;
|
|
1559
|
+
if (audioFileLastReadOffset < 0) audioFileLastReadOffset = audioFileSize;
|
|
1560
|
+
if (audioFileSize > audioFileLastReadOffset) {
|
|
1561
|
+
const buf = Buffer.alloc(audioFileSize - audioFileLastReadOffset);
|
|
1562
|
+
const fd = openSync(AUDIO_LIVE_FILE, "r");
|
|
1563
|
+
try {
|
|
1564
|
+
readSync(fd, buf, 0, buf.length, audioFileLastReadOffset);
|
|
1565
|
+
} finally {
|
|
1566
|
+
closeSync(fd);
|
|
1567
|
+
}
|
|
1568
|
+
audioFileLastReadOffset = audioFileSize;
|
|
1569
|
+
for (const line of buf.toString("utf8").split("\n")) {
|
|
1570
|
+
if (!line.trim()) continue;
|
|
1571
|
+
try {
|
|
1572
|
+
const evt = JSON.parse(line);
|
|
1573
|
+
const type = evt.type;
|
|
1574
|
+
if (type === "mic_transcript" || type === "audio_transcript") {
|
|
1575
|
+
const ts = typeof evt.ts === "number" ? evt.ts : Date.now();
|
|
1576
|
+
audioInputs.push({
|
|
1577
|
+
source: "audio",
|
|
1578
|
+
ts,
|
|
1579
|
+
data: evt
|
|
1580
|
+
});
|
|
1581
|
+
}
|
|
1582
|
+
} catch {}
|
|
1583
|
+
}
|
|
1584
|
+
}
|
|
1585
|
+
}
|
|
1586
|
+
} catch {}
|
|
1587
|
+
const allEvents = [
|
|
1588
|
+
...events,
|
|
1589
|
+
...directInputs,
|
|
1590
|
+
...audioInputs
|
|
1591
|
+
];
|
|
1592
|
+
console.log(`[capture] buildCaptureContextBlock: storeEvents=${events.length}, directInputs=${directInputs.length}, audioInputs=${audioInputs.length}, total=${allEvents.length}`);
|
|
1457
1593
|
if (allEvents.length === 0) return "";
|
|
1458
1594
|
const sections = [];
|
|
1459
1595
|
const terminals = allEvents.filter((e) => e.source === "terminal");
|
|
@@ -1690,6 +1826,30 @@ function buildCaptureContextBlock() {
|
|
|
1690
1826
|
sections.push(`[${ts}] ${platform} ${dir} ${d.from}: ${String(d.text).slice(0, 200)}`);
|
|
1691
1827
|
}
|
|
1692
1828
|
}
|
|
1829
|
+
const audioEvents = allEvents.filter((e) => e.source === "audio");
|
|
1830
|
+
if (audioEvents.length > 0) {
|
|
1831
|
+
const micEvents = audioEvents.filter((e) => e.data.type === "mic_transcript");
|
|
1832
|
+
const systemAudioEvents = audioEvents.filter((e) => e.data.type === "audio_transcript");
|
|
1833
|
+
if (micEvents.length > 0 || systemAudioEvents.length > 0) {
|
|
1834
|
+
sections.push("## Audio Transcription (live)");
|
|
1835
|
+
if (micEvents.length > 0) {
|
|
1836
|
+
sections.push("### Microphone (you):");
|
|
1837
|
+
for (const e of micEvents) {
|
|
1838
|
+
const ts = new Date(e.ts).toISOString().slice(11, 19);
|
|
1839
|
+
const final = e.data.isFinal ? "" : " [partial]";
|
|
1840
|
+
sections.push(`[${ts}]${final} ${e.data.text}`);
|
|
1841
|
+
}
|
|
1842
|
+
}
|
|
1843
|
+
if (systemAudioEvents.length > 0) {
|
|
1844
|
+
sections.push("### Device Audio (others/media):");
|
|
1845
|
+
for (const e of systemAudioEvents) {
|
|
1846
|
+
const ts = new Date(e.ts).toISOString().slice(11, 19);
|
|
1847
|
+
const final = e.data.isFinal ? "" : " [partial]";
|
|
1848
|
+
sections.push(`[${ts}]${final} ${e.data.text}`);
|
|
1849
|
+
}
|
|
1850
|
+
}
|
|
1851
|
+
}
|
|
1852
|
+
}
|
|
1693
1853
|
if (sections.length === 0) return "";
|
|
1694
1854
|
return "# Device Activity (exact, real-time)\n\n" + sections.join("\n");
|
|
1695
1855
|
}
|
|
@@ -1863,6 +2023,12 @@ async function startCaptureService(opts) {
|
|
|
1863
2023
|
} catch (err) {
|
|
1864
2024
|
console.error(`[capture] Message capture failed to start: ${err}`);
|
|
1865
2025
|
}
|
|
2026
|
+
try {
|
|
2027
|
+
const audioHandle = startAudioCapture();
|
|
2028
|
+
stops.push(audioHandle.stop);
|
|
2029
|
+
} catch (err) {
|
|
2030
|
+
console.error(`[capture] Audio capture failed to start: ${err}`);
|
|
2031
|
+
}
|
|
1866
2032
|
const flushTimer = setInterval(() => {
|
|
1867
2033
|
if (!stopped) flushToDisk();
|
|
1868
2034
|
}, FLUSH_INTERVAL_MS);
|
|
@@ -2,7 +2,7 @@ import { O as CHAT_CHANNEL_ORDER } from "./subsystem-hATE68va.js";
|
|
|
2
2
|
import { t as isTruthyEnvValue } from "./env-ChCKTuXK.js";
|
|
3
3
|
import { n as listChannelPlugins } from "./plugins-BXfIVhTg.js";
|
|
4
4
|
import { i as listChannelPluginCatalogEntries } from "./plugin-auto-enable-Cg3LRidd.js";
|
|
5
|
-
import { t as ensurePluginRegistryLoaded } from "./plugin-registry-
|
|
5
|
+
import { t as ensurePluginRegistryLoaded } from "./plugin-registry-OEYl6Glv.js";
|
|
6
6
|
|
|
7
7
|
//#region src/cli/channel-options.ts
|
|
8
8
|
function dedupe(values) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "./pi-embedded-helpers-VJ9hOBTv.js";
|
|
2
|
-
import { Gt as parseDiscordTarget, Kt as fetchChannelPermissionsDiscord, in as createSlackWebClient, lt as loadProviderUsageSummary, ut as formatUsageReportLines } from "./reply-
|
|
2
|
+
import { Gt as parseDiscordTarget, Kt as fetchChannelPermissionsDiscord, in as createSlackWebClient, lt as loadProviderUsageSummary, ut as formatUsageReportLines } from "./reply-kg3drq1N.js";
|
|
3
3
|
import { f as danger, s as defaultRuntime, w as getResolvedLoggerSettings } from "./subsystem-hATE68va.js";
|
|
4
4
|
import "./paths-VdmjGGyc.js";
|
|
5
5
|
import { r as theme } from "./theme-C5EwWDWE.js";
|
|
@@ -73,20 +73,20 @@ import "./event-log-BJRHlOn8.js";
|
|
|
73
73
|
import { t as resolveChannelDefaultAccountId } from "./helpers-y1KKH5pe.js";
|
|
74
74
|
import "./note-DRoVRuAi.js";
|
|
75
75
|
import { t as createClackPrompter } from "./clack-prompter-B9o3eQeW.js";
|
|
76
|
-
import { i as reloadOnboardingPluginRegistry, n as setupChannels, r as ensureOnboardingPluginInstalled } from "./onboard-channels-
|
|
76
|
+
import { i as reloadOnboardingPluginRegistry, n as setupChannels, r as ensureOnboardingPluginInstalled } from "./onboard-channels-Cg-RtF_Q.js";
|
|
77
77
|
import { i as listChannelPluginCatalogEntries } from "./plugin-auto-enable-Cg3LRidd.js";
|
|
78
|
-
import "./archive-
|
|
78
|
+
import "./archive-lc4aTrME.js";
|
|
79
79
|
import "./skill-scanner-CBHxr1An.js";
|
|
80
|
-
import "./installs-
|
|
80
|
+
import "./installs-CgF6acAX.js";
|
|
81
81
|
import "./service-BGkVTESM.js";
|
|
82
82
|
import "./systemd-BzTSelz8.js";
|
|
83
83
|
import "./diagnostics-CFV2YxpG.js";
|
|
84
84
|
import { t as collectChannelStatusIssues } from "./channels-status-issues-BLygTpUh.js";
|
|
85
|
-
import { n as hasExplicitOptions } from "./plugin-registry-
|
|
85
|
+
import { n as hasExplicitOptions } from "./plugin-registry-OEYl6Glv.js";
|
|
86
86
|
import "./daemon-runtime-r19-i0S0.js";
|
|
87
87
|
import "./ensure-local-gateway-VbJtdpui.js";
|
|
88
88
|
import { n as runChannelLoginAll, r as runChannelLogout, t as runChannelLogin } from "./channel-auth-DrJ2FCUT.js";
|
|
89
|
-
import { t as formatCliChannelOptions } from "./channel-options-
|
|
89
|
+
import { t as formatCliChannelOptions } from "./channel-options-DyDeQlCI.js";
|
|
90
90
|
import { t as buildChannelAccountSnapshot } from "./status-BLjOBDvD.js";
|
|
91
91
|
import { t as parseLogLine } from "./parse-log-line-cWE1HOyo.js";
|
|
92
92
|
import fs from "node:fs/promises";
|
package/dist/cli/daemon-cli.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Legacy shim for pre-tsdown update-cli imports.
|
|
2
|
-
export { registerDaemonCli, runDaemonInstall, runDaemonRestart, runDaemonStart, runDaemonStatus, runDaemonStop, runDaemonUninstall } from "../daemon-cli-
|
|
2
|
+
export { registerDaemonCli, runDaemonInstall, runDaemonRestart, runDaemonStart, runDaemonStatus, runDaemonStop, runDaemonUninstall } from "../daemon-cli-CWGXZMX3.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "./pi-embedded-helpers-VJ9hOBTv.js";
|
|
2
|
-
import { ct as loadSKYKOIPlugins } from "./reply-
|
|
2
|
+
import { ct as loadSKYKOIPlugins } from "./reply-kg3drq1N.js";
|
|
3
3
|
import { t as createSubsystemLogger } from "./subsystem-hATE68va.js";
|
|
4
4
|
import "./paths-VdmjGGyc.js";
|
|
5
5
|
import "./theme-C5EwWDWE.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { r as __exportAll } from "./chunk-D_gEzPfs.js";
|
|
2
2
|
import { g as resolveStateDir } from "./paths-VdmjGGyc.js";
|
|
3
|
-
import { n as registerSubCliByName, t as getSubCliEntries } from "./register.subclis-
|
|
3
|
+
import { n as registerSubCliByName, t as getSubCliEntries } from "./register.subclis-C514WXu2.js";
|
|
4
4
|
import path from "node:path";
|
|
5
5
|
import os from "node:os";
|
|
6
6
|
import fs from "node:fs/promises";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { B as CHANNEL_MESSAGE_ACTION_NAMES, Bn as lookupContextTokens, F as runMessageAction, Ot as registerMemoryCli, R as formatTargetDisplay, it as CHANNEL_TARGET_DESCRIPTION, kt as runMemoryStatus, rt as CHANNEL_TARGETS_DESCRIPTION } from "./reply-
|
|
1
|
+
import { B as CHANNEL_MESSAGE_ACTION_NAMES, Bn as lookupContextTokens, F as runMessageAction, Ot as registerMemoryCli, R as formatTargetDisplay, it as CHANNEL_TARGET_DESCRIPTION, kt as runMemoryStatus, rt as CHANNEL_TARGETS_DESCRIPTION } from "./reply-kg3drq1N.js";
|
|
2
2
|
import { I as normalizeChatChannelId, M as getChatChannelMeta, c as restoreTerminalState, f as danger, k as DEFAULT_CHAT_CHANNEL, p as info, s as defaultRuntime, v as setVerbose } from "./subsystem-hATE68va.js";
|
|
3
3
|
import { g as resolveStateDir, i as isNixMode, m as resolveOAuthDir, o as resolveConfigPath, r as STATE_DIR, t as CONFIG_PATH, u as resolveGatewayPort } from "./paths-VdmjGGyc.js";
|
|
4
4
|
import { n as isRich, r as theme, t as colorize } from "./theme-C5EwWDWE.js";
|
|
@@ -21,32 +21,32 @@ import { n as runCommandWithRuntime } from "./cli-utils-CwUbbnsD.js";
|
|
|
21
21
|
import { n as withProgress } from "./progress-BPDEiFpj.js";
|
|
22
22
|
import { a as ensureWorkspaceAndSessions, c as handleReset, d as openUrl, h as resolveControlUiLinks, i as detectBrowserOpenSupport, l as moveToTrash, m as randomToken, n as applyWizardMetadata, o as formatControlUiSshHint, t as DEFAULT_WORKSPACE, v as waitForGatewayReachable } from "./onboard-helpers-DKhundDe.js";
|
|
23
23
|
import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint } from "./prompt-style-e5zz5JM8.js";
|
|
24
|
-
import { t as createDefaultDeps } from "./deps-
|
|
24
|
+
import { t as createDefaultDeps } from "./deps-bxV4Fhqd.js";
|
|
25
25
|
import { t as assertSupportedRuntime } from "./runtime-guard-C80qkv4W.js";
|
|
26
26
|
import { t as resolveChannelDefaultAccountId } from "./helpers-y1KKH5pe.js";
|
|
27
27
|
import { n as logConfigUpdated, t as formatConfigPath } from "./logging-1Q_KlUsW.js";
|
|
28
28
|
import { t as WizardCancelledError } from "./prompts-yNyvMdpp.js";
|
|
29
29
|
import { t as createClackPrompter } from "./clack-prompter-B9o3eQeW.js";
|
|
30
|
-
import { a as buildKoiSummaries, c as loadKoiIdentity, f as parseIdentityMarkdown, i as applyKoiConfig, l as pruneKoiConfig, n as statusCommand, o as findKoiEntryIndex, s as listKoiEntries, t as runOnboardingWizard, u as identityHasValues } from "./onboarding-
|
|
31
|
-
import { d as applyAuthChoice, f as applyOpenAIConfig, h as promptAuthChoiceGrouped, m as applyGoogleGeminiModelDefault, p as upsertSharedEnvVar, u as warnIfModelConfigLooksOff } from "./onboard-skills-
|
|
32
|
-
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-
|
|
33
|
-
import { n as setupChannels } from "./onboard-channels-
|
|
34
|
-
import { i as healthCommand } from "./health-format-
|
|
30
|
+
import { a as buildKoiSummaries, c as loadKoiIdentity, f as parseIdentityMarkdown, i as applyKoiConfig, l as pruneKoiConfig, n as statusCommand, o as findKoiEntryIndex, s as listKoiEntries, t as runOnboardingWizard, u as identityHasValues } from "./onboarding-BXqZpqCS.js";
|
|
31
|
+
import { d as applyAuthChoice, f as applyOpenAIConfig, h as promptAuthChoiceGrouped, m as applyGoogleGeminiModelDefault, p as upsertSharedEnvVar, u as warnIfModelConfigLooksOff } from "./onboard-skills-AM1-GoCb.js";
|
|
32
|
+
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-B8anaBMU.js";
|
|
33
|
+
import { n as setupChannels } from "./onboard-channels-Cg-RtF_Q.js";
|
|
34
|
+
import { i as healthCommand } from "./health-format-HJ49Tlyk.js";
|
|
35
35
|
import { t as renderTable } from "./table-B3RHVa0g.js";
|
|
36
36
|
import { t as resolveGatewayService } from "./service-BGkVTESM.js";
|
|
37
37
|
import { r as isSystemdUserServiceAvailable } from "./systemd-BzTSelz8.js";
|
|
38
|
-
import { l as getVerboseFlag, o as getFlagValue, r as registerSubCliCommands, s as getPositiveIntFlagValue, u as hasFlag } from "./register.subclis-
|
|
38
|
+
import { l as getVerboseFlag, o as getFlagValue, r as registerSubCliCommands, s as getPositiveIntFlagValue, u as hasFlag } from "./register.subclis-C514WXu2.js";
|
|
39
39
|
import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-CIxOsvvC.js";
|
|
40
40
|
import { t as formatHelpExamples } from "./help-format-BVBm9rU4.js";
|
|
41
41
|
import { t as adminUnlockCommand } from "./admin-unlock-Dr4FqRVP.js";
|
|
42
|
-
import { a as createOutboundSendDeps, n as resolveSessionKeyForRequest, t as koiCommand } from "./koi-
|
|
43
|
-
import { n as hasExplicitOptions, t as ensurePluginRegistryLoaded } from "./plugin-registry-
|
|
42
|
+
import { a as createOutboundSendDeps, n as resolveSessionKeyForRequest, t as koiCommand } from "./koi-C7h4YyTn.js";
|
|
43
|
+
import { n as hasExplicitOptions, t as ensurePluginRegistryLoaded } from "./plugin-registry-OEYl6Glv.js";
|
|
44
44
|
import { n as parsePositiveIntOrUndefined, t as collectOption } from "./helpers-BwzKU4J1.js";
|
|
45
|
-
import { i as CONFIGURE_WIZARD_SECTIONS, n as configureCommand, r as configureCommandWithSections } from "./configure-
|
|
45
|
+
import { i as CONFIGURE_WIZARD_SECTIONS, n as configureCommand, r as configureCommandWithSections } from "./configure-YnJ1tddp.js";
|
|
46
46
|
import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, r as isGatewayDaemonRuntime, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-r19-i0S0.js";
|
|
47
47
|
import { n as ensureSystemdUserLingerNonInteractive } from "./systemd-linger-Be49_NdF.js";
|
|
48
48
|
import { t as loginCommand } from "./login-C71-L2cR.js";
|
|
49
|
-
import { n as loadAndMaybeMigrateDoctorConfig, t as doctorCommand } from "./doctor-
|
|
49
|
+
import { n as loadAndMaybeMigrateDoctorConfig, t as doctorCommand } from "./doctor-BmZlvlO9.js";
|
|
50
50
|
import { fileURLToPath } from "node:url";
|
|
51
51
|
import fs from "node:fs";
|
|
52
52
|
import path from "node:path";
|
|
@@ -2797,7 +2797,7 @@ async function loadValidConfig() {
|
|
|
2797
2797
|
}
|
|
2798
2798
|
function registerConfigCli(program) {
|
|
2799
2799
|
const cmd = program.command("config").description("Config helpers (get/set/unset). Run without subcommand for the wizard.").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/config", "docs.skykoi.com/cli/config")}\n`).option("--section <section>", "Configure wizard sections (repeatable). Use with no subcommand.", (value, previous) => [...previous, value], []).action(async (opts) => {
|
|
2800
|
-
const { CONFIGURE_WIZARD_SECTIONS, configureCommand, configureCommandWithSections } = await import("./configure-
|
|
2800
|
+
const { CONFIGURE_WIZARD_SECTIONS, configureCommand, configureCommandWithSections } = await import("./configure-YnJ1tddp.js").then((n) => n.t);
|
|
2801
2801
|
const sections = Array.isArray(opts.section) ? opts.section.map((value) => typeof value === "string" ? value.trim() : "").filter(Boolean) : [];
|
|
2802
2802
|
if (sections.length === 0) {
|
|
2803
2803
|
await configureCommand(defaultRuntime);
|
|
@@ -14,9 +14,9 @@ import { n as logConfigUpdated } from "./logging-1Q_KlUsW.js";
|
|
|
14
14
|
import { t as note$1 } from "./note-DRoVRuAi.js";
|
|
15
15
|
import { t as WizardCancelledError } from "./prompts-yNyvMdpp.js";
|
|
16
16
|
import { t as createClackPrompter } from "./clack-prompter-B9o3eQeW.js";
|
|
17
|
-
import { a as applyModelFallbacksFromSelection, c as promptModelAllowlist, d as applyAuthChoice, h as promptAuthChoiceGrouped, i as applyModelAllowlist, l as resolvePreferredProviderForAuthChoice, o as applyPrimaryModel, r as promptRemoteGatewayConfig, s as promptDefaultModel, t as setupSkills } from "./onboard-skills-
|
|
18
|
-
import { n as setupChannels, t as noteChannelStatus } from "./onboard-channels-
|
|
19
|
-
import { i as healthCommand, t as formatHealthCheckFailure } from "./health-format-
|
|
17
|
+
import { a as applyModelFallbacksFromSelection, c as promptModelAllowlist, d as applyAuthChoice, h as promptAuthChoiceGrouped, i as applyModelAllowlist, l as resolvePreferredProviderForAuthChoice, o as applyPrimaryModel, r as promptRemoteGatewayConfig, s as promptDefaultModel, t as setupSkills } from "./onboard-skills-AM1-GoCb.js";
|
|
18
|
+
import { n as setupChannels, t as noteChannelStatus } from "./onboard-channels-Cg-RtF_Q.js";
|
|
19
|
+
import { i as healthCommand, t as formatHealthCheckFailure } from "./health-format-HJ49Tlyk.js";
|
|
20
20
|
import { t as resolveGatewayService } from "./service-BGkVTESM.js";
|
|
21
21
|
import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-B0N-n2rD.js";
|
|
22
22
|
import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-r19-i0S0.js";
|
|
@@ -15,7 +15,7 @@ import { n as withProgress } from "./progress-BPDEiFpj.js";
|
|
|
15
15
|
import { h as resolveControlUiLinks } from "./onboard-helpers-DKhundDe.js";
|
|
16
16
|
import { n as isWSLEnv, t as isWSL } from "./wsl-DiiAe4Ci.js";
|
|
17
17
|
import { d as resolveGatewaySystemdServiceName, l as resolveGatewayLaunchAgentLabel } from "./constants-BezzOOYJ.js";
|
|
18
|
-
import { t as createDefaultDeps } from "./deps-
|
|
18
|
+
import { t as createDefaultDeps } from "./deps-bxV4Fhqd.js";
|
|
19
19
|
import { o as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-BGkVTESM.js";
|
|
20
20
|
import { r as isSystemdUserServiceAvailable } from "./systemd-BzTSelz8.js";
|
|
21
21
|
import { t as readLastGatewayErrorLine } from "./diagnostics-CFV2YxpG.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Ht as sendMessageTelegram, Ut as sendMessageDiscord, ht as sendMessageIMessage, nn as sendMessageWhatsApp, rn as sendMessageSlack } from "./reply-
|
|
1
|
+
import { Ht as sendMessageTelegram, Ut as sendMessageDiscord, ht as sendMessageIMessage, nn as sendMessageWhatsApp, rn as sendMessageSlack } from "./reply-kg3drq1N.js";
|
|
2
2
|
import { b as sendMessageSignal } from "./deliver-DJbxwsAM.js";
|
|
3
3
|
|
|
4
4
|
//#region src/cli/deps.ts
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Jn as loadModelCatalog, ct as loadSKYKOIPlugins } from "./reply-
|
|
1
|
+
import { Jn as loadModelCatalog, ct as loadSKYKOIPlugins } from "./reply-kg3drq1N.js";
|
|
2
2
|
import { s as defaultRuntime, w as getResolvedLoggerSettings } from "./subsystem-hATE68va.js";
|
|
3
3
|
import { d as resolveIsNixMode, f as resolveLegacyStateDirs, g as resolveStateDir, m as resolveOAuthDir, p as resolveNewStateDir, t as CONFIG_PATH, u as resolveGatewayPort } from "./paths-VdmjGGyc.js";
|
|
4
4
|
import { a as buildKoiMainSessionKey, l as normalizeKoiId, r as DEFAULT_MAIN_KEY, t as DEFAULT_ACCOUNT_ID } from "./session-key-B2OXLVi_.js";
|
|
@@ -26,7 +26,7 @@ import { t as resolveChannelDefaultAccountId } from "./helpers-y1KKH5pe.js";
|
|
|
26
26
|
import { n as logConfigUpdated } from "./logging-1Q_KlUsW.js";
|
|
27
27
|
import { t as note$1 } from "./note-DRoVRuAi.js";
|
|
28
28
|
import { t as applyPluginAutoEnable } from "./plugin-auto-enable-Cg3LRidd.js";
|
|
29
|
-
import { i as healthCommand, t as formatHealthCheckFailure } from "./health-format-
|
|
29
|
+
import { i as healthCommand, t as formatHealthCheckFailure } from "./health-format-HJ49Tlyk.js";
|
|
30
30
|
import { t as runGatewayUpdate } from "./update-runner-odTAl-uh.js";
|
|
31
31
|
import { i as resolveGatewayAuth } from "./auth-Vh115fQN.js";
|
|
32
32
|
import { t as buildWorkspaceSkillStatus } from "./skills-status-DakSfN8r.js";
|
|
@@ -34,7 +34,7 @@ import { a as repairLaunchAgentBootstrap, i as launchAgentPlistExists, n as isLa
|
|
|
34
34
|
import { r as isSystemdUserServiceAvailable } from "./systemd-BzTSelz8.js";
|
|
35
35
|
import { t as readLastGatewayErrorLine } from "./diagnostics-CFV2YxpG.js";
|
|
36
36
|
import { t as collectChannelStatusIssues } from "./channels-status-issues-BLygTpUh.js";
|
|
37
|
-
import { n as doctorShellCompletion } from "./doctor-completion-
|
|
37
|
+
import { n as doctorShellCompletion } from "./doctor-completion-B_DB6yKB.js";
|
|
38
38
|
import { n as resolveControlUiDistIndexHealth, r as resolveControlUiDistIndexPathForRoot } from "./control-ui-assets-B0N-n2rD.js";
|
|
39
39
|
import { a as gatewayInstallErrorHint, d as renderSystemNodeWarning, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, p as resolveSystemNodeInfo, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-r19-i0S0.js";
|
|
40
40
|
import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-Be49_NdF.js";
|
|
@@ -3,7 +3,7 @@ import { r as resolveCliName, t as formatCliCommand } from "./command-format-DOY
|
|
|
3
3
|
import { t as VERSION } from "./version-BKRSzdyx.js";
|
|
4
4
|
import { t as note } from "./note-DRoVRuAi.js";
|
|
5
5
|
import { c as compareSemverStrings, s as checkUpdateStatus } from "./update-runner-odTAl-uh.js";
|
|
6
|
-
import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-
|
|
6
|
+
import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-DvRTz9tW.js";
|
|
7
7
|
import path from "node:path";
|
|
8
8
|
import { spawnSync } from "node:child_process";
|
|
9
9
|
|
package/dist/entry.js
CHANGED
|
@@ -247,7 +247,7 @@ if (!ensureExperimentalWarningSuppressed()) {
|
|
|
247
247
|
applyCliProfileEnv({ profile: parsed.profile });
|
|
248
248
|
process$1.argv = parsed.argv;
|
|
249
249
|
}
|
|
250
|
-
import("./run-main-
|
|
250
|
+
import("./run-main-CWySis6K.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
|
|
251
251
|
console.error("[SKYKOI] Failed to start CLI:", error instanceof Error ? error.stack ?? error.message : error);
|
|
252
252
|
process$1.exitCode = 1;
|
|
253
253
|
});
|
package/dist/extension-api.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "./pi-embedded-helpers-VJ9hOBTv.js";
|
|
2
|
-
import { c as runEmbeddedPiKoi, lr as resolveKoiTimeoutMs, sn as resolveKoiIdentity } from "./reply-
|
|
2
|
+
import { c as runEmbeddedPiKoi, lr as resolveKoiTimeoutMs, sn as resolveKoiIdentity } from "./reply-kg3drq1N.js";
|
|
3
3
|
import "./subsystem-hATE68va.js";
|
|
4
4
|
import "./paths-VdmjGGyc.js";
|
|
5
5
|
import "./theme-C5EwWDWE.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { o as __toESM } from "./chunk-D_gEzPfs.js";
|
|
2
2
|
import { B as normalizeThinkLevel, F as formatXHighModelHint, H as normalizeVerboseLevel, P as formatThinkingLevels, R as normalizeElevatedLevel, V as normalizeUsageDisplay, W as supportsXHighThinking, z as normalizeReasoningLevel } from "./pi-embedded-helpers-VJ9hOBTv.js";
|
|
3
|
-
import { $ as normalizeOptionalText, $n as DEFAULT_INPUT_IMAGE_MIMES, $t as findSubkoiRunByRunId, A as capArrayByJsonBytes, An as setCommandLaneConcurrency, Bn as lookupContextTokens, Bt as onHeartbeatEvent, C as listKoisForGateway, Cn as resolveTtsPrefsPath, Ct as registerSkillsChangeListener, D as resolveGatewaySessionStoreTarget, Dn as textToSpeech, Dt as isExternalHookSession, E as loadSessionEntry, En as setTtsProvider, Et as getHookType, Fn as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, G as consumeGatewaySigusr1RestartAuthorization, Gn as enqueueSystemEvent, H as runWithModelFallback, Hn as applyModelOverrideToSessionEntry, I as ensureOutboundSessionEntry, It as buildHistoryContextFromEntries, J as setGatewaySigusr1RestartPolicy, Jn as loadModelCatalog, Jt as createReplyDispatcher, K as isGatewaySigusr1RestartExternallyAllowed, Kn as isSystemEventContextChanged, L as resolveOutboundSessionRoute, Lt as resolveHeartbeatVisibility, M as readSessionPreviewItemsFromTranscript, Mn as startDiagnosticHeartbeat, Mt as normalizeGroupActivation, N as resolveSessionTranscriptCandidates, Nn as stopDiagnosticHeartbeat, O as resolveSessionModelRef, P as stripEnvelopeFromMessages, Pn as isDiagnosticsEnabled, Pt as registerUnhandledRejectionHandler, Q as normalizeOptionalKoiId, Qn as DEFAULT_INPUT_IMAGE_MAX_BYTES, Qt as findSubkoiRunByChildSessionKey, S as resolveAnnounceTargetFromKey, Sn as resolveTtsConfig, St as getSkillsSnapshotVersion, T as loadCombinedSessionStoreForGateway, Tn as setTtsEnabled, Tt as detectSuspiciousPatterns, Un as applyVerboseOverride, V as readRecentActivity, W as authorizeGatewaySigusr1Restart, Wn as parseVerboseOverride, Wt as getChannelActivity, X as normalizeCronJobPatch, Xn as DEFAULT_INPUT_FILE_MAX_CHARS, Xt as isAbortTrigger, Y as normalizeCronJobCreate, Yn as DEFAULT_INPUT_FILE_MAX_BYTES, Yt as formatZonedTimestamp, Z as inferLegacyName, Zn as DEFAULT_INPUT_FILE_MIMES, Zt as stopSubkoisForRequester, _ as canvasUri, _n as getTtsProvider, _t as primeRemoteSkillsCache, a as normalizeSendPolicy, ar as extractFileContentFromSource, at as requestHeartbeatNow, b as onCanvasChange, bn as resolveTtsApiKey, bt as refreshRemoteNodeBins, c as runEmbeddedPiKoi, cn as formatUserTime, ct as loadSKYKOIPlugins, dn as clearInternalHooks, en as initSubkoiRegistry, er as DEFAULT_INPUT_MAX_REDIRECTS, et as normalizePayloadToSystemText, f as waitForEmbeddedPiRunEnd, fn as createInternalHookEvent, g as createSKYKOITools, gn as OPENAI_TTS_VOICES, gt as getRemoteSkillEligibility, h as initRuntimeContext, hn as OPENAI_TTS_MODELS, i as runCliKoi, ir as DEFAULT_INPUT_TIMEOUT_MS, j as readSessionMessages, jn as CommandLane, jt as createReplyPrefixOptions, k as archiveFileOnDisk, l as getLastSystemPrompt, ln as resolveUserTimeFormat, lr as resolveKoiTimeoutMs, lt as loadProviderUsageSummary, mn as triggerInternalHook, n as getCliSessionId, nr as DEFAULT_INPUT_PDF_MAX_PIXELS, nt as migrateLegacyCronPayload, o as resolveSendPolicy, or as extractImageContentFromSource, pn as registerInternalHook, pt as handleSlackHttpRequest, q as scheduleGatewaySigusr1Restart, qt as dispatchInboundMessage, r as setCliSessionId, rr as DEFAULT_INPUT_PDF_MIN_TEXT_CHARS, s as clearSessionQueues, sn as resolveKoiIdentity, sr as normalizeMimeList, st as getPluginToolMeta, tr as DEFAULT_INPUT_PDF_MAX_PAGES, tt as normalizeRequiredName, u as abortEmbeddedPiRun, un as resolveUserTimezone, v as getCanvasResource, vn as isTtsEnabled, vt as recordRemoteNodeInfo, w as listSessionsFromStore, wn as resolveTtsProviderOrder, wt as buildSafeExternalPrompt, x as replaceCanvasResource, xn as resolveTtsAutoMode, xt as setSkillsRemoteRegistry, y as listCanvasUris, yn as isTtsProviderConfigured, yt as refreshRemoteBinsForConnectedNodes, z as resetDirectoryCache, zn as stripHeartbeatToken, zt as getLastHeartbeatEvent } from "./reply-
|
|
3
|
+
import { $ as normalizeOptionalText, $n as DEFAULT_INPUT_IMAGE_MIMES, $t as findSubkoiRunByRunId, A as capArrayByJsonBytes, An as setCommandLaneConcurrency, Bn as lookupContextTokens, Bt as onHeartbeatEvent, C as listKoisForGateway, Cn as resolveTtsPrefsPath, Ct as registerSkillsChangeListener, D as resolveGatewaySessionStoreTarget, Dn as textToSpeech, Dt as isExternalHookSession, E as loadSessionEntry, En as setTtsProvider, Et as getHookType, Fn as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, G as consumeGatewaySigusr1RestartAuthorization, Gn as enqueueSystemEvent, H as runWithModelFallback, Hn as applyModelOverrideToSessionEntry, I as ensureOutboundSessionEntry, It as buildHistoryContextFromEntries, J as setGatewaySigusr1RestartPolicy, Jn as loadModelCatalog, Jt as createReplyDispatcher, K as isGatewaySigusr1RestartExternallyAllowed, Kn as isSystemEventContextChanged, L as resolveOutboundSessionRoute, Lt as resolveHeartbeatVisibility, M as readSessionPreviewItemsFromTranscript, Mn as startDiagnosticHeartbeat, Mt as normalizeGroupActivation, N as resolveSessionTranscriptCandidates, Nn as stopDiagnosticHeartbeat, O as resolveSessionModelRef, P as stripEnvelopeFromMessages, Pn as isDiagnosticsEnabled, Pt as registerUnhandledRejectionHandler, Q as normalizeOptionalKoiId, Qn as DEFAULT_INPUT_IMAGE_MAX_BYTES, Qt as findSubkoiRunByChildSessionKey, S as resolveAnnounceTargetFromKey, Sn as resolveTtsConfig, St as getSkillsSnapshotVersion, T as loadCombinedSessionStoreForGateway, Tn as setTtsEnabled, Tt as detectSuspiciousPatterns, Un as applyVerboseOverride, V as readRecentActivity, W as authorizeGatewaySigusr1Restart, Wn as parseVerboseOverride, Wt as getChannelActivity, X as normalizeCronJobPatch, Xn as DEFAULT_INPUT_FILE_MAX_CHARS, Xt as isAbortTrigger, Y as normalizeCronJobCreate, Yn as DEFAULT_INPUT_FILE_MAX_BYTES, Yt as formatZonedTimestamp, Z as inferLegacyName, Zn as DEFAULT_INPUT_FILE_MIMES, Zt as stopSubkoisForRequester, _ as canvasUri, _n as getTtsProvider, _t as primeRemoteSkillsCache, a as normalizeSendPolicy, ar as extractFileContentFromSource, at as requestHeartbeatNow, b as onCanvasChange, bn as resolveTtsApiKey, bt as refreshRemoteNodeBins, c as runEmbeddedPiKoi, cn as formatUserTime, ct as loadSKYKOIPlugins, dn as clearInternalHooks, en as initSubkoiRegistry, er as DEFAULT_INPUT_MAX_REDIRECTS, et as normalizePayloadToSystemText, f as waitForEmbeddedPiRunEnd, fn as createInternalHookEvent, g as createSKYKOITools, gn as OPENAI_TTS_VOICES, gt as getRemoteSkillEligibility, h as initRuntimeContext, hn as OPENAI_TTS_MODELS, i as runCliKoi, ir as DEFAULT_INPUT_TIMEOUT_MS, j as readSessionMessages, jn as CommandLane, jt as createReplyPrefixOptions, k as archiveFileOnDisk, l as getLastSystemPrompt, ln as resolveUserTimeFormat, lr as resolveKoiTimeoutMs, lt as loadProviderUsageSummary, mn as triggerInternalHook, n as getCliSessionId, nr as DEFAULT_INPUT_PDF_MAX_PIXELS, nt as migrateLegacyCronPayload, o as resolveSendPolicy, or as extractImageContentFromSource, pn as registerInternalHook, pt as handleSlackHttpRequest, q as scheduleGatewaySigusr1Restart, qt as dispatchInboundMessage, r as setCliSessionId, rr as DEFAULT_INPUT_PDF_MIN_TEXT_CHARS, s as clearSessionQueues, sn as resolveKoiIdentity, sr as normalizeMimeList, st as getPluginToolMeta, tr as DEFAULT_INPUT_PDF_MAX_PAGES, tt as normalizeRequiredName, u as abortEmbeddedPiRun, un as resolveUserTimezone, v as getCanvasResource, vn as isTtsEnabled, vt as recordRemoteNodeInfo, w as listSessionsFromStore, wn as resolveTtsProviderOrder, wt as buildSafeExternalPrompt, x as replaceCanvasResource, xn as resolveTtsAutoMode, xt as setSkillsRemoteRegistry, y as listCanvasUris, yn as isTtsProviderConfigured, yt as refreshRemoteBinsForConnectedNodes, z as resetDirectoryCache, zn as stripHeartbeatToken, zt as getLastHeartbeatEvent } from "./reply-kg3drq1N.js";
|
|
4
4
|
import { C as getLogger, D as CHANNEL_IDS, L as getActivePluginRegistry, S as getChildLogger, a as setConsoleTimestampPrefix, i as setConsoleSubsystemFilter, k as DEFAULT_CHAT_CHANNEL, n as runtimeForLogger, s as defaultRuntime, t as createSubsystemLogger, v as setVerbose, w as getResolvedLoggerSettings } from "./subsystem-hATE68va.js";
|
|
5
5
|
import { g as resolveStateDir, i as isNixMode, l as resolveGatewayLockDir, o as resolveConfigPath, r as STATE_DIR, t as CONFIG_PATH, u as resolveGatewayPort } from "./paths-VdmjGGyc.js";
|
|
6
6
|
import { n as isRich, r as theme, t as colorize } from "./theme-C5EwWDWE.js";
|
|
@@ -79,7 +79,7 @@ import { t as parseAbsoluteTimeMs } from "./parse-B6Z5uj5w.js";
|
|
|
79
79
|
import { a as summarizeRestartSentinel, n as formatDoctorNonInteractiveHint, r as formatRestartSentinelMessage, s as writeRestartSentinel, t as consumeRestartSentinel } from "./restart-sentinel-Cu-Tbnik.js";
|
|
80
80
|
import { n as resolveMessageChannelSelection } from "./channel-selection-Cd-vguDM.js";
|
|
81
81
|
import { i as readEventsSince, n as clearEventLogForSession, o as subscribeAll, r as hydrateSession, t as appendEvent } from "./event-log-BJRHlOn8.js";
|
|
82
|
-
import { n as createOutboundSendDeps, t as createDefaultDeps } from "./deps-
|
|
82
|
+
import { n as createOutboundSendDeps, t as createDefaultDeps } from "./deps-bxV4Fhqd.js";
|
|
83
83
|
import { i as enableTailscaleServe, n as disableTailscaleServe, o as getTailnetHostname, r as enableTailscaleFunnel, t as disableTailscaleFunnel } from "./tailscale-BO36kRfh.js";
|
|
84
84
|
import { t as ensureSKYKOICliOnPath } from "./path-env-gxBbRHVZ.js";
|
|
85
85
|
import { t as forceFreePortAndWait } from "./ports-YIGvuUFy.js";
|
|
@@ -87,15 +87,15 @@ import { t as resolveChannelDefaultAccountId } from "./helpers-y1KKH5pe.js";
|
|
|
87
87
|
import "./logging-1Q_KlUsW.js";
|
|
88
88
|
import "./note-DRoVRuAi.js";
|
|
89
89
|
import { t as WizardCancelledError } from "./prompts-yNyvMdpp.js";
|
|
90
|
-
import { c as loadKoiIdentity, d as loadKoiIdentityFromWorkspace, i as applyKoiConfig, l as pruneKoiConfig, o as findKoiEntryIndex, r as getStatusSummary, s as listKoiEntries, t as runOnboardingWizard } from "./onboarding-
|
|
91
|
-
import { n as installSkill } from "./onboard-skills-
|
|
92
|
-
import "./github-copilot-auth-
|
|
93
|
-
import "./onboard-channels-
|
|
90
|
+
import { c as loadKoiIdentity, d as loadKoiIdentityFromWorkspace, i as applyKoiConfig, l as pruneKoiConfig, o as findKoiEntryIndex, r as getStatusSummary, s as listKoiEntries, t as runOnboardingWizard } from "./onboarding-BXqZpqCS.js";
|
|
91
|
+
import { n as installSkill } from "./onboard-skills-AM1-GoCb.js";
|
|
92
|
+
import "./github-copilot-auth-B8anaBMU.js";
|
|
93
|
+
import "./onboard-channels-Cg-RtF_Q.js";
|
|
94
94
|
import { r as buildChannelUiCatalog, t as applyPluginAutoEnable } from "./plugin-auto-enable-Cg3LRidd.js";
|
|
95
|
-
import "./archive-
|
|
95
|
+
import "./archive-lc4aTrME.js";
|
|
96
96
|
import "./skill-scanner-CBHxr1An.js";
|
|
97
|
-
import "./installs-
|
|
98
|
-
import { c as startHeartbeatRunner, n as formatHealthChannelLines, o as runHeartbeatOnce, r as getHealthSnapshot, s as setHeartbeatsEnabled } from "./health-format-
|
|
97
|
+
import "./installs-CgF6acAX.js";
|
|
98
|
+
import { c as startHeartbeatRunner, n as formatHealthChannelLines, o as runHeartbeatOnce, r as getHealthSnapshot, s as setHeartbeatsEnabled } from "./health-format-HJ49Tlyk.js";
|
|
99
99
|
import { c as compareSemverStrings, d as resolveNpmChannelTag, g as normalizeUpdateChannel, l as fetchNpmLatestVersion, p as DEFAULT_PACKAGE_CHANNEL, s as checkUpdateStatus, t as runGatewayUpdate } from "./update-runner-odTAl-uh.js";
|
|
100
100
|
import { i as resolveGatewayAuth, n as authorizeGatewayConnect, r as isLocalDirectRequest, t as assertGatewayAuthConfigured } from "./auth-Vh115fQN.js";
|
|
101
101
|
import { i as probeGateway } from "./audit-BhMw948Z.js";
|
|
@@ -106,21 +106,21 @@ import { p as resolveGatewayStateDir } from "./systemd-BzTSelz8.js";
|
|
|
106
106
|
import "./diagnostics-CFV2YxpG.js";
|
|
107
107
|
import "./node-service-BzD7Bqwc.js";
|
|
108
108
|
import "./channels-status-issues-BLygTpUh.js";
|
|
109
|
-
import "./doctor-completion-
|
|
110
|
-
import "./register.subclis-
|
|
111
|
-
import { a as createOutboundSendDeps$1, i as resolveKoiOutboundTarget, r as resolveKoiDeliveryPlan, t as koiCommand } from "./koi-
|
|
109
|
+
import "./doctor-completion-B_DB6yKB.js";
|
|
110
|
+
import "./register.subclis-C514WXu2.js";
|
|
111
|
+
import { a as createOutboundSendDeps$1, i as resolveKoiOutboundTarget, r as resolveKoiDeliveryPlan, t as koiCommand } from "./koi-C7h4YyTn.js";
|
|
112
112
|
import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-B0N-n2rD.js";
|
|
113
113
|
import "./daemon-runtime-r19-i0S0.js";
|
|
114
114
|
import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } from "./widearea-dns-Bb9eE_C1.js";
|
|
115
115
|
import { n as discoverGatewayBeacons } from "./bonjour-discovery-Du_kGDHQ.js";
|
|
116
116
|
import "./ensure-local-gateway-VbJtdpui.js";
|
|
117
|
-
import "./completion-cli-
|
|
117
|
+
import "./completion-cli-DvRTz9tW.js";
|
|
118
118
|
import "./service-audit-C3mNLBya.js";
|
|
119
119
|
import { i as shouldIncludeHook, n as loadWorkspaceHookEntries, r as resolveHookConfig } from "./hooks-status-B0H9mn8K.js";
|
|
120
120
|
import "./tui-CvbO7Ge0.js";
|
|
121
121
|
import { t as buildChannelAccountSnapshot } from "./status-BLjOBDvD.js";
|
|
122
122
|
import "./shared-Dn4Lf8u-.js";
|
|
123
|
-
import { a as runDaemonStop, i as runDaemonStart, n as runDaemonStatus, o as runDaemonUninstall, r as runDaemonRestart, s as runDaemonInstall } from "./daemon-cli-
|
|
123
|
+
import { a as runDaemonStop, i as runDaemonStart, n as runDaemonStatus, o as runDaemonUninstall, r as runDaemonRestart, s as runDaemonInstall } from "./daemon-cli-CWGXZMX3.js";
|
|
124
124
|
import { a as toOptionString, i as parsePort$1, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-DNbcd3wi.js";
|
|
125
125
|
import { i as setGatewayWsLogStyle, n as logWs, r as summarizeKoiEventForWsLog, t as formatForLog } from "./ws-log--YWgaGe1.js";
|
|
126
126
|
import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-DI2DjT9y.js";
|
|
@@ -12024,7 +12024,7 @@ const nodeHandlers = {
|
|
|
12024
12024
|
const p = params;
|
|
12025
12025
|
const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
|
|
12026
12026
|
await respondUnavailableOnThrow(respond, async () => {
|
|
12027
|
-
const { handleNodeEvent } = await import("./server-node-events-
|
|
12027
|
+
const { handleNodeEvent } = await import("./server-node-events-B1vg4hw3.js");
|
|
12028
12028
|
const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
|
|
12029
12029
|
await handleNodeEvent({
|
|
12030
12030
|
deps: context.deps,
|
|
@@ -21087,7 +21087,7 @@ async function startGatewayServer(port = 18789, opts = {}) {
|
|
|
21087
21087
|
let captureServiceStop = null;
|
|
21088
21088
|
(async () => {
|
|
21089
21089
|
try {
|
|
21090
|
-
const { startCaptureService } = await import("./capture-service-
|
|
21090
|
+
const { startCaptureService } = await import("./capture-service-Cf1TbNjO.js");
|
|
21091
21091
|
captureServiceStop = (await startCaptureService()).stop;
|
|
21092
21092
|
console.log("[capture] Device capture service started");
|
|
21093
21093
|
} catch (err) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ct as loadSKYKOIPlugins } from "./reply-
|
|
1
|
+
import { ct as loadSKYKOIPlugins } from "./reply-kg3drq1N.js";
|
|
2
2
|
import { t as createSubsystemLogger } from "./subsystem-hATE68va.js";
|
|
3
3
|
import { l as normalizeKoiId } from "./session-key-B2OXLVi_.js";
|
|
4
4
|
import { b as sleep } from "./utils-D019Z2NU.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Fn as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, In as DEFAULT_HEARTBEAT_EVERY, Ln as isHeartbeatContentEffectivelyEmpty, Lt as resolveHeartbeatVisibility, On as enqueueCommandInLane, Rn as resolveHeartbeatPrompt$1, Rt as emitHeartbeatEvent, Vt as resolveIndicatorType, at as requestHeartbeatNow, d as isEmbeddedPiRunActive, jn as CommandLane, kn as getQueueSize, on as resolveEffectiveMessagesConfig, ot as setHeartbeatWakeHandler, qn as peekSystemEvents, t as getReplyFromConfig, un as resolveUserTimezone, zn as stripHeartbeatToken } from "./reply-
|
|
1
|
+
import { Fn as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, In as DEFAULT_HEARTBEAT_EVERY, Ln as isHeartbeatContentEffectivelyEmpty, Lt as resolveHeartbeatVisibility, On as enqueueCommandInLane, Rn as resolveHeartbeatPrompt$1, Rt as emitHeartbeatEvent, Vt as resolveIndicatorType, at as requestHeartbeatNow, d as isEmbeddedPiRunActive, jn as CommandLane, kn as getQueueSize, on as resolveEffectiveMessagesConfig, ot as setHeartbeatWakeHandler, qn as peekSystemEvents, t as getReplyFromConfig, un as resolveUserTimezone, zn as stripHeartbeatToken } from "./reply-kg3drq1N.js";
|
|
2
2
|
import { p as info, s as defaultRuntime, t as createSubsystemLogger } from "./subsystem-hATE68va.js";
|
|
3
3
|
import { n as isRich, r as theme, t as colorize } from "./theme-C5EwWDWE.js";
|
|
4
4
|
import { d as resolveKoiIdFromSessionKey, h as toKoiStoreSessionKey, l as normalizeKoiId } from "./session-key-B2OXLVi_.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "./pi-embedded-helpers-VJ9hOBTv.js";
|
|
2
|
-
import "./reply-
|
|
2
|
+
import "./reply-kg3drq1N.js";
|
|
3
3
|
import { s as defaultRuntime } from "./subsystem-hATE68va.js";
|
|
4
4
|
import "./paths-VdmjGGyc.js";
|
|
5
5
|
import { r as theme } from "./theme-C5EwWDWE.js";
|
|
@@ -68,10 +68,10 @@ import "./control-service-Bbl6R2bi.js";
|
|
|
68
68
|
import "./restart-sentinel-Cu-Tbnik.js";
|
|
69
69
|
import "./channel-selection-Cd-vguDM.js";
|
|
70
70
|
import "./event-log-BJRHlOn8.js";
|
|
71
|
-
import { a as resolvePackedRootDir, i as resolveArchiveKind, n as fileExists, r as readJsonFile, t as extractArchive } from "./archive-
|
|
71
|
+
import { a as resolvePackedRootDir, i as resolveArchiveKind, n as fileExists, r as readJsonFile, t as extractArchive } from "./archive-lc4aTrME.js";
|
|
72
72
|
import { t as renderTable } from "./table-B3RHVa0g.js";
|
|
73
73
|
import { a as parseFrontmatter, n as loadWorkspaceHookEntries, t as buildWorkspaceHookStatus } from "./hooks-status-B0H9mn8K.js";
|
|
74
|
-
import { t as buildPluginStatusReport } from "./status-
|
|
74
|
+
import { t as buildPluginStatusReport } from "./status-CrxsbMfq.js";
|
|
75
75
|
import fs from "node:fs";
|
|
76
76
|
import path from "node:path";
|
|
77
77
|
import os from "node:os";
|