@morphllm/morphsdk 0.2.60 → 0.2.63

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 (113) hide show
  1. package/dist/{chunk-2CASO3ZO.js → chunk-3SHLMXBV.js} +4 -4
  2. package/dist/{chunk-2CASO3ZO.js.map → chunk-3SHLMXBV.js.map} +1 -1
  3. package/dist/{chunk-6N6ZYZYD.js → chunk-3WMLFUAR.js} +3 -3
  4. package/dist/{chunk-TPP2UGQP.js → chunk-563RLKFC.js} +21 -7
  5. package/dist/chunk-563RLKFC.js.map +1 -0
  6. package/dist/chunk-5FUTL2UF.js +22 -0
  7. package/dist/{chunk-YV75OQTE.js → chunk-5QRN3JNB.js} +10 -34
  8. package/dist/chunk-5QRN3JNB.js.map +1 -0
  9. package/dist/{chunk-IUG2FHNN.js → chunk-BHNJEBQJ.js} +2 -2
  10. package/dist/{chunk-6Y5JB4JC.js → chunk-DCIUCDWJ.js} +15 -7
  11. package/dist/{chunk-6Y5JB4JC.js.map → chunk-DCIUCDWJ.js.map} +1 -1
  12. package/dist/{chunk-4VGOBA2J.js → chunk-GJ573YH3.js} +3 -3
  13. package/dist/{chunk-3IQIT6MC.js → chunk-GM5VR33N.js} +3 -3
  14. package/dist/{chunk-QZNGKOCZ.js → chunk-IXNSTNS7.js} +2 -2
  15. package/dist/{chunk-ZO4PPFCZ.js → chunk-JNOZPU44.js} +2 -2
  16. package/dist/{chunk-5QIWYEHJ.js → chunk-PKPJWARB.js} +2 -2
  17. package/dist/{chunk-ILJ3J5IA.js → chunk-PNIQNTXR.js} +3 -3
  18. package/dist/{chunk-FN4EP3WY.js → chunk-T6677HCA.js} +8 -8
  19. package/dist/{chunk-374N3GIA.js → chunk-TTBXKDCT.js} +3 -3
  20. package/dist/client.cjs +53 -46
  21. package/dist/client.cjs.map +1 -1
  22. package/dist/client.js +14 -14
  23. package/dist/{finish-kXAcUJyB.d.ts → finish-pPJfB0uO.d.ts} +2 -2
  24. package/dist/git/client.js +1 -1
  25. package/dist/git/config.js +1 -1
  26. package/dist/git/index.js +1 -1
  27. package/dist/index.cjs +53 -46
  28. package/dist/index.cjs.map +1 -1
  29. package/dist/index.js +15 -15
  30. package/dist/lib-GEPX5Y3T.js +14 -0
  31. package/dist/lib-GEPX5Y3T.js.map +1 -0
  32. package/dist/modelrouter/core.js +1 -1
  33. package/dist/modelrouter/index.js +1 -1
  34. package/dist/tools/browser/anthropic.js +1 -1
  35. package/dist/tools/browser/core.js +1 -1
  36. package/dist/tools/browser/index.js +1 -1
  37. package/dist/tools/browser/live.js +1 -1
  38. package/dist/tools/browser/openai.js +1 -1
  39. package/dist/tools/browser/prompts.js +1 -1
  40. package/dist/tools/browser/vercel.js +1 -1
  41. package/dist/tools/codebase_search/anthropic.js +1 -1
  42. package/dist/tools/codebase_search/core.js +1 -1
  43. package/dist/tools/codebase_search/index.js +1 -1
  44. package/dist/tools/codebase_search/openai.js +1 -1
  45. package/dist/tools/codebase_search/prompts.js +1 -1
  46. package/dist/tools/codebase_search/vercel.js +1 -1
  47. package/dist/tools/fastapply/anthropic.js +2 -2
  48. package/dist/tools/fastapply/core.js +1 -1
  49. package/dist/tools/fastapply/index.js +4 -4
  50. package/dist/tools/fastapply/openai.js +2 -2
  51. package/dist/tools/fastapply/prompts.js +1 -1
  52. package/dist/tools/fastapply/vercel.js +2 -2
  53. package/dist/tools/index.js +4 -4
  54. package/dist/tools/utils/resilience.js +1 -1
  55. package/dist/tools/warp_grep/agent/config.js +1 -1
  56. package/dist/tools/warp_grep/agent/formatter.js +1 -1
  57. package/dist/tools/warp_grep/agent/parser.cjs +9 -33
  58. package/dist/tools/warp_grep/agent/parser.cjs.map +1 -1
  59. package/dist/tools/warp_grep/agent/parser.js +2 -2
  60. package/dist/tools/warp_grep/agent/prompt.js +1 -1
  61. package/dist/tools/warp_grep/agent/runner.cjs +21 -40
  62. package/dist/tools/warp_grep/agent/runner.cjs.map +1 -1
  63. package/dist/tools/warp_grep/agent/runner.js +4 -4
  64. package/dist/tools/warp_grep/agent/types.cjs.map +1 -1
  65. package/dist/tools/warp_grep/agent/types.d.ts +2 -2
  66. package/dist/tools/warp_grep/anthropic.cjs +53 -46
  67. package/dist/tools/warp_grep/anthropic.cjs.map +1 -1
  68. package/dist/tools/warp_grep/anthropic.js +8 -8
  69. package/dist/tools/warp_grep/client.cjs +53 -46
  70. package/dist/tools/warp_grep/client.cjs.map +1 -1
  71. package/dist/tools/warp_grep/client.js +7 -7
  72. package/dist/tools/warp_grep/gemini.cjs +53 -46
  73. package/dist/tools/warp_grep/gemini.cjs.map +1 -1
  74. package/dist/tools/warp_grep/gemini.js +8 -8
  75. package/dist/tools/warp_grep/harness.cjs +55 -45
  76. package/dist/tools/warp_grep/harness.cjs.map +1 -1
  77. package/dist/tools/warp_grep/harness.d.ts +1 -1
  78. package/dist/tools/warp_grep/harness.js +5 -5
  79. package/dist/tools/warp_grep/harness.js.map +1 -1
  80. package/dist/tools/warp_grep/index.cjs +56 -46
  81. package/dist/tools/warp_grep/index.cjs.map +1 -1
  82. package/dist/tools/warp_grep/index.d.ts +1 -1
  83. package/dist/tools/warp_grep/index.js +11 -11
  84. package/dist/tools/warp_grep/openai.cjs +53 -46
  85. package/dist/tools/warp_grep/openai.cjs.map +1 -1
  86. package/dist/tools/warp_grep/openai.js +8 -8
  87. package/dist/tools/warp_grep/providers/local.cjs +32 -6
  88. package/dist/tools/warp_grep/providers/local.cjs.map +1 -1
  89. package/dist/tools/warp_grep/providers/local.js +3 -3
  90. package/dist/tools/warp_grep/providers/remote.js +1 -1
  91. package/dist/tools/warp_grep/utils/files.js +1 -1
  92. package/dist/tools/warp_grep/utils/paths.js +1 -1
  93. package/dist/tools/warp_grep/utils/ripgrep.cjs +42 -6
  94. package/dist/tools/warp_grep/utils/ripgrep.cjs.map +1 -1
  95. package/dist/tools/warp_grep/utils/ripgrep.js +2 -2
  96. package/dist/tools/warp_grep/vercel.cjs +53 -46
  97. package/dist/tools/warp_grep/vercel.cjs.map +1 -1
  98. package/dist/tools/warp_grep/vercel.js +8 -8
  99. package/package.json +5 -3
  100. package/dist/chunk-PZ5AY32C.js +0 -10
  101. package/dist/chunk-TPP2UGQP.js.map +0 -1
  102. package/dist/chunk-YV75OQTE.js.map +0 -1
  103. /package/dist/{chunk-6N6ZYZYD.js.map → chunk-3WMLFUAR.js.map} +0 -0
  104. /package/dist/{chunk-PZ5AY32C.js.map → chunk-5FUTL2UF.js.map} +0 -0
  105. /package/dist/{chunk-IUG2FHNN.js.map → chunk-BHNJEBQJ.js.map} +0 -0
  106. /package/dist/{chunk-4VGOBA2J.js.map → chunk-GJ573YH3.js.map} +0 -0
  107. /package/dist/{chunk-3IQIT6MC.js.map → chunk-GM5VR33N.js.map} +0 -0
  108. /package/dist/{chunk-QZNGKOCZ.js.map → chunk-IXNSTNS7.js.map} +0 -0
  109. /package/dist/{chunk-ZO4PPFCZ.js.map → chunk-JNOZPU44.js.map} +0 -0
  110. /package/dist/{chunk-5QIWYEHJ.js.map → chunk-PKPJWARB.js.map} +0 -0
  111. /package/dist/{chunk-ILJ3J5IA.js.map → chunk-PNIQNTXR.js.map} +0 -0
  112. /package/dist/{chunk-FN4EP3WY.js.map → chunk-T6677HCA.js.map} +0 -0
  113. /package/dist/{chunk-374N3GIA.js.map → chunk-TTBXKDCT.js.map} +0 -0
package/dist/client.cjs CHANGED
@@ -5,6 +5,9 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
6
  var __getProtoOf = Object.getPrototypeOf;
7
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __commonJS = (cb, mod) => function __require() {
9
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
10
+ };
8
11
  var __export = (target, all) => {
9
12
  for (var name in all)
10
13
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -27,6 +30,15 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
27
30
  ));
28
31
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
32
 
33
+ // node_modules/@vscode/ripgrep/lib/index.js
34
+ var require_lib = __commonJS({
35
+ "node_modules/@vscode/ripgrep/lib/index.js"(exports2, module2) {
36
+ "use strict";
37
+ var path5 = require("path");
38
+ module2.exports.rgPath = path5.join(__dirname, `../bin/rg${process.platform === "win32" ? ".exe" : ""}`);
39
+ }
40
+ });
41
+
30
42
  // client.ts
31
43
  var client_exports = {};
32
44
  __export(client_exports, {
@@ -1311,19 +1323,19 @@ function parseNestedXmlTools(text) {
1311
1323
  const filePath = getXmlElementText(fileContent, "path");
1312
1324
  const linesStr = getXmlElementText(fileContent, "lines");
1313
1325
  if (filePath && linesStr) {
1314
- const ranges = [];
1315
- for (const rangeStr of linesStr.split(",")) {
1316
- if (rangeStr.trim() === "*") {
1317
- ranges.push([1, 999999]);
1318
- } else {
1326
+ if (linesStr.trim() === "*") {
1327
+ files.push({ path: filePath, lines: "*" });
1328
+ } else {
1329
+ const ranges = [];
1330
+ for (const rangeStr of linesStr.split(",")) {
1319
1331
  const [s, e] = rangeStr.split("-").map((v) => parseInt(v.trim(), 10));
1320
1332
  if (Number.isFinite(s) && Number.isFinite(e)) {
1321
1333
  ranges.push([s, e]);
1322
1334
  }
1323
1335
  }
1324
- }
1325
- if (ranges.length > 0) {
1326
- files.push({ path: filePath, lines: ranges });
1336
+ if (ranges.length > 0) {
1337
+ files.push({ path: filePath, lines: ranges });
1338
+ }
1327
1339
  }
1328
1340
  }
1329
1341
  }
@@ -1335,33 +1347,9 @@ function parseNestedXmlTools(text) {
1335
1347
  return tools;
1336
1348
  }
1337
1349
  function preprocessText(text) {
1338
- let processed = text.replace(/<think>[\s\S]*?<\/think>/gi, "");
1350
+ const processed = text.replace(/<think>[\s\S]*?<\/think>/gi, "").replace(/<\/?tool_call>/gi, "");
1339
1351
  const nestedTools = parseNestedXmlTools(processed);
1340
- const openingTagRegex = /<tool_call>|<tool>/gi;
1341
- const closingTagRegex = /<\/tool_call>|<\/tool>/gi;
1342
- const openingMatches = processed.match(openingTagRegex) || [];
1343
- const closingMatches = processed.match(closingTagRegex) || [];
1344
- if (openingMatches.length > closingMatches.length) {
1345
- const lastClosingMatch = /<\/tool_call>|<\/tool>/gi;
1346
- let lastClosingIndex = -1;
1347
- let match;
1348
- while ((match = lastClosingMatch.exec(processed)) !== null) {
1349
- lastClosingIndex = match.index + match[0].length;
1350
- }
1351
- if (lastClosingIndex > 0) {
1352
- processed = processed.slice(0, lastClosingIndex);
1353
- }
1354
- }
1355
1352
  const toolCallLines = [];
1356
- const toolTagRegex = /<tool_call>([\s\S]*?)<\/tool_call>|<tool>([\s\S]*?)<\/tool>/gi;
1357
- let tagMatch;
1358
- while ((tagMatch = toolTagRegex.exec(processed)) !== null) {
1359
- const content = (tagMatch[1] || tagMatch[2] || "").trim();
1360
- if (content) {
1361
- const lines = content.split(/\r?\n/).map((l) => l.trim()).filter((l) => l);
1362
- toolCallLines.push(...lines);
1363
- }
1364
- }
1365
1353
  const allLines = processed.split(/\r?\n/).map((l) => l.trim());
1366
1354
  for (const line of allLines) {
1367
1355
  if (!line) continue;
@@ -1578,13 +1566,18 @@ async function toolListDirectory(provider, args) {
1578
1566
  async function readFinishFiles(repoRoot, files, reader) {
1579
1567
  const out = [];
1580
1568
  for (const f of files) {
1581
- const ranges = mergeRanges(f.lines);
1582
- const chunks = [];
1583
- for (const [s, e] of ranges) {
1584
- const lines = await reader(f.path, s, e);
1585
- chunks.push(lines.join("\n"));
1569
+ if (f.lines === "*") {
1570
+ const lines = await reader(f.path);
1571
+ out.push({ path: f.path, ranges: "*", content: lines.join("\n") });
1572
+ } else {
1573
+ const ranges = mergeRanges(f.lines);
1574
+ const chunks = [];
1575
+ for (const [s, e] of ranges) {
1576
+ const lines = await reader(f.path, s, e);
1577
+ chunks.push(lines.join("\n"));
1578
+ }
1579
+ out.push({ path: f.path, ranges, content: chunks.join("\n") });
1586
1580
  }
1587
- out.push({ path: f.path, ranges, content: chunks.join("\n") });
1588
1581
  }
1589
1582
  return out;
1590
1583
  }
@@ -1911,7 +1904,7 @@ async function runWarpGrep(config) {
1911
1904
  }
1912
1905
  const parts = ["Relevant context found:"];
1913
1906
  for (const f of finishMeta.files) {
1914
- const ranges = f.lines.map(([s, e]) => `${s}-${e}`).join(", ");
1907
+ const ranges = f.lines === "*" ? "*" : f.lines.map(([s, e]) => `${s}-${e}`).join(", ");
1915
1908
  parts.push(`- ${f.path}: ${ranges}`);
1916
1909
  }
1917
1910
  const payload = parts.join("\n");
@@ -1950,9 +1943,20 @@ var import_path5 = __toESM(require("path"), 1);
1950
1943
 
1951
1944
  // tools/warp_grep/utils/ripgrep.ts
1952
1945
  var import_child_process = require("child_process");
1953
- var import_ripgrep = require("@vscode/ripgrep");
1954
1946
  var resolvedRgPath = null;
1955
1947
  var rgPathChecked = false;
1948
+ var bundledRgPath = null;
1949
+ async function getBundledRgPath() {
1950
+ if (bundledRgPath !== null) return bundledRgPath;
1951
+ try {
1952
+ const module2 = await Promise.resolve().then(() => __toESM(require_lib(), 1));
1953
+ bundledRgPath = module2.rgPath;
1954
+ return bundledRgPath;
1955
+ } catch {
1956
+ bundledRgPath = "";
1957
+ return null;
1958
+ }
1959
+ }
1956
1960
  function spawnRg(rgBinary, args, opts) {
1957
1961
  return new Promise((resolve2) => {
1958
1962
  const child = (0, import_child_process.spawn)(rgBinary, args, {
@@ -1983,11 +1987,14 @@ async function runRipgrep(args, opts) {
1983
1987
  return spawnRg(resolvedRgPath, args, opts);
1984
1988
  }
1985
1989
  if (!rgPathChecked) {
1986
- const result = await spawnRg(import_ripgrep.rgPath, args, opts);
1987
- if (!isBinaryFailure(result)) {
1988
- resolvedRgPath = import_ripgrep.rgPath;
1989
- rgPathChecked = true;
1990
- return result;
1990
+ const bundledPath = await getBundledRgPath();
1991
+ if (bundledPath) {
1992
+ const result = await spawnRg(bundledPath, args, opts);
1993
+ if (!isBinaryFailure(result)) {
1994
+ resolvedRgPath = bundledPath;
1995
+ rgPathChecked = true;
1996
+ return result;
1997
+ }
1991
1998
  }
1992
1999
  const fallbackResult = await spawnRg("rg", args, opts);
1993
2000
  if (!isBinaryFailure(fallbackResult)) {