skykoi 2026.3.271 → 2026.3.272

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 (66) hide show
  1. package/dist/{archive-C_bUVOGc.js → archive-D-nIFDvI.js} +1 -1
  2. package/dist/{audit-DbStYIKe.js → audit-ZCofKzBh.js} +3 -3
  3. package/dist/build-info.json +3 -3
  4. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  5. package/dist/{channel-options-Cg41WKAu.js → channel-options-BRwi2S1q.js} +1 -1
  6. package/dist/{channel-summary-LPAK_4sk.js → channel-summary-BB3bwKMa.js} +2 -2
  7. package/dist/{channels-cli-DKfkY0Uc.js → channels-cli-BP9FkXtR.js} +17 -17
  8. package/dist/cli/daemon-cli.js +1 -1
  9. package/dist/{cli-BSRa5s2p.js → cli-DWW95jJe.js} +12 -12
  10. package/dist/{completion-cli-C_bj3WcN.js → completion-cli-DgolDuI4.js} +1 -1
  11. package/dist/{config-guard-CBPYgoqj.js → config-guard-BzEYzbgN.js} +14 -14
  12. package/dist/{configure-Ct-pyNZR.js → configure-Ci7m67M0.js} +4 -4
  13. package/dist/{daemon-cli-BmaCmxw7.js → daemon-cli-P1M4WfxO.js} +2 -2
  14. package/dist/{deliver-D6EteaM6.js → deliver-B-J5hhwR.js} +2 -2
  15. package/dist/{deps-DPkF3sdv.js → deps-OwHcOs6U.js} +2 -2
  16. package/dist/{dist-BKpDpekV.js → dist-2N9GeOCZ.js} +8 -8
  17. package/dist/{docs-cli-Sn7Yigb_.js → docs-cli-DnVsm2sD.js} +2 -2
  18. package/dist/{doctor-C5qcB9rr.js → doctor-DYKe0Txr.js} +6 -6
  19. package/dist/entry.js +1 -1
  20. package/dist/{event-log-DjIKl_l7.js → event-log-C9xX85hz.js} +11 -20
  21. package/dist/extension-api.js +12 -12
  22. package/dist/{gateway-cli-DVav6fZl.js → gateway-cli-DawRelzJ.js} +51 -40
  23. package/dist/{github-copilot-auth-BJd-EBdp.js → github-copilot-auth-ae1ycEGH.js} +1 -1
  24. package/dist/{gmail-setup-utils-DGSM2Ta7.js → gmail-setup-utils-C47vy-M_.js} +1 -1
  25. package/dist/{health-format-UnPlsTlL.js → health-format-DevJEyuH.js} +3 -3
  26. package/dist/{hooks-cli-C2El6eFe.js → hooks-cli-Bk-8PCu1.js} +15 -15
  27. package/dist/{hooks-status-CIvitlaI.js → hooks-status-ONt2WSFD.js} +1 -1
  28. package/dist/{image-D44JR2SM.js → image-Db_oz8I6.js} +2 -2
  29. package/dist/index.js +34 -34
  30. package/dist/{installs-DOkBkcN3.js → installs-m9gMtTy1.js} +1 -1
  31. package/dist/{koi-e2TPdC5T.js → koi-BenZ-HcC.js} +6 -6
  32. package/dist/koi-event-bridge-Cmy0zMpD.js +168 -0
  33. package/dist/{koi-utterance-trigger-sGdLy8BM.js → koi-utterance-trigger-gqlFfq1B.js} +1 -1
  34. package/dist/{models-cli-CDlbUs4J.js → models-cli-6PPNkmAm.js} +13 -13
  35. package/dist/{onboard-channels-DU4BqOIO.js → onboard-channels-M4xOz6Tx.js} +2 -2
  36. package/dist/{onboard-skills-Bzimpz3N.js → onboard-skills-DfOGA4RH.js} +6 -6
  37. package/dist/{onboarding-CAs9lSaY.js → onboarding-Q5963OJp.js} +12 -12
  38. package/dist/{pi-embedded-helpers-BaaFO_NG.js → pi-embedded-helpers-BR1OjovY.js} +1 -1
  39. package/dist/{pi-model-discovery--bxLv4Vs.js → pi-model-discovery-Cbn1GZwb.js} +1 -1
  40. package/dist/{pi-tools.policy-B-KVVJ1y.js → pi-tools.policy-BTylCL58.js} +1 -1
  41. package/dist/{plugin-registry-DXbWc1Tm.js → plugin-registry-DkvBeUxp.js} +1 -1
  42. package/dist/plugin-sdk/index.js +5 -5
  43. package/dist/plugin-sdk/{pi-model-discovery-DIELoDpU.js → pi-model-discovery-BsWYwu7p.js} +3 -3
  44. package/dist/plugin-sdk/sessions/event-log.d.ts +3 -3
  45. package/dist/{plugins-cli-3Fe3Io3A.js → plugins-cli-DCjlrnJy.js} +16 -16
  46. package/dist/{program-DBOO8rqS.js → program-Denmlmo2.js} +5 -5
  47. package/dist/{register.subclis-BxQVZtpO.js → register.subclis-Co1zUtFF.js} +16 -16
  48. package/dist/{reply-KDYLY2Pp.js → reply-CQKbNkW1.js} +15 -15
  49. package/dist/{run-main-02yIaTRK.js → run-main-CzH89dxm.js} +35 -35
  50. package/dist/{sandbox-Dx1ZdjvG.js → sandbox-COQl76qj.js} +2 -2
  51. package/dist/{sandbox-cli-PZSha-Yj.js → sandbox-cli-D_WC6tOL.js} +4 -4
  52. package/dist/{security-cli-D_bbTA9N.js → security-cli-Bg751BmY.js} +6 -6
  53. package/dist/{server-node-events-BZb6jKLo.js → server-node-events-B-RuKYD2.js} +14 -14
  54. package/dist/{sessions-CG7iM-JS.js → sessions-LG_t6M1u.js} +1 -1
  55. package/dist/{skills-CkTNI958.js → skills-C0SvpGTU.js} +1 -1
  56. package/dist/{skills-cli-BW9E2t-i.js → skills-cli-COUXiho3.js} +3 -3
  57. package/dist/{skills-status-Co9ln7Nd.js → skills-status-PpCs1M-j.js} +2 -2
  58. package/dist/{status-BLQ_POvM.js → status-CSccNDO5.js} +1 -1
  59. package/dist/{tui-CPpBmb8M.js → tui-bwRb_Ht8.js} +3 -3
  60. package/dist/{tui-cli-Be6d8tg7.js → tui-cli-Bzwfs5KA.js} +7 -7
  61. package/dist/{update-CbCh68o6.js → update-DYs42iFB.js} +1 -1
  62. package/dist/{update-cli-OuCE60yz.js → update-cli-Doe1s3Y_.js} +23 -23
  63. package/dist/{update-runner-U7UxeeeT.js → update-runner-CzlX-K0P.js} +3 -3
  64. package/dist/{webhooks-cli-DYtd0pJe.js → webhooks-cli-BuHqy_S0.js} +3 -3
  65. package/package.json +1 -1
  66. package/dist/koi-event-bridge-CTV9_bM3.js +0 -107
@@ -1,5 +1,5 @@
1
1
  import { i as __require, o as __toESM, t as __commonJSMin } from "./chunk-D_gEzPfs.js";
2
- import { Ct as require_inherits } from "./reply-KDYLY2Pp.js";
2
+ import { Ct as require_inherits } from "./reply-CQKbNkW1.js";
3
3
  import path from "node:path";
4
4
  import fs from "node:fs/promises";
5
5
  import * as tar from "tar";
@@ -6,15 +6,15 @@ import { t as formatCliCommand } from "./command-format-DQtyHEuH.js";
6
6
  import { O as INCLUDE_KEY, a as createConfigIO, k as MAX_INCLUDE_DEPTH } from "./config-B1La6DxS.js";
7
7
  import { a as MANIFEST_KEY } from "./manifest-registry-BfJkwq3e.js";
8
8
  import { n as listChannelPlugins } from "./plugins-D6P_BD0C.js";
9
- import { d as resolveSandboxToolPolicyForKoi, l as resolveSandboxConfigForKoi } from "./sandbox-Dx1ZdjvG.js";
9
+ import { d as resolveSandboxToolPolicyForKoi, l as resolveSandboxConfigForKoi } from "./sandbox-COQl76qj.js";
10
10
  import { s as resolveToolProfilePolicy } from "./tool-policy-DFU7NfzA.js";
11
- import { i as loadWorkspaceSkillEntries } from "./skills-CkTNI958.js";
11
+ import { i as loadWorkspaceSkillEntries } from "./skills-C0SvpGTU.js";
12
12
  import { a as resolveProfile, i as resolveBrowserConfig } from "./server-context-BG4YK6Ll.js";
13
13
  import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-DFwjMtH0.js";
14
14
  import { l as GatewayClient } from "./net-DG4ItObd.js";
15
15
  import { t as buildGatewayConnectionDetails } from "./call-Bos6YLrN.js";
16
16
  import { i as readChannelAllowFromStore } from "./pairing-store-DttWRVFE.js";
17
- import { c as resolveNativeSkillsEnabled, n as isToolAllowedByPolicies, s as resolveNativeCommandsEnabled } from "./pi-tools.policy-B-KVVJ1y.js";
17
+ import { c as resolveNativeSkillsEnabled, n as isToolAllowedByPolicies, s as resolveNativeCommandsEnabled } from "./pi-tools.policy-BTylCL58.js";
18
18
  import { t as resolveChannelDefaultAccountId } from "./helpers-Bd67GvKn.js";
19
19
  import { t as scanDirectoryWithSummary } from "./skill-scanner-XSqJHIlH.js";
20
20
  import { i as resolveGatewayAuth } from "./auth-BzM5UpTJ.js";
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "2026.3.271",
3
- "commit": "705c19bcd636dcdad4bf22cbbd1dea6dd40b6d51",
4
- "builtAt": "2026-05-14T19:21:04.095Z"
2
+ "version": "2026.3.272",
3
+ "commit": "d1a9d3b0b1f770eea950d711055533997062755c",
4
+ "builtAt": "2026-05-14T21:29:26.157Z"
5
5
  }
@@ -1 +1 @@
1
- f668339b33b0267f2dfdf2d9bb6ac6a28e88aa17391f8e5072bf7558812c0e0f
1
+ 73676c4c4275b4ccc9cacd806ec7c5be1bf2cc0bacfc33727f0487ca0c63cdd0
@@ -2,7 +2,7 @@ import { M as CHAT_CHANNEL_ORDER } from "./subsystem-RXphV8Xh.js";
2
2
  import { t as isTruthyEnvValue } from "./env-BA3nu3t6.js";
3
3
  import { n as listChannelPlugins } from "./plugins-D6P_BD0C.js";
4
4
  import { i as listChannelPluginCatalogEntries } from "./plugin-auto-enable-Bx_BHwcy.js";
5
- import { t as ensurePluginRegistryLoaded } from "./plugin-registry-DXbWc1Tm.js";
5
+ import { t as ensurePluginRegistryLoaded } from "./plugin-registry-DkvBeUxp.js";
6
6
 
7
7
  //#region src/cli/channel-options.ts
8
8
  function dedupe(values) {
@@ -1,10 +1,10 @@
1
- import { L as listThinkingLevels, m as formatRawAssistantErrorForUi } from "./pi-embedded-helpers-BaaFO_NG.js";
1
+ import { L as listThinkingLevels, m as formatRawAssistantErrorForUi } from "./pi-embedded-helpers-BR1OjovY.js";
2
2
  import { T as theme, V as getActivePluginRegistry } from "./subsystem-RXphV8Xh.js";
3
3
  import { t as DEFAULT_ACCOUNT_ID } from "./session-key-DvA8Pdt6.js";
4
4
  import { Ct as DEFAULT_PROVIDER, St as DEFAULT_MODEL, d as resolveConfiguredModelRef } from "./model-selection-BdujDB_E.js";
5
5
  import { o as loadConfig } from "./config-B1La6DxS.js";
6
6
  import { n as listChannelPlugins } from "./plugins-D6P_BD0C.js";
7
- import { I as listChannelDocks } from "./sessions-CG7iM-JS.js";
7
+ import { I as listChannelDocks } from "./sessions-LG_t6M1u.js";
8
8
  import { n as formatTokenCount } from "./usage-format-BGCAJt5K.js";
9
9
  import { createRequire } from "node:module";
10
10
  import fs from "node:fs";
@@ -1,5 +1,5 @@
1
- import "./pi-embedded-helpers-BaaFO_NG.js";
2
- import { Cn as fetchChannelPermissionsDiscord, In as createSlackWebClient, Sn as parseDiscordTarget, vt as loadProviderUsageSummary, yt as formatUsageReportLines } from "./reply-KDYLY2Pp.js";
1
+ import "./pi-embedded-helpers-BR1OjovY.js";
2
+ import { Cn as fetchChannelPermissionsDiscord, In as createSlackWebClient, Sn as parseDiscordTarget, vt as loadProviderUsageSummary, yt as formatUsageReportLines } from "./reply-CQKbNkW1.js";
3
3
  import { N as DEFAULT_CHAT_CHANNEL, O as getResolvedLoggerSettings, T as theme, c as defaultRuntime, p as danger, y as setVerbose } from "./subsystem-RXphV8Xh.js";
4
4
  import "./paths-VdmjGGyc.js";
5
5
  import { c as normalizeAccountId, t as DEFAULT_ACCOUNT_ID } from "./session-key-DvA8Pdt6.js";
@@ -16,16 +16,16 @@ import "./github-copilot-token-v4Mg1eJR.js";
16
16
  import { c as readConfigFileSnapshot, o as loadConfig, u as writeConfigFile } from "./config-B1La6DxS.js";
17
17
  import "./manifest-registry-BfJkwq3e.js";
18
18
  import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-D6P_BD0C.js";
19
- import "./sessions-CG7iM-JS.js";
20
- import "./image-D44JR2SM.js";
21
- import "./dist-BKpDpekV.js";
19
+ import "./sessions-LG_t6M1u.js";
20
+ import "./image-Db_oz8I6.js";
21
+ import "./dist-2N9GeOCZ.js";
22
22
  import "./lib-B-iAYD_i.js";
23
23
  import "./src-D8AlCNvU.js";
24
24
  import "./core-zaSuwqYw.js";
25
- import "./pi-model-discovery--bxLv4Vs.js";
26
- import "./sandbox-Dx1ZdjvG.js";
25
+ import "./pi-model-discovery-Cbn1GZwb.js";
26
+ import "./sandbox-COQl76qj.js";
27
27
  import "./chrome-CJOnmcB3.js";
28
- import "./skills-CkTNI958.js";
28
+ import "./skills-C0SvpGTU.js";
29
29
  import "./routes-vNI4VWn-.js";
30
30
  import "./server-context-BG4YK6Ll.js";
31
31
  import "./image-ops-D9xaNVCD.js";
@@ -36,7 +36,7 @@ import "./paths-D_A4SLYG.js";
36
36
  import "./tool-images-BPzjKQuD.js";
37
37
  import "./redact-CjQe_7H_.js";
38
38
  import "./tool-display-BETeOP8O.js";
39
- import "./deliver-D6EteaM6.js";
39
+ import "./deliver-B-J5hhwR.js";
40
40
  import "./dispatcher-QEMerbmH.js";
41
41
  import "./dist-B53KOd9e.js";
42
42
  import "./pi-tool-definition-adapter-CdyPRa1I.js";
@@ -45,7 +45,7 @@ import "./sqlite-DHgvEkS1.js";
45
45
  import "./warnings-MnyHYVbe.js";
46
46
  import "./proxy-from-env-DUE82Vrw.js";
47
47
  import "./login-qr-BUNnQgv9.js";
48
- import { n as formatAge } from "./channel-summary-LPAK_4sk.js";
48
+ import { n as formatAge } from "./channel-summary-BB3bwKMa.js";
49
49
  import "./device-identity-D215B0gc.js";
50
50
  import "./net-DG4ItObd.js";
51
51
  import { n as callGateway } from "./call-Bos6YLrN.js";
@@ -55,25 +55,25 @@ import { t as formatDocsLink } from "./links-D-ozFGY4.js";
55
55
  import { n as runCommandWithRuntime } from "./cli-utils-BjM5oE0K.js";
56
56
  import { n as withProgress } from "./progress-aeJDq1bY.js";
57
57
  import "./node-pairing-LtbSR4JV.js";
58
- import "./pi-tools.policy-B-KVVJ1y.js";
58
+ import "./pi-tools.policy-BTylCL58.js";
59
59
  import "./prompt-style-CVuim3sP.js";
60
60
  import "./pairing-labels-BQHjUb7F.js";
61
61
  import "./satisfies-Bw0kftyq.js";
62
62
  import "./session-cost-usage-CmW298Fs.js";
63
63
  import "./control-service-D30sRnYY.js";
64
64
  import { n as resolveMessageChannelSelection } from "./channel-selection-eBPq7mbP.js";
65
- import "./event-log-DjIKl_l7.js";
65
+ import "./event-log-C9xX85hz.js";
66
66
  import { t as resolveChannelDefaultAccountId } from "./helpers-Bd67GvKn.js";
67
67
  import "./note-CSp5eHqT.js";
68
68
  import { t as createClackPrompter } from "./clack-prompter-9RonoVi0.js";
69
- import { i as reloadOnboardingPluginRegistry, n as setupChannels, r as ensureOnboardingPluginInstalled } from "./onboard-channels-DU4BqOIO.js";
69
+ import { i as reloadOnboardingPluginRegistry, n as setupChannels, r as ensureOnboardingPluginInstalled } from "./onboard-channels-M4xOz6Tx.js";
70
70
  import { i as listChannelPluginCatalogEntries } from "./plugin-auto-enable-Bx_BHwcy.js";
71
- import "./archive-C_bUVOGc.js";
71
+ import "./archive-D-nIFDvI.js";
72
72
  import "./skill-scanner-XSqJHIlH.js";
73
- import "./installs-DOkBkcN3.js";
73
+ import "./installs-m9gMtTy1.js";
74
74
  import { t as collectChannelStatusIssues } from "./channels-status-issues-DpPqStch.js";
75
- import { n as hasExplicitOptions } from "./plugin-registry-DXbWc1Tm.js";
76
- import { t as formatCliChannelOptions } from "./channel-options-Cg41WKAu.js";
75
+ import { n as hasExplicitOptions } from "./plugin-registry-DkvBeUxp.js";
76
+ import { t as formatCliChannelOptions } from "./channel-options-BRwi2S1q.js";
77
77
  import { t as buildChannelAccountSnapshot } from "./status-B1DCoVQ3.js";
78
78
  import { t as parseLogLine } from "./parse-log-line-CVYzLRZv.js";
79
79
  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-BmaCmxw7.js";
2
+ export { registerDaemonCli, runDaemonInstall, runDaemonRestart, runDaemonStart, runDaemonStatus, runDaemonStop, runDaemonUninstall } from "../daemon-cli-P1M4WfxO.js";
@@ -1,5 +1,5 @@
1
- import "./pi-embedded-helpers-BaaFO_NG.js";
2
- import { _t as loadSKYKOIPlugins } from "./reply-KDYLY2Pp.js";
1
+ import "./pi-embedded-helpers-BR1OjovY.js";
2
+ import { _t as loadSKYKOIPlugins } from "./reply-CQKbNkW1.js";
3
3
  import { t as createSubsystemLogger } from "./subsystem-RXphV8Xh.js";
4
4
  import "./paths-VdmjGGyc.js";
5
5
  import "./utils-rBzA-VDv.js";
@@ -14,16 +14,16 @@ import "./github-copilot-token-v4Mg1eJR.js";
14
14
  import { o as loadConfig } from "./config-B1La6DxS.js";
15
15
  import "./manifest-registry-BfJkwq3e.js";
16
16
  import "./plugins-D6P_BD0C.js";
17
- import "./sessions-CG7iM-JS.js";
18
- import "./image-D44JR2SM.js";
19
- import "./dist-BKpDpekV.js";
17
+ import "./sessions-LG_t6M1u.js";
18
+ import "./image-Db_oz8I6.js";
19
+ import "./dist-2N9GeOCZ.js";
20
20
  import "./lib-B-iAYD_i.js";
21
21
  import "./src-D8AlCNvU.js";
22
22
  import "./core-zaSuwqYw.js";
23
- import "./pi-model-discovery--bxLv4Vs.js";
24
- import "./sandbox-Dx1ZdjvG.js";
23
+ import "./pi-model-discovery-Cbn1GZwb.js";
24
+ import "./sandbox-COQl76qj.js";
25
25
  import "./chrome-CJOnmcB3.js";
26
- import "./skills-CkTNI958.js";
26
+ import "./skills-C0SvpGTU.js";
27
27
  import "./routes-vNI4VWn-.js";
28
28
  import "./server-context-BG4YK6Ll.js";
29
29
  import "./image-ops-D9xaNVCD.js";
@@ -34,7 +34,7 @@ import "./paths-D_A4SLYG.js";
34
34
  import "./tool-images-BPzjKQuD.js";
35
35
  import "./redact-CjQe_7H_.js";
36
36
  import "./tool-display-BETeOP8O.js";
37
- import "./deliver-D6EteaM6.js";
37
+ import "./deliver-B-J5hhwR.js";
38
38
  import "./dispatcher-QEMerbmH.js";
39
39
  import "./dist-B53KOd9e.js";
40
40
  import "./pi-tool-definition-adapter-CdyPRa1I.js";
@@ -43,7 +43,7 @@ import "./sqlite-DHgvEkS1.js";
43
43
  import "./warnings-MnyHYVbe.js";
44
44
  import "./proxy-from-env-DUE82Vrw.js";
45
45
  import "./login-qr-BUNnQgv9.js";
46
- import "./channel-summary-LPAK_4sk.js";
46
+ import "./channel-summary-BB3bwKMa.js";
47
47
  import "./device-identity-D215B0gc.js";
48
48
  import "./net-DG4ItObd.js";
49
49
  import "./call-Bos6YLrN.js";
@@ -52,14 +52,14 @@ import "./pairing-store-DttWRVFE.js";
52
52
  import "./links-D-ozFGY4.js";
53
53
  import "./progress-aeJDq1bY.js";
54
54
  import "./node-pairing-LtbSR4JV.js";
55
- import "./pi-tools.policy-B-KVVJ1y.js";
55
+ import "./pi-tools.policy-BTylCL58.js";
56
56
  import "./prompt-style-CVuim3sP.js";
57
57
  import "./pairing-labels-BQHjUb7F.js";
58
58
  import "./satisfies-Bw0kftyq.js";
59
59
  import "./session-cost-usage-CmW298Fs.js";
60
60
  import "./control-service-D30sRnYY.js";
61
61
  import "./channel-selection-eBPq7mbP.js";
62
- import "./event-log-DjIKl_l7.js";
62
+ import "./event-log-C9xX85hz.js";
63
63
 
64
64
  //#region src/plugins/cli.ts
65
65
  const log = createSubsystemLogger("plugins");
@@ -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-BxQVZtpO.js";
3
+ import { n as registerSubCliByName, t as getSubCliEntries } from "./register.subclis-Co1zUtFF.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 { At as formatControlUiSshHint, Et as applyWizardMetadata, Ft as openUrl, Ht as waitForGatewayReachable, Mt as handleReset, Nt as moveToTrash, Ot as detectBrowserOpenSupport, P as runMessageAction, Rt as randomToken, Tt as DEFAULT_WORKSPACE, U as CHANNEL_MESSAGE_ACTION_NAMES, V as formatTargetDisplay, an as registerMemoryCli, ft as CHANNEL_TARGETS_DESCRIPTION, kt as ensureWorkspaceAndSessions, on as runMemoryStatus, pt as CHANNEL_TARGET_DESCRIPTION, vr as lookupContextTokens, zt as resolveControlUiLinks } from "./reply-KDYLY2Pp.js";
1
+ import { At as formatControlUiSshHint, Et as applyWizardMetadata, Ft as openUrl, Ht as waitForGatewayReachable, Mt as handleReset, Nt as moveToTrash, Ot as detectBrowserOpenSupport, P as runMessageAction, Rt as randomToken, Tt as DEFAULT_WORKSPACE, U as CHANNEL_MESSAGE_ACTION_NAMES, V as formatTargetDisplay, an as registerMemoryCli, ft as CHANNEL_TARGETS_DESCRIPTION, kt as ensureWorkspaceAndSessions, on as runMemoryStatus, pt as CHANNEL_TARGET_DESCRIPTION, vr as lookupContextTokens, zt as resolveControlUiLinks } from "./reply-CQKbNkW1.js";
2
2
  import { B as normalizeChatChannelId, C as colorize, I as getChatChannelMeta, N as DEFAULT_CHAT_CHANNEL, T as theme, c as defaultRuntime, l as restoreTerminalState, m as info, p as danger, w as isRich, y as setVerbose } from "./subsystem-RXphV8Xh.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 { l as normalizeKoiId, n as DEFAULT_KOI_ID, t as DEFAULT_ACCOUNT_ID } from "./session-key-DvA8Pdt6.js";
@@ -10,7 +10,7 @@ import { t as formatCliCommand } from "./command-format-DQtyHEuH.js";
10
10
  import { t as parseBooleanValue } from "./boolean-BXL1jIU4.js";
11
11
  import { D as applyLegacyMigrations, _ as parseDurationMs, a as createConfigIO, c as readConfigFileSnapshot, o as loadConfig, u as writeConfigFile } from "./config-B1La6DxS.js";
12
12
  import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-D6P_BD0C.js";
13
- import { i as loadSessionStore } from "./sessions-CG7iM-JS.js";
13
+ import { i as loadSessionStore } from "./sessions-LG_t6M1u.js";
14
14
  import { n as movePathToTrash } from "./server-context-BG4YK6Ll.js";
15
15
  import { h as GATEWAY_CLIENT_NAMES, l as normalizeMessageChannel, m as GATEWAY_CLIENT_MODES } from "./message-channel-DFwjMtH0.js";
16
16
  import { a as resolveSessionTranscriptsDirForKoi, i as resolveSessionTranscriptsDir, o as resolveStorePath } from "./paths-D_A4SLYG.js";
@@ -19,30 +19,30 @@ import { t as formatDocsLink } from "./links-D-ozFGY4.js";
19
19
  import { n as runCommandWithRuntime } from "./cli-utils-BjM5oE0K.js";
20
20
  import { n as withProgress } from "./progress-aeJDq1bY.js";
21
21
  import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint } from "./prompt-style-CVuim3sP.js";
22
- import { t as createDefaultDeps } from "./deps-DPkF3sdv.js";
22
+ import { t as createDefaultDeps } from "./deps-OwHcOs6U.js";
23
23
  import { a as gatewayInstallErrorHint, g as assertSupportedRuntime, i as buildGatewayInstallPlan, r as isGatewayDaemonRuntime, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-Ct4U4ixT.js";
24
24
  import { t as resolveChannelDefaultAccountId } from "./helpers-Bd67GvKn.js";
25
25
  import { n as logConfigUpdated, t as formatConfigPath } from "./logging-BWWKm3m3.js";
26
26
  import { t as WizardCancelledError } from "./prompts-0EnaVIOe.js";
27
27
  import { t as createClackPrompter } from "./clack-prompter-9RonoVi0.js";
28
- 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-CAs9lSaY.js";
29
- import { d as applyAuthChoice, f as applyOpenAIConfig, h as promptAuthChoiceGrouped, m as applyGoogleGeminiModelDefault, p as upsertSharedEnvVar, u as warnIfModelConfigLooksOff } from "./onboard-skills-Bzimpz3N.js";
30
- import { $ as setOpenrouterApiKey, C as applyMoonshotConfig, D as applyOpenrouterConfig, F as applyVercelAiGatewayConfig, J as setGeminiApiKey, K as setAnthropicApiKey, L as applyXaiConfig, N as applyVeniceConfig, Q as setOpencodeZenApiKey, V as applyZaiConfig, X as setMinimaxApiKey, Y as setKimiCodingApiKey, Z as setMoonshotApiKey, at as setXiaomiApiKey, et as setQianfanApiKey, f as applyOpencodeZenConfig, ft as buildTokenProfileId, g as applyMinimaxConfig, it as setXaiApiKey, j as applySyntheticConfig, k as applyQianfanConfig, m as applyMinimaxApiConfig, nt as setVeniceApiKey, ot as setZaiApiKey, pt as validateAnthropicSetupToken, q as setCloudflareAiGatewayConfig, rt as setVercelAiGatewayApiKey, tt as setSyntheticApiKey, v as applyAuthProfileConfig, w as applyMoonshotConfigCn, x as applyKimiCodeConfig, y as applyCloudflareAiGatewayConfig, z as applyXiaomiConfig } from "./github-copilot-auth-BJd-EBdp.js";
31
- import { n as setupChannels } from "./onboard-channels-DU4BqOIO.js";
32
- import { l as healthCommand } from "./health-format-UnPlsTlL.js";
28
+ 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-Q5963OJp.js";
29
+ import { d as applyAuthChoice, f as applyOpenAIConfig, h as promptAuthChoiceGrouped, m as applyGoogleGeminiModelDefault, p as upsertSharedEnvVar, u as warnIfModelConfigLooksOff } from "./onboard-skills-DfOGA4RH.js";
30
+ import { $ as setOpenrouterApiKey, C as applyMoonshotConfig, D as applyOpenrouterConfig, F as applyVercelAiGatewayConfig, J as setGeminiApiKey, K as setAnthropicApiKey, L as applyXaiConfig, N as applyVeniceConfig, Q as setOpencodeZenApiKey, V as applyZaiConfig, X as setMinimaxApiKey, Y as setKimiCodingApiKey, Z as setMoonshotApiKey, at as setXiaomiApiKey, et as setQianfanApiKey, f as applyOpencodeZenConfig, ft as buildTokenProfileId, g as applyMinimaxConfig, it as setXaiApiKey, j as applySyntheticConfig, k as applyQianfanConfig, m as applyMinimaxApiConfig, nt as setVeniceApiKey, ot as setZaiApiKey, pt as validateAnthropicSetupToken, q as setCloudflareAiGatewayConfig, rt as setVercelAiGatewayApiKey, tt as setSyntheticApiKey, v as applyAuthProfileConfig, w as applyMoonshotConfigCn, x as applyKimiCodeConfig, y as applyCloudflareAiGatewayConfig, z as applyXiaomiConfig } from "./github-copilot-auth-ae1ycEGH.js";
31
+ import { n as setupChannels } from "./onboard-channels-M4xOz6Tx.js";
32
+ import { l as healthCommand } from "./health-format-DevJEyuH.js";
33
33
  import { t as renderTable } from "./table-BcCXbKbR.js";
34
34
  import { t as resolveGatewayService } from "./service-CsKcTbqE.js";
35
35
  import { r as isSystemdUserServiceAvailable } from "./systemd-DvZErSyI.js";
36
- import { l as getVerboseFlag, o as getFlagValue, r as registerSubCliCommands, s as getPositiveIntFlagValue, u as hasFlag } from "./register.subclis-BxQVZtpO.js";
36
+ import { l as getVerboseFlag, o as getFlagValue, r as registerSubCliCommands, s as getPositiveIntFlagValue, u as hasFlag } from "./register.subclis-Co1zUtFF.js";
37
37
  import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-CxxLj5l6.js";
38
38
  import { t as formatHelpExamples } from "./help-format-D_sjxIrE.js";
39
39
  import { r as readAuthFile, t as loginCommand } from "./login-CLGP4l3Z.js";
40
- import { a as createOutboundSendDeps, n as resolveSessionKeyForRequest, t as koiCommand } from "./koi-e2TPdC5T.js";
41
- import { n as hasExplicitOptions, t as ensurePluginRegistryLoaded } from "./plugin-registry-DXbWc1Tm.js";
40
+ import { a as createOutboundSendDeps, n as resolveSessionKeyForRequest, t as koiCommand } from "./koi-BenZ-HcC.js";
41
+ import { n as hasExplicitOptions, t as ensurePluginRegistryLoaded } from "./plugin-registry-DkvBeUxp.js";
42
42
  import { n as parsePositiveIntOrUndefined, t as collectOption } from "./helpers-btYENKQf.js";
43
- import { i as CONFIGURE_WIZARD_SECTIONS, n as configureCommand, r as configureCommandWithSections } from "./configure-Ct-pyNZR.js";
43
+ import { i as CONFIGURE_WIZARD_SECTIONS, n as configureCommand, r as configureCommandWithSections } from "./configure-Ci7m67M0.js";
44
44
  import { n as ensureSystemdUserLingerNonInteractive } from "./systemd-linger-blVsJyEr.js";
45
- import { n as loadAndMaybeMigrateDoctorConfig, t as doctorCommand } from "./doctor-C5qcB9rr.js";
45
+ import { n as loadAndMaybeMigrateDoctorConfig, t as doctorCommand } from "./doctor-DYKe0Txr.js";
46
46
  import { fileURLToPath } from "node:url";
47
47
  import fs from "node:fs";
48
48
  import path from "node:path";
@@ -2794,7 +2794,7 @@ async function loadValidConfig() {
2794
2794
  }
2795
2795
  function registerConfigCli(program) {
2796
2796
  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) => {
2797
- const { CONFIGURE_WIZARD_SECTIONS, configureCommand, configureCommandWithSections } = await import("./configure-Ct-pyNZR.js").then((n) => n.t);
2797
+ const { CONFIGURE_WIZARD_SECTIONS, configureCommand, configureCommandWithSections } = await import("./configure-Ci7m67M0.js").then((n) => n.t);
2798
2798
  const sections = Array.isArray(opts.section) ? opts.section.map((value) => typeof value === "string" ? value.trim() : "").filter(Boolean) : [];
2799
2799
  if (sections.length === 0) {
2800
2800
  await configureCommand(defaultRuntime);
@@ -1,5 +1,5 @@
1
1
  import { r as __exportAll } from "./chunk-D_gEzPfs.js";
2
- import { Et as applyWizardMetadata, Ht as waitForGatewayReachable, It as printWizardHeader, Lt as probeGatewayReachable, Pt as normalizeGatewayTokenInput, Rt as randomToken, Tt as DEFAULT_WORKSPACE, Vt as summarizeExistingConfig, jt as guardCancel, kt as ensureWorkspaceAndSessions, zt as resolveControlUiLinks } from "./reply-KDYLY2Pp.js";
2
+ import { Et as applyWizardMetadata, Ht as waitForGatewayReachable, It as printWizardHeader, Lt as probeGatewayReachable, Pt as normalizeGatewayTokenInput, Rt as randomToken, Tt as DEFAULT_WORKSPACE, Vt as summarizeExistingConfig, jt as guardCancel, kt as ensureWorkspaceAndSessions, zt as resolveControlUiLinks } from "./reply-CQKbNkW1.js";
3
3
  import { c as defaultRuntime } from "./subsystem-RXphV8Xh.js";
4
4
  import { t as CONFIG_PATH, u as resolveGatewayPort } from "./paths-VdmjGGyc.js";
5
5
  import { h as resolveUserPath, y as shortenHomePath } from "./utils-rBzA-VDv.js";
@@ -15,9 +15,9 @@ import { n as logConfigUpdated } from "./logging-BWWKm3m3.js";
15
15
  import { t as note$1 } from "./note-CSp5eHqT.js";
16
16
  import { t as WizardCancelledError } from "./prompts-0EnaVIOe.js";
17
17
  import { t as createClackPrompter } from "./clack-prompter-9RonoVi0.js";
18
- import { a as applyModelFallbacksFromSelection, c as promptModelAllowlist, d as applyAuthChoice, h as promptAuthChoiceGrouped, i as applyModelAllowlist, l as resolvePreferredProviderForAuthChoice, o as applyPrimaryModel, r as promptRemoteGatewayConfig, s as promptDefaultModel, t as setupSkills } from "./onboard-skills-Bzimpz3N.js";
19
- import { n as setupChannels, t as noteChannelStatus } from "./onboard-channels-DU4BqOIO.js";
20
- import { l as healthCommand, n as ensureControlUiAssetsBuilt, t as formatHealthCheckFailure } from "./health-format-UnPlsTlL.js";
18
+ import { a as applyModelFallbacksFromSelection, c as promptModelAllowlist, d as applyAuthChoice, h as promptAuthChoiceGrouped, i as applyModelAllowlist, l as resolvePreferredProviderForAuthChoice, o as applyPrimaryModel, r as promptRemoteGatewayConfig, s as promptDefaultModel, t as setupSkills } from "./onboard-skills-DfOGA4RH.js";
19
+ import { n as setupChannels, t as noteChannelStatus } from "./onboard-channels-M4xOz6Tx.js";
20
+ import { l as healthCommand, n as ensureControlUiAssetsBuilt, t as formatHealthCheckFailure } from "./health-format-DevJEyuH.js";
21
21
  import { t as resolveGatewayService } from "./service-CsKcTbqE.js";
22
22
  import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-blVsJyEr.js";
23
23
  import { confirm, intro, outro, select, text } from "@clack/prompts";
@@ -1,5 +1,5 @@
1
1
  import { r as __exportAll } from "./chunk-D_gEzPfs.js";
2
- import { zt as resolveControlUiLinks } from "./reply-KDYLY2Pp.js";
2
+ import { zt as resolveControlUiLinks } from "./reply-CQKbNkW1.js";
3
3
  import { C as colorize, O as getResolvedLoggerSettings, T as theme, c as defaultRuntime, w as isRich } from "./subsystem-RXphV8Xh.js";
4
4
  import { d as resolveIsNixMode, g as resolveStateDir, o as resolveConfigPath, u as resolveGatewayPort } from "./paths-VdmjGGyc.js";
5
5
  import { y as shortenHomePath } from "./utils-rBzA-VDv.js";
@@ -14,7 +14,7 @@ import { n as callGateway } from "./call-Bos6YLrN.js";
14
14
  import { t as formatDocsLink } from "./links-D-ozFGY4.js";
15
15
  import { n as withProgress } from "./progress-aeJDq1bY.js";
16
16
  import { d as resolveGatewaySystemdServiceName, l as resolveGatewayLaunchAgentLabel } from "./constants-BhdMO-tw.js";
17
- import { t as createDefaultDeps } from "./deps-DPkF3sdv.js";
17
+ import { t as createDefaultDeps } from "./deps-OwHcOs6U.js";
18
18
  import { i as buildGatewayInstallPlan, r as isGatewayDaemonRuntime, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-Ct4U4ixT.js";
19
19
  import { o as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-CsKcTbqE.js";
20
20
  import { r as isSystemdUserServiceAvailable } from "./systemd-DvZErSyI.js";
@@ -1,11 +1,11 @@
1
1
  import { o as __toESM, r as __exportAll, t as __commonJSMin } from "./chunk-D_gEzPfs.js";
2
- import { i as isMessagingToolDuplicate } from "./pi-embedded-helpers-BaaFO_NG.js";
2
+ import { i as isMessagingToolDuplicate } from "./pi-embedded-helpers-BR1OjovY.js";
3
3
  import { V as getActivePluginRegistry, _ as logVerbose, b as shouldLogVerbose } from "./subsystem-RXphV8Xh.js";
4
4
  import { c as normalizeAccountId$1 } from "./session-key-DvA8Pdt6.js";
5
5
  import { h as resolveUserPath } from "./utils-rBzA-VDv.js";
6
6
  import { o as loadConfig } from "./config-B1La6DxS.js";
7
7
  import { r as normalizeChannelId, t as getChannelPlugin } from "./plugins-D6P_BD0C.js";
8
- import { F as getChannelDock, V as resolveSignalAccount, n as appendAssistantMessageToSessionTranscript, r as resolveMirroredTranscriptText } from "./sessions-CG7iM-JS.js";
8
+ import { F as getChannelDock, V as resolveSignalAccount, n as appendAssistantMessageToSessionTranscript, r as resolveMirroredTranscriptText } from "./sessions-LG_t6M1u.js";
9
9
  import { a as closeDispatcher, c as resolvePinnedHostnameWithPolicy, o as createPinnedDispatcher, r as saveMediaBuffer, s as resolvePinnedHostname } from "./routes-vNI4VWn-.js";
10
10
  import { a as resizeToJpeg, h as mediaKindFromMime, i as optimizeImageToPng, m as maxBytesForKind, o as detectMime, r as hasAlphaChannel, s as extensionForMime, t as convertHeicToJpeg } from "./image-ops-D9xaNVCD.js";
11
11
  import { t as INTERNAL_MESSAGE_CHANNEL } from "./message-channel-DFwjMtH0.js";
@@ -1,5 +1,5 @@
1
- import { Fn as sendMessageSlack, Nn as sendMessageWhatsApp, bn as sendMessageDiscord, wt as sendMessageIMessage, yn as sendMessageTelegram } from "./reply-KDYLY2Pp.js";
2
- import { b as sendMessageSignal } from "./deliver-D6EteaM6.js";
1
+ import { Fn as sendMessageSlack, Nn as sendMessageWhatsApp, bn as sendMessageDiscord, wt as sendMessageIMessage, yn as sendMessageTelegram } from "./reply-CQKbNkW1.js";
2
+ import { b as sendMessageSignal } from "./deliver-B-J5hhwR.js";
3
3
 
4
4
  //#region src/cli/deps.ts
5
5
  function createDefaultDeps() {
@@ -16,7 +16,7 @@ import { spawn, spawnSync } from "node:child_process";
16
16
  import * as _bundledTypebox from "@sinclair/typebox";
17
17
  import { Type } from "@sinclair/typebox";
18
18
  import { exec as exec$1, execSync as execSync$1, spawn as spawn$1, spawnSync as spawnSync$1 } from "child_process";
19
- import { appendFileSync, chmodSync, closeSync, constants as constants$1, createWriteStream as createWriteStream$1, existsSync as existsSync$1, lstatSync, mkdirSync as mkdirSync$1, openSync, readFileSync as readFileSync$1, readSync, readdir as readdir$1, readdirSync as readdirSync$1, readlinkSync, realpathSync, renameSync as renameSync$1, rmSync as rmSync$1, statSync as statSync$1, watch, writeFileSync as writeFileSync$1 } from "fs";
19
+ import { appendFileSync as appendFileSync$1, chmodSync, closeSync, constants as constants$1, createWriteStream as createWriteStream$1, existsSync as existsSync$1, lstatSync, mkdirSync as mkdirSync$1, openSync, readFileSync as readFileSync$1, readSync, readdir as readdir$1, readdirSync as readdirSync$1, readlinkSync, realpathSync, renameSync as renameSync$1, rmSync as rmSync$1, statSync as statSync$1, watch, writeFileSync as writeFileSync$1 } from "fs";
20
20
  import { Readable } from "stream";
21
21
  import { arch, homedir as homedir$1, platform } from "os";
22
22
  import { EventEmitter } from "events";
@@ -60291,9 +60291,9 @@ var SessionManager = class SessionManager {
60291
60291
  return;
60292
60292
  }
60293
60293
  if (!this.flushed) {
60294
- for (const e of this.fileEntries) appendFileSync(this.sessionFile, `${JSON.stringify(e)}\n`);
60294
+ for (const e of this.fileEntries) appendFileSync$1(this.sessionFile, `${JSON.stringify(e)}\n`);
60295
60295
  this.flushed = true;
60296
- } else appendFileSync(this.sessionFile, `${JSON.stringify(entry)}\n`);
60296
+ } else appendFileSync$1(this.sessionFile, `${JSON.stringify(entry)}\n`);
60297
60297
  }
60298
60298
  _appendEntry(entry) {
60299
60299
  this.fileEntries.push(entry);
@@ -60596,8 +60596,8 @@ var SessionManager = class SessionManager {
60596
60596
  label
60597
60597
  });
60598
60598
  if (this.persist) {
60599
- appendFileSync(newSessionFile, `${JSON.stringify(header)}\n`);
60600
- for (const entry of pathWithoutLabels) appendFileSync(newSessionFile, `${JSON.stringify(entry)}\n`);
60599
+ appendFileSync$1(newSessionFile, `${JSON.stringify(header)}\n`);
60600
+ for (const entry of pathWithoutLabels) appendFileSync$1(newSessionFile, `${JSON.stringify(entry)}\n`);
60601
60601
  let parentId = pathWithoutLabels[pathWithoutLabels.length - 1]?.id || null;
60602
60602
  const labelEntries = [];
60603
60603
  for (const { targetId, label } of labelsToWrite) {
@@ -60609,7 +60609,7 @@ var SessionManager = class SessionManager {
60609
60609
  targetId,
60610
60610
  label
60611
60611
  };
60612
- appendFileSync(newSessionFile, `${JSON.stringify(labelEntry)}\n`);
60612
+ appendFileSync$1(newSessionFile, `${JSON.stringify(labelEntry)}\n`);
60613
60613
  pathEntryIds.add(labelEntry.id);
60614
60614
  labelEntries.push(labelEntry);
60615
60615
  parentId = labelEntry.id;
@@ -60702,8 +60702,8 @@ var SessionManager = class SessionManager {
60702
60702
  cwd: targetCwd,
60703
60703
  parentSession: sourcePath
60704
60704
  };
60705
- appendFileSync(newSessionFile, `${JSON.stringify(newHeader)}\n`);
60706
- for (const entry of sourceEntries) if (entry.type !== "session") appendFileSync(newSessionFile, `${JSON.stringify(entry)}\n`);
60705
+ appendFileSync$1(newSessionFile, `${JSON.stringify(newHeader)}\n`);
60706
+ for (const entry of sourceEntries) if (entry.type !== "session") appendFileSync$1(newSessionFile, `${JSON.stringify(entry)}\n`);
60707
60707
  return new SessionManager(targetCwd, dir, newSessionFile, true);
60708
60708
  }
60709
60709
  /**
@@ -7,11 +7,11 @@ import "./dist-cjs-h4236Nk8.js";
7
7
  import { t as formatCliCommand } from "./command-format-DQtyHEuH.js";
8
8
  import "./boolean-BXL1jIU4.js";
9
9
  import "./manifest-registry-BfJkwq3e.js";
10
- import "./dist-BKpDpekV.js";
10
+ import "./dist-2N9GeOCZ.js";
11
11
  import "./lib-B-iAYD_i.js";
12
12
  import "./src-D8AlCNvU.js";
13
13
  import "./core-zaSuwqYw.js";
14
- import { d as hasBinary } from "./skills-CkTNI958.js";
14
+ import { d as hasBinary } from "./skills-C0SvpGTU.js";
15
15
  import { t as formatDocsLink } from "./links-D-ozFGY4.js";
16
16
  import { n as runCommandWithRuntime } from "./cli-utils-BjM5oE0K.js";
17
17
 
@@ -1,4 +1,4 @@
1
- import { Er as loadModelCatalog, Et as applyWizardMetadata, It as printWizardHeader, Rt as randomToken, _t as loadSKYKOIPlugins, jt as guardCancel } from "./reply-KDYLY2Pp.js";
1
+ import { Er as loadModelCatalog, Et as applyWizardMetadata, It as printWizardHeader, Rt as randomToken, _t as loadSKYKOIPlugins, jt as guardCancel } from "./reply-CQKbNkW1.js";
2
2
  import { O as getResolvedLoggerSettings, c as defaultRuntime } from "./subsystem-RXphV8Xh.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-DvA8Pdt6.js";
@@ -11,8 +11,8 @@ import { t as formatCliCommand } from "./command-format-DQtyHEuH.js";
11
11
  import { t as isTruthyEnvValue } from "./env-BA3nu3t6.js";
12
12
  import { c as readConfigFileSnapshot, f as SKYKOISchema, n as migrateLegacyConfig, u as writeConfigFile } from "./config-B1La6DxS.js";
13
13
  import { n as listChannelPlugins } from "./plugins-D6P_BD0C.js";
14
- import { O as canonicalizeMainSessionAlias, i as loadSessionStore, j as resolveMainSessionKey, s as saveSessionStore } from "./sessions-CG7iM-JS.js";
15
- import { f as DEFAULT_SANDBOX_BROWSER_IMAGE, m as DEFAULT_SANDBOX_IMAGE, p as DEFAULT_SANDBOX_COMMON_IMAGE, u as resolveSandboxScope } from "./sandbox-Dx1ZdjvG.js";
14
+ import { O as canonicalizeMainSessionAlias, i as loadSessionStore, j as resolveMainSessionKey, s as saveSessionStore } from "./sessions-LG_t6M1u.js";
15
+ import { f as DEFAULT_SANDBOX_BROWSER_IMAGE, m as DEFAULT_SANDBOX_IMAGE, p as DEFAULT_SANDBOX_COMMON_IMAGE, u as resolveSandboxScope } from "./sandbox-COQl76qj.js";
16
16
  import { d as inspectPortUsage, p as formatPortDiagnostics } from "./chrome-CJOnmcB3.js";
17
17
  import { a as resolveSessionTranscriptsDirForKoi, n as resolveSessionFilePath, o as resolveStorePath } from "./paths-D_A4SLYG.js";
18
18
  import { n as isWSL, r as isWSLEnv } from "./dispatcher-QEMerbmH.js";
@@ -26,10 +26,10 @@ import { t as resolveChannelDefaultAccountId } from "./helpers-Bd67GvKn.js";
26
26
  import { n as logConfigUpdated } from "./logging-BWWKm3m3.js";
27
27
  import { t as note$1 } from "./note-CSp5eHqT.js";
28
28
  import { t as applyPluginAutoEnable } from "./plugin-auto-enable-Bx_BHwcy.js";
29
- import { i as resolveControlUiDistIndexPathForRoot, l as healthCommand, r as resolveControlUiDistIndexHealth, t as formatHealthCheckFailure } from "./health-format-UnPlsTlL.js";
30
- import { c as doctorShellCompletion, t as runGatewayUpdate } from "./update-runner-U7UxeeeT.js";
29
+ import { i as resolveControlUiDistIndexPathForRoot, l as healthCommand, r as resolveControlUiDistIndexHealth, t as formatHealthCheckFailure } from "./health-format-DevJEyuH.js";
30
+ import { c as doctorShellCompletion, t as runGatewayUpdate } from "./update-runner-CzlX-K0P.js";
31
31
  import { i as resolveGatewayAuth } from "./auth-BzM5UpTJ.js";
32
- import { t as buildWorkspaceSkillStatus } from "./skills-status-Co9ln7Nd.js";
32
+ import { t as buildWorkspaceSkillStatus } from "./skills-status-PpCs1M-j.js";
33
33
  import { a as repairLaunchAgentBootstrap, i as launchAgentPlistExists, n as isLaunchAgentListed, o as resolveGatewayLogPaths, r as isLaunchAgentLoaded, t as resolveGatewayService } from "./service-CsKcTbqE.js";
34
34
  import { r as isSystemdUserServiceAvailable } from "./systemd-DvZErSyI.js";
35
35
  import { a as renderGatewayServiceCleanupHints, i as findExtraGatewayServices, n as auditGatewayServiceConfig, o as readLastGatewayErrorLine, r as needsNodeRuntimeMigration, t as SERVICE_AUDIT_CODES } from "./service-audit-DMmKqL8q.js";
package/dist/entry.js CHANGED
@@ -244,7 +244,7 @@ if (!ensureExperimentalWarningSuppressed()) {
244
244
  applyCliProfileEnv({ profile: parsed.profile });
245
245
  process$1.argv = parsed.argv;
246
246
  }
247
- import("./run-main-02yIaTRK.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
247
+ import("./run-main-CzH89dxm.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
248
248
  console.error("[SKYKOI] Failed to start CLI:", error instanceof Error ? error.stack ?? error.message : error);
249
249
  process$1.exitCode = 1;
250
250
  });
@@ -1,4 +1,4 @@
1
- import { promises } from "node:fs";
1
+ import { appendFileSync, mkdirSync, promises } from "node:fs";
2
2
  import { dirname, join } from "node:path";
3
3
  import { homedir } from "node:os";
4
4
 
@@ -39,32 +39,23 @@ function getOrCreate(sessionId) {
39
39
  lastEventId: 0n,
40
40
  tail: [],
41
41
  listeners: /* @__PURE__ */ new Set(),
42
- diskPath: join(SESSIONS_ROOT, `${sessionId}.events.jsonl`),
43
- writeQueue: Promise.resolve()
42
+ diskPath: join(SESSIONS_ROOT, `${sessionId}.events.jsonl`)
44
43
  };
45
44
  states.set(sessionId, s);
46
45
  return s;
47
46
  }
48
- async function ensureDir(path) {
47
+ function persistEventSync(s, ev) {
49
48
  try {
50
- await promises.mkdir(dirname(path), { recursive: true });
51
- } catch {}
52
- }
53
- function persistEvent(s, ev) {
54
- s.writeQueue = s.writeQueue.then(async () => {
55
- try {
56
- await ensureDir(s.diskPath);
57
- const line = JSON.stringify(ev) + "\n";
58
- await promises.appendFile(s.diskPath, line, "utf-8");
59
- } catch (err) {
60
- console.warn(`[session-log] persist failed for ${s.sessionId}: ${err?.message}`);
61
- }
62
- }).catch(() => void 0);
49
+ mkdirSync(dirname(s.diskPath), { recursive: true });
50
+ appendFileSync(s.diskPath, JSON.stringify(ev) + "\n", "utf-8");
51
+ } catch (err) {
52
+ console.warn(`[session-log] persist failed for ${s.sessionId}: ${err?.message}`);
53
+ }
63
54
  }
64
55
  /**
65
56
  * Append an event to a session's log. Allocates the next monotonic
66
- * `eventId`, fans out to subscribers, and queues a JSONL append for
67
- * durability. Returns the event so the caller can use its `eventId`
57
+ * `eventId`, writes the JSONL mirror, and then fans out to subscribers.
58
+ * Returns the event so the caller can use its `eventId`
68
59
  * as a `parentEventId` reference for follow-up events.
69
60
  */
70
61
  function appendEvent(args) {
@@ -85,6 +76,7 @@ function appendEvent(args) {
85
76
  };
86
77
  s.tail.push(ev);
87
78
  if (s.tail.length > TAIL_LIMIT) s.tail.splice(0, s.tail.length - TAIL_LIMIT);
79
+ persistEventSync(s, ev);
88
80
  for (const fn of s.listeners) try {
89
81
  fn(ev);
90
82
  } catch (err) {
@@ -95,7 +87,6 @@ function appendEvent(args) {
95
87
  } catch (err) {
96
88
  console.warn(`[session-log] global listener threw: ${err?.message}`);
97
89
  }
98
- persistEvent(s, ev);
99
90
  return ev;
100
91
  }
101
92
  /**
@@ -1,5 +1,5 @@
1
- import "./pi-embedded-helpers-BaaFO_NG.js";
2
- import { Vr as resolveKoiTimeoutMs, c as runEmbeddedPiKoi, zn as resolveKoiIdentity } from "./reply-KDYLY2Pp.js";
1
+ import "./pi-embedded-helpers-BR1OjovY.js";
2
+ import { Vr as resolveKoiTimeoutMs, c as runEmbeddedPiKoi, zn as resolveKoiIdentity } from "./reply-CQKbNkW1.js";
3
3
  import "./subsystem-RXphV8Xh.js";
4
4
  import "./paths-VdmjGGyc.js";
5
5
  import "./utils-rBzA-VDv.js";
@@ -14,16 +14,16 @@ import "./github-copilot-token-v4Mg1eJR.js";
14
14
  import "./config-B1La6DxS.js";
15
15
  import "./manifest-registry-BfJkwq3e.js";
16
16
  import "./plugins-D6P_BD0C.js";
17
- import { i as loadSessionStore, s as saveSessionStore } from "./sessions-CG7iM-JS.js";
18
- import "./image-D44JR2SM.js";
19
- import "./dist-BKpDpekV.js";
17
+ import { i as loadSessionStore, s as saveSessionStore } from "./sessions-LG_t6M1u.js";
18
+ import "./image-Db_oz8I6.js";
19
+ import "./dist-2N9GeOCZ.js";
20
20
  import "./lib-B-iAYD_i.js";
21
21
  import "./src-D8AlCNvU.js";
22
22
  import "./core-zaSuwqYw.js";
23
- import "./pi-model-discovery--bxLv4Vs.js";
24
- import "./sandbox-Dx1ZdjvG.js";
23
+ import "./pi-model-discovery-Cbn1GZwb.js";
24
+ import "./sandbox-COQl76qj.js";
25
25
  import "./chrome-CJOnmcB3.js";
26
- import "./skills-CkTNI958.js";
26
+ import "./skills-C0SvpGTU.js";
27
27
  import "./routes-vNI4VWn-.js";
28
28
  import "./server-context-BG4YK6Ll.js";
29
29
  import "./image-ops-D9xaNVCD.js";
@@ -34,7 +34,7 @@ import { n as resolveSessionFilePath, o as resolveStorePath } from "./paths-D_A4
34
34
  import "./tool-images-BPzjKQuD.js";
35
35
  import "./redact-CjQe_7H_.js";
36
36
  import "./tool-display-BETeOP8O.js";
37
- import "./deliver-D6EteaM6.js";
37
+ import "./deliver-B-J5hhwR.js";
38
38
  import "./dispatcher-QEMerbmH.js";
39
39
  import "./dist-B53KOd9e.js";
40
40
  import "./pi-tool-definition-adapter-CdyPRa1I.js";
@@ -43,7 +43,7 @@ import "./sqlite-DHgvEkS1.js";
43
43
  import "./warnings-MnyHYVbe.js";
44
44
  import "./proxy-from-env-DUE82Vrw.js";
45
45
  import "./login-qr-BUNnQgv9.js";
46
- import "./channel-summary-LPAK_4sk.js";
46
+ import "./channel-summary-BB3bwKMa.js";
47
47
  import "./device-identity-D215B0gc.js";
48
48
  import "./net-DG4ItObd.js";
49
49
  import "./call-Bos6YLrN.js";
@@ -52,13 +52,13 @@ import "./pairing-store-DttWRVFE.js";
52
52
  import "./links-D-ozFGY4.js";
53
53
  import "./progress-aeJDq1bY.js";
54
54
  import "./node-pairing-LtbSR4JV.js";
55
- import "./pi-tools.policy-B-KVVJ1y.js";
55
+ import "./pi-tools.policy-BTylCL58.js";
56
56
  import "./prompt-style-CVuim3sP.js";
57
57
  import "./pairing-labels-BQHjUb7F.js";
58
58
  import "./satisfies-Bw0kftyq.js";
59
59
  import "./session-cost-usage-CmW298Fs.js";
60
60
  import "./control-service-D30sRnYY.js";
61
61
  import "./channel-selection-eBPq7mbP.js";
62
- import "./event-log-DjIKl_l7.js";
62
+ import "./event-log-C9xX85hz.js";
63
63
 
64
64
  export { DEFAULT_MODEL, DEFAULT_PROVIDER, ensureKoiWorkspace, loadSessionStore, resolveKoiDir, resolveKoiIdentity, resolveKoiTimeoutMs, resolveKoiWorkspaceDir, resolveSessionFilePath, resolveStorePath, resolveThinkingDefault, runEmbeddedPiKoi, saveSessionStore };