@fangyb/ahchat-bridge 0.1.12 → 0.1.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.cjs CHANGED
@@ -6,6 +6,9 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
6
  var __getOwnPropNames = Object.getOwnPropertyNames;
7
7
  var __getProtoOf = Object.getPrototypeOf;
8
8
  var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __esm = (fn, res) => function __init() {
10
+ return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
11
+ };
9
12
  var __commonJS = (cb2, mod) => function __require() {
10
13
  return mod || (0, cb2[__getOwnPropNames(cb2)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
11
14
  };
@@ -30,10 +33,21 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
30
33
  mod
31
34
  ));
32
35
 
36
+ // ../../node_modules/.pnpm/tsup@8.5.1_jiti@1.21.7_postcss@8.5.14_tsx@4.21.0_typescript@5.9.3/node_modules/tsup/assets/cjs_shims.js
37
+ var getImportMetaUrl, importMetaUrl;
38
+ var init_cjs_shims = __esm({
39
+ "../../node_modules/.pnpm/tsup@8.5.1_jiti@1.21.7_postcss@8.5.14_tsx@4.21.0_typescript@5.9.3/node_modules/tsup/assets/cjs_shims.js"() {
40
+ "use strict";
41
+ getImportMetaUrl = () => typeof document === "undefined" ? new URL(`file:${__filename}`).href : document.currentScript && document.currentScript.tagName.toUpperCase() === "SCRIPT" ? document.currentScript.src : new URL("main.js", document.baseURI).href;
42
+ importMetaUrl = /* @__PURE__ */ getImportMetaUrl();
43
+ }
44
+ });
45
+
33
46
  // ../../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/constants.js
34
47
  var require_constants = __commonJS({
35
48
  "../../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/constants.js"(exports2, module2) {
36
49
  "use strict";
50
+ init_cjs_shims();
37
51
  var BINARY_TYPES = ["nodebuffer", "arraybuffer", "fragments"];
38
52
  var hasBlob = typeof Blob !== "undefined";
39
53
  if (hasBlob) BINARY_TYPES.push("blob");
@@ -57,6 +71,7 @@ var require_constants = __commonJS({
57
71
  var require_buffer_util = __commonJS({
58
72
  "../../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/buffer-util.js"(exports2, module2) {
59
73
  "use strict";
74
+ init_cjs_shims();
60
75
  var { EMPTY_BUFFER } = require_constants();
61
76
  var FastBuffer = Buffer[Symbol.species];
62
77
  function concat(list, totalLength) {
@@ -132,6 +147,7 @@ var require_buffer_util = __commonJS({
132
147
  var require_limiter = __commonJS({
133
148
  "../../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/limiter.js"(exports2, module2) {
134
149
  "use strict";
150
+ init_cjs_shims();
135
151
  var kDone = /* @__PURE__ */ Symbol("kDone");
136
152
  var kRun = /* @__PURE__ */ Symbol("kRun");
137
153
  var Limiter = class {
@@ -182,6 +198,7 @@ var require_limiter = __commonJS({
182
198
  var require_permessage_deflate = __commonJS({
183
199
  "../../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/permessage-deflate.js"(exports2, module2) {
184
200
  "use strict";
201
+ init_cjs_shims();
185
202
  var zlib = require("zlib");
186
203
  var bufferUtil = require_buffer_util();
187
204
  var Limiter = require_limiter();
@@ -565,6 +582,7 @@ var require_permessage_deflate = __commonJS({
565
582
  var require_validation = __commonJS({
566
583
  "../../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/validation.js"(exports2, module2) {
567
584
  "use strict";
585
+ init_cjs_shims();
568
586
  var { isUtf8 } = require("buffer");
569
587
  var { hasBlob } = require_constants();
570
588
  var tokenChars = [
@@ -766,6 +784,7 @@ var require_validation = __commonJS({
766
784
  var require_receiver = __commonJS({
767
785
  "../../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/receiver.js"(exports2, module2) {
768
786
  "use strict";
787
+ init_cjs_shims();
769
788
  var { Writable: Writable2 } = require("stream");
770
789
  var PerMessageDeflate2 = require_permessage_deflate();
771
790
  var {
@@ -1358,6 +1377,7 @@ var require_receiver = __commonJS({
1358
1377
  var require_sender = __commonJS({
1359
1378
  "../../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/sender.js"(exports2, module2) {
1360
1379
  "use strict";
1380
+ init_cjs_shims();
1361
1381
  var { Duplex } = require("stream");
1362
1382
  var { randomFillSync } = require("crypto");
1363
1383
  var {
@@ -1851,6 +1871,7 @@ var require_sender = __commonJS({
1851
1871
  var require_event_target = __commonJS({
1852
1872
  "../../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/event-target.js"(exports2, module2) {
1853
1873
  "use strict";
1874
+ init_cjs_shims();
1854
1875
  var { kForOnEventAttribute, kListener } = require_constants();
1855
1876
  var kCode = /* @__PURE__ */ Symbol("kCode");
1856
1877
  var kData = /* @__PURE__ */ Symbol("kData");
@@ -2080,6 +2101,7 @@ var require_event_target = __commonJS({
2080
2101
  var require_extension = __commonJS({
2081
2102
  "../../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/extension.js"(exports2, module2) {
2082
2103
  "use strict";
2104
+ init_cjs_shims();
2083
2105
  var { tokenChars } = require_validation();
2084
2106
  function push(dest, name, elem) {
2085
2107
  if (dest[name] === void 0) dest[name] = [elem];
@@ -2233,6 +2255,7 @@ var require_extension = __commonJS({
2233
2255
  var require_websocket = __commonJS({
2234
2256
  "../../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/websocket.js"(exports2, module2) {
2235
2257
  "use strict";
2258
+ init_cjs_shims();
2236
2259
  var EventEmitter2 = require("events");
2237
2260
  var https = require("https");
2238
2261
  var http = require("http");
@@ -3119,6 +3142,7 @@ var require_websocket = __commonJS({
3119
3142
  var require_stream = __commonJS({
3120
3143
  "../../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/stream.js"(exports2, module2) {
3121
3144
  "use strict";
3145
+ init_cjs_shims();
3122
3146
  var WebSocket3 = require_websocket();
3123
3147
  var { Duplex } = require("stream");
3124
3148
  function emitClose(stream) {
@@ -3217,6 +3241,7 @@ var require_stream = __commonJS({
3217
3241
  var require_subprotocol = __commonJS({
3218
3242
  "../../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/subprotocol.js"(exports2, module2) {
3219
3243
  "use strict";
3244
+ init_cjs_shims();
3220
3245
  var { tokenChars } = require_validation();
3221
3246
  function parse3(header) {
3222
3247
  const protocols = /* @__PURE__ */ new Set();
@@ -3262,6 +3287,7 @@ var require_subprotocol = __commonJS({
3262
3287
  var require_websocket_server = __commonJS({
3263
3288
  "../../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/websocket-server.js"(exports2, module2) {
3264
3289
  "use strict";
3290
+ init_cjs_shims();
3265
3291
  var EventEmitter2 = require("events");
3266
3292
  var http = require("http");
3267
3293
  var { Duplex } = require("stream");
@@ -3652,10 +3678,12 @@ var require_websocket_server = __commonJS({
3652
3678
  });
3653
3679
 
3654
3680
  // src/cli.ts
3681
+ init_cjs_shims();
3655
3682
  var import_node_os13 = __toESM(require("os"), 1);
3656
3683
  var import_node_path21 = __toESM(require("path"), 1);
3657
3684
 
3658
3685
  // ../../node_modules/.pnpm/cac@6.7.14/node_modules/cac/dist/index.mjs
3686
+ init_cjs_shims();
3659
3687
  var import_events = require("events");
3660
3688
  function toArr(any2) {
3661
3689
  return any2 == null ? [] : Array.isArray(any2) ? any2 : [any2];
@@ -4242,6 +4270,7 @@ var cac = (name = "") => new CAC(name);
4242
4270
  var dist_default = cac;
4243
4271
 
4244
4272
  // src/config.ts
4273
+ init_cjs_shims();
4245
4274
  var import_node_crypto = __toESM(require("crypto"), 1);
4246
4275
  var import_node_fs = __toESM(require("fs"), 1);
4247
4276
  var import_node_os = __toESM(require("os"), 1);
@@ -4380,10 +4409,18 @@ function ensureDir(dirPath) {
4380
4409
  }
4381
4410
 
4382
4411
  // src/logger.ts
4412
+ init_cjs_shims();
4383
4413
  var import_node_os3 = __toESM(require("os"), 1);
4384
4414
  var import_node_path3 = __toESM(require("path"), 1);
4385
4415
 
4416
+ // ../logger/src/index.ts
4417
+ init_cjs_shims();
4418
+
4419
+ // ../logger/src/logger.ts
4420
+ init_cjs_shims();
4421
+
4386
4422
  // ../logger/src/types.ts
4423
+ init_cjs_shims();
4387
4424
  var LOG_LEVEL_VALUE = {
4388
4425
  TRACE: 0,
4389
4426
  DEBUG: 1,
@@ -4463,9 +4500,17 @@ var Logger = class {
4463
4500
  };
4464
4501
 
4465
4502
  // ../logger/src/formatters/json.ts
4503
+ init_cjs_shims();
4466
4504
  var jsonFormatter = (entry) => JSON.stringify(entry);
4467
4505
 
4506
+ // ../logger/src/formatters/pretty.ts
4507
+ init_cjs_shims();
4508
+
4509
+ // ../../node_modules/.pnpm/chalk@5.6.2/node_modules/chalk/source/index.js
4510
+ init_cjs_shims();
4511
+
4468
4512
  // ../../node_modules/.pnpm/chalk@5.6.2/node_modules/chalk/source/vendor/ansi-styles/index.js
4513
+ init_cjs_shims();
4469
4514
  var ANSI_BACKGROUND_OFFSET = 10;
4470
4515
  var wrapAnsi16 = (offset = 0) => (code) => `\x1B[${code + offset}m`;
4471
4516
  var wrapAnsi256 = (offset = 0) => (code) => `\x1B[${38 + offset};5;${code}m`;
@@ -4652,6 +4697,7 @@ var ansiStyles = assembleStyles();
4652
4697
  var ansi_styles_default = ansiStyles;
4653
4698
 
4654
4699
  // ../../node_modules/.pnpm/chalk@5.6.2/node_modules/chalk/source/vendor/supports-color/index.js
4700
+ init_cjs_shims();
4655
4701
  var import_node_process = __toESM(require("process"), 1);
4656
4702
  var import_node_os2 = __toESM(require("os"), 1);
4657
4703
  var import_node_tty = __toESM(require("tty"), 1);
@@ -4784,6 +4830,7 @@ var supportsColor = {
4784
4830
  var supports_color_default = supportsColor;
4785
4831
 
4786
4832
  // ../../node_modules/.pnpm/chalk@5.6.2/node_modules/chalk/source/utilities.js
4833
+ init_cjs_shims();
4787
4834
  function stringReplaceAll(string4, substring, replacer) {
4788
4835
  let index = string4.indexOf(substring);
4789
4836
  if (index === -1) {
@@ -4988,6 +5035,7 @@ ${entry.error.stack}` : ""}`
4988
5035
  };
4989
5036
 
4990
5037
  // ../logger/src/transports/console.ts
5038
+ init_cjs_shims();
4991
5039
  function consoleTransport(opts) {
4992
5040
  const fmt = opts?.formatter ?? jsonFormatter;
4993
5041
  return (entry) => {
@@ -5001,9 +5049,11 @@ function consoleTransport(opts) {
5001
5049
  }
5002
5050
 
5003
5051
  // ../logger/src/transports/file.ts
5052
+ init_cjs_shims();
5004
5053
  var import_node_path2 = __toESM(require("path"), 1);
5005
5054
 
5006
5055
  // ../../node_modules/.pnpm/rotating-file-stream@3.2.9/node_modules/rotating-file-stream/dist/esm/index.js
5056
+ init_cjs_shims();
5007
5057
  var import_child_process = require("child_process");
5008
5058
  var import_zlib = require("zlib");
5009
5059
  var import_stream = require("stream");
@@ -5663,9 +5713,17 @@ function createModuleLogger(module2) {
5663
5713
  }
5664
5714
 
5665
5715
  // src/start.ts
5716
+ init_cjs_shims();
5666
5717
  var import_node_path19 = __toESM(require("path"), 1);
5667
5718
 
5719
+ // ../shared/src/index.ts
5720
+ init_cjs_shims();
5721
+
5722
+ // ../shared/src/constants.ts
5723
+ init_cjs_shims();
5724
+
5668
5725
  // ../shared/src/smithContent.ts
5726
+ init_cjs_shims();
5669
5727
  var SMITH_SYSTEM_PROMPT = `\u4F60\u662F\u7279\u5DE5\u53F2\u5BC6\u65AF\uFF08Agent Smith\uFF09\uFF0CAHChat \u7CFB\u7EDF\u7684\u7EC4\u7EC7\u5DE5\u5177\u3002
5670
5728
 
5671
5729
  # \u4F60\u662F\u4EC0\u4E48
@@ -6427,7 +6485,20 @@ var MAX_FILE_SIZE = 20 * 1024 * 1024;
6427
6485
  var MAX_IMAGE_SIZE = 10 * 1024 * 1024;
6428
6486
  var BASE64_THRESHOLD_BYTES = 2 * 1024 * 1024;
6429
6487
 
6488
+ // ../shared/src/mention.ts
6489
+ init_cjs_shims();
6490
+
6491
+ // ../shared/src/types/index.ts
6492
+ init_cjs_shims();
6493
+
6494
+ // ../shared/src/types/message.ts
6495
+ init_cjs_shims();
6496
+
6497
+ // ../shared/src/types/feed.ts
6498
+ init_cjs_shims();
6499
+
6430
6500
  // ../shared/src/types/log.ts
6501
+ init_cjs_shims();
6431
6502
  var LOG_LEVEL_VALUE2 = {
6432
6503
  TRACE: 0,
6433
6504
  DEBUG: 1,
@@ -6437,10 +6508,18 @@ var LOG_LEVEL_VALUE2 = {
6437
6508
  FATAL: 5
6438
6509
  };
6439
6510
 
6511
+ // ../shared/src/types/onboarding.ts
6512
+ init_cjs_shims();
6513
+
6514
+ // ../shared/src/utils.ts
6515
+ init_cjs_shims();
6516
+
6440
6517
  // ../../node_modules/.pnpm/nanoid@5.1.11/node_modules/nanoid/index.js
6518
+ init_cjs_shims();
6441
6519
  var import_node_crypto2 = require("crypto");
6442
6520
 
6443
6521
  // ../../node_modules/.pnpm/nanoid@5.1.11/node_modules/nanoid/url-alphabet/index.js
6522
+ init_cjs_shims();
6444
6523
  var urlAlphabet = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";
6445
6524
 
6446
6525
  // ../../node_modules/.pnpm/nanoid@5.1.11/node_modules/nanoid/index.js
@@ -6508,6 +6587,7 @@ function parseWSMessage(raw) {
6508
6587
  }
6509
6588
 
6510
6589
  // ../shared/src/utils/workdir.ts
6590
+ init_cjs_shims();
6511
6591
  var SLUG_MAX_LEN = 32;
6512
6592
  function slugifyForFs(name) {
6513
6593
  const trimmed = name.trim();
@@ -6521,7 +6601,14 @@ function defaultGroupWorkdir(home, name, id) {
6521
6601
  return `${home}/.ahchat/Group-${slug}-${id}`;
6522
6602
  }
6523
6603
 
6604
+ // ../shared/src/utils/groupAuto.ts
6605
+ init_cjs_shims();
6606
+
6607
+ // ../shared/src/utils/agentConfig.ts
6608
+ init_cjs_shims();
6609
+
6524
6610
  // ../shared/src/utils/subscription.ts
6611
+ init_cjs_shims();
6525
6612
  var SYSTEM_SUBSCRIPTION_ID = "sub_system";
6526
6613
  function isSubscriptionType(v9) {
6527
6614
  return v9 === "system" || v9 === "project";
@@ -6558,7 +6645,11 @@ function parseAgentConfig(raw) {
6558
6645
  }
6559
6646
  }
6560
6647
 
6648
+ // ../shared/src/utils/extractWriteArtifacts.ts
6649
+ init_cjs_shims();
6650
+
6561
6651
  // ../shared/src/utils/attachmentUtils.ts
6652
+ init_cjs_shims();
6562
6653
  function isImageMimeType(mimeType) {
6563
6654
  return ALLOWED_IMAGE_MIME_TYPES.includes(mimeType);
6564
6655
  }
@@ -6566,7 +6657,11 @@ function shouldUseBase64(size) {
6566
6657
  return size <= BASE64_THRESHOLD_BYTES;
6567
6658
  }
6568
6659
 
6660
+ // ../shared/src/utils/modelCapabilities.ts
6661
+ init_cjs_shims();
6662
+
6569
6663
  // ../shared/src/skillContent.ts
6664
+ init_cjs_shims();
6570
6665
  var LOG_ANALYSIS_SKILL = `# log-analysis \u2014 \u65E5\u5FD7\u4FA6\u63A2\u6280\u80FD
6571
6666
 
6572
6667
  \u4F60\u73B0\u5728\u662F\u65E5\u5FD7\u4FA6\u63A2\u3002\u7528\u6237\u8BF7\u4F60"\u770B\u65E5\u5FD7 / \u6392\u67E5 / \u8FD8\u539F"\u65F6\u6309\u8FD9\u4EFD\u65B9\u6CD5\u5B66\u8D70\u3002
@@ -6690,6 +6785,7 @@ HH:MM:SS.mmm ...
6690
6785
  `;
6691
6786
 
6692
6787
  // ../shared/src/utils/logScan.ts
6788
+ init_cjs_shims();
6693
6789
  var VALID_LEVELS = /* @__PURE__ */ new Set(["TRACE", "DEBUG", "INFO", "WARN", "ERROR", "FATAL"]);
6694
6790
  function isRecord(v9) {
6695
6791
  return typeof v9 === "object" && v9 !== null;
@@ -6754,7 +6850,11 @@ function matchesFilter(hit, filter) {
6754
6850
  return true;
6755
6851
  }
6756
6852
 
6853
+ // ../shared/src/utils/tierSelection.ts
6854
+ init_cjs_shims();
6855
+
6757
6856
  // src/agentMemoryStore.ts
6857
+ init_cjs_shims();
6758
6858
  var import_node_fs2 = __toESM(require("fs"), 1);
6759
6859
  var import_node_path4 = __toESM(require("path"), 1);
6760
6860
  var logger = createModuleLogger("agent.memoryStore");
@@ -6824,6 +6924,7 @@ var AgentMemoryStore = class {
6824
6924
  };
6825
6925
 
6826
6926
  // src/agentManager.ts
6927
+ init_cjs_shims();
6827
6928
  var import_node_child_process = require("child_process");
6828
6929
  var import_node_crypto3 = require("crypto");
6829
6930
  var import_node_fs3 = __toESM(require("fs"), 1);
@@ -6832,6 +6933,7 @@ var import_node_os5 = __toESM(require("os"), 1);
6832
6933
  var import_node_path8 = __toESM(require("path"), 1);
6833
6934
 
6834
6935
  // ../../node_modules/.pnpm/@anthropic-ai+claude-agent-sdk@0.2.141_zod@4.4.3/node_modules/@anthropic-ai/claude-agent-sdk/sdk.mjs
6936
+ init_cjs_shims();
6835
6937
  var import_node_module = require("module");
6836
6938
  var import_child_process2 = require("child_process");
6837
6939
  var import_crypto = require("crypto");
@@ -6874,7 +6976,6 @@ var import_path7 = require("path");
6874
6976
  var import_promises7 = require("fs/promises");
6875
6977
  var import_os4 = require("os");
6876
6978
  var import_path8 = require("path");
6877
- var import_meta = {};
6878
6979
  var d_ = Object.create;
6879
6980
  var { getPrototypeOf: i_, defineProperty: RG, getOwnPropertyNames: n_ } = Object;
6880
6981
  var r_ = Object.prototype.hasOwnProperty;
@@ -6903,7 +7004,7 @@ function e_($, Q) {
6903
7004
  var j4 = ($, Q) => {
6904
7005
  for (var J in Q) RG($, J, { get: Q[J], enumerable: true, configurable: true, set: e_.bind(Q, J) });
6905
7006
  };
6906
- var S6 = (0, import_node_module.createRequire)(import_meta.url);
7007
+ var S6 = (0, import_node_module.createRequire)(importMetaUrl);
6907
7008
  var QS = Symbol.dispose || /* @__PURE__ */ Symbol.for("Symbol.dispose");
6908
7009
  var JS = Symbol.asyncDispose || /* @__PURE__ */ Symbol.for("Symbol.asyncDispose");
6909
7010
  var Z$ = ($, Q, J) => {
@@ -28234,7 +28335,7 @@ function iz($, Q, J, Y) {
28234
28335
  else if (X.type === "preset") B = X.append, z4 = X.excludeDynamicSections;
28235
28336
  let N = q.pathToClaudeCodeExecutable;
28236
28337
  if (!N) {
28237
- let _6 = (0, import_url.fileURLToPath)(import_meta.url), m6 = (0, import_module.createRequire)(_6), s1 = F5((t0) => m6.resolve(t0));
28338
+ let _6 = (0, import_url.fileURLToPath)(importMetaUrl), m6 = (0, import_module.createRequire)(_6), s1 = F5((t0) => m6.resolve(t0));
28238
28339
  if (s1) N = s1;
28239
28340
  else try {
28240
28341
  N = m6.resolve("./cli.js");
@@ -28395,6 +28496,7 @@ function Z_($, Q) {
28395
28496
  }
28396
28497
 
28397
28498
  // src/attachmentAdapter.ts
28499
+ init_cjs_shims();
28398
28500
  var logger2 = createModuleLogger("attachment.adapter");
28399
28501
  async function adaptAttachmentsForSDK(attachments, options) {
28400
28502
  if (!attachments || attachments.length === 0) return [];
@@ -28491,6 +28593,7 @@ function formatSize(bytes) {
28491
28593
  }
28492
28594
 
28493
28595
  // src/claudeExecutable.ts
28596
+ init_cjs_shims();
28494
28597
  var claudeExecutablePath;
28495
28598
  function setClaudeExecutablePath(p) {
28496
28599
  claudeExecutablePath = p;
@@ -28500,6 +28603,7 @@ function getClaudeExecutablePath() {
28500
28603
  }
28501
28604
 
28502
28605
  // src/modelEnv.ts
28606
+ init_cjs_shims();
28503
28607
  function resolveModelLimits(customModels, model) {
28504
28608
  if (!model) return {};
28505
28609
  const entry = customModels?.find((m2) => m2.value === model);
@@ -28522,6 +28626,7 @@ function buildModelLimitEnv(cfg) {
28522
28626
  }
28523
28627
 
28524
28628
  // src/inputController.ts
28629
+ init_cjs_shims();
28525
28630
  var InputController = class {
28526
28631
  queue = [];
28527
28632
  pendingResolve = null;
@@ -28594,6 +28699,7 @@ var InputController = class {
28594
28699
  };
28595
28700
 
28596
28701
  // src/askQuestionRegistry.ts
28702
+ init_cjs_shims();
28597
28703
  var logger3 = createModuleLogger("askQuestionRegistry");
28598
28704
  var ASK_QUESTION_TIMEOUT_MS = 12e4;
28599
28705
  var TIMEOUT_ANSWER = "[User did not respond within 120 seconds. Please decide whether to proceed with reasonable defaults or skip this step.]";
@@ -28657,7 +28763,11 @@ var AskQuestionRegistry = class {
28657
28763
  }
28658
28764
  };
28659
28765
 
28766
+ // src/askUserQuestionGuard.ts
28767
+ init_cjs_shims();
28768
+
28660
28769
  // src/scope.ts
28770
+ init_cjs_shims();
28661
28771
  function scopeKey(scope) {
28662
28772
  return scope.kind === "single" ? "single" : `group:${scope.groupId}`;
28663
28773
  }
@@ -28817,9 +28927,11 @@ function makeAskUserQuestionGuard(deps) {
28817
28927
  }
28818
28928
 
28819
28929
  // src/permissionGuard.ts
28930
+ init_cjs_shims();
28820
28931
  var import_node_path7 = __toESM(require("path"), 1);
28821
28932
 
28822
28933
  // ../shared/src/utils/pathSafety.ts
28934
+ init_cjs_shims();
28823
28935
  var import_node_path6 = __toESM(require("path"), 1);
28824
28936
  function isPathInside(parent, child) {
28825
28937
  const resolvedParent = import_node_path6.default.resolve(parent);
@@ -28861,6 +28973,12 @@ function makeCwdPermissionGuard(cwd, agentId, scope, log) {
28861
28973
  };
28862
28974
  }
28863
28975
 
28976
+ // src/neuralMcpServer.ts
28977
+ init_cjs_shims();
28978
+
28979
+ // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/index.js
28980
+ init_cjs_shims();
28981
+
28864
28982
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/external.js
28865
28983
  var external_exports = {};
28866
28984
  __export(external_exports, {
@@ -29103,6 +29221,7 @@ __export(external_exports, {
29103
29221
  xid: () => xid2,
29104
29222
  xor: () => xor
29105
29223
  });
29224
+ init_cjs_shims();
29106
29225
 
29107
29226
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/index.js
29108
29227
  var core_exports2 = {};
@@ -29382,8 +29501,10 @@ __export(core_exports2, {
29382
29501
  util: () => util_exports,
29383
29502
  version: () => version
29384
29503
  });
29504
+ init_cjs_shims();
29385
29505
 
29386
29506
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/core.js
29507
+ init_cjs_shims();
29387
29508
  var _a;
29388
29509
  var NEVER = /* @__PURE__ */ Object.freeze({
29389
29510
  status: "aborted"
@@ -29460,6 +29581,12 @@ function config(newConfig) {
29460
29581
  return globalConfig;
29461
29582
  }
29462
29583
 
29584
+ // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/parse.js
29585
+ init_cjs_shims();
29586
+
29587
+ // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/errors.js
29588
+ init_cjs_shims();
29589
+
29463
29590
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/util.js
29464
29591
  var util_exports = {};
29465
29592
  __export(util_exports, {
@@ -29527,6 +29654,7 @@ __export(util_exports, {
29527
29654
  uint8ArrayToHex: () => uint8ArrayToHex,
29528
29655
  unwrapMessage: () => unwrapMessage
29529
29656
  });
29657
+ init_cjs_shims();
29530
29658
  function assertEqual(val) {
29531
29659
  return val;
29532
29660
  }
@@ -30383,6 +30511,12 @@ var _safeDecodeAsync = (_Err) => async (schema, value, _ctx) => {
30383
30511
  };
30384
30512
  var safeDecodeAsync = /* @__PURE__ */ _safeDecodeAsync($ZodRealError);
30385
30513
 
30514
+ // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/schemas.js
30515
+ init_cjs_shims();
30516
+
30517
+ // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/checks.js
30518
+ init_cjs_shims();
30519
+
30386
30520
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/regexes.js
30387
30521
  var regexes_exports = {};
30388
30522
  __export(regexes_exports, {
@@ -30446,6 +30580,7 @@ __export(regexes_exports, {
30446
30580
  uuid7: () => uuid7,
30447
30581
  xid: () => xid
30448
30582
  });
30583
+ init_cjs_shims();
30449
30584
  var cuid = /^[cC][0-9a-z]{6,}$/;
30450
30585
  var cuid2 = /^[0-9a-z]+$/;
30451
30586
  var ulid = /^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/;
@@ -31091,6 +31226,7 @@ var $ZodCheckOverwrite = /* @__PURE__ */ $constructor("$ZodCheckOverwrite", (ins
31091
31226
  });
31092
31227
 
31093
31228
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/doc.js
31229
+ init_cjs_shims();
31094
31230
  var Doc = class {
31095
31231
  constructor(args = []) {
31096
31232
  this.content = [];
@@ -31127,6 +31263,7 @@ var Doc = class {
31127
31263
  };
31128
31264
 
31129
31265
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/versions.js
31266
+ init_cjs_shims();
31130
31267
  var version = {
31131
31268
  major: 4,
31132
31269
  minor: 4,
@@ -33282,8 +33419,10 @@ __export(locales_exports, {
33282
33419
  zhCN: () => zh_CN_default,
33283
33420
  zhTW: () => zh_TW_default
33284
33421
  });
33422
+ init_cjs_shims();
33285
33423
 
33286
33424
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ar.js
33425
+ init_cjs_shims();
33287
33426
  var error = () => {
33288
33427
  const Sizable = {
33289
33428
  string: { unit: "\u062D\u0631\u0641", verb: "\u0623\u0646 \u064A\u062D\u0648\u064A" },
@@ -33391,6 +33530,7 @@ function ar_default() {
33391
33530
  }
33392
33531
 
33393
33532
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/az.js
33533
+ init_cjs_shims();
33394
33534
  var error2 = () => {
33395
33535
  const Sizable = {
33396
33536
  string: { unit: "simvol", verb: "olmal\u0131d\u0131r" },
@@ -33497,6 +33637,7 @@ function az_default() {
33497
33637
  }
33498
33638
 
33499
33639
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/be.js
33640
+ init_cjs_shims();
33500
33641
  function getBelarusianPlural(count, one, few, many) {
33501
33642
  const absCount = Math.abs(count);
33502
33643
  const lastDigit = absCount % 10;
@@ -33654,6 +33795,7 @@ function be_default() {
33654
33795
  }
33655
33796
 
33656
33797
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/bg.js
33798
+ init_cjs_shims();
33657
33799
  var error4 = () => {
33658
33800
  const Sizable = {
33659
33801
  string: { unit: "\u0441\u0438\u043C\u0432\u043E\u043B\u0430", verb: "\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430" },
@@ -33775,6 +33917,7 @@ function bg_default() {
33775
33917
  }
33776
33918
 
33777
33919
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ca.js
33920
+ init_cjs_shims();
33778
33921
  var error5 = () => {
33779
33922
  const Sizable = {
33780
33923
  string: { unit: "car\xE0cters", verb: "contenir" },
@@ -33884,6 +34027,7 @@ function ca_default() {
33884
34027
  }
33885
34028
 
33886
34029
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/cs.js
34030
+ init_cjs_shims();
33887
34031
  var error6 = () => {
33888
34032
  const Sizable = {
33889
34033
  string: { unit: "znak\u016F", verb: "m\xEDt" },
@@ -33996,6 +34140,7 @@ function cs_default() {
33996
34140
  }
33997
34141
 
33998
34142
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/da.js
34143
+ init_cjs_shims();
33999
34144
  var error7 = () => {
34000
34145
  const Sizable = {
34001
34146
  string: { unit: "tegn", verb: "havde" },
@@ -34112,6 +34257,7 @@ function da_default() {
34112
34257
  }
34113
34258
 
34114
34259
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/de.js
34260
+ init_cjs_shims();
34115
34261
  var error8 = () => {
34116
34262
  const Sizable = {
34117
34263
  string: { unit: "Zeichen", verb: "zu haben" },
@@ -34221,6 +34367,7 @@ function de_default() {
34221
34367
  }
34222
34368
 
34223
34369
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/el.js
34370
+ init_cjs_shims();
34224
34371
  var error9 = () => {
34225
34372
  const Sizable = {
34226
34373
  string: { unit: "\u03C7\u03B1\u03C1\u03B1\u03BA\u03C4\u03AE\u03C1\u03B5\u03C2", verb: "\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9" },
@@ -34331,6 +34478,7 @@ function el_default() {
34331
34478
  }
34332
34479
 
34333
34480
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/en.js
34481
+ init_cjs_shims();
34334
34482
  var error10 = () => {
34335
34483
  const Sizable = {
34336
34484
  string: { unit: "characters", verb: "to have" },
@@ -34444,6 +34592,7 @@ function en_default() {
34444
34592
  }
34445
34593
 
34446
34594
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/eo.js
34595
+ init_cjs_shims();
34447
34596
  var error11 = () => {
34448
34597
  const Sizable = {
34449
34598
  string: { unit: "karaktrojn", verb: "havi" },
@@ -34554,6 +34703,7 @@ function eo_default() {
34554
34703
  }
34555
34704
 
34556
34705
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/es.js
34706
+ init_cjs_shims();
34557
34707
  var error12 = () => {
34558
34708
  const Sizable = {
34559
34709
  string: { unit: "caracteres", verb: "tener" },
@@ -34687,6 +34837,7 @@ function es_default() {
34687
34837
  }
34688
34838
 
34689
34839
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/fa.js
34840
+ init_cjs_shims();
34690
34841
  var error13 = () => {
34691
34842
  const Sizable = {
34692
34843
  string: { unit: "\u06A9\u0627\u0631\u0627\u06A9\u062A\u0631", verb: "\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F" },
@@ -34802,6 +34953,7 @@ function fa_default() {
34802
34953
  }
34803
34954
 
34804
34955
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/fi.js
34956
+ init_cjs_shims();
34805
34957
  var error14 = () => {
34806
34958
  const Sizable = {
34807
34959
  string: { unit: "merkki\xE4", subject: "merkkijonon" },
@@ -34915,6 +35067,7 @@ function fi_default() {
34915
35067
  }
34916
35068
 
34917
35069
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/fr.js
35070
+ init_cjs_shims();
34918
35071
  var error15 = () => {
34919
35072
  const Sizable = {
34920
35073
  string: { unit: "caract\xE8res", verb: "avoir" },
@@ -35041,6 +35194,7 @@ function fr_default() {
35041
35194
  }
35042
35195
 
35043
35196
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/fr-CA.js
35197
+ init_cjs_shims();
35044
35198
  var error16 = () => {
35045
35199
  const Sizable = {
35046
35200
  string: { unit: "caract\xE8res", verb: "avoir" },
@@ -35149,6 +35303,7 @@ function fr_CA_default() {
35149
35303
  }
35150
35304
 
35151
35305
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/he.js
35306
+ init_cjs_shims();
35152
35307
  var error17 = () => {
35153
35308
  const TypeNames = {
35154
35309
  string: { label: "\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA", gender: "f" },
@@ -35344,6 +35499,7 @@ function he_default() {
35344
35499
  }
35345
35500
 
35346
35501
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/hr.js
35502
+ init_cjs_shims();
35347
35503
  var error18 = () => {
35348
35504
  const Sizable = {
35349
35505
  string: { unit: "znakova", verb: "imati" },
@@ -35467,6 +35623,7 @@ function hr_default() {
35467
35623
  }
35468
35624
 
35469
35625
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/hu.js
35626
+ init_cjs_shims();
35470
35627
  var error19 = () => {
35471
35628
  const Sizable = {
35472
35629
  string: { unit: "karakter", verb: "legyen" },
@@ -35576,6 +35733,7 @@ function hu_default() {
35576
35733
  }
35577
35734
 
35578
35735
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/hy.js
35736
+ init_cjs_shims();
35579
35737
  function getArmenianPlural(count, one, many) {
35580
35738
  return Math.abs(count) === 1 ? one : many;
35581
35739
  }
@@ -35724,6 +35882,7 @@ function hy_default() {
35724
35882
  }
35725
35883
 
35726
35884
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/id.js
35885
+ init_cjs_shims();
35727
35886
  var error21 = () => {
35728
35887
  const Sizable = {
35729
35888
  string: { unit: "karakter", verb: "memiliki" },
@@ -35831,6 +35990,7 @@ function id_default() {
35831
35990
  }
35832
35991
 
35833
35992
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/is.js
35993
+ init_cjs_shims();
35834
35994
  var error22 = () => {
35835
35995
  const Sizable = {
35836
35996
  string: { unit: "stafi", verb: "a\xF0 hafa" },
@@ -35941,6 +36101,7 @@ function is_default() {
35941
36101
  }
35942
36102
 
35943
36103
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/it.js
36104
+ init_cjs_shims();
35944
36105
  var error23 = () => {
35945
36106
  const Sizable = {
35946
36107
  string: { unit: "caratteri", verb: "avere" },
@@ -36050,6 +36211,7 @@ function it_default() {
36050
36211
  }
36051
36212
 
36052
36213
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ja.js
36214
+ init_cjs_shims();
36053
36215
  var error24 = () => {
36054
36216
  const Sizable = {
36055
36217
  string: { unit: "\u6587\u5B57", verb: "\u3067\u3042\u308B" },
@@ -36158,6 +36320,7 @@ function ja_default() {
36158
36320
  }
36159
36321
 
36160
36322
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ka.js
36323
+ init_cjs_shims();
36161
36324
  var error25 = () => {
36162
36325
  const Sizable = {
36163
36326
  string: { unit: "\u10E1\u10D8\u10DB\u10D1\u10DD\u10DA\u10DD", verb: "\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1" },
@@ -36270,7 +36433,11 @@ function ka_default() {
36270
36433
  };
36271
36434
  }
36272
36435
 
36436
+ // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/kh.js
36437
+ init_cjs_shims();
36438
+
36273
36439
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/km.js
36440
+ init_cjs_shims();
36274
36441
  var error26 = () => {
36275
36442
  const Sizable = {
36276
36443
  string: { unit: "\u178F\u17BD\u17A2\u1780\u17D2\u179F\u179A", verb: "\u1782\u17BD\u179A\u1798\u17B6\u1793" },
@@ -36387,6 +36554,7 @@ function kh_default() {
36387
36554
  }
36388
36555
 
36389
36556
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ko.js
36557
+ init_cjs_shims();
36390
36558
  var error27 = () => {
36391
36559
  const Sizable = {
36392
36560
  string: { unit: "\uBB38\uC790", verb: "to have" },
@@ -36499,6 +36667,7 @@ function ko_default() {
36499
36667
  }
36500
36668
 
36501
36669
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/lt.js
36670
+ init_cjs_shims();
36502
36671
  var capitalizeFirstCharacter = (text) => {
36503
36672
  return text.charAt(0).toUpperCase() + text.slice(1);
36504
36673
  };
@@ -36703,6 +36872,7 @@ function lt_default() {
36703
36872
  }
36704
36873
 
36705
36874
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/mk.js
36875
+ init_cjs_shims();
36706
36876
  var error29 = () => {
36707
36877
  const Sizable = {
36708
36878
  string: { unit: "\u0437\u043D\u0430\u0446\u0438", verb: "\u0434\u0430 \u0438\u043C\u0430\u0430\u0442" },
@@ -36813,6 +36983,7 @@ function mk_default() {
36813
36983
  }
36814
36984
 
36815
36985
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ms.js
36986
+ init_cjs_shims();
36816
36987
  var error30 = () => {
36817
36988
  const Sizable = {
36818
36989
  string: { unit: "aksara", verb: "mempunyai" },
@@ -36921,6 +37092,7 @@ function ms_default() {
36921
37092
  }
36922
37093
 
36923
37094
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/nl.js
37095
+ init_cjs_shims();
36924
37096
  var error31 = () => {
36925
37097
  const Sizable = {
36926
37098
  string: { unit: "tekens", verb: "heeft" },
@@ -37032,6 +37204,7 @@ function nl_default() {
37032
37204
  }
37033
37205
 
37034
37206
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/no.js
37207
+ init_cjs_shims();
37035
37208
  var error32 = () => {
37036
37209
  const Sizable = {
37037
37210
  string: { unit: "tegn", verb: "\xE5 ha" },
@@ -37141,6 +37314,7 @@ function no_default() {
37141
37314
  }
37142
37315
 
37143
37316
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ota.js
37317
+ init_cjs_shims();
37144
37318
  var error33 = () => {
37145
37319
  const Sizable = {
37146
37320
  string: { unit: "harf", verb: "olmal\u0131d\u0131r" },
@@ -37251,6 +37425,7 @@ function ota_default() {
37251
37425
  }
37252
37426
 
37253
37427
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ps.js
37428
+ init_cjs_shims();
37254
37429
  var error34 = () => {
37255
37430
  const Sizable = {
37256
37431
  string: { unit: "\u062A\u0648\u06A9\u064A", verb: "\u0648\u0644\u0631\u064A" },
@@ -37366,6 +37541,7 @@ function ps_default() {
37366
37541
  }
37367
37542
 
37368
37543
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/pl.js
37544
+ init_cjs_shims();
37369
37545
  var error35 = () => {
37370
37546
  const Sizable = {
37371
37547
  string: { unit: "znak\xF3w", verb: "mie\u0107" },
@@ -37476,6 +37652,7 @@ function pl_default() {
37476
37652
  }
37477
37653
 
37478
37654
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/pt.js
37655
+ init_cjs_shims();
37479
37656
  var error36 = () => {
37480
37657
  const Sizable = {
37481
37658
  string: { unit: "caracteres", verb: "ter" },
@@ -37585,6 +37762,7 @@ function pt_default() {
37585
37762
  }
37586
37763
 
37587
37764
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ro.js
37765
+ init_cjs_shims();
37588
37766
  var error37 = () => {
37589
37767
  const Sizable = {
37590
37768
  string: { unit: "caractere", verb: "s\u0103 aib\u0103" },
@@ -37705,6 +37883,7 @@ function ro_default() {
37705
37883
  }
37706
37884
 
37707
37885
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ru.js
37886
+ init_cjs_shims();
37708
37887
  function getRussianPlural(count, one, few, many) {
37709
37888
  const absCount = Math.abs(count);
37710
37889
  const lastDigit = absCount % 10;
@@ -37862,6 +38041,7 @@ function ru_default() {
37862
38041
  }
37863
38042
 
37864
38043
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/sl.js
38044
+ init_cjs_shims();
37865
38045
  var error39 = () => {
37866
38046
  const Sizable = {
37867
38047
  string: { unit: "znakov", verb: "imeti" },
@@ -37972,6 +38152,7 @@ function sl_default() {
37972
38152
  }
37973
38153
 
37974
38154
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/sv.js
38155
+ init_cjs_shims();
37975
38156
  var error40 = () => {
37976
38157
  const Sizable = {
37977
38158
  string: { unit: "tecken", verb: "att ha" },
@@ -38083,6 +38264,7 @@ function sv_default() {
38083
38264
  }
38084
38265
 
38085
38266
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ta.js
38267
+ init_cjs_shims();
38086
38268
  var error41 = () => {
38087
38269
  const Sizable = {
38088
38270
  string: { unit: "\u0B8E\u0BB4\u0BC1\u0BA4\u0BCD\u0BA4\u0BC1\u0B95\u0BCD\u0B95\u0BB3\u0BCD", verb: "\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD" },
@@ -38194,6 +38376,7 @@ function ta_default() {
38194
38376
  }
38195
38377
 
38196
38378
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/th.js
38379
+ init_cjs_shims();
38197
38380
  var error42 = () => {
38198
38381
  const Sizable = {
38199
38382
  string: { unit: "\u0E15\u0E31\u0E27\u0E2D\u0E31\u0E01\u0E29\u0E23", verb: "\u0E04\u0E27\u0E23\u0E21\u0E35" },
@@ -38305,6 +38488,7 @@ function th_default() {
38305
38488
  }
38306
38489
 
38307
38490
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/tr.js
38491
+ init_cjs_shims();
38308
38492
  var error43 = () => {
38309
38493
  const Sizable = {
38310
38494
  string: { unit: "karakter", verb: "olmal\u0131" },
@@ -38410,7 +38594,11 @@ function tr_default() {
38410
38594
  };
38411
38595
  }
38412
38596
 
38597
+ // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ua.js
38598
+ init_cjs_shims();
38599
+
38413
38600
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/uk.js
38601
+ init_cjs_shims();
38414
38602
  var error44 = () => {
38415
38603
  const Sizable = {
38416
38604
  string: { unit: "\u0441\u0438\u043C\u0432\u043E\u043B\u0456\u0432", verb: "\u043C\u0430\u0442\u0438\u043C\u0435" },
@@ -38525,6 +38713,7 @@ function ua_default() {
38525
38713
  }
38526
38714
 
38527
38715
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ur.js
38716
+ init_cjs_shims();
38528
38717
  var error45 = () => {
38529
38718
  const Sizable = {
38530
38719
  string: { unit: "\u062D\u0631\u0648\u0641", verb: "\u06C1\u0648\u0646\u0627" },
@@ -38636,6 +38825,7 @@ function ur_default() {
38636
38825
  }
38637
38826
 
38638
38827
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/uz.js
38828
+ init_cjs_shims();
38639
38829
  var error46 = () => {
38640
38830
  const Sizable = {
38641
38831
  string: { unit: "belgi", verb: "bo\u2018lishi kerak" },
@@ -38747,6 +38937,7 @@ function uz_default() {
38747
38937
  }
38748
38938
 
38749
38939
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/vi.js
38940
+ init_cjs_shims();
38750
38941
  var error47 = () => {
38751
38942
  const Sizable = {
38752
38943
  string: { unit: "k\xFD t\u1EF1", verb: "c\xF3" },
@@ -38856,6 +39047,7 @@ function vi_default() {
38856
39047
  }
38857
39048
 
38858
39049
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/zh-CN.js
39050
+ init_cjs_shims();
38859
39051
  var error48 = () => {
38860
39052
  const Sizable = {
38861
39053
  string: { unit: "\u5B57\u7B26", verb: "\u5305\u542B" },
@@ -38966,6 +39158,7 @@ function zh_CN_default() {
38966
39158
  }
38967
39159
 
38968
39160
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/zh-TW.js
39161
+ init_cjs_shims();
38969
39162
  var error49 = () => {
38970
39163
  const Sizable = {
38971
39164
  string: { unit: "\u5B57\u5143", verb: "\u64C1\u6709" },
@@ -39074,6 +39267,7 @@ function zh_TW_default() {
39074
39267
  }
39075
39268
 
39076
39269
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/yo.js
39270
+ init_cjs_shims();
39077
39271
  var error50 = () => {
39078
39272
  const Sizable = {
39079
39273
  string: { unit: "\xE0mi", verb: "n\xED" },
@@ -39182,6 +39376,7 @@ function yo_default() {
39182
39376
  }
39183
39377
 
39184
39378
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/registries.js
39379
+ init_cjs_shims();
39185
39380
  var _a2;
39186
39381
  var $output = /* @__PURE__ */ Symbol("ZodOutput");
39187
39382
  var $input = /* @__PURE__ */ Symbol("ZodInput");
@@ -39232,6 +39427,7 @@ function registry() {
39232
39427
  var globalRegistry = globalThis.__zod_globalRegistry;
39233
39428
 
39234
39429
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/api.js
39430
+ init_cjs_shims();
39235
39431
  // @__NO_SIDE_EFFECTS__
39236
39432
  function _string(Class2, params) {
39237
39433
  return new Class2({
@@ -40271,6 +40467,7 @@ function _stringFormat(Class2, format, fnOrRegex, _params = {}) {
40271
40467
  }
40272
40468
 
40273
40469
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/to-json-schema.js
40470
+ init_cjs_shims();
40274
40471
  function initializeContext(params) {
40275
40472
  let target = params?.target ?? "draft-2020-12";
40276
40473
  if (target === "draft-4")
@@ -40630,6 +40827,7 @@ var createStandardJSONSchemaMethod = (schema, io, processors = {}) => (params) =
40630
40827
  };
40631
40828
 
40632
40829
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/json-schema-processors.js
40830
+ init_cjs_shims();
40633
40831
  var formatMap = {
40634
40832
  guid: "uuid",
40635
40833
  url: "uri",
@@ -41174,6 +41372,7 @@ function toJSONSchema(input, params) {
41174
41372
  }
41175
41373
 
41176
41374
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/json-schema-generator.js
41375
+ init_cjs_shims();
41177
41376
  var JSONSchemaGenerator = class {
41178
41377
  /** @deprecated Access via ctx instead */
41179
41378
  get metadataRegistry() {
@@ -41250,6 +41449,7 @@ var JSONSchemaGenerator = class {
41250
41449
 
41251
41450
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/json-schema.js
41252
41451
  var json_schema_exports = {};
41452
+ init_cjs_shims();
41253
41453
 
41254
41454
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/schemas.js
41255
41455
  var schemas_exports2 = {};
@@ -41421,6 +41621,7 @@ __export(schemas_exports2, {
41421
41621
  xid: () => xid2,
41422
41622
  xor: () => xor
41423
41623
  });
41624
+ init_cjs_shims();
41424
41625
 
41425
41626
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/checks.js
41426
41627
  var checks_exports2 = {};
@@ -41455,6 +41656,7 @@ __export(checks_exports2, {
41455
41656
  trim: () => _trim,
41456
41657
  uppercase: () => _uppercase
41457
41658
  });
41659
+ init_cjs_shims();
41458
41660
 
41459
41661
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/iso.js
41460
41662
  var iso_exports = {};
@@ -41468,6 +41670,7 @@ __export(iso_exports, {
41468
41670
  duration: () => duration2,
41469
41671
  time: () => time2
41470
41672
  });
41673
+ init_cjs_shims();
41471
41674
  var ZodISODateTime = /* @__PURE__ */ $constructor("ZodISODateTime", (inst, def) => {
41472
41675
  $ZodISODateTime.init(inst, def);
41473
41676
  ZodStringFormat.init(inst, def);
@@ -41497,7 +41700,11 @@ function duration2(params) {
41497
41700
  return _isoDuration(ZodISODuration, params);
41498
41701
  }
41499
41702
 
41703
+ // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/parse.js
41704
+ init_cjs_shims();
41705
+
41500
41706
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/errors.js
41707
+ init_cjs_shims();
41501
41708
  var initializer2 = (inst, issues) => {
41502
41709
  $ZodError.init(inst, issues);
41503
41710
  inst.name = "ZodError";
@@ -42842,6 +43049,7 @@ function preprocess(fn, schema) {
42842
43049
  }
42843
43050
 
42844
43051
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/compat.js
43052
+ init_cjs_shims();
42845
43053
  var ZodIssueCode = {
42846
43054
  invalid_type: "invalid_type",
42847
43055
  too_big: "too_big",
@@ -42868,6 +43076,7 @@ var ZodFirstPartyTypeKind;
42868
43076
  })(ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {}));
42869
43077
 
42870
43078
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/from-json-schema.js
43079
+ init_cjs_shims();
42871
43080
  var z = {
42872
43081
  ...schemas_exports2,
42873
43082
  ...checks_exports2,
@@ -43356,6 +43565,7 @@ __export(coerce_exports, {
43356
43565
  number: () => number3,
43357
43566
  string: () => string3
43358
43567
  });
43568
+ init_cjs_shims();
43359
43569
  function string3(params) {
43360
43570
  return _coercedString(ZodString, params);
43361
43571
  }
@@ -45151,6 +45361,7 @@ limit \u9ED8\u8BA4 500\uFF0C\u786C\u4E0A\u9650 2000\u3002\u8FD4\u56DE\u6BCF\u884
45151
45361
  }
45152
45362
 
45153
45363
  // src/groupDispatchMemory.ts
45364
+ init_cjs_shims();
45154
45365
  var logger6 = createModuleLogger("agent.dispatchMemory");
45155
45366
  var GroupDispatchMemoryStore = class {
45156
45367
  memo = /* @__PURE__ */ new Map();
@@ -45198,6 +45409,7 @@ var GroupDispatchMemoryStore = class {
45198
45409
  };
45199
45410
 
45200
45411
  // src/groupInboxPromptBuilder.ts
45412
+ init_cjs_shims();
45201
45413
  function formatHHMM(epochMs) {
45202
45414
  const d7 = new Date(epochMs);
45203
45415
  const hh2 = String(d7.getHours()).padStart(2, "0");
@@ -45299,6 +45511,7 @@ function buildGroupInboxPrompt(entries, opts = {}) {
45299
45511
  }
45300
45512
 
45301
45513
  // src/sdkEventMapper.ts
45514
+ init_cjs_shims();
45302
45515
  var logger7 = createModuleLogger("sdk.mapper");
45303
45516
  var HIGH_WATERMARK_INPUT_TOKENS = 12e4;
45304
45517
  var WARN_THRESHOLD_INPUT_TOKENS = 1e5;
@@ -46123,6 +46336,7 @@ function resetAccumulators(proc) {
46123
46336
  }
46124
46337
 
46125
46338
  // src/forkHistoryReplay.ts
46339
+ init_cjs_shims();
46126
46340
  var fs3 = __toESM(require("fs/promises"), 1);
46127
46341
  var path7 = __toESM(require("path"), 1);
46128
46342
  var logger8 = createModuleLogger("bridge.forkHistoryReplay");
@@ -46166,6 +46380,7 @@ function buildForkHistorySection(messages) {
46166
46380
  }
46167
46381
 
46168
46382
  // src/wsMetrics.ts
46383
+ init_cjs_shims();
46169
46384
  var import_node_perf_hooks = require("perf_hooks");
46170
46385
  var logger9 = createModuleLogger("ws.metrics");
46171
46386
  var WsMetrics = class {
@@ -48787,6 +49002,7 @@ function computeBoardSignature(entry) {
48787
49002
  }
48788
49003
 
48789
49004
  // src/bridgeFetchAuth.ts
49005
+ init_cjs_shims();
48790
49006
  var logger11 = createModuleLogger("bridge.fetchAuth");
48791
49007
  var BRIDGE_TOKEN_HEADER = "X-AHChat-Bridge-Token";
48792
49008
  function installBridgeFetchAuth(serverApiUrl, token) {
@@ -48828,6 +49044,7 @@ function installBridgeFetchAuth(serverApiUrl, token) {
48828
49044
  }
48829
49045
 
48830
49046
  // src/agentRegistry.ts
49047
+ init_cjs_shims();
48831
49048
  var logger12 = createModuleLogger("agent.registry");
48832
49049
  var HttpAgentRegistry = class {
48833
49050
  constructor(serverApiUrl) {
@@ -48920,6 +49137,7 @@ var HttpAgentRegistry = class {
48920
49137
  };
48921
49138
 
48922
49139
  // src/subscriptionRegistry.ts
49140
+ init_cjs_shims();
48923
49141
  var logger13 = createModuleLogger("subscription.registry");
48924
49142
  var HttpSubscriptionRegistry = class {
48925
49143
  constructor(serverApiUrl) {
@@ -48986,6 +49204,7 @@ var HttpSubscriptionRegistry = class {
48986
49204
  };
48987
49205
 
48988
49206
  // src/groupRegistry.ts
49207
+ init_cjs_shims();
48989
49208
  var logger14 = createModuleLogger("neural.groupRegistry");
48990
49209
  var GroupRegistry = class {
48991
49210
  groups = /* @__PURE__ */ new Map();
@@ -49174,9 +49393,11 @@ var GroupRegistry = class {
49174
49393
  };
49175
49394
 
49176
49395
  // src/connector.ts
49396
+ init_cjs_shims();
49177
49397
  var import_node_os6 = __toESM(require("os"), 1);
49178
49398
 
49179
49399
  // ../../node_modules/.pnpm/ws@8.20.1/node_modules/ws/wrapper.mjs
49400
+ init_cjs_shims();
49180
49401
  var import_stream2 = __toESM(require_stream(), 1);
49181
49402
  var import_extension = __toESM(require_extension(), 1);
49182
49403
  var import_permessage_deflate = __toESM(require_permessage_deflate(), 1);
@@ -49411,6 +49632,7 @@ var ServerConnector = class {
49411
49632
  };
49412
49633
 
49413
49634
  // src/contextDumper.ts
49635
+ init_cjs_shims();
49414
49636
  var import_promises9 = __toESM(require("fs/promises"), 1);
49415
49637
  var import_node_os7 = __toESM(require("os"), 1);
49416
49638
  var import_node_path9 = __toESM(require("path"), 1);
@@ -49812,6 +50034,7 @@ async function dumpAgentContext(agentId, deps) {
49812
50034
  }
49813
50035
 
49814
50036
  // src/listDir.ts
50037
+ init_cjs_shims();
49815
50038
  var import_promises10 = __toESM(require("fs/promises"), 1);
49816
50039
  var import_node_path10 = __toESM(require("path"), 1);
49817
50040
  var logger17 = createModuleLogger("bridge.listDir");
@@ -49852,6 +50075,7 @@ async function listDirectoryEntries(dirPath) {
49852
50075
  }
49853
50076
 
49854
50077
  // src/logScanner.ts
50078
+ init_cjs_shims();
49855
50079
  var import_node_fs4 = __toESM(require("fs"), 1);
49856
50080
  var import_node_path11 = __toESM(require("path"), 1);
49857
50081
  var import_node_os8 = __toESM(require("os"), 1);
@@ -49927,6 +50151,7 @@ async function scanBridgeLogs(filter) {
49927
50151
  }
49928
50152
 
49929
50153
  // src/skillStore.ts
50154
+ init_cjs_shims();
49930
50155
  var import_node_fs5 = __toESM(require("fs"), 1);
49931
50156
  var import_node_path12 = __toESM(require("path"), 1);
49932
50157
  var logger19 = createModuleLogger("bridge.skillStore");
@@ -49980,6 +50205,7 @@ var SkillStore = class {
49980
50205
  };
49981
50206
 
49982
50207
  // src/lockfile.ts
50208
+ init_cjs_shims();
49983
50209
  var import_node_fs6 = __toESM(require("fs"), 1);
49984
50210
  var import_node_path13 = __toESM(require("path"), 1);
49985
50211
  var logger20 = createModuleLogger("bridge.lockfile");
@@ -50036,7 +50262,11 @@ function acquireLock(dataDir) {
50036
50262
  });
50037
50263
  }
50038
50264
 
50265
+ // src/messageHandler.ts
50266
+ init_cjs_shims();
50267
+
50039
50268
  // src/groupInbox.ts
50269
+ init_cjs_shims();
50040
50270
  function groupInboxEntryFromDispatch(payload) {
50041
50271
  return {
50042
50272
  ackId: payload.ackId,
@@ -50230,6 +50460,7 @@ function createGroupTaskDispatchHandler(agentManager, agentRegistry, emit) {
50230
50460
  }
50231
50461
 
50232
50462
  // src/scopePushNotify.ts
50463
+ init_cjs_shims();
50233
50464
  var logger22 = createModuleLogger("bridge");
50234
50465
  function buildMemberChangedScopeNotice(params) {
50235
50466
  const { groupId, groupLabel, action, kickerName } = params;
@@ -50370,6 +50601,7 @@ async function handleGroupArchivedPush(deps, payload) {
50370
50601
  }
50371
50602
 
50372
50603
  // src/sessionStore.ts
50604
+ init_cjs_shims();
50373
50605
  var import_node_fs7 = __toESM(require("fs"), 1);
50374
50606
  var import_node_path14 = __toESM(require("path"), 1);
50375
50607
  var logger23 = createModuleLogger("session.store");
@@ -50447,6 +50679,7 @@ var SessionStore = class {
50447
50679
  };
50448
50680
 
50449
50681
  // src/ensureClaudeCli.ts
50682
+ init_cjs_shims();
50450
50683
  var import_node_child_process2 = require("child_process");
50451
50684
  var import_node_fs8 = require("fs");
50452
50685
  var import_node_path15 = require("path");
@@ -50536,8 +50769,7 @@ function installClaudeCli() {
50536
50769
  const envPath = process.env.PATH ?? "(unset)";
50537
50770
  logger24.error("claude not found after successful npm install -g", {
50538
50771
  npmGlobalBin: npmBin ?? "unknown",
50539
- pathDirectories: envPath.split(":").slice(0, 10),
50540
- // first 10 to avoid log spam
50772
+ pathDirectories: envPath.split(process.platform === "win32" ? ";" : ":").slice(0, 10),
50541
50773
  npmPrefix: (0, import_node_child_process2.execSync)("npm prefix -g", { timeout: 5e3 }).toString().trim() || "unknown"
50542
50774
  });
50543
50775
  return void 0;
@@ -50567,10 +50799,12 @@ async function ensureClaudeCli() {
50567
50799
  }
50568
50800
 
50569
50801
  // src/forkAgentFiles.ts
50802
+ init_cjs_shims();
50570
50803
  var fs11 = __toESM(require("fs/promises"), 1);
50571
50804
  var path16 = __toESM(require("path"), 1);
50572
50805
 
50573
50806
  // src/sessionSlug.ts
50807
+ init_cjs_shims();
50574
50808
  var import_node_os9 = __toESM(require("os"), 1);
50575
50809
  var import_node_path16 = __toESM(require("path"), 1);
50576
50810
  var CLAUDE_PROJECTS_DIR = import_node_path16.default.join(import_node_os9.default.homedir(), ".claude", "projects");
@@ -50688,6 +50922,7 @@ async function forkAgentFiles(sourceAgentId, newAgentId, sourceWorkdir, newWorkd
50688
50922
  }
50689
50923
 
50690
50924
  // src/modelQuerier.ts
50925
+ init_cjs_shims();
50691
50926
  var import_promises11 = __toESM(require("fs/promises"), 1);
50692
50927
  var import_node_os10 = __toESM(require("os"), 1);
50693
50928
  var import_node_path17 = __toESM(require("path"), 1);
@@ -50755,6 +50990,7 @@ async function listModels(queryFn, opts = {}) {
50755
50990
  }
50756
50991
 
50757
50992
  // src/promptOptimizer.ts
50993
+ init_cjs_shims();
50758
50994
  var import_promises12 = __toESM(require("fs/promises"), 1);
50759
50995
  var import_node_os11 = __toESM(require("os"), 1);
50760
50996
  var import_node_path18 = __toESM(require("path"), 1);
@@ -51381,14 +51617,19 @@ function compactEnv(env2) {
51381
51617
  }
51382
51618
 
51383
51619
  // src/protocol.ts
51620
+ init_cjs_shims();
51384
51621
  var import_node_child_process3 = require("child_process");
51385
51622
  var import_node_fs9 = __toESM(require("fs"), 1);
51386
51623
  var import_node_os12 = __toESM(require("os"), 1);
51387
51624
  var import_node_path20 = __toESM(require("path"), 1);
51388
51625
  var logger29 = createModuleLogger("bridge.protocol");
51389
- function getBridgeExePath() {
51390
- const pkgDir = import_node_path20.default.resolve(__dirname, "..");
51391
- return import_node_path20.default.join(pkgDir, "dist", "cli.cjs");
51626
+ function getStableExePath() {
51627
+ const bridgeDir = import_node_path20.default.join(import_node_os12.default.homedir(), ".ahchat", "bridge");
51628
+ import_node_fs9.default.mkdirSync(bridgeDir, { recursive: true });
51629
+ const stablePath = import_node_path20.default.join(bridgeDir, "cli.cjs");
51630
+ import_node_fs9.default.copyFileSync(__filename, stablePath);
51631
+ if (process.platform !== "win32") import_node_fs9.default.chmodSync(stablePath, 493);
51632
+ return stablePath;
51392
51633
  }
51393
51634
  function registerProtocolHandler() {
51394
51635
  const platform = import_node_os12.default.platform();
@@ -51402,99 +51643,106 @@ function registerProtocolHandler() {
51402
51643
  logger29.info("Protocol handler registered", { platform });
51403
51644
  }
51404
51645
  function registerWindows() {
51405
- const exe = getBridgeExePath();
51406
51646
  const nodeExe = process.execPath;
51407
- const ahchatDir = import_node_path20.default.join(import_node_os12.default.homedir(), ".ahchat");
51408
- const urlFilePath = import_node_path20.default.join(ahchatDir, ".bridge-launch-url");
51409
- import_node_fs9.default.mkdirSync(ahchatDir, { recursive: true });
51410
- const psScriptPath = import_node_path20.default.join(ahchatDir, "launch-bridge.ps1");
51411
- const psContent = `param([string]$url)
51412
- if (-not $url) {
51413
- if (Test-Path '${urlFilePath}') {
51414
- $url = Get-Content '${urlFilePath}' -Raw
51647
+ const stableExePath = getStableExePath();
51648
+ const bridgeDir = import_node_path20.default.join(import_node_os12.default.homedir(), ".ahchat", "bridge");
51649
+ const psLauncherPath = import_node_path20.default.join(bridgeDir, "launch-bridge.ps1");
51650
+ import_node_fs9.default.writeFileSync(
51651
+ psLauncherPath,
51652
+ [
51653
+ `param([string]$url)`,
51654
+ `& '${nodeExe.replace(/'/g, "''")}' '${stableExePath.replace(/'/g, "''")}' launch --url $url`
51655
+ ].join("\r\n")
51656
+ );
51657
+ const handlerValue = `powershell -ExecutionPolicy Bypass -File "${psLauncherPath}" -url "%1"`;
51658
+ const psRegisterPath = import_node_path20.default.join(bridgeDir, "register-protocol.ps1");
51659
+ import_node_fs9.default.writeFileSync(
51660
+ psRegisterPath,
51661
+ [
51662
+ `$handler = '${handlerValue.replace(/'/g, "''")}'`,
51663
+ `$icon = '${nodeExe.replace(/'/g, "''")}'`,
51664
+ `New-Item -Path 'HKCU:\\Software\\Classes\\ahchat' -Force | Out-Null`,
51665
+ `Set-ItemProperty -Path 'HKCU:\\Software\\Classes\\ahchat' -Name '(Default)' -Value 'URL:ahchat' -Force`,
51666
+ `New-ItemProperty -Path 'HKCU:\\Software\\Classes\\ahchat' -Name 'URL Protocol' -Value '' -PropertyType String -Force | Out-Null`,
51667
+ `New-Item -Path 'HKCU:\\Software\\Classes\\ahchat\\DefaultIcon' -Force | Out-Null`,
51668
+ `Set-ItemProperty -Path 'HKCU:\\Software\\Classes\\ahchat\\DefaultIcon' -Name '(Default)' -Value $icon -Force`,
51669
+ `New-Item -Path 'HKCU:\\Software\\Classes\\ahchat\\shell\\open\\command' -Force | Out-Null`,
51670
+ `Set-ItemProperty -Path 'HKCU:\\Software\\Classes\\ahchat\\shell\\open\\command' -Name '(Default)' -Value $handler -Force`
51671
+ ].join("\r\n")
51672
+ );
51673
+ try {
51674
+ (0, import_node_child_process3.execSync)(`powershell -ExecutionPolicy Bypass -File "${psRegisterPath}"`, { stdio: "pipe" });
51675
+ } catch (e7) {
51676
+ logger29.error("Failed to register Windows protocol handler", { error: e7 });
51677
+ throw new Error("Failed to register Windows protocol handler");
51415
51678
  }
51679
+ logger29.info("Windows protocol handler registered", { psLauncherPath });
51416
51680
  }
51417
- if (-not $url) {
51418
- Write-Error "No URL provided"
51419
- exit 1
51420
- }
51421
- & '${nodeExe}' '${exe}' launch --url $url
51422
- `;
51423
- import_node_fs9.default.writeFileSync(psScriptPath, psContent);
51424
- const handler = `powershell -ExecutionPolicy Bypass -File "${psScriptPath}" -url "%1"`;
51425
- const regCommands = [
51426
- `REG ADD "HKCU\\Software\\Classes\\ahchat" /ve /d "URL:ahchat" /f`,
51427
- `REG ADD "HKCU\\Software\\Classes\\ahchat" /v "URL Protocol" /d "" /f`,
51428
- `REG ADD "HKCU\\Software\\Classes\\ahchat\\DefaultIcon" /ve /d "${nodeExe}" /f`,
51429
- `REG ADD "HKCU\\Software\\Classes\\ahchat\\shell\\open\\command" /ve /t REG_SZ /d "${handler}" /f`
51430
- ];
51431
- for (const cmd of regCommands) {
51681
+ function registerMacOS() {
51682
+ const appDir = import_node_path20.default.join(import_node_os12.default.homedir(), "Applications", "AHChatBridge.app");
51683
+ const nodeExe = process.execPath;
51684
+ const stableExePath = getStableExePath();
51685
+ const bridgeDir = import_node_path20.default.join(import_node_os12.default.homedir(), ".ahchat", "bridge");
51686
+ const launchScriptPath = import_node_path20.default.join(bridgeDir, "launch-bridge.sh");
51687
+ import_node_fs9.default.writeFileSync(
51688
+ launchScriptPath,
51689
+ `#!/bin/bash
51690
+ exec ${JSON.stringify(nodeExe)} ${JSON.stringify(stableExePath)} launch --url "$1"
51691
+ `
51692
+ );
51693
+ import_node_fs9.default.chmodSync(launchScriptPath, 493);
51694
+ const escapedScriptPath = launchScriptPath.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
51695
+ const appleScript = [
51696
+ `on open location thisURL`,
51697
+ ` set launchScript to "${escapedScriptPath}"`,
51698
+ ` do shell script "/bin/bash " & (quoted form of launchScript) & " " & (quoted form of thisURL) & " >/tmp/ahchat-bridge.log 2>&1 &"`,
51699
+ `end open location`
51700
+ ].join("\n");
51701
+ const tmpScript = import_node_path20.default.join(import_node_os12.default.tmpdir(), "AHChatBridge.applescript");
51702
+ import_node_fs9.default.writeFileSync(tmpScript, appleScript);
51703
+ try {
51704
+ import_node_fs9.default.rmSync(appDir, { recursive: true, force: true });
51705
+ } catch {
51706
+ }
51707
+ try {
51708
+ (0, import_node_child_process3.execSync)(`osacompile -o ${JSON.stringify(appDir)} ${JSON.stringify(tmpScript)}`, { stdio: "pipe" });
51709
+ } finally {
51432
51710
  try {
51433
- (0, import_node_child_process3.execSync)(cmd, { stdio: "pipe" });
51434
- } catch (e7) {
51435
- logger29.error("Failed to register Windows protocol handler", { error: e7, cmd });
51436
- throw new Error(`Failed to register protocol handler: ${cmd}`);
51711
+ import_node_fs9.default.unlinkSync(tmpScript);
51712
+ } catch {
51437
51713
  }
51438
51714
  }
51439
- logger29.info("Windows protocol handler registered", { psScriptPath });
51440
- }
51441
- function registerMacOS() {
51442
- const appDir = import_node_path20.default.join(import_node_os12.default.homedir(), "Applications", "AHChatBridge.app");
51443
- const contentsDir = import_node_path20.default.join(appDir, "Contents");
51444
- const macosDir = import_node_path20.default.join(contentsDir, "MacOS");
51445
- const resourcesDir = import_node_path20.default.join(contentsDir, "Resources");
51446
- import_node_fs9.default.mkdirSync(macosDir, { recursive: true });
51447
- import_node_fs9.default.mkdirSync(resourcesDir, { recursive: true });
51448
- const infoPlist = `<?xml version="1.0" encoding="UTF-8"?>
51449
- <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
51450
- <plist version="1.0">
51451
- <dict>
51452
- <key>CFBundleName</key>
51453
- <string>AHChatBridge</string>
51454
- <key>CFBundleDisplayName</key>
51455
- <string>AHChat Bridge</string>
51456
- <key>CFBundleIdentifier</key>
51457
- <string>com.fangyb.ahchat-bridge</string>
51458
- <key>CFBundleVersion</key>
51459
- <string>0.1.0</string>
51460
- <key>CFBundlePackageType</key>
51461
- <string>APPL</string>
51462
- <key>CFBundleExecutable</key>
51463
- <string>launch.sh</string>
51464
- <key>CFBundleURLTypes</key>
51465
- <array>
51466
- <dict>
51467
- <key>CFBundleURLName</key>
51468
- <string>AHChat Bridge</string>
51469
- <key>CFBundleURLSchemes</key>
51470
- <array>
51471
- <string>ahchat</string>
51472
- </array>
51473
- </dict>
51474
- </array>
51475
- </dict>
51476
- </plist>`;
51477
- const launchScript = `#!/bin/bash
51478
- URL="$1"
51479
- exec "${process.execPath}" "${getBridgeExePath()}" launch --url "$URL"`;
51480
- import_node_fs9.default.writeFileSync(import_node_path20.default.join(contentsDir, "Info.plist"), infoPlist);
51481
- import_node_fs9.default.writeFileSync(import_node_path20.default.join(macosDir, "launch.sh"), launchScript);
51482
- import_node_fs9.default.chmodSync(import_node_path20.default.join(macosDir, "launch.sh"), 493);
51715
+ const plistPath = import_node_path20.default.join(appDir, "Contents", "Info.plist");
51716
+ const urlTypes = JSON.stringify([{ CFBundleURLName: "AHChat Bridge", CFBundleURLSchemes: ["ahchat"] }]);
51717
+ (0, import_node_child_process3.execSync)(
51718
+ `/usr/bin/plutil -insert CFBundleURLTypes -json ${JSON.stringify(urlTypes)} ${JSON.stringify(plistPath)}`,
51719
+ { stdio: "pipe" }
51720
+ );
51721
+ const lsregister = "/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister";
51722
+ try {
51723
+ (0, import_node_child_process3.execSync)(`${lsregister} -f ${JSON.stringify(appDir)}`, { stdio: "pipe" });
51724
+ } catch (e7) {
51725
+ logger29.warn("lsregister failed; URL scheme registration may be delayed", { error: e7 });
51726
+ }
51483
51727
  logger29.info("macOS protocol handler registered", { appDir });
51484
51728
  }
51485
51729
  function registerLinux() {
51486
- const desktopFile = `[Desktop Entry]
51487
- Name=AHChat Bridge
51488
- Exec=${process.execPath} ${getBridgeExePath()} launch --url %u
51489
- Type=Application
51490
- NoDisplay=true
51491
- MimeType=x-scheme-handler/ahchat;`;
51730
+ const stableExePath = getStableExePath();
51731
+ const desktopFile = [
51732
+ `[Desktop Entry]`,
51733
+ `Name=AHChat Bridge`,
51734
+ `Exec=${process.execPath} ${stableExePath} launch --url %u`,
51735
+ `Type=Application`,
51736
+ `NoDisplay=true`,
51737
+ `MimeType=x-scheme-handler/ahchat;`
51738
+ ].join("\n");
51492
51739
  const desktopPath = import_node_path20.default.join(import_node_os12.default.homedir(), ".local", "share", "applications", "ahchat-bridge.desktop");
51493
51740
  import_node_fs9.default.mkdirSync(import_node_path20.default.dirname(desktopPath), { recursive: true });
51494
51741
  import_node_fs9.default.writeFileSync(desktopPath, desktopFile);
51495
51742
  try {
51496
51743
  (0, import_node_child_process3.execSync)("update-desktop-database ~/.local/share/applications/", { stdio: "pipe" });
51497
- } catch {
51744
+ } catch (e7) {
51745
+ logger29.warn("update-desktop-database not available; run it manually if needed", { error: e7 });
51498
51746
  }
51499
51747
  logger29.info("Linux protocol handler registered", { desktopPath });
51500
51748
  }
@@ -51502,16 +51750,16 @@ function unregisterProtocolHandler() {
51502
51750
  const platform = import_node_os12.default.platform();
51503
51751
  if (platform === "win32") {
51504
51752
  try {
51505
- (0, import_node_child_process3.execSync)('REG DELETE "HKCU\\Software\\Classes\\ahchat" /f', { stdio: "pipe" });
51506
- const psScriptPath = import_node_path20.default.join(import_node_os12.default.homedir(), ".ahchat", "launch-bridge.ps1");
51507
- const urlFilePath = import_node_path20.default.join(import_node_os12.default.homedir(), ".ahchat", ".bridge-launch-url");
51508
- try {
51509
- import_node_fs9.default.unlinkSync(psScriptPath);
51510
- } catch {
51511
- }
51512
- try {
51513
- import_node_fs9.default.unlinkSync(urlFilePath);
51514
- } catch {
51753
+ (0, import_node_child_process3.execSync)(
51754
+ `powershell -ExecutionPolicy Bypass -Command "Remove-Item -Path 'HKCU:\\Software\\Classes\\ahchat' -Recurse -Force -ErrorAction SilentlyContinue"`,
51755
+ { stdio: "pipe" }
51756
+ );
51757
+ const bridgeDir = import_node_path20.default.join(import_node_os12.default.homedir(), ".ahchat", "bridge");
51758
+ for (const f7 of ["launch-bridge.ps1", "register-protocol.ps1"]) {
51759
+ try {
51760
+ import_node_fs9.default.unlinkSync(import_node_path20.default.join(bridgeDir, f7));
51761
+ } catch {
51762
+ }
51515
51763
  }
51516
51764
  logger29.info("Windows protocol handler unregistered");
51517
51765
  } catch (e7) {
@@ -51581,7 +51829,7 @@ async function run(args) {
51581
51829
  }
51582
51830
  if (args.token) config2 = { ...config2, bridgeToken: args.token };
51583
51831
  if (args.dataDir) {
51584
- const resolved = args.dataDir.startsWith("~/") ? import_node_path21.default.join(import_node_os13.default.homedir(), args.dataDir.slice(2)) : args.dataDir;
51832
+ const resolved = /^~[/\\]/.test(args.dataDir) ? import_node_path21.default.join(import_node_os13.default.homedir(), args.dataDir.slice(2)) : args.dataDir;
51585
51833
  config2 = { ...config2, dataDir: resolved };
51586
51834
  }
51587
51835
  if (args.logLevel) config2 = { ...config2, logLevel: args.logLevel };