@lih-x-x/kmr 1.0.10 → 1.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.js +20 -15
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -924,25 +924,30 @@ var SessionManager = class {
924
924
  extractReply(output) {
925
925
  const lines = output.split("\n");
926
926
  const metaPrefixes = ["[client]", "[tool]", "[thinking]", "[done]", "[error]", "[warn]", "[info]"];
927
- const blocks = [];
928
- let current = [];
929
- for (const line of lines) {
930
- const t = line.trim();
931
- if (metaPrefixes.some((p) => t.startsWith(p))) {
932
- if (current.length > 0) {
933
- blocks.push(current.join("\n").trim());
934
- current = [];
935
- }
927
+ let endIdx = lines.length - 1;
928
+ while (endIdx >= 0) {
929
+ const t = lines[endIdx].trim();
930
+ if (t.length === 0 || metaPrefixes.some((p) => t.startsWith(p))) {
931
+ endIdx--;
936
932
  } else {
937
- current.push(line);
933
+ break;
938
934
  }
939
935
  }
940
- if (current.length > 0) {
941
- blocks.push(current.join("\n").trim());
942
- }
943
- for (let i = blocks.length - 1; i >= 0; i--) {
944
- if (blocks[i].length > 0) return blocks[i];
936
+ if (endIdx < 0) return output.trim();
937
+ let startIdx = endIdx;
938
+ while (startIdx > 0) {
939
+ const prevLine = lines[startIdx - 1];
940
+ const prevTrimmed = prevLine.trim();
941
+ const isToolOrMeta = metaPrefixes.some((p) => prevTrimmed.startsWith(p)) || /^\s{2,}(kind|input|output):/.test(prevLine) || /\(completed\)/.test(prevLine) || /^\s{2,}```/.test(prevLine) || prevLine.startsWith(" ") && /^\s{2,}\S/.test(prevLine);
942
+ if (isToolOrMeta) break;
943
+ if (prevTrimmed.length === 0) {
944
+ startIdx--;
945
+ continue;
946
+ }
947
+ startIdx--;
945
948
  }
949
+ const reply = lines.slice(startIdx, endIdx + 1).join("\n").trim();
950
+ if (reply.length > 0) return reply;
946
951
  return output.trim();
947
952
  }
948
953
  async appendSummary(userId, userText, aiReply) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lih-x-x/kmr",
3
- "version": "1.0.10",
3
+ "version": "1.0.12",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "bin": {