openhorse 0.2.3 → 0.2.5

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 (50) hide show
  1. package/dist/commands/index.d.ts.map +1 -1
  2. package/dist/commands/index.js +81 -21
  3. package/dist/commands/index.js.map +1 -1
  4. package/dist/framework/query.d.ts +2 -0
  5. package/dist/framework/query.d.ts.map +1 -1
  6. package/dist/framework/query.js +7 -0
  7. package/dist/framework/query.js.map +1 -1
  8. package/dist/harness/context-harness.d.ts +14 -0
  9. package/dist/harness/context-harness.d.ts.map +1 -1
  10. package/dist/harness/context-harness.js +21 -0
  11. package/dist/harness/context-harness.js.map +1 -1
  12. package/dist/harness/evidence.d.ts.map +1 -1
  13. package/dist/harness/evidence.js +2 -1
  14. package/dist/harness/evidence.js.map +1 -1
  15. package/dist/harness/harness.d.ts +4 -42
  16. package/dist/harness/harness.d.ts.map +1 -1
  17. package/dist/harness/harness.js +7 -48
  18. package/dist/harness/harness.js.map +1 -1
  19. package/dist/index.js +1 -1
  20. package/dist/index.js.map +1 -1
  21. package/dist/runtime/chat-controller.d.ts.map +1 -1
  22. package/dist/runtime/chat-controller.js +3 -2
  23. package/dist/runtime/chat-controller.js.map +1 -1
  24. package/dist/services/compact/auto-compact.d.ts +3 -0
  25. package/dist/services/compact/auto-compact.d.ts.map +1 -1
  26. package/dist/services/compact/auto-compact.js +8 -2
  27. package/dist/services/compact/auto-compact.js.map +1 -1
  28. package/dist/services/compact/compact.d.ts +3 -0
  29. package/dist/services/compact/compact.d.ts.map +1 -1
  30. package/dist/services/compact/compact.js +4 -1
  31. package/dist/services/compact/compact.js.map +1 -1
  32. package/dist/services/compact/summary-generator.d.ts +11 -0
  33. package/dist/services/compact/summary-generator.d.ts.map +1 -1
  34. package/dist/services/compact/summary-generator.js +57 -0
  35. package/dist/services/compact/summary-generator.js.map +1 -1
  36. package/dist/services/session-index.d.ts +45 -0
  37. package/dist/services/session-index.d.ts.map +1 -0
  38. package/dist/services/session-index.js +183 -0
  39. package/dist/services/session-index.js.map +1 -0
  40. package/dist/services/session-storage.d.ts.map +1 -1
  41. package/dist/services/session-storage.js +26 -4
  42. package/dist/services/session-storage.js.map +1 -1
  43. package/dist/tools/index.d.ts.map +1 -1
  44. package/dist/tools/index.js +207 -9
  45. package/dist/tools/index.js.map +1 -1
  46. package/dist/utils/token-estimate.d.ts +42 -0
  47. package/dist/utils/token-estimate.d.ts.map +1 -0
  48. package/dist/utils/token-estimate.js +150 -0
  49. package/dist/utils/token-estimate.js.map +1 -0
  50. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"session-storage.d.ts","sourceRoot":"","sources":["../../src/services/session-storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-storage.d.ts","sourceRoot":"","sources":["../../src/services/session-storage.ts"],"names":[],"mappings":"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"}
@@ -39,6 +39,7 @@ const child_process_1 = require("child_process");
39
39
  const path_1 = require("path");
40
40
  const config_dir_1 = require("./config-dir");
41
41
  const atomic_write_1 = require("./atomic-write");
42
+ const session_index_1 = require("./session-index");
42
43
  const harness_1 = require("../harness");
43
44
  // ============================================================================
44
45
  // Project helpers
@@ -133,12 +134,23 @@ function uniquePaths(paths) {
133
134
  function parseSessionMetaFile(path) {
134
135
  try {
135
136
  const content = (0, fs_1.readFileSync)(path, 'utf-8');
136
- return JSON.parse(content);
137
+ const parsed = JSON.parse(content);
138
+ if (typeof parsed.id !== 'string' || !parsed.id)
139
+ return null;
140
+ if (typeof parsed.projectPath !== 'string' || !parsed.projectPath)
141
+ return null;
142
+ return parsed;
137
143
  }
138
144
  catch {
139
145
  return null;
140
146
  }
141
147
  }
148
+ function isSessionMetaFile(file) {
149
+ return file.endsWith('.json')
150
+ && !file.endsWith('.messages.json')
151
+ && !file.endsWith('.harness.json')
152
+ && !file.endsWith('.index.json');
153
+ }
142
154
  function parseHarnessSidecarFile(path) {
143
155
  try {
144
156
  const content = (0, fs_1.readFileSync)(path, 'utf-8');
@@ -471,6 +483,10 @@ function appendSessionMessage(sessionId, message) {
471
483
  for (const path of uniquePaths(paths)) {
472
484
  (0, fs_1.appendFileSync)(path, line, { mode: 0o600 });
473
485
  }
486
+ // Update session index for fast search
487
+ if (session) {
488
+ (0, session_index_1.updateSessionIndex)(sessionId, session.projectPath, message);
489
+ }
474
490
  }
475
491
  /**
476
492
  * 追加多条会话消息
@@ -490,6 +506,11 @@ function appendSessionMessages(sessionId, messages) {
490
506
  for (const path of uniquePaths(paths)) {
491
507
  (0, fs_1.appendFileSync)(path, lines, { mode: 0o600 });
492
508
  }
509
+ if (session) {
510
+ for (const message of messages) {
511
+ (0, session_index_1.updateSessionIndex)(sessionId, session.projectPath, message);
512
+ }
513
+ }
493
514
  }
494
515
  /**
495
516
  * 读取会话消息
@@ -546,7 +567,7 @@ function listSessions(limit) {
546
567
  const sessionsDir = (0, config_dir_1.getSessionsDir)();
547
568
  const sessionsById = new Map();
548
569
  if ((0, fs_1.existsSync)(sessionsDir)) {
549
- const files = (0, fs_1.readdirSync)(sessionsDir).filter(f => f.endsWith('.json') && !f.endsWith('.harness.json'));
570
+ const files = (0, fs_1.readdirSync)(sessionsDir).filter(isSessionMetaFile);
550
571
  for (const file of files) {
551
572
  const rawSession = parseSessionMetaFile((0, path_1.join)(sessionsDir, file));
552
573
  if (rawSession) {
@@ -560,7 +581,7 @@ function listSessions(limit) {
560
581
  const projectSessionsDir = (0, path_1.join)(projectsDir, projectKey, 'sessions');
561
582
  if (!(0, fs_1.existsSync)(projectSessionsDir))
562
583
  continue;
563
- const files = (0, fs_1.readdirSync)(projectSessionsDir).filter(f => f.endsWith('.json') && !f.endsWith('.harness.json'));
584
+ const files = (0, fs_1.readdirSync)(projectSessionsDir).filter(isSessionMetaFile);
564
585
  for (const file of files) {
565
586
  const rawSession = parseSessionMetaFile((0, path_1.join)(projectSessionsDir, file));
566
587
  if (rawSession) {
@@ -580,7 +601,7 @@ function listProjectSessions(projectPath, limit) {
580
601
  const sessionsById = new Map();
581
602
  const projectSessionsDir = (0, config_dir_1.getProjectSessionsDir)(canonicalProjectPath);
582
603
  if ((0, fs_1.existsSync)(projectSessionsDir)) {
583
- const files = (0, fs_1.readdirSync)(projectSessionsDir).filter(f => f.endsWith('.json') && !f.endsWith('.harness.json'));
604
+ const files = (0, fs_1.readdirSync)(projectSessionsDir).filter(isSessionMetaFile);
584
605
  for (const file of files) {
585
606
  const rawSession = parseSessionMetaFile((0, path_1.join)(projectSessionsDir, file));
586
607
  if (rawSession) {
@@ -654,6 +675,7 @@ function deleteSession(sessionId) {
654
675
  ];
655
676
  if (session) {
656
677
  paths.push((0, config_dir_1.getProjectSessionMetaPath)(session.projectPath, sessionId), (0, config_dir_1.getProjectSessionMessagesPath)(session.projectPath, sessionId), (0, config_dir_1.getProjectSessionHarnessPath)(session.projectPath, sessionId));
678
+ (0, session_index_1.deleteSessionIndex)(sessionId, session.projectPath);
657
679
  }
658
680
  let deleted = false;
659
681
  for (const path of uniquePaths(paths)) {
@@ -1 +1 @@
1
- {"version":3,"file":"session-storage.js","sourceRoot":"","sources":["../../src/services/session-storage.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAmJH,gDAiCC;AAED,sCAEC;AA0GD,sCAuBC;AAKD,0CAOC;AAKD,0CAuBC;AAKD,gDASC;AAgBD,sCAUC;AAKD,8DA2BC;AAED,0DA+BC;AAED,kDASC;AAED,8EASC;AAKD,gCAQC;AAMD,oDAyCC;AAKD,wCAIC;AASD,sCAKC;AAMD,kCAkBC;AAKD,gDAIC;AASD,oDAgBC;AAKD,sDAkBC;AAKD,kDAsBC;AAMD,gDAoBC;AAKD,oCAkCC;AAKD,kDAiBC;AAMD,kCAOC;AAMD,4CAmCC;AAKD,sCAUC;AAKD,sCAyBC;AAv1BD,2BAA+G;AAC/G,mCAAoC;AACpC,iDAA6C;AAC7C,+BAAqC;AACrC,6CAasB;AACtB,iDAAqD;AAErD,wCAA4I;AAiH5I,+EAA+E;AAC/E,kBAAkB;AAClB,+EAA+E;AAE/E,MAAM,wBAAwB,GAAG,IAAI,GAAG,EAAkB,CAAC;AAC3D,MAAM,cAAc,GAAG,IAAI,GAAG,EAA8B,CAAC;AAE7D;;;;GAIG;AACH,SAAgB,kBAAkB,CAAC,MAAc,OAAO,CAAC,GAAG,EAAE;IAC5D,MAAM,QAAQ,GAAG,IAAA,cAAO,EAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAG,wBAAwB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtD,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,YAAY,GAAG,QAAQ,CAAC;IAE5B,IAAI,IAAA,eAAU,EAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAA,4BAAY,EAAC,KAAK,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,CAAC,EAAE;gBACjF,QAAQ,EAAE,OAAO;gBACjB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;aACpC,CAAC,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,IAAI,EAAE,CAAC;gBACT,YAAY,GAAG,IAAA,iBAAY,EAAC,IAAI,CAAC,CAAC;gBAClC,wBAAwB,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;gBACrD,OAAO,YAAY,CAAC;YACtB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,6CAA6C;QAC/C,CAAC;IACH,CAAC;IAED,IAAI,CAAC;QACH,YAAY,GAAG,IAAA,iBAAY,EAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,YAAY,GAAG,QAAQ,CAAC;IAC1B,CAAC;IAED,wBAAwB,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACrD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAgB,aAAa,CAAC,WAAmB;IAC/C,OAAO,IAAA,8BAAiB,EAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,YAAY,CAAC,WAAmB;IACvC,IAAI,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;QACpC,OAAO,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,CAAC,IAAA,eAAU,EAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,cAAc,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAC3C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAA,4BAAY,EAAC,KAAK,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE;YAC3F,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;SACpC,CAAC,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,KAAK,GAAG,MAAM,IAAI,SAAS,CAAC;QAClC,cAAc,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QACvC,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACP,cAAc,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAC3C,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAoB;IAChD,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IAClD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,OAAO,IAAI,SAAS,CAAC;IAEpE,OAAO;QACL,GAAG,OAAO;QACV,WAAW;QACX,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,IAAA,8BAAiB,EAAC,WAAW,CAAC;QAChE,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,WAAW;QAC/B,SAAS;QACT,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;QACjE,SAAS;QACT,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;QACvE,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,CAAC;QACvC,gBAAgB,EAAE,8BAA8B,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC;QACjF,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,CAAC;QACnC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC;QACvB,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,YAAY,CAAC,WAAW,CAAC;KAC1D,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,KAAe;IAClC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAY;IACxC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAA,iBAAY,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAgB,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAY;IAC3C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAA,iBAAY,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAmB,CAAC;QACrD,OAAO,MAAM,EAAE,OAAO,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,YAAsC,EAAE,OAAoB;IACvF,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC9C,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7E,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC;IAExD,IAAI,CAAC,QAAQ,IAAI,QAAQ,IAAI,YAAY,EAAE,CAAC;QAC1C,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,QAAuB;IACtD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AAC9F,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,IAAI,CAAC;QACH,OAAO,IAAA,eAAU,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAA,aAAQ,EAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,8BAA8B,CAAC,OAAgD;IACtF,MAAM,WAAW,GAAG,YAAY,CAAC,IAAA,0CAA6B,EAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IACjG,IAAI,WAAW,KAAK,IAAI;QAAE,OAAO,WAAW,CAAC;IAC7C,OAAO,YAAY,CAAC,IAAA,mCAAsB,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AAC/D,CAAC;AAED,+EAA+E;AAC/E,OAAO;AACP,+EAA+E;AAE/E;;GAEG;AACH,SAAgB,aAAa,CAAC,WAAmB,EAAE,KAAa;IAC9D,IAAA,4BAAe,GAAE,CAAC;IAClB,MAAM,oBAAoB,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC7D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEvB,MAAM,OAAO,GAAgB;QAC3B,EAAE,EAAE,IAAA,mBAAU,GAAE;QAChB,WAAW,EAAE,oBAAoB;QACjC,UAAU,EAAE,IAAA,8BAAiB,EAAC,oBAAoB,CAAC;QACnD,GAAG,EAAE,IAAA,cAAO,EAAC,WAAW,CAAC;QACzB,KAAK;QACL,SAAS,EAAE,GAAG;QACd,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE;QACtC,SAAS,EAAE,GAAG;QACd,YAAY,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE;QACzC,YAAY,EAAE,CAAC;QACf,SAAS,EAAE,YAAY,CAAC,oBAAoB,CAAC;QAC7C,UAAU,EAAE,CAAC;QACb,IAAI,EAAE,CAAC;KACR,CAAC;IAEF,eAAe,CAAC,OAAO,CAAC,CAAC;IACzB,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,OAAoB;IAClD,IAAA,4BAAe,GAAE,CAAC;IAClB,MAAM,UAAU,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAEpD,IAAA,6BAAgB,EAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IACzC,IAAA,kCAAmB,EAAC,IAAA,sCAAyB,EAAC,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAClH,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,SAAiB;IAC/C,MAAM,WAAW,GAAG,IAAA,2BAAc,GAAE,CAAC;IACrC,IAAI,IAAA,eAAU,EAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,KAAK,MAAM,UAAU,IAAI,IAAA,gBAAW,EAAC,WAAW,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,SAAS,OAAO,CAAC,CAAC;YAC5E,IAAI,CAAC,IAAA,eAAU,EAAC,IAAI,CAAC;gBAAE,SAAS;YAEhC,MAAM,OAAO,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,oBAAoB,CAAC,OAAO,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,IAAA,+BAAkB,EAAC,SAAS,CAAC,CAAC;IACjD,IAAI,IAAA,eAAU,EAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;QACjD,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAAC,SAAiB,EAAE,MAAc,EAAE,IAAY;IAChF,MAAM,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAC3C,IAAI,CAAC,OAAO;QAAE,OAAO;IAErB,OAAO,CAAC,UAAU,IAAI,MAAM,CAAC;IAC7B,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC;IACrB,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC/B,OAAO,CAAC,YAAY,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;IACjE,eAAe,CAAC,OAAO,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,YAAY,CAAC,SAAiB,EAAE,eAAuB,CAAC;IAC/D,MAAM,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAC3C,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC/B,OAAO,CAAC,YAAY,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;IACjE,OAAO,CAAC,YAAY,GAAG,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,YAAY,CAAC;IAClE,eAAe,CAAC,OAAO,CAAC,CAAC;IACzB,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,SAAiB;IAC7C,MAAM,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAC3C,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAC5B,OAAO,CAAC,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACtD,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC/B,OAAO,CAAC,YAAY,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;IACjE,eAAe,CAAC,OAAO,CAAC,CAAC;IACzB,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,SAAgB,yBAAyB,CAAC,SAAiB,EAAE,YAA0B;IACrF,MAAM,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAC3C,IAAI,CAAC,OAAO;QAAE,OAAO;IAErB,MAAM,SAAS,GAAG,IAAA,6BAAmB,EAAC,YAAY,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACjG,MAAM,OAAO,GAAmB;QAC9B,OAAO,EAAE,CAAC;QACV,SAAS;QACT,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,KAAK,EAAE,SAAS;QAChB,cAAc,EAAE,SAAS,CAAC,OAAO;QACjC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,WAAW,EAAE,SAAS,CAAC,WAAW;KACnC,CAAC;IAEF,IAAA,6BAAgB,EAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACtC,IAAA,kCAAmB,EACjB,IAAA,yCAA4B,EAAC,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,EAC5D,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAChC,EAAE,IAAI,EAAE,KAAK,EAAE,CAChB,CAAC;IAEF,OAAO,CAAC,YAAY,GAAG,IAAA,sCAA4B,EAAC,SAAS,CAAC,CAAC;IAC/D,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,OAAO,CAAC;IAC3C,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC/B,OAAO,CAAC,YAAY,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;IACjE,eAAe,CAAC,OAAO,CAAC,CAAC;AAC3B,CAAC;AAED,SAAgB,uBAAuB,CAAC,SAAiB;IACvD,MAAM,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAC3C,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,MAAM,WAAW,GAAG,IAAA,yCAA4B,EAAC,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACjF,IAAI,IAAA,eAAU,EAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,uBAAuB,CAAC,WAAW,CAAC,CAAC;QACrD,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,OAAO,IAAA,6BAAmB,EAAC,OAAO,CAAC,KAAK,EAAE;gBACxC,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,WAAW;gBACvC,QAAQ,EAAE,mBAAmB,CAAC,SAAS,CAAC;aACzC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QACzB,OAAO,IAAA,6BAAmB,EAAC,OAAO,CAAC,YAAY,EAAE;YAC/C,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,WAAW;YACvC,QAAQ,EAAE,mBAAmB,CAAC,SAAS,CAAC;SACzC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,QAAQ,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAChD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,IAAA,6BAAmB,EAAC,IAAI,EAAE;YAC/B,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,WAAW;YACvC,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,mBAAmB,CAAC,SAAiB,EAAE,MAAgB;IACrE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAChC,MAAM,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAC3C,IAAI,CAAC,OAAO;QAAE,OAAO;IAErB,OAAO,CAAC,UAAU,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC9E,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC/B,OAAO,CAAC,YAAY,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;IACjE,eAAe,CAAC,OAAO,CAAC,CAAC;AAC3B,CAAC;AAED,SAAgB,iCAAiC,CAAC,SAAiB,EAAE,YAAoB,IAAI,CAAC,GAAG,EAAE;IACjG,MAAM,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAC3C,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC;IAC/C,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAC9B,OAAO,CAAC,YAAY,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;IACzD,eAAe,CAAC,OAAO,CAAC,CAAC;IACzB,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,SAAgB,UAAU,CAAC,SAAiB;IAC1C,MAAM,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAC3C,IAAI,CAAC,OAAO;QAAE,OAAO;IAErB,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IACpC,OAAO,CAAC,YAAY,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;IACjE,eAAe,CAAC,OAAO,CAAC,CAAC;AAC3B,CAAC;AAED;;;GAGG;AACH,SAAgB,oBAAoB,CAAC,SAAiB,EAAE,QAA0B;IAChF,MAAM,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAC3C,IAAI,CAAC,OAAO;QAAE,OAAO;IAErB,WAAW;IACX,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,aAAa,GAAa,EAAE,CAAC;IAEnC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YAC/C,KAAK,MAAM,EAAE,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;gBAChC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAEjC,sCAAsC;gBACtC,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oBAC1E,IAAI,CAAC;wBACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;wBAC/C,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;4BACd,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAChC,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACP,sBAAsB;oBACxB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,mBAAmB;IACnB,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;IACxE,MAAM,WAAW,GAAG,YAAY,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;IAE/D,aAAa;IACb,OAAO,CAAC,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAE,SAAS;IACvD,OAAO,CAAC,aAAa,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAE,SAAS;IAC/D,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC;IACjG,OAAO,CAAC,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC;IACvC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC/B,OAAO,CAAC,YAAY,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;IAEjE,eAAe,CAAC,OAAO,CAAC,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,WAAmB;IAChD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,WAAW,CAAC;SAC9C,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACtD,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AAC7B,CAAC;AAED,+EAA+E;AAC/E,eAAe;AACf,+EAA+E;AAE/E;;GAEG;AACH,SAAgB,aAAa,CAAC,KAAmB;IAC/C,IAAA,4BAAe,GAAE,CAAC;IAClB,MAAM,IAAI,GAAG,IAAA,2BAAc,GAAE,CAAC;IAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IAC1C,IAAA,mBAAc,EAAC,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED;;;GAGG;AACH,SAAgB,WAAW,CAAC,KAAc;IACxC,MAAM,IAAI,GAAG,IAAA,2BAAc,GAAE,CAAC;IAE9B,IAAI,CAAC,IAAA,eAAU,EAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAA,iBAAY,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAiB,CAAC,CAAC;QAEpE,QAAQ;QACR,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACrD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAAC,WAAmB,EAAE,KAAc;IACpE,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC;IAC1B,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,WAAW,CAAC,CAAC;IAC5D,OAAO,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AACrD,CAAC;AAED,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E;;GAEG;AACH,SAAgB,oBAAoB,CAAC,SAAiB,EAAE,OAAuB;IAC7E,IAAA,4BAAe,GAAE,CAAC;IAClB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IAC5C,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IAE3C,MAAM,KAAK,GAAG,OAAO;QACnB,CAAC,CAAC,CAAC,IAAA,0CAA6B,EAAC,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC,IAAA,mCAAsB,EAAC,SAAS,CAAC,CAAC,CAAC;IAExC,IAAI,OAAO,EAAE,CAAC;QACZ,IAAA,6BAAgB,EAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACtC,IAAA,mBAAc,EAAC,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,qBAAqB,CAAC,SAAiB,EAAE,QAA0B;IACjF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAElC,IAAA,4BAAe,GAAE,CAAC;IAClB,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACrE,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEzD,MAAM,KAAK,GAAG,OAAO;QACnB,CAAC,CAAC,CAAC,IAAA,0CAA6B,EAAC,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC,IAAA,mCAAsB,EAAC,SAAS,CAAC,CAAC,CAAC;IAExC,IAAI,OAAO,EAAE,CAAC;QACZ,IAAA,6BAAgB,EAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACtC,IAAA,mBAAc,EAAC,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,SAAiB;IACnD,MAAM,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAC3C,MAAM,cAAc,GAAG,OAAO;QAC5B,CAAC,CAAC;YACE,IAAA,0CAA6B,EAAC,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC;YAC7D,IAAA,mCAAsB,EAAC,SAAS,CAAC;SAClC;QACH,CAAC,CAAC,CAAC,IAAA,mCAAsB,EAAC,SAAS,CAAC,CAAC,CAAC;IAExC,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,cAAc,CAAC,EAAE,CAAC;QAC/C,IAAI,CAAC,IAAA,eAAU,EAAC,IAAI,CAAC;YAAE,SAAS;QAEhC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAA,iBAAY,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC5C,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACzD,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAmB,CAAC,CAAC;QAC/D,CAAC;QAAC,MAAM,CAAC;YACP,yBAAyB;QAC3B,CAAC;IACH,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;GAGG;AACH,SAAgB,kBAAkB,CAAC,SAAiB;IAClD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAChD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QACtB,MAAM,MAAM,GAAY;YACtB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,OAAO,EAAE,CAAC,CAAC,OAAO;SACnB,CAAC;QAEF,6BAA6B;QAC7B,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;YACtC,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC,UAAU,CAAC;QACrC,CAAC;QAED,gCAAgC;QAChC,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtE,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;QACnC,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY,CAAC,KAAc;IACzC,IAAA,4BAAe,GAAE,CAAC;IAClB,MAAM,WAAW,GAAG,IAAA,2BAAc,GAAE,CAAC;IAErC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAuB,CAAC;IAEpD,IAAI,IAAA,eAAU,EAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAA,gBAAW,EAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC;QACxG,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,UAAU,GAAG,oBAAoB,CAAC,IAAA,WAAI,EAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;YACjE,IAAI,UAAU,EAAE,CAAC;gBACf,mBAAmB,CAAC,YAAY,EAAE,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,IAAA,2BAAc,GAAE,CAAC;IACrC,IAAI,IAAA,eAAU,EAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,KAAK,MAAM,UAAU,IAAI,IAAA,gBAAW,EAAC,WAAW,CAAC,EAAE,CAAC;YAClD,MAAM,kBAAkB,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;YACrE,IAAI,CAAC,IAAA,eAAU,EAAC,kBAAkB,CAAC;gBAAE,SAAS;YAE9C,MAAM,KAAK,GAAG,IAAA,gBAAW,EAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC;YAC/G,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,UAAU,GAAG,oBAAoB,CAAC,IAAA,WAAI,EAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC,CAAC;gBACxE,IAAI,UAAU,EAAE,CAAC;oBACf,mBAAmB,CAAC,YAAY,EAAE,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAC;gBACtE,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC5E,OAAO,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,WAAmB,EAAE,KAAc;IACrE,MAAM,oBAAoB,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC7D,MAAM,YAAY,GAAG,IAAI,GAAG,EAAuB,CAAC;IAEpD,MAAM,kBAAkB,GAAG,IAAA,kCAAqB,EAAC,oBAAoB,CAAC,CAAC;IACvE,IAAI,IAAA,eAAU,EAAC,kBAAkB,CAAC,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,IAAA,gBAAW,EAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC;QAC/G,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,UAAU,GAAG,oBAAoB,CAAC,IAAA,WAAI,EAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC,CAAC;YACxE,IAAI,UAAU,EAAE,CAAC;gBACf,mBAAmB,CAAC,YAAY,EAAE,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC5E,OAAO,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AACrD,CAAC;AAED;;;GAGG;AACH,SAAgB,WAAW,CACzB,GAAW,EACX,WAAoB,EACpB,UAAqC,EAAE;IAEvC,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IAC3D,OAAO,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3D,CAAC;AAED;;;GAGG;AACH,SAAgB,gBAAgB,CAC9B,GAAW,EACX,WAAoB,EACpB,UAAqC,EAAE;IAEvC,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACzB,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAE3C,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,IAAI,CAAC,WAAW;QACpD,CAAC,CAAC,YAAY,EAAE;QAChB,CAAC,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAErC,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC;IACjE,IAAI,OAAO;QAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IAE1D,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;IAC9E,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3D,CAAC;IACD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5D,CAAC;IAED,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAChD,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,CAChE,CAAC;IAEF,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;IACxD,CAAC;IACD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;IACzD,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,SAAiB,EAAE,IAAY;IAC3D,MAAM,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAC3C,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,OAAO,CAAC,IAAI,GAAG,OAAO,IAAI,SAAS,CAAC;IACpC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC/B,OAAO,CAAC,YAAY,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;IACjE,eAAe,CAAC,OAAO,CAAC,CAAC;IACzB,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,SAAiB;IAC7C,MAAM,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG;QACZ,IAAA,+BAAkB,EAAC,SAAS,CAAC;QAC7B,IAAA,mCAAsB,EAAC,SAAS,CAAC;KAClC,CAAC;IAEF,IAAI,OAAO,EAAE,CAAC;QACZ,KAAK,CAAC,IAAI,CACR,IAAA,sCAAyB,EAAC,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,EACzD,IAAA,0CAA6B,EAAC,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,EAC7D,IAAA,yCAA4B,EAAC,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAC7D,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACtC,IAAI,IAAA,eAAU,EAAC,IAAI,CAAC,EAAE,CAAC;YACrB,IAAA,eAAU,EAAC,IAAI,CAAC,CAAC;YACjB,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"session-storage.js","sourceRoot":"","sources":["../../src/services/session-storage.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,OAAO,EAAa,KAAK,aAAa,EAAqC,MAAM,mBAAmB,CAAC;AA+BrG,eAAO,MAAM,KAAK,EAAE,aAAa,EAqlBhC,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,eAAe,IAAI,aAAa,EAAE,CAEjD;AA8fD;;;GAGG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAiCzH;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAGD,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,gCAAgC,EAChC,iBAAiB,EACjB,qBAAqB,EACrB,wBAAwB,EACxB,qBAAqB,EACrB,cAAc,EACd,KAAK,cAAc,EACnB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,OAAO,EAAa,KAAK,aAAa,EAAqC,MAAM,mBAAmB,CAAC;AA+BrG,eAAO,MAAM,KAAK,EAAE,aAAa,EAoqBhC,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,eAAe,IAAI,aAAa,EAAE,CAEjD;AAsnBD;;;GAGG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAuCzH;AAUD;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAGD,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,gCAAgC,EAChC,iBAAiB,EACjB,qBAAqB,EACrB,wBAAwB,EACxB,qBAAqB,EACrB,cAAc,EACd,KAAK,cAAc,EACnB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC"}
@@ -74,6 +74,14 @@ exports.TOOLS = [
74
74
  },
75
75
  isReadOnly: () => true,
76
76
  userFacingName: (args) => `Read ${args.path}`,
77
+ getSummary: (args, result) => {
78
+ const path = args.path;
79
+ if (!result.success)
80
+ return `📄 read ${path} → error`;
81
+ const lines = result.output.split('\n').length;
82
+ const bytes = Buffer.byteLength(result.output, 'utf8');
83
+ return `📄 read ${path} (${lines}L, ${bytes}B)`;
84
+ },
77
85
  }),
78
86
  (0, tool_1.buildTool)({
79
87
  name: 'write_file',
@@ -110,6 +118,13 @@ exports.TOOLS = [
110
118
  return { behavior: 'ask', reason: 'Write operation may modify existing files' };
111
119
  },
112
120
  userFacingName: (args) => `Write ${args.path}`,
121
+ getSummary: (args, result) => {
122
+ const path = args.path;
123
+ if (!result.success)
124
+ return `💾 write ${path} → error`;
125
+ const bytes = Buffer.byteLength(args.content || '', 'utf8');
126
+ return `💾 write ${path} (${bytes}B)`;
127
+ },
113
128
  }),
114
129
  (0, tool_1.buildTool)({
115
130
  name: 'list_files',
@@ -139,6 +154,13 @@ exports.TOOLS = [
139
154
  isReadOnly: () => true,
140
155
  isConcurrencySafe: () => true,
141
156
  userFacingName: (args) => `List ${args.path}`,
157
+ getSummary: (args, result) => {
158
+ const path = args.path;
159
+ if (!result.success)
160
+ return `📁 list ${path} → error`;
161
+ const count = result.output.split('\n').filter(Boolean).length;
162
+ return `📁 list ${path} (${count} entries)`;
163
+ },
142
164
  }),
143
165
  (0, tool_1.buildTool)({
144
166
  name: 'exec_command',
@@ -199,10 +221,17 @@ exports.TOOLS = [
199
221
  return (0, bash_security_1.isReadOnlyCommand)(cmd);
200
222
  },
201
223
  userFacingName: (args) => `Exec ${args.command?.slice(0, 60) || ''}`,
224
+ getSummary: (args, result) => {
225
+ const cmd = args.command?.slice(0, 40) || '';
226
+ if (!result.success)
227
+ return `🔧 exec: ${cmd} → error`;
228
+ const bytes = Buffer.byteLength(result.output, 'utf8');
229
+ return `🔧 exec: ${cmd} (${bytes}B output)`;
230
+ },
202
231
  }),
203
232
  (0, tool_1.buildTool)({
204
233
  name: 'edit_file',
205
- description: '对文件进行精确字符串替换。old_string 必须在文件中唯一匹配,否则拒绝执行。使用 replace_all 可替换所有匹配。',
234
+ description: '对文件进行精确字符串替换。old_string 必须在文件中唯一匹配,否则拒绝执行。使用 replace_all 可替换所有精确匹配;只有显式 fuzzy_match=true 时才尝试宽松空白匹配。',
206
235
  parameters: {
207
236
  type: 'object',
208
237
  properties: {
@@ -222,6 +251,10 @@ exports.TOOLS = [
222
251
  type: 'boolean',
223
252
  description: '是否替换所有匹配(可选,默认 false)',
224
253
  },
254
+ fuzzy_match: {
255
+ type: 'boolean',
256
+ description: '精确匹配失败时是否允许宽松空白匹配(可选,默认 false;多候选时总是拒绝)',
257
+ },
225
258
  },
226
259
  required: ['path', 'old_string', 'new_string'],
227
260
  },
@@ -239,13 +272,20 @@ exports.TOOLS = [
239
272
  if (typeof new_string !== 'string') {
240
273
  return { success: false, output: '', error: 'edit_file requires a new_string parameter' };
241
274
  }
242
- return editFile_(path, old_string, new_string, args.replace_all);
275
+ return editFile_(path, old_string, new_string, args.replace_all, args.fuzzy_match);
243
276
  },
244
277
  isDestructive: () => true,
245
278
  checkPermissions: (args, context) => {
246
279
  return { behavior: 'ask', reason: 'Edit operation modifies file contents' };
247
280
  },
248
281
  userFacingName: (args) => `Edit ${args.path}`,
282
+ getSummary: (args, result) => {
283
+ const path = args.path;
284
+ if (!result.success)
285
+ return `✏️ edit ${path} → error`;
286
+ const replaceAll = args.replace_all ? ' (all)' : '';
287
+ return `✏️ edit ${path}${replaceAll}`;
288
+ },
249
289
  }),
250
290
  (0, tool_1.buildTool)({
251
291
  name: 'glob',
@@ -275,6 +315,13 @@ exports.TOOLS = [
275
315
  isReadOnly: () => true,
276
316
  isConcurrencySafe: () => true,
277
317
  userFacingName: (args) => `Glob ${args.pattern}`,
318
+ getSummary: (args, result) => {
319
+ const pattern = args.pattern;
320
+ if (!result.success)
321
+ return `🔍 glob ${pattern} → error`;
322
+ const count = result.output.split('\n').filter(Boolean).length;
323
+ return `🔍 glob ${pattern} → ${count} matches`;
324
+ },
278
325
  }),
279
326
  (0, tool_1.buildTool)({
280
327
  name: 'grep',
@@ -312,6 +359,13 @@ exports.TOOLS = [
312
359
  isReadOnly: () => true,
313
360
  isConcurrencySafe: () => true,
314
361
  userFacingName: (args) => `Grep ${args.pattern}`,
362
+ getSummary: (args, result) => {
363
+ const pattern = args.pattern;
364
+ if (!result.success)
365
+ return `🔎 grep /${pattern}/ → error`;
366
+ const count = result.output.split('\n').filter(l => l && !l.startsWith('--')).length;
367
+ return `🔎 grep /${pattern}/ → ${count} matches`;
368
+ },
315
369
  }),
316
370
  // Memory tools
317
371
  (0, tool_1.buildTool)({
@@ -379,6 +433,13 @@ exports.TOOLS = [
379
433
  },
380
434
  isReadOnly: () => false,
381
435
  userFacingName: (args) => `Memory save ${args.name}`,
436
+ getSummary: (args, result) => {
437
+ const name = args.name;
438
+ const type = args.type;
439
+ if (!result.success)
440
+ return `🧠 save ${name} → error`;
441
+ return `🧠 save ${name} (${type})`;
442
+ },
382
443
  }),
383
444
  (0, tool_1.buildTool)({
384
445
  name: 'memory_recall',
@@ -460,6 +521,15 @@ exports.TOOLS = [
460
521
  },
461
522
  isReadOnly: () => true,
462
523
  userFacingName: (args) => `Memory recall ${args.query || 'all'}`,
524
+ getSummary: (args, result) => {
525
+ const query = args.query || 'all';
526
+ if (!result.success)
527
+ return `🧠 recall "${query}" → error`;
528
+ if (result.output === 'No memories found')
529
+ return `🧠 recall "${query}" → 0 found`;
530
+ const count = result.output.split(/^## /m).length - 1;
531
+ return `🧠 recall "${query}" → ${count} memories`;
532
+ },
463
533
  }),
464
534
  (0, tool_1.buildTool)({
465
535
  name: 'memory_forget',
@@ -503,6 +573,12 @@ exports.TOOLS = [
503
573
  },
504
574
  isReadOnly: () => false,
505
575
  userFacingName: (args) => `Memory forget ${args.name}`,
576
+ getSummary: (args, result) => {
577
+ const name = args.name;
578
+ if (!result.success)
579
+ return `🧠 forget ${name} → error`;
580
+ return `🧠 forget ${name}`;
581
+ },
506
582
  }),
507
583
  // History search tool
508
584
  (0, tool_1.buildTool)({
@@ -592,6 +668,16 @@ exports.TOOLS = [
592
668
  },
593
669
  isReadOnly: () => true,
594
670
  userFacingName: (args) => `History search ${args.query}`,
671
+ getSummary: (args, result) => {
672
+ const query = args.query;
673
+ if (!result.success)
674
+ return `📜 history "${query}" → error`;
675
+ if (result.output.startsWith('No matching'))
676
+ return `📜 history "${query}" → 0 found`;
677
+ const match = result.output.match(/Found (\d+) matching/);
678
+ const count = match ? match[1] : '?';
679
+ return `📜 history "${query}" → ${count} found`;
680
+ },
595
681
  }),
596
682
  ];
597
683
  /**
@@ -628,10 +714,22 @@ async function readFileSync_(path, maxLines) {
628
714
  const content = (0, fs_1.readFileSync)(resolved, 'utf-8');
629
715
  const lines = content.split('\n');
630
716
  const limit = maxLines ?? 500;
717
+ const maxBytes = 51200; // 50KB byte limit
631
718
  if (lines.length > limit) {
719
+ const truncated = lines.slice(0, limit).join('\n');
720
+ const byteLen = Buffer.byteLength(truncated, 'utf8');
721
+ const notice = `\n\n[... truncated, ${lines.length - limit} more lines]`;
722
+ return {
723
+ success: true,
724
+ output: byteLen > maxBytes ? truncated.slice(0, maxBytes) + `\n\n[... truncated at ${maxBytes}B]` : truncated + notice,
725
+ };
726
+ }
727
+ // Also apply byte limit to full content
728
+ const byteLen = Buffer.byteLength(content, 'utf8');
729
+ if (byteLen > maxBytes) {
632
730
  return {
633
731
  success: true,
634
- output: lines.slice(0, limit).join('\n') + `\n\n[... truncated, ${lines.length - limit} more lines]`,
732
+ output: content.slice(0, maxBytes) + `\n\n[... truncated at ${maxBytes}B of ${byteLen}B]`,
635
733
  };
636
734
  }
637
735
  return { success: true, output: content };
@@ -684,7 +782,12 @@ async function listFiles_(path, maxDepth) {
684
782
  }
685
783
  }
686
784
  walk(resolved, 1, '');
687
- return { success: true, output: results.join('\n') };
785
+ // Limit output to 500 entries
786
+ const maxEntries = 500;
787
+ const output = results.length > maxEntries
788
+ ? results.slice(0, maxEntries).join('\n') + `\n\n[... truncated, ${results.length - maxEntries} more entries]`
789
+ : results.join('\n');
790
+ return { success: true, output };
688
791
  }
689
792
  // Issue #32 #3.2: execCommand_ 支持 abortSignal
690
793
  async function execCommand_(command, cwd, timeout, maxOutput, abortSignal) {
@@ -847,7 +950,55 @@ async function execCommand_(command, cwd, timeout, maxOutput, abortSignal) {
847
950
  });
848
951
  });
849
952
  }
850
- async function editFile_(path, old_string, new_string, replace_all) {
953
+ /**
954
+ * Attempt to find old_string in content using fuzzy matching strategies.
955
+ * Returns null if no match found, or the matched strings.
956
+ */
957
+ function fuzzyMatch(content, oldString) {
958
+ // Strategy 1: Line-by-line matching (allow different indentation)
959
+ const oldLines = oldString.split('\n').map(l => l.trim()).filter(Boolean);
960
+ const contentLines = content.split('\n');
961
+ const lineMatches = [];
962
+ for (let i = 0; i <= contentLines.length - oldLines.length; i++) {
963
+ let allMatch = true;
964
+ for (let j = 0; j < oldLines.length; j++) {
965
+ if (contentLines[i + j].trim() !== oldLines[j]) {
966
+ allMatch = false;
967
+ break;
968
+ }
969
+ }
970
+ if (allMatch) {
971
+ const matchedStr = contentLines.slice(i, i + oldLines.length).join('\n');
972
+ lineMatches.push(matchedStr);
973
+ }
974
+ }
975
+ if (lineMatches.length > 0) {
976
+ return { matches: lineMatches, strategy: 'line' };
977
+ }
978
+ // Strategy 2: Whitespace-tolerant token match. This preserves the actual
979
+ // matched span without consuming unrelated leading/trailing blank lines.
980
+ const tokens = oldString.trim().split(/\s+/).filter(Boolean);
981
+ if (tokens.length === 0)
982
+ return null;
983
+ const pattern = tokens.map(escapeRegExp).join('\\s+');
984
+ const regex = new RegExp(pattern, 'g');
985
+ const wsMatches = [];
986
+ let match;
987
+ while ((match = regex.exec(content)) !== null) {
988
+ if (match[0]) {
989
+ wsMatches.push(match[0]);
990
+ }
991
+ if (wsMatches.length > 5)
992
+ break; // Safety limit
993
+ if (match.index === regex.lastIndex)
994
+ regex.lastIndex++;
995
+ }
996
+ if (wsMatches.length > 0) {
997
+ return { matches: wsMatches, strategy: 'whitespace' };
998
+ }
999
+ return null;
1000
+ }
1001
+ async function editFile_(path, old_string, new_string, replace_all, fuzzy_match) {
851
1002
  try {
852
1003
  const resolved = safePath(path);
853
1004
  if (!(0, fs_1.existsSync)(resolved)) {
@@ -857,10 +1008,37 @@ async function editFile_(path, old_string, new_string, replace_all) {
857
1008
  return { success: false, output: '', error: `Path is a directory, not a file: ${path}` };
858
1009
  }
859
1010
  const content = (0, fs_1.readFileSync)(resolved, 'utf-8');
860
- // Check if old_string exists
1011
+ // Check if old_string exists exactly
861
1012
  const count = (content.match(new RegExp(escapeRegExp(old_string), 'g')) || []).length;
862
1013
  if (count === 0) {
863
- return { success: false, output: '', error: `old_string not found in file: ${old_string.slice(0, 100)}...` };
1014
+ if (!fuzzy_match) {
1015
+ return {
1016
+ success: false,
1017
+ output: '',
1018
+ error: `old_string not found in file: ${old_string.slice(0, 100)}...`,
1019
+ };
1020
+ }
1021
+ // Try fuzzy match strategies
1022
+ const fuzzyResult = fuzzyMatch(content, old_string);
1023
+ if (fuzzyResult === null) {
1024
+ return { success: false, output: '', error: `old_string not found in file: ${old_string.slice(0, 100)}...` };
1025
+ }
1026
+ if (fuzzyResult.matches.length > 1) {
1027
+ return {
1028
+ success: false,
1029
+ output: '',
1030
+ error: `Fuzzy match found ${fuzzyResult.matches.length} candidates. Provide a more specific string. First 3 candidates:\n${fuzzyResult.matches.slice(0, 3).map((m, i) => ` ${i + 1}: "${m.slice(0, 80)}..."`).join('\n')}`,
1031
+ };
1032
+ }
1033
+ // Use the single fuzzy match only.
1034
+ const match = fuzzyResult.matches[0];
1035
+ const idx = content.indexOf(match);
1036
+ const newContent = content.slice(0, idx) + new_string + content.slice(idx + match.length);
1037
+ (0, fs_1.writeFileSync)(resolved, newContent, 'utf-8');
1038
+ return {
1039
+ success: true,
1040
+ output: `Fuzzy edited ${path} (matched by ${fuzzyResult.strategy}, "${match.slice(0, 50)}...")`,
1041
+ };
864
1042
  }
865
1043
  // If not replace_all, require unique match
866
1044
  if (!replace_all && count > 1) {
@@ -960,7 +1138,13 @@ async function glob_(pattern, basePath) {
960
1138
  if (results.length === 0) {
961
1139
  return { success: true, output: 'No files found matching pattern' };
962
1140
  }
963
- return { success: true, output: results.sort().join('\n') };
1141
+ // Limit output to 200 matches
1142
+ const maxMatches = 200;
1143
+ const sorted = results.sort();
1144
+ const output = sorted.length > maxMatches
1145
+ ? sorted.slice(0, maxMatches).join('\n') + `\n\n[... truncated, ${sorted.length - maxMatches} more matches]`
1146
+ : sorted.join('\n');
1147
+ return { success: true, output };
964
1148
  }
965
1149
  catch (err) {
966
1150
  return { success: false, output: '', error: String(err.message) };
@@ -1087,23 +1271,37 @@ async function executeTool(name, args, abortSignal) {
1087
1271
  cwd: process.cwd(),
1088
1272
  config: {
1089
1273
  name: 'openhorse',
1090
- mode: 'development',
1274
+ mode: process.env.OPENHORSE_MODE || 'development',
1091
1275
  },
1092
1276
  abortSignal, // Issue #32 #3.2: 透传 abortSignal
1093
1277
  };
1094
1278
  const result = await tool.execute(args, context);
1279
+ const summary = summarizeToolResult(tool, args, result);
1280
+ const outputBytes = Buffer.byteLength(result.output || '', 'utf8');
1095
1281
  if (!result.success) {
1096
1282
  return JSON.stringify({
1097
1283
  success: false,
1098
1284
  error: result.error,
1099
1285
  output: result.output,
1286
+ summary,
1287
+ outputBytes,
1100
1288
  });
1101
1289
  }
1102
1290
  return JSON.stringify({
1103
1291
  success: true,
1104
1292
  output: result.output,
1293
+ summary,
1294
+ outputBytes,
1105
1295
  });
1106
1296
  }
1297
+ function summarizeToolResult(tool, args, result) {
1298
+ try {
1299
+ return tool.getSummary?.(args, result);
1300
+ }
1301
+ catch {
1302
+ return undefined;
1303
+ }
1304
+ }
1107
1305
  /**
1108
1306
  * 获取可用工具名称列表
1109
1307
  */