skykoi 2026.3.357 → 2026.3.358

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/{archive-CbyTK8qu.js → archive-CSYoi0bB.js} +1 -1
  2. package/dist/build-info.json +2 -2
  3. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  4. package/dist/{capture-service-r5hzG32O.js → capture-service-aBlfOJ9T.js} +189 -229
  5. package/dist/{channel-options-BY2IjmzB.js → channel-options-BgjMKQVI.js} +1 -1
  6. package/dist/{channels-cli-DTPRtwE2.js → channels-cli-7ddnjbZQ.js} +7 -7
  7. package/dist/cli/daemon-cli.js +1 -1
  8. package/dist/{cli-vBhxrkvs.js → cli-D8z8eo3e.js} +2 -2
  9. package/dist/{completion-cli-DRoMI6DH.js → completion-cli-CxoTsEsI.js} +1 -1
  10. package/dist/{config-guard-DOZ2mhKw.js → config-guard-DxgRRhoq.js} +13 -13
  11. package/dist/{configure-D6GSZYqL.js → configure-Dens4T0O.js} +3 -3
  12. package/dist/{daemon-cli-Bnuo4BIZ.js → daemon-cli-9Y7uhd5t.js} +1 -1
  13. package/dist/{deps-CCpiYgkP.js → deps-DcMNQQfA.js} +1 -1
  14. package/dist/{doctor-D3bdpqdq.js → doctor-B4qgRSWr.js} +3 -3
  15. package/dist/{doctor-completion-CfTpfvFC.js → doctor-completion-CcmiT1vg.js} +1 -1
  16. package/dist/entry.js +1 -1
  17. package/dist/extension-api.js +2 -2
  18. package/dist/{gateway-cli-CR51t28e.js → gateway-cli-J1kovE8F.js} +17 -17
  19. package/dist/{github-copilot-auth-BtWnmpXC.js → github-copilot-auth-DNwNzQVE.js} +1 -1
  20. package/dist/{health-format-hWHROZlL.js → health-format-C3LzBRov.js} +1 -1
  21. package/dist/{hooks-cli-BJKdZbkg.js → hooks-cli-9NBU-oUf.js} +4 -4
  22. package/dist/index.js +20 -20
  23. package/dist/{installs-BXwolbqH.js → installs-Cao37ZRd.js} +1 -1
  24. package/dist/{koi-CNbYX51y.js → koi-oBrwdQUR.js} +2 -2
  25. package/dist/{models-cli-CMiioSPE.js → models-cli-d1aW5XS3.js} +3 -3
  26. package/dist/{onboard-channels-D4MXtJsE.js → onboard-channels-BWZRlIlZ.js} +2 -2
  27. package/dist/{onboard-skills-kIJ1-nLm.js → onboard-skills-_7yvOB3u.js} +3 -3
  28. package/dist/{onboarding-Bca4mmD6.js → onboarding-CNQUXit-.js} +6 -6
  29. package/dist/{plugin-registry-CEnpO8I0.js → plugin-registry-DrLbrjon.js} +1 -1
  30. package/dist/plugin-sdk/capture/capture-service.d.ts +21 -0
  31. package/dist/plugin-sdk/capture/capture-store.d.ts +32 -0
  32. package/dist/plugin-sdk/capture/file-capture.d.ts +9 -0
  33. package/dist/plugin-sdk/capture/input-capture.d.ts +13 -0
  34. package/dist/plugin-sdk/capture/process-capture.d.ts +32 -0
  35. package/dist/plugin-sdk/capture/terminal-capture.d.ts +32 -0
  36. package/dist/plugin-sdk/index.js +20 -15
  37. package/dist/plugin-sdk/{pi-model-discovery-szlzYGsC.js → pi-model-discovery-CBWcyyqn.js} +3 -3
  38. package/dist/{plugins-cli-BK2WyB6L.js → plugins-cli-VSkdMw2k.js} +6 -6
  39. package/dist/{program-1Joj3U3_.js → program-4w6A5ihW.js} +4 -4
  40. package/dist/{register.subclis-h279sCt8.js → register.subclis-Bar52U5A.js} +10 -10
  41. package/dist/{reply-Bvd7ywOH.js → reply-C7ADPs6d.js} +3 -12
  42. package/dist/{run-main-DZiuX9SQ.js → run-main-PIrmW36g.js} +21 -21
  43. package/dist/{server-node-events-TVfMzqB-.js → server-node-events-Bbd9oN7Q.js} +4 -4
  44. package/dist/{status-DzK2jjBE.js → status-CA9uUa1v.js} +1 -1
  45. package/dist/{update-BlJVtJqm.js → update-SQd6wZBl.js} +1 -1
  46. package/dist/{update-cli-BeNFwFXq.js → update-cli-DcFS66xp.js} +12 -12
  47. 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-Bvd7ywOH.js";
2
+ import { mt as require_inherits } from "./reply-C7ADPs6d.js";
3
3
  import path from "node:path";
4
4
  import fs from "node:fs/promises";
5
5
  import * as tar from "tar";
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "2026.3.357",
2
+ "version": "2026.3.358",
3
3
  "commit": "8b715c81e3dc58989509e5f1c5b859eb685aebfc",
4
- "builtAt": "2026-06-25T06:34:27.188Z"
4
+ "builtAt": "2026-06-25T06:36:30.485Z"
5
5
  }
@@ -1 +1 @@
1
- 6f8d34b7b2c66c6967b4a79d2c822a61dd61b6e8ba5f2b03755a8c98650cb51c
1
+ 314d2086097f6031cfa0cfb1fa6b26cb5a4d24fff0caba72ac85502b54184560
@@ -1,4 +1,4 @@
1
- import { i as __require, n as __esmMin, r as __exportAll } from "./chunk-D_gEzPfs.js";
1
+ import { i as __require, r as __exportAll } from "./chunk-D_gEzPfs.js";
2
2
  import { appendFileSync, existsSync, mkdirSync, readFileSync, statSync, watch, writeFileSync } from "node:fs";
3
3
  import { dirname, extname, join, relative } from "node:path";
4
4
  import { homedir } from "node:os";
@@ -6,6 +6,45 @@ import { execFile, spawn } from "node:child_process";
6
6
  import { createInterface } from "node:readline";
7
7
 
8
8
  //#region src/capture/terminal-capture.ts
9
+ const ITERM_SCRIPT = `
10
+ tell application "System Events"
11
+ if not (exists process "iTerm2") then return ""
12
+ end tell
13
+ tell application "iTerm2"
14
+ set out to ""
15
+ repeat with w in windows
16
+ set wName to name of w
17
+ repeat with t in tabs of w
18
+ repeat with s in sessions of t
19
+ set sName to name of s
20
+ set sContents to contents of s
21
+ set out to out & "---TAB:" & sName & "---WINDOW:" & wName & "---" & return & sContents & return
22
+ end repeat
23
+ end repeat
24
+ end repeat
25
+ return out
26
+ end tell
27
+ `;
28
+ const TERMINAL_SCRIPT = `
29
+ tell application "System Events"
30
+ if not (exists process "Terminal") then return ""
31
+ end tell
32
+ tell application "Terminal"
33
+ set out to ""
34
+ repeat with w in windows
35
+ set wName to name of w
36
+ repeat with t in tabs of w
37
+ set tTitle to custom title of t
38
+ if tTitle is "" then set tTitle to name of current settings of t
39
+ set tContents to contents of t
40
+ set out to out & "---TAB:" & tTitle & "---WINDOW:" & wName & "---" & return & tContents & return
41
+ end repeat
42
+ end repeat
43
+ return out
44
+ end tell
45
+ `;
46
+ const TIMEOUT_MS$1 = 5e3;
47
+ const TAB_HEADER = /^---TAB:(.*?)---WINDOW:(.*?)---$/;
9
48
  function runOsascript(script) {
10
49
  return new Promise((resolve) => {
11
50
  execFile("osascript", ["-e", script], {
@@ -109,48 +148,6 @@ function captureTerminalDiffs(previous, current) {
109
148
  changed
110
149
  };
111
150
  }
112
- var ITERM_SCRIPT, TERMINAL_SCRIPT, TIMEOUT_MS$1, TAB_HEADER;
113
- var init_terminal_capture = __esmMin((() => {
114
- ITERM_SCRIPT = `
115
- tell application "System Events"
116
- if not (exists process "iTerm2") then return ""
117
- end tell
118
- tell application "iTerm2"
119
- set out to ""
120
- repeat with w in windows
121
- set wName to name of w
122
- repeat with t in tabs of w
123
- repeat with s in sessions of t
124
- set sName to name of s
125
- set sContents to contents of s
126
- set out to out & "---TAB:" & sName & "---WINDOW:" & wName & "---" & return & sContents & return
127
- end repeat
128
- end repeat
129
- end repeat
130
- return out
131
- end tell
132
- `;
133
- TERMINAL_SCRIPT = `
134
- tell application "System Events"
135
- if not (exists process "Terminal") then return ""
136
- end tell
137
- tell application "Terminal"
138
- set out to ""
139
- repeat with w in windows
140
- set wName to name of w
141
- repeat with t in tabs of w
142
- set tTitle to custom title of t
143
- if tTitle is "" then set tTitle to name of current settings of t
144
- set tContents to contents of t
145
- set out to out & "---TAB:" & tTitle & "---WINDOW:" & wName & "---" & return & tContents & return
146
- end repeat
147
- end repeat
148
- return out
149
- end tell
150
- `;
151
- TIMEOUT_MS$1 = 5e3;
152
- TAB_HEADER = /^---TAB:(.*?)---WINDOW:(.*?)---$/;
153
- }));
154
151
 
155
152
  //#endregion
156
153
  //#region src/capture/capture-store.ts
@@ -161,6 +158,11 @@ end tell
161
158
  * in-memory ring and periodically flushes to disk. The injector reads
162
159
  * from it to feed the koi's context.
163
160
  */
161
+ const MAX_MEMORY_EVENTS = 500;
162
+ const MAX_DISK_BYTES = 10 * 1024 * 1024;
163
+ const STORE_DIR = join(homedir(), ".skykoi", "capture");
164
+ let ring = [];
165
+ let initialized = false;
164
166
  function ensureDir() {
165
167
  if (initialized) return;
166
168
  try {
@@ -173,20 +175,6 @@ function pushCaptureEvent(event) {
173
175
  if (ring.length > MAX_MEMORY_EVENTS) ring = ring.slice(-MAX_MEMORY_EVENTS);
174
176
  }
175
177
  /**
176
- * Get recent events from the in-memory ring, optionally filtered by source.
177
- * Returns newest-first.
178
- */
179
- function getRecentEvents(opts) {
180
- let result = ring;
181
- if (opts?.source) result = result.filter((e) => e.source === opts.source);
182
- if (opts?.sinceTs) {
183
- const since = opts.sinceTs;
184
- result = result.filter((e) => e.ts >= since);
185
- }
186
- const out = result.slice().reverse();
187
- return opts?.limit ? out.slice(0, opts.limit) : out;
188
- }
189
- /**
190
178
  * Get ALL events currently in the ring (for full context injection).
191
179
  * Returns oldest-first (chronological order).
192
180
  */
@@ -212,14 +200,6 @@ function flushToDisk() {
212
200
  } catch {}
213
201
  ring = [];
214
202
  }
215
- var MAX_MEMORY_EVENTS, MAX_DISK_BYTES, STORE_DIR, ring, initialized;
216
- var init_capture_store = __esmMin((() => {
217
- MAX_MEMORY_EVENTS = 500;
218
- MAX_DISK_BYTES = 10 * 1024 * 1024;
219
- STORE_DIR = join(homedir(), ".skykoi", "capture");
220
- ring = [];
221
- initialized = false;
222
- }));
223
203
 
224
204
  //#endregion
225
205
  //#region src/capture/input-capture.ts
@@ -235,6 +215,8 @@ var init_capture_store = __esmMin((() => {
235
215
  * - The daemon binary isn't built
236
216
  * - Accessibility permissions aren't granted
237
217
  */
218
+ let daemonProcess = null;
219
+ let building = false;
238
220
  function daemonDir() {
239
221
  return join(dirname(new URL(import.meta.url).pathname), "..", "..", "src", "capture", "input-daemon");
240
222
  }
@@ -325,15 +307,88 @@ async function startInputCapture() {
325
307
  daemonProcess = null;
326
308
  } };
327
309
  }
328
- var daemonProcess, building;
329
- var init_input_capture = __esmMin((() => {
330
- init_capture_store();
331
- daemonProcess = null;
332
- building = false;
333
- }));
334
310
 
335
311
  //#endregion
336
312
  //#region src/capture/process-capture.ts
313
+ const TIMEOUT_MS = 3e3;
314
+ const MAX_PROCESSES = 50;
315
+ const HIGH_CPU_THRESHOLD = 50;
316
+ const MIN_CPU_INTERESTING = 1;
317
+ const DEV_TOOLS = new Set([
318
+ "node",
319
+ "python",
320
+ "python3",
321
+ "swift",
322
+ "cargo",
323
+ "go",
324
+ "java",
325
+ "ruby",
326
+ "docker",
327
+ "kubectl",
328
+ "terraform",
329
+ "git",
330
+ "npm",
331
+ "npx",
332
+ "pnpm",
333
+ "yarn",
334
+ "bun",
335
+ "deno",
336
+ "tsc",
337
+ "esbuild",
338
+ "rustc",
339
+ "gcc",
340
+ "clang",
341
+ "make",
342
+ "cmake"
343
+ ]);
344
+ const KNOWN_APPS = new Set([
345
+ "code",
346
+ "code helper",
347
+ "cursor",
348
+ "iterm2",
349
+ "terminal",
350
+ "safari",
351
+ "google chrome",
352
+ "google chrome helper",
353
+ "firefox",
354
+ "arc",
355
+ "slack",
356
+ "zoom",
357
+ "zoom.us",
358
+ "figma",
359
+ "notion",
360
+ "discord",
361
+ "linear",
362
+ "warp",
363
+ "alacritty",
364
+ "kitty",
365
+ "hyper"
366
+ ]);
367
+ /** UIDs that indicate system processes on macOS. */
368
+ const SYSTEM_UIDS = new Set([
369
+ "0",
370
+ "1",
371
+ "55",
372
+ "89",
373
+ "205",
374
+ "241",
375
+ "248",
376
+ "249",
377
+ "262",
378
+ "270"
379
+ ]);
380
+ const ACTIVE_WINDOW_SCRIPT = `
381
+ tell application "System Events"
382
+ set fp to first application process whose frontmost is true
383
+ set appName to name of fp
384
+ try
385
+ set winTitle to name of first window of fp
386
+ on error
387
+ set winTitle to ""
388
+ end try
389
+ return appName & "|||" & winTitle
390
+ end tell
391
+ `;
337
392
  function exec$1(cmd, args) {
338
393
  return new Promise((resolve) => {
339
394
  execFile(cmd, args, {
@@ -491,87 +546,6 @@ function processChanges(prev, curr) {
491
546
  highCpu
492
547
  };
493
548
  }
494
- var TIMEOUT_MS, MAX_PROCESSES, HIGH_CPU_THRESHOLD, MIN_CPU_INTERESTING, DEV_TOOLS, KNOWN_APPS, SYSTEM_UIDS, ACTIVE_WINDOW_SCRIPT;
495
- var init_process_capture = __esmMin((() => {
496
- TIMEOUT_MS = 3e3;
497
- MAX_PROCESSES = 50;
498
- HIGH_CPU_THRESHOLD = 50;
499
- MIN_CPU_INTERESTING = 1;
500
- DEV_TOOLS = new Set([
501
- "node",
502
- "python",
503
- "python3",
504
- "swift",
505
- "cargo",
506
- "go",
507
- "java",
508
- "ruby",
509
- "docker",
510
- "kubectl",
511
- "terraform",
512
- "git",
513
- "npm",
514
- "npx",
515
- "pnpm",
516
- "yarn",
517
- "bun",
518
- "deno",
519
- "tsc",
520
- "esbuild",
521
- "rustc",
522
- "gcc",
523
- "clang",
524
- "make",
525
- "cmake"
526
- ]);
527
- KNOWN_APPS = new Set([
528
- "code",
529
- "code helper",
530
- "cursor",
531
- "iterm2",
532
- "terminal",
533
- "safari",
534
- "google chrome",
535
- "google chrome helper",
536
- "firefox",
537
- "arc",
538
- "slack",
539
- "zoom",
540
- "zoom.us",
541
- "figma",
542
- "notion",
543
- "discord",
544
- "linear",
545
- "warp",
546
- "alacritty",
547
- "kitty",
548
- "hyper"
549
- ]);
550
- SYSTEM_UIDS = new Set([
551
- "0",
552
- "1",
553
- "55",
554
- "89",
555
- "205",
556
- "241",
557
- "248",
558
- "249",
559
- "262",
560
- "270"
561
- ]);
562
- ACTIVE_WINDOW_SCRIPT = `
563
- tell application "System Events"
564
- set fp to first application process whose frontmost is true
565
- set appName to name of fp
566
- try
567
- set winTitle to name of first window of fp
568
- on error
569
- set winTitle to ""
570
- end try
571
- return appName & "|||" & winTitle
572
- end tell
573
- `;
574
- }));
575
549
 
576
550
  //#endregion
577
551
  //#region src/capture/file-capture.ts
@@ -581,6 +555,63 @@ end tell
581
555
  * Watches configured directories for file changes and captures exact diffs
582
556
  * using `git diff` (for git repos) or before/after snapshots.
583
557
  */
558
+ const IGNORE_PATTERNS = [
559
+ /node_modules/,
560
+ /\.git\//,
561
+ /dist\//,
562
+ /\.next\//,
563
+ /\.DS_Store/,
564
+ /\.swp$/,
565
+ /\.swo$/,
566
+ /~$/,
567
+ /\.pyc$/,
568
+ /__pycache__/,
569
+ /\.env$/,
570
+ /\.env\.local$/
571
+ ];
572
+ const TEXT_EXTENSIONS = new Set([
573
+ ".ts",
574
+ ".tsx",
575
+ ".js",
576
+ ".jsx",
577
+ ".mjs",
578
+ ".cjs",
579
+ ".py",
580
+ ".rb",
581
+ ".go",
582
+ ".rs",
583
+ ".swift",
584
+ ".java",
585
+ ".kt",
586
+ ".c",
587
+ ".cpp",
588
+ ".h",
589
+ ".hpp",
590
+ ".m",
591
+ ".mm",
592
+ ".json",
593
+ ".yaml",
594
+ ".yml",
595
+ ".toml",
596
+ ".xml",
597
+ ".md",
598
+ ".txt",
599
+ ".sh",
600
+ ".bash",
601
+ ".zsh",
602
+ ".css",
603
+ ".scss",
604
+ ".less",
605
+ ".html",
606
+ ".vue",
607
+ ".svelte",
608
+ ".sql",
609
+ ".graphql",
610
+ ".prisma",
611
+ ".dockerfile",
612
+ ".tf",
613
+ ".hcl"
614
+ ]);
584
615
  function shouldIgnore(path) {
585
616
  return IGNORE_PATTERNS.some((p) => p.test(path));
586
617
  }
@@ -698,67 +729,6 @@ function watchDirectory(dir) {
698
729
  debounce.clear();
699
730
  } };
700
731
  }
701
- var IGNORE_PATTERNS, TEXT_EXTENSIONS;
702
- var init_file_capture = __esmMin((() => {
703
- init_capture_store();
704
- IGNORE_PATTERNS = [
705
- /node_modules/,
706
- /\.git\//,
707
- /dist\//,
708
- /\.next\//,
709
- /\.DS_Store/,
710
- /\.swp$/,
711
- /\.swo$/,
712
- /~$/,
713
- /\.pyc$/,
714
- /__pycache__/,
715
- /\.env$/,
716
- /\.env\.local$/
717
- ];
718
- TEXT_EXTENSIONS = new Set([
719
- ".ts",
720
- ".tsx",
721
- ".js",
722
- ".jsx",
723
- ".mjs",
724
- ".cjs",
725
- ".py",
726
- ".rb",
727
- ".go",
728
- ".rs",
729
- ".swift",
730
- ".java",
731
- ".kt",
732
- ".c",
733
- ".cpp",
734
- ".h",
735
- ".hpp",
736
- ".m",
737
- ".mm",
738
- ".json",
739
- ".yaml",
740
- ".yml",
741
- ".toml",
742
- ".xml",
743
- ".md",
744
- ".txt",
745
- ".sh",
746
- ".bash",
747
- ".zsh",
748
- ".css",
749
- ".scss",
750
- ".less",
751
- ".html",
752
- ".vue",
753
- ".svelte",
754
- ".sql",
755
- ".graphql",
756
- ".prisma",
757
- ".dockerfile",
758
- ".tf",
759
- ".hcl"
760
- ]);
761
- }));
762
732
 
763
733
  //#endregion
764
734
  //#region src/capture/capture-service.ts
@@ -772,10 +742,13 @@ var init_file_capture = __esmMin((() => {
772
742
  */
773
743
  var capture_service_exports = /* @__PURE__ */ __exportAll({
774
744
  buildCaptureContextBlock: () => buildCaptureContextBlock,
775
- getAllEvents: () => getAllEvents,
776
- getRecentEvents: () => getRecentEvents,
777
745
  startCaptureService: () => startCaptureService
778
746
  });
747
+ let lastTerminalSnapshot = [];
748
+ let lastProcessSnapshot = null;
749
+ const TERMINAL_POLL_MS = 5e3;
750
+ const PROCESS_POLL_MS = 1e4;
751
+ const FLUSH_INTERVAL_MS = 6e4;
779
752
  /**
780
753
  * Format capture events into a raw context block for injection
781
754
  * into the koi's system prompt or user message prefix.
@@ -1009,19 +982,6 @@ async function startCaptureService(opts) {
1009
982
  flushToDisk();
1010
983
  } };
1011
984
  }
1012
- var lastTerminalSnapshot, lastProcessSnapshot, TERMINAL_POLL_MS, PROCESS_POLL_MS, FLUSH_INTERVAL_MS;
1013
- var init_capture_service = __esmMin((() => {
1014
- init_terminal_capture();
1015
- init_input_capture();
1016
- init_process_capture();
1017
- init_file_capture();
1018
- init_capture_store();
1019
- lastTerminalSnapshot = [];
1020
- lastProcessSnapshot = null;
1021
- TERMINAL_POLL_MS = 5e3;
1022
- PROCESS_POLL_MS = 1e4;
1023
- FLUSH_INTERVAL_MS = 6e4;
1024
- }));
1025
985
 
1026
986
  //#endregion
1027
- export { init_capture_service as n, capture_service_exports as t };
987
+ export { capture_service_exports as n, buildCaptureContextBlock as t };
@@ -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-CdY4rE-n.js";
5
- import { t as ensurePluginRegistryLoaded } from "./plugin-registry-CEnpO8I0.js";
5
+ import { t as ensurePluginRegistryLoaded } from "./plugin-registry-DrLbrjon.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-DQFw4Gyf.js";
2
- import { Gt as parseDiscordTarget, Kt as fetchChannelPermissionsDiscord, in as createSlackWebClient, lt as loadProviderUsageSummary, ut as formatUsageReportLines } from "./reply-Bvd7ywOH.js";
2
+ import { Gt as parseDiscordTarget, Kt as fetchChannelPermissionsDiscord, in as createSlackWebClient, lt as loadProviderUsageSummary, ut as formatUsageReportLines } from "./reply-C7ADPs6d.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";
@@ -66,7 +66,7 @@ import "./prompt-style-e5zz5JM8.js";
66
66
  import "./pairing-labels-COEL5-l6.js";
67
67
  import "./satisfies-OaA965Ap.js";
68
68
  import "./session-cost-usage--3A8ZVbE.js";
69
- import "./capture-service-r5hzG32O.js";
69
+ import "./capture-service-aBlfOJ9T.js";
70
70
  import "./control-service-BX--GCio.js";
71
71
  import "./restart-sentinel-BmtFp4hj.js";
72
72
  import { n as resolveMessageChannelSelection } from "./channel-selection-D2xRBj5_.js";
@@ -74,20 +74,20 @@ import "./event-log-BI0AhKz-.js";
74
74
  import { t as resolveChannelDefaultAccountId } from "./helpers-BSFDAcJU.js";
75
75
  import "./note-Bz1inBMY.js";
76
76
  import { t as createClackPrompter } from "./clack-prompter-CpKbTEcs.js";
77
- import { i as reloadOnboardingPluginRegistry, n as setupChannels, r as ensureOnboardingPluginInstalled } from "./onboard-channels-D4MXtJsE.js";
77
+ import { i as reloadOnboardingPluginRegistry, n as setupChannels, r as ensureOnboardingPluginInstalled } from "./onboard-channels-BWZRlIlZ.js";
78
78
  import { i as listChannelPluginCatalogEntries } from "./plugin-auto-enable-CdY4rE-n.js";
79
- import "./archive-CbyTK8qu.js";
79
+ import "./archive-CSYoi0bB.js";
80
80
  import "./skill-scanner-Bo0NYV6j.js";
81
- import "./installs-BXwolbqH.js";
81
+ import "./installs-Cao37ZRd.js";
82
82
  import "./service-Lr4_ZToq.js";
83
83
  import "./systemd-Cg_r75DH.js";
84
84
  import "./diagnostics-DF82q_Pz.js";
85
85
  import { t as collectChannelStatusIssues } from "./channels-status-issues-C7sTmzt9.js";
86
- import { n as hasExplicitOptions } from "./plugin-registry-CEnpO8I0.js";
86
+ import { n as hasExplicitOptions } from "./plugin-registry-DrLbrjon.js";
87
87
  import "./daemon-runtime-CwgyTCkj.js";
88
88
  import "./ensure-local-gateway-DgD7eQMm.js";
89
89
  import { n as runChannelLoginAll, r as runChannelLogout, t as runChannelLogin } from "./channel-auth-Xs9WjBst.js";
90
- import { t as formatCliChannelOptions } from "./channel-options-BY2IjmzB.js";
90
+ import { t as formatCliChannelOptions } from "./channel-options-BgjMKQVI.js";
91
91
  import { t as buildChannelAccountSnapshot } from "./status-BLjOBDvD.js";
92
92
  import { t as parseLogLine } from "./parse-log-line-cWE1HOyo.js";
93
93
  import fs from "node:fs/promises";
@@ -1,2 +1,2 @@
1
1
  // Legacy shim for pre-tsdown update-cli imports.
2
- export { registerDaemonCli, runDaemonInstall, runDaemonRestart, runDaemonStart, runDaemonStatus, runDaemonStop, runDaemonUninstall } from "../daemon-cli-Bnuo4BIZ.js";
2
+ export { registerDaemonCli, runDaemonInstall, runDaemonRestart, runDaemonStart, runDaemonStatus, runDaemonStop, runDaemonUninstall } from "../daemon-cli-9Y7uhd5t.js";
@@ -1,5 +1,5 @@
1
1
  import "./pi-embedded-helpers-DQFw4Gyf.js";
2
- import { ct as loadSKYKOIPlugins } from "./reply-Bvd7ywOH.js";
2
+ import { ct as loadSKYKOIPlugins } from "./reply-C7ADPs6d.js";
3
3
  import { t as createSubsystemLogger } from "./subsystem-hATE68va.js";
4
4
  import "./paths-VdmjGGyc.js";
5
5
  import "./theme-C5EwWDWE.js";
@@ -63,7 +63,7 @@ import "./prompt-style-e5zz5JM8.js";
63
63
  import "./pairing-labels-COEL5-l6.js";
64
64
  import "./satisfies-OaA965Ap.js";
65
65
  import "./session-cost-usage--3A8ZVbE.js";
66
- import "./capture-service-r5hzG32O.js";
66
+ import "./capture-service-aBlfOJ9T.js";
67
67
  import "./control-service-BX--GCio.js";
68
68
  import "./restart-sentinel-BmtFp4hj.js";
69
69
  import "./channel-selection-D2xRBj5_.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-h279sCt8.js";
3
+ import { n as registerSubCliByName, t as getSubCliEntries } from "./register.subclis-Bar52U5A.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-Bvd7ywOH.js";
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-C7ADPs6d.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-ASRUrwc_.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-CCpiYgkP.js";
24
+ import { t as createDefaultDeps } from "./deps-DcMNQQfA.js";
25
25
  import { t as assertSupportedRuntime } from "./runtime-guard-2MMXk4Pw.js";
26
26
  import { t as resolveChannelDefaultAccountId } from "./helpers-BSFDAcJU.js";
27
27
  import { n as logConfigUpdated, t as formatConfigPath } from "./logging-D0yLyZGX.js";
28
28
  import { t as WizardCancelledError } from "./prompts-P_JikS7G.js";
29
29
  import { t as createClackPrompter } from "./clack-prompter-CpKbTEcs.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-Bca4mmD6.js";
31
- import { d as applyAuthChoice, f as applyOpenAIConfig, h as promptAuthChoiceGrouped, m as applyGoogleGeminiModelDefault, p as upsertSharedEnvVar, u as warnIfModelConfigLooksOff } from "./onboard-skills-kIJ1-nLm.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-BtWnmpXC.js";
33
- import { n as setupChannels } from "./onboard-channels-D4MXtJsE.js";
34
- import { i as healthCommand } from "./health-format-hWHROZlL.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-CNQUXit-.js";
31
+ import { d as applyAuthChoice, f as applyOpenAIConfig, h as promptAuthChoiceGrouped, m as applyGoogleGeminiModelDefault, p as upsertSharedEnvVar, u as warnIfModelConfigLooksOff } from "./onboard-skills-_7yvOB3u.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-DNwNzQVE.js";
33
+ import { n as setupChannels } from "./onboard-channels-BWZRlIlZ.js";
34
+ import { i as healthCommand } from "./health-format-C3LzBRov.js";
35
35
  import { t as renderTable } from "./table-BStCHVuZ.js";
36
36
  import { t as resolveGatewayService } from "./service-Lr4_ZToq.js";
37
37
  import { r as isSystemdUserServiceAvailable } from "./systemd-Cg_r75DH.js";
38
- import { l as getVerboseFlag, o as getFlagValue, r as registerSubCliCommands, s as getPositiveIntFlagValue, u as hasFlag } from "./register.subclis-h279sCt8.js";
38
+ import { l as getVerboseFlag, o as getFlagValue, r as registerSubCliCommands, s as getPositiveIntFlagValue, u as hasFlag } from "./register.subclis-Bar52U5A.js";
39
39
  import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-DVbnQlWk.js";
40
40
  import { t as formatHelpExamples } from "./help-format-CiHMUo5S.js";
41
41
  import { t as adminUnlockCommand } from "./admin-unlock-Bes1m3tc.js";
42
- import { a as createOutboundSendDeps, n as resolveSessionKeyForRequest, t as koiCommand } from "./koi-CNbYX51y.js";
43
- import { n as hasExplicitOptions, t as ensurePluginRegistryLoaded } from "./plugin-registry-CEnpO8I0.js";
42
+ import { a as createOutboundSendDeps, n as resolveSessionKeyForRequest, t as koiCommand } from "./koi-oBrwdQUR.js";
43
+ import { n as hasExplicitOptions, t as ensurePluginRegistryLoaded } from "./plugin-registry-DrLbrjon.js";
44
44
  import { n as parsePositiveIntOrUndefined, t as collectOption } from "./helpers-DPUZzP-1.js";
45
- import { i as CONFIGURE_WIZARD_SECTIONS, n as configureCommand, r as configureCommandWithSections } from "./configure-D6GSZYqL.js";
45
+ import { i as CONFIGURE_WIZARD_SECTIONS, n as configureCommand, r as configureCommandWithSections } from "./configure-Dens4T0O.js";
46
46
  import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, r as isGatewayDaemonRuntime, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-CwgyTCkj.js";
47
47
  import { n as ensureSystemdUserLingerNonInteractive } from "./systemd-linger-D2_azwOA.js";
48
48
  import { t as loginCommand } from "./login-B8lR6a3n.js";
49
- import { n as loadAndMaybeMigrateDoctorConfig, t as doctorCommand } from "./doctor-D3bdpqdq.js";
49
+ import { n as loadAndMaybeMigrateDoctorConfig, t as doctorCommand } from "./doctor-B4qgRSWr.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-D6GSZYqL.js").then((n) => n.t);
2800
+ const { CONFIGURE_WIZARD_SECTIONS, configureCommand, configureCommandWithSections } = await import("./configure-Dens4T0O.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);