khala-cli 0.4.11 → 0.4.12

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 (44) hide show
  1. package/dist/{chunk-NJ5ICCVZ.mjs → chunk-25N4V2LE.mjs} +12 -12
  2. package/dist/{chunk-VWWI4S5A.mjs → chunk-2MEWZ7PJ.mjs} +2 -2
  3. package/dist/{chunk-LDW4HOQW.mjs → chunk-374APJUQ.mjs} +1 -1
  4. package/dist/{chunk-4CENUF7M.mjs → chunk-56GZYKLK.mjs} +3 -3
  5. package/dist/{chunk-YFX5NDSL.mjs → chunk-5HDFP7EB.mjs} +197 -71
  6. package/dist/{chunk-YIKJI26V.mjs → chunk-6H34GNLY.mjs} +2 -2
  7. package/dist/{chunk-N6UYX3SY.mjs → chunk-757A5TML.mjs} +3 -3
  8. package/dist/chunk-7CKX3Q7L.mjs +27 -0
  9. package/dist/{chunk-H2L5GQ5W.mjs → chunk-7GMBN2XQ.mjs} +12 -12
  10. package/dist/{chunk-3KHLSF4A.mjs → chunk-7YXXLBQW.mjs} +7 -7
  11. package/dist/{chunk-4PUNVPC3.mjs → chunk-C53OOWTD.mjs} +2 -2
  12. package/dist/{chunk-OSVXLZKJ.mjs → chunk-CKLFGEDW.mjs} +6 -6
  13. package/dist/{chunk-X3BAMHAR.mjs → chunk-CYJZXNTH.mjs} +2 -2
  14. package/dist/{chunk-CXVANPY5.mjs → chunk-EGMBLNRJ.mjs} +2 -2
  15. package/dist/{chunk-FGHPOKXG.mjs → chunk-G2RJ4C3T.mjs} +5 -5
  16. package/dist/{chunk-WA5LB5GN.mjs → chunk-IV5R3D2G.mjs} +6 -6
  17. package/dist/{chunk-NE4S7N3R.mjs → chunk-JDKPAIJX.mjs} +2 -2
  18. package/dist/{chunk-LNKI3CZO.mjs → chunk-KI2MRAEE.mjs} +1 -1
  19. package/dist/{chunk-NOKTVPSY.mjs → chunk-LPJQCFRQ.mjs} +98 -73
  20. package/dist/{chunk-NUQSDSVT.mjs → chunk-MNN5BRU5.mjs} +1 -1
  21. package/dist/{chunk-YDEZFVF7.mjs → chunk-PAFNLPIE.mjs} +3 -3
  22. package/dist/{chunk-R5NDTJRA.mjs → chunk-QXL6ALYP.mjs} +1 -1
  23. package/dist/{chunk-JNSB3E6C.mjs → chunk-R3TTOYPJ.mjs} +1 -1
  24. package/dist/chunk-RGQPDR53.mjs +19 -0
  25. package/dist/{chunk-E5QRD6W3.mjs → chunk-RL7VBTAR.mjs} +2 -2
  26. package/dist/chunk-SICAKRPY.mjs +20 -0
  27. package/dist/{chunk-MAIMFERG.mjs → chunk-SPGPUO3H.mjs} +3 -3
  28. package/dist/{chunk-NN5RHU6C.mjs → chunk-TBQNSDP7.mjs} +10 -10
  29. package/dist/{chunk-TVQ4MSEI.mjs → chunk-WWFOB6XW.mjs} +1 -1
  30. package/dist/{chunk-HZH74L5T.mjs → chunk-XMNU4QC5.mjs} +6 -6
  31. package/dist/{chunk-GVZD4TLW.mjs → chunk-YK3LMWRB.mjs} +45 -10
  32. package/dist/{chunk-YNUCRFM2.mjs → chunk-YLEJQZFS.mjs} +8 -8
  33. package/dist/{chunk-7FFHZ7EI.mjs → chunk-ZK6QVJ5Q.mjs} +9 -9
  34. package/dist/{chunk-BVG7PJNZ.mjs → chunk-ZOUDN7LE.mjs} +16 -16
  35. package/dist/khala.mjs +11 -11
  36. package/dist/web/assets/local-CLw1_1-V.js +11 -0
  37. package/dist/web/assets/local-qpo5wk6U.css +1 -0
  38. package/dist/web/index.html +2 -2
  39. package/package.json +1 -1
  40. package/dist/chunk-AQX2OYEF.mjs +0 -19
  41. package/dist/chunk-CYINL2V3.mjs +0 -20
  42. package/dist/chunk-MYIZQCRW.mjs +0 -27
  43. package/dist/web/assets/local-DPcMk9Xz.css +0 -1
  44. package/dist/web/assets/local-SDOFp8OA.js +0 -9
@@ -1,7 +1,7 @@
1
1
  import { createRequire as __khalaCreateRequire } from 'node:module'; const require = __khalaCreateRequire(import.meta.url);
2
2
  import {
3
3
  init_define_KHALA_BUNDLE
4
- } from "./chunk-LDW4HOQW.mjs";
4
+ } from "./chunk-374APJUQ.mjs";
5
5
 
6
6
  // src/wake/shared/nonce.ts
7
7
  init_define_KHALA_BUNDLE();
@@ -1,24 +1,24 @@
1
1
  import { createRequire as __khalaCreateRequire } from 'node:module'; const require = __khalaCreateRequire(import.meta.url);
2
2
  import {
3
3
  adapterFor
4
- } from "./chunk-BVG7PJNZ.mjs";
4
+ } from "./chunk-ZOUDN7LE.mjs";
5
5
  import {
6
6
  installedLauncher,
7
7
  launcherShellQuote,
8
8
  readWakeSettings
9
- } from "./chunk-NOKTVPSY.mjs";
9
+ } from "./chunk-LPJQCFRQ.mjs";
10
10
  import {
11
11
  HARNESS_REGISTRY,
12
12
  filesForDir,
13
13
  readStateFile,
14
14
  stateRoot
15
- } from "./chunk-JNSB3E6C.mjs";
15
+ } from "./chunk-R3TTOYPJ.mjs";
16
16
  import {
17
17
  readWakeState
18
- } from "./chunk-TVQ4MSEI.mjs";
18
+ } from "./chunk-WWFOB6XW.mjs";
19
19
  import {
20
20
  init_define_KHALA_BUNDLE
21
- } from "./chunk-LDW4HOQW.mjs";
21
+ } from "./chunk-374APJUQ.mjs";
22
22
 
23
23
  // src/wake/status.ts
24
24
  init_define_KHALA_BUNDLE();
@@ -875,7 +875,7 @@ function selectedWakeStatus(rows) {
875
875
  }
876
876
  var WAKE_HARNESSES = HARNESS_REGISTRY.map((row) => row.id);
877
877
  async function wakeDisableNotice(dir) {
878
- const { takeWakeDisableNotices } = await import("./chunk-E5QRD6W3.mjs");
878
+ const { takeWakeDisableNotices } = await import("./chunk-RL7VBTAR.mjs");
879
879
  let drivers;
880
880
  try {
881
881
  const states = await readWakeState(dir);
@@ -1,32 +1,41 @@
1
1
  import { createRequire as __khalaCreateRequire } from 'node:module'; const require = __khalaCreateRequire(import.meta.url);
2
2
  import {
3
3
  retryUnexpired
4
- } from "./chunk-LNKI3CZO.mjs";
4
+ } from "./chunk-KI2MRAEE.mjs";
5
5
  import {
6
6
  RESTORE_HISTORY_MAX_PAGES
7
- } from "./chunk-X3BAMHAR.mjs";
8
- import "./chunk-R5NDTJRA.mjs";
7
+ } from "./chunk-CYJZXNTH.mjs";
8
+ import "./chunk-QXL6ALYP.mjs";
9
9
  import {
10
10
  LISTENING_MODE_COMMAND_TYPE,
11
11
  LISTENING_MODE_MEMBER_KEY,
12
12
  memberListeningMode
13
- } from "./chunk-CXVANPY5.mjs";
13
+ } from "./chunk-EGMBLNRJ.mjs";
14
14
  import {
15
15
  CHANNEL_EVENT_TYPE,
16
16
  encodeChannelEvent,
17
17
  memberRenameContent
18
- } from "./chunk-VWWI4S5A.mjs";
18
+ } from "./chunk-2MEWZ7PJ.mjs";
19
19
  import {
20
20
  StateError
21
- } from "./chunk-JNSB3E6C.mjs";
21
+ } from "./chunk-R3TTOYPJ.mjs";
22
22
  import {
23
23
  init_define_KHALA_BUNDLE
24
- } from "./chunk-LDW4HOQW.mjs";
24
+ } from "./chunk-374APJUQ.mjs";
25
25
 
26
26
  // src/matrix/session.ts
27
27
  init_define_KHALA_BUNDLE();
28
+
29
+ // ../contracts/src/m1/archive.ts
30
+ init_define_KHALA_BUNDLE();
31
+ var ARCHIVED_MEMBER_KEY = "com.khala.archived";
32
+ function memberArchived(content) {
33
+ return typeof content === "object" && content !== null && content[ARCHIVED_MEMBER_KEY] === true;
34
+ }
35
+
36
+ // src/matrix/session.ts
28
37
  import { randomUUID } from "node:crypto";
29
- import { createClient, ClientEvent, RoomEvent, MatrixEventEvent, SyncState, SetPresence, Direction, Method, EventType } from "matrix-js-sdk";
38
+ import { createClient, ClientEvent, RoomEvent, RoomStateEvent, MatrixEventEvent, SyncState, SetPresence, Direction, Method, EventType } from "matrix-js-sdk";
30
39
  function message(event) {
31
40
  const type = event.getType();
32
41
  const eventId = event.getId();
@@ -50,12 +59,29 @@ async function createAgentMatrixSession(creds, opts) {
50
59
  const started = Date.now();
51
60
  const rejoinTxnId = `khala.rejoin.${randomUUID()}`;
52
61
  const log = (line) => opts?.log?.(line);
53
- const persistent = opts?.cryptoStore ? await (await import("./chunk-YDEZFVF7.mjs")).openCryptoStore(opts.cryptoStore.dir, opts.cryptoStore.root, creds) : void 0;
62
+ const persistent = opts?.cryptoStore ? await (await import("./chunk-PAFNLPIE.mjs")).openCryptoStore(opts.cryptoStore.dir, opts.cryptoStore.root, creds) : void 0;
54
63
  const client = createClient({ ...persistent ? { store: persistent.sync } : {}, baseUrl: creds.homeserver, userId: creds.userId, accessToken: creds.accessToken, deviceId: creds.deviceId });
55
64
  const handlers = /* @__PURE__ */ new Set();
56
65
  const ended = /* @__PURE__ */ new Set();
57
66
  const modeHandlers = /* @__PURE__ */ new Set();
58
67
  const inviters = /* @__PURE__ */ new Map();
68
+ const archiveHandlers = /* @__PURE__ */ new Set();
69
+ const ownerArchived = (roomId) => {
70
+ const inviter = inviters.get(roomId);
71
+ return !!inviter && memberArchived(client.getRoom(roomId)?.currentState.getStateEvents("m.room.member", inviter)?.getContent());
72
+ };
73
+ const ownerState = (event) => {
74
+ const roomId = event.getRoomId();
75
+ if (stopped || !roomId || event.getType() !== EventType.RoomMember || event.getStateKey() !== inviters.get(roomId)) return;
76
+ const archived = ownerArchived(roomId);
77
+ for (const handler of archiveHandlers) {
78
+ try {
79
+ handler(roomId, archived);
80
+ } catch {
81
+ log("archive_handler_error");
82
+ }
83
+ }
84
+ };
59
85
  const emitted = /* @__PURE__ */ new Set();
60
86
  const liveEvents = /* @__PURE__ */ new Set();
61
87
  const undecryptableIds = new Map((persistent?.undecryptableEventIds ?? []).map((entry) => [entry.id, entry]));
@@ -246,6 +272,7 @@ async function createAgentMatrixSession(creds, opts) {
246
272
  client.removeListener(RoomEvent.Timeline, timeline);
247
273
  client.removeListener(MatrixEventEvent.Decrypted, decrypted);
248
274
  client.removeListener(ClientEvent.Sync, syncLog);
275
+ client.removeListener(RoomStateEvent.Events, ownerState);
249
276
  client.removeListener(RoomEvent.MyMembership, membershipEnded);
250
277
  for (const cancel of [...cancellations]) cancel();
251
278
  liveEvents.clear();
@@ -288,7 +315,7 @@ async function createAgentMatrixSession(creds, opts) {
288
315
  await client.initRustCrypto(persistent ? { useIndexedDB: true, cryptoDatabasePrefix: persistent.prefix } : { useIndexedDB: false });
289
316
  } catch (error) {
290
317
  if (!persistent?.restored || error instanceof StateError && error.code === "unsafe_state_dir") throw error;
291
- throw new (await import("./chunk-YDEZFVF7.mjs")).CryptoStoreCorruptError();
318
+ throw new (await import("./chunk-PAFNLPIE.mjs")).CryptoStoreCorruptError();
292
319
  }
293
320
  const crypto = client.getCrypto();
294
321
  if (!crypto) throw new Error("crypto_unavailable");
@@ -307,6 +334,7 @@ async function createAgentMatrixSession(creds, opts) {
307
334
  client.on(RoomEvent.Timeline, timeline);
308
335
  client.on(MatrixEventEvent.Decrypted, decrypted);
309
336
  client.on(ClientEvent.Sync, syncLog);
337
+ client.on(RoomStateEvent.Events, ownerState);
310
338
  const prepared = wait((check) => {
311
339
  client.on(ClientEvent.Sync, check);
312
340
  return () => {
@@ -347,6 +375,13 @@ async function createAgentMatrixSession(creds, opts) {
347
375
  inviter(roomId) {
348
376
  return inviters.get(roomId);
349
377
  },
378
+ ownerArchived,
379
+ onOwnerArchived(handler) {
380
+ archiveHandlers.add(handler);
381
+ return () => {
382
+ archiveHandlers.delete(handler);
383
+ };
384
+ },
350
385
  onListeningModeCommand(handler) {
351
386
  modeHandlers.add(handler);
352
387
  return () => {
@@ -14,21 +14,21 @@ import {
14
14
  decodeLocalSendResult,
15
15
  ensureHelper,
16
16
  localRoomPath
17
- } from "./chunk-FGHPOKXG.mjs";
18
- import "./chunk-R5NDTJRA.mjs";
19
- import "./chunk-YIKJI26V.mjs";
20
- import "./chunk-NUQSDSVT.mjs";
17
+ } from "./chunk-G2RJ4C3T.mjs";
18
+ import "./chunk-QXL6ALYP.mjs";
19
+ import "./chunk-6H34GNLY.mjs";
20
+ import "./chunk-MNN5BRU5.mjs";
21
21
  import {
22
22
  LISTENING_MODE_COMMAND_TYPE
23
- } from "./chunk-CXVANPY5.mjs";
23
+ } from "./chunk-EGMBLNRJ.mjs";
24
24
  import {
25
25
  CHANNEL_EVENT_TYPE,
26
26
  memberRenameContent
27
- } from "./chunk-VWWI4S5A.mjs";
28
- import "./chunk-JNSB3E6C.mjs";
27
+ } from "./chunk-2MEWZ7PJ.mjs";
28
+ import "./chunk-R3TTOYPJ.mjs";
29
29
  import {
30
30
  init_define_KHALA_BUNDLE
31
- } from "./chunk-LDW4HOQW.mjs";
31
+ } from "./chunk-374APJUQ.mjs";
32
32
 
33
33
  // src/local/session.ts
34
34
  init_define_KHALA_BUNDLE();
@@ -2,7 +2,7 @@ import { createRequire as __khalaCreateRequire } from 'node:module'; const requi
2
2
  import {
3
3
  parseChannelLink,
4
4
  resolveLocalOwnerName
5
- } from "./chunk-4CENUF7M.mjs";
5
+ } from "./chunk-56GZYKLK.mjs";
6
6
  import {
7
7
  LOCAL_AGENT_DEVICE_PREFIX,
8
8
  LOCAL_IDLE_EXIT_MS,
@@ -32,14 +32,14 @@ import {
32
32
  normalizeInitials,
33
33
  olderHelperVersion,
34
34
  readHelperFile
35
- } from "./chunk-FGHPOKXG.mjs";
36
- import "./chunk-R5NDTJRA.mjs";
35
+ } from "./chunk-G2RJ4C3T.mjs";
36
+ import "./chunk-QXL6ALYP.mjs";
37
37
  import {
38
38
  KHALA_AGENT_VERSION
39
- } from "./chunk-YIKJI26V.mjs";
39
+ } from "./chunk-6H34GNLY.mjs";
40
40
  import {
41
41
  bundle
42
- } from "./chunk-NUQSDSVT.mjs";
42
+ } from "./chunk-MNN5BRU5.mjs";
43
43
  import {
44
44
  DEFAULT_LISTENING_MODE,
45
45
  LISTENING_MODE_COMMAND_TYPE,
@@ -47,13 +47,13 @@ import {
47
47
  decodeListeningMode,
48
48
  decodeListeningModeCommand,
49
49
  memberListeningMode
50
- } from "./chunk-CXVANPY5.mjs";
50
+ } from "./chunk-EGMBLNRJ.mjs";
51
51
  import {
52
52
  CHANNEL_EVENT_TYPE,
53
53
  decodeChannelEvent,
54
54
  encodeChannelEvent,
55
55
  memberRenameContent
56
- } from "./chunk-VWWI4S5A.mjs";
56
+ } from "./chunk-2MEWZ7PJ.mjs";
57
57
  import {
58
58
  LEGACY_HARNESSES,
59
59
  StateError,
@@ -67,10 +67,10 @@ import {
67
67
  validAgentRejoinSecret,
68
68
  validAgentSessionId,
69
69
  writeJsonAtomic
70
- } from "./chunk-JNSB3E6C.mjs";
70
+ } from "./chunk-R3TTOYPJ.mjs";
71
71
  import {
72
72
  init_define_KHALA_BUNDLE
73
- } from "./chunk-LDW4HOQW.mjs";
73
+ } from "./chunk-374APJUQ.mjs";
74
74
 
75
75
  // src/local/cli.ts
76
76
  init_define_KHALA_BUNDLE();
@@ -1,7 +1,7 @@
1
1
  import { createRequire as __khalaCreateRequire } from 'node:module'; const require = __khalaCreateRequire(import.meta.url);
2
2
  import {
3
3
  readPane
4
- } from "./chunk-4PUNVPC3.mjs";
4
+ } from "./chunk-C53OOWTD.mjs";
5
5
  import {
6
6
  CURSOR_DEFAULT_SESSION,
7
7
  CURSOR_WORKSPACE_ENV,
@@ -18,14 +18,14 @@ import {
18
18
  readListeningMode,
19
19
  readWakeSettings,
20
20
  verifyQwenTranscript
21
- } from "./chunk-NOKTVPSY.mjs";
21
+ } from "./chunk-LPJQCFRQ.mjs";
22
22
  import {
23
23
  listChannels,
24
24
  readActivity,
25
25
  readCursor,
26
26
  unread,
27
27
  wakesAgent
28
- } from "./chunk-N6UYX3SY.mjs";
28
+ } from "./chunk-757A5TML.mjs";
29
29
  import {
30
30
  HARNESS_REGISTRY,
31
31
  SESSION_ID_PATTERN,
@@ -40,7 +40,7 @@ import {
40
40
  stateRoot,
41
41
  walkAncestors,
42
42
  writeJsonAtomic
43
- } from "./chunk-JNSB3E6C.mjs";
43
+ } from "./chunk-R3TTOYPJ.mjs";
44
44
  import {
45
45
  CODEX_IDLE_WAKE_NOTICE,
46
46
  cancelAttempt,
@@ -52,10 +52,10 @@ import {
52
52
  settleAttempts,
53
53
  wakeLine,
54
54
  withWakeLock
55
- } from "./chunk-TVQ4MSEI.mjs";
55
+ } from "./chunk-WWFOB6XW.mjs";
56
56
  import {
57
57
  init_define_KHALA_BUNDLE
58
- } from "./chunk-LDW4HOQW.mjs";
58
+ } from "./chunk-374APJUQ.mjs";
59
59
 
60
60
  // src/harness/index.ts
61
61
  init_define_KHALA_BUNDLE();
@@ -799,7 +799,7 @@ var codexWakeDriver = createCodexWakeDriver();
799
799
 
800
800
  // src/harness/codex.ts
801
801
  var emptyPrompt2 = { pattern: /^› ?(Ask Codex to do anything)?$/u, cursorColumn: 2 };
802
- var install = async (flags, deps) => (await import("./chunk-NJ5ICCVZ.mjs")).runCodexInstall(flags, deps);
802
+ var install = async (flags, deps) => (await import("./chunk-25N4V2LE.mjs")).runCodexInstall(flags, deps);
803
803
  var codex = {
804
804
  id: "codex",
805
805
  // A string metadata id wins even when empty or invalid; validation happens after selection.
@@ -881,7 +881,7 @@ async function resolveSources(sources, meta, env, context) {
881
881
  }
882
882
 
883
883
  // src/harness/muse.ts
884
- var install2 = async (flags, deps) => (await import("./chunk-NJ5ICCVZ.mjs")).runMuseInstall(flags, deps);
884
+ var install2 = async (flags, deps) => (await import("./chunk-25N4V2LE.mjs")).runMuseInstall(flags, deps);
885
885
  var muse = {
886
886
  id: "muse",
887
887
  sessionSources: [{ kind: "env", resolve: (_meta, env) => env.MUSE_SESSION_ID, rejoinable: () => true }, hookMapSource],
@@ -944,7 +944,7 @@ var copilotCodec = createCopilotCodec();
944
944
 
945
945
  // src/harness/copilot.ts
946
946
  var emptyPrompt3 = { pattern: /^❯ ?$/u, cursorColumn: 2 };
947
- var install3 = async (flags, deps) => (await import("./chunk-NJ5ICCVZ.mjs")).runCopilotInstall(flags, deps);
947
+ var install3 = async (flags, deps) => (await import("./chunk-25N4V2LE.mjs")).runCopilotInstall(flags, deps);
948
948
  var copilot = {
949
949
  id: "copilot",
950
950
  sessionSources: [{ kind: "env", resolve: (_meta, env) => env.COPILOT_AGENT_SESSION_ID, rejoinable: () => true }, hookMapSource],
@@ -992,7 +992,7 @@ var cursorCodec = {
992
992
  };
993
993
 
994
994
  // src/harness/cursor.ts
995
- var install4 = async (flags, deps) => (await import("./chunk-NJ5ICCVZ.mjs")).runCursorInstall(flags, deps);
995
+ var install4 = async (flags, deps) => (await import("./chunk-25N4V2LE.mjs")).runCursorInstall(flags, deps);
996
996
  var cursor = {
997
997
  id: "cursor",
998
998
  sessionSources: [{
@@ -1030,7 +1030,7 @@ function createQwenBackgroundDriver(platform = process.platform) {
1030
1030
  verification: "none",
1031
1031
  async available(ctx) {
1032
1032
  const settings = await readWakeSettings(stateRoot(ctx.env));
1033
- return platform === "win32" && !settings.off["qwen/socket"] && !settings.off["qwen/background-shell"] && await qwenInboundAllowed(ctx.env) && await (await import("./chunk-3KHLSF4A.mjs")).monitorArmed(ctx.files);
1033
+ return platform === "win32" && !settings.off["qwen/socket"] && !settings.off["qwen/background-shell"] && await qwenInboundAllowed(ctx.env) && await (await import("./chunk-7YXXLBQW.mjs")).monitorArmed(ctx.files);
1034
1034
  },
1035
1035
  async unavailableReason(ctx) {
1036
1036
  if (!await qwenInboundAllowed(ctx.env)) return "qwen_held";
@@ -1045,8 +1045,8 @@ var qwen = {
1045
1045
  codec: qwenCodec,
1046
1046
  restoreAtStartup: true,
1047
1047
  sessionSources: [{ kind: "meta", resolve: (meta) => meta?.khala_session, rejoinable: () => true }, { kind: "env", resolve: (_meta, env) => qwenSession(env), rejoinable: () => true }, hookMapSource],
1048
- install: async (flags, deps) => (await import("./chunk-NJ5ICCVZ.mjs")).runQwenInstall(flags, deps),
1049
- uninstall: async (flags, deps) => (await import("./chunk-NJ5ICCVZ.mjs")).runQwenInstall([...flags, "--uninstall"], deps),
1048
+ install: async (flags, deps) => (await import("./chunk-25N4V2LE.mjs")).runQwenInstall(flags, deps),
1049
+ uninstall: async (flags, deps) => (await import("./chunk-25N4V2LE.mjs")).runQwenInstall([...flags, "--uninstall"], deps),
1050
1050
  wakeLadder: [createQwenSocketDriver(), createQwenBackgroundDriver()],
1051
1051
  async verifyWake(stdin, files, now) {
1052
1052
  const input = JSON.parse(stdin);
@@ -1090,7 +1090,7 @@ var geminiCodec = {
1090
1090
 
1091
1091
  // src/harness/gemini.ts
1092
1092
  var emptyPrompt4 = { pattern: /^ >(?: {3}Type your message or @path\/to\/file)?$/u, cursorColumn: 3 };
1093
- var install5 = async (flags, deps) => (await import("./chunk-NJ5ICCVZ.mjs")).runGeminiInstall(flags, deps);
1093
+ var install5 = async (flags, deps) => (await import("./chunk-25N4V2LE.mjs")).runGeminiInstall(flags, deps);
1094
1094
  var gemini = {
1095
1095
  id: "gemini",
1096
1096
  sessionSources: [{ kind: "env", resolve: (_meta, env) => env.GEMINI_SESSION_ID, rejoinable: () => true }, hookMapSource],
@@ -1268,7 +1268,7 @@ async function antigravityPromptText(input) {
1268
1268
 
1269
1269
  // src/harness/antigravity.ts
1270
1270
  var emptyPrompt5 = { pattern: /^>$/u, cursorColumn: 2 };
1271
- var install6 = async (flags, deps) => (await import("./chunk-NJ5ICCVZ.mjs")).runAntigravityInstall(flags, deps);
1271
+ var install6 = async (flags, deps) => (await import("./chunk-25N4V2LE.mjs")).runAntigravityInstall(flags, deps);
1272
1272
  var antigravity = {
1273
1273
  id: "antigravity",
1274
1274
  restoreAtStartup: true,
@@ -1427,7 +1427,7 @@ async function pollOpenCodeWake(files, io, replay = false) {
1427
1427
  }
1428
1428
 
1429
1429
  // src/harness/opencode.ts
1430
- var install7 = async (flags, deps) => (await import("./chunk-NJ5ICCVZ.mjs")).runOpenCodeInstall(flags, deps);
1430
+ var install7 = async (flags, deps) => (await import("./chunk-25N4V2LE.mjs")).runOpenCodeInstall(flags, deps);
1431
1431
  var opencode = {
1432
1432
  id: "opencode",
1433
1433
  sessionSources: [{ kind: "meta", resolve: (meta) => meta?.khala_session, rejoinable: () => true }, hookMapSource],
package/dist/khala.mjs CHANGED
@@ -2,11 +2,11 @@
2
2
  import { createRequire as __khalaCreateRequire } from 'node:module'; const require = __khalaCreateRequire(import.meta.url);
3
3
  import {
4
4
  KHALA_AGENT_VERSION
5
- } from "./chunk-YIKJI26V.mjs";
6
- import "./chunk-NUQSDSVT.mjs";
5
+ } from "./chunk-6H34GNLY.mjs";
6
+ import "./chunk-MNN5BRU5.mjs";
7
7
  import {
8
8
  init_define_KHALA_BUNDLE
9
- } from "./chunk-LDW4HOQW.mjs";
9
+ } from "./chunk-374APJUQ.mjs";
10
10
 
11
11
  // src/cli-bundle.ts
12
12
  init_define_KHALA_BUNDLE();
@@ -84,15 +84,15 @@ async function runCli(argv, modules) {
84
84
 
85
85
  // src/cli-bundle.ts
86
86
  var hooks = {
87
- "session-start": () => import("./chunk-WA5LB5GN.mjs"),
88
- deliver: () => import("./chunk-NN5RHU6C.mjs"),
89
- "claude-wake": () => import("./chunk-H2L5GQ5W.mjs")
87
+ "session-start": () => import("./chunk-IV5R3D2G.mjs"),
88
+ deliver: () => import("./chunk-TBQNSDP7.mjs"),
89
+ "claude-wake": () => import("./chunk-7GMBN2XQ.mjs")
90
90
  };
91
91
  process.exitCode = await runCli(process.argv.slice(2), {
92
- mcp: () => () => import("./chunk-YFX5NDSL.mjs"),
93
- watch: () => () => import("./chunk-3KHLSF4A.mjs"),
94
- local: () => () => import("./chunk-7FFHZ7EI.mjs"),
95
- install: () => () => import("./chunk-NJ5ICCVZ.mjs"),
96
- wake: () => () => import("./chunk-MYIZQCRW.mjs"),
92
+ mcp: () => () => import("./chunk-5HDFP7EB.mjs"),
93
+ watch: () => () => import("./chunk-7YXXLBQW.mjs"),
94
+ local: () => () => import("./chunk-ZK6QVJ5Q.mjs"),
95
+ install: () => () => import("./chunk-25N4V2LE.mjs"),
96
+ wake: () => () => import("./chunk-7CKX3Q7L.mjs"),
97
97
  hook: (name) => Object.hasOwn(hooks, name) ? hooks[name] : void 0
98
98
  });