@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
@@ -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
  // tools/warp_grep/gemini.ts
31
43
  var gemini_exports = {};
32
44
  __export(gemini_exports, {
@@ -406,19 +418,19 @@ function parseNestedXmlTools(text) {
406
418
  const filePath = getXmlElementText(fileContent, "path");
407
419
  const linesStr = getXmlElementText(fileContent, "lines");
408
420
  if (filePath && linesStr) {
409
- const ranges = [];
410
- for (const rangeStr of linesStr.split(",")) {
411
- if (rangeStr.trim() === "*") {
412
- ranges.push([1, 999999]);
413
- } else {
421
+ if (linesStr.trim() === "*") {
422
+ files.push({ path: filePath, lines: "*" });
423
+ } else {
424
+ const ranges = [];
425
+ for (const rangeStr of linesStr.split(",")) {
414
426
  const [s, e] = rangeStr.split("-").map((v) => parseInt(v.trim(), 10));
415
427
  if (Number.isFinite(s) && Number.isFinite(e)) {
416
428
  ranges.push([s, e]);
417
429
  }
418
430
  }
419
- }
420
- if (ranges.length > 0) {
421
- files.push({ path: filePath, lines: ranges });
431
+ if (ranges.length > 0) {
432
+ files.push({ path: filePath, lines: ranges });
433
+ }
422
434
  }
423
435
  }
424
436
  }
@@ -430,33 +442,9 @@ function parseNestedXmlTools(text) {
430
442
  return tools;
431
443
  }
432
444
  function preprocessText(text) {
433
- let processed = text.replace(/<think>[\s\S]*?<\/think>/gi, "");
445
+ const processed = text.replace(/<think>[\s\S]*?<\/think>/gi, "").replace(/<\/?tool_call>/gi, "");
434
446
  const nestedTools = parseNestedXmlTools(processed);
435
- const openingTagRegex = /<tool_call>|<tool>/gi;
436
- const closingTagRegex = /<\/tool_call>|<\/tool>/gi;
437
- const openingMatches = processed.match(openingTagRegex) || [];
438
- const closingMatches = processed.match(closingTagRegex) || [];
439
- if (openingMatches.length > closingMatches.length) {
440
- const lastClosingMatch = /<\/tool_call>|<\/tool>/gi;
441
- let lastClosingIndex = -1;
442
- let match;
443
- while ((match = lastClosingMatch.exec(processed)) !== null) {
444
- lastClosingIndex = match.index + match[0].length;
445
- }
446
- if (lastClosingIndex > 0) {
447
- processed = processed.slice(0, lastClosingIndex);
448
- }
449
- }
450
447
  const toolCallLines = [];
451
- const toolTagRegex = /<tool_call>([\s\S]*?)<\/tool_call>|<tool>([\s\S]*?)<\/tool>/gi;
452
- let tagMatch;
453
- while ((tagMatch = toolTagRegex.exec(processed)) !== null) {
454
- const content = (tagMatch[1] || tagMatch[2] || "").trim();
455
- if (content) {
456
- const lines = content.split(/\r?\n/).map((l) => l.trim()).filter((l) => l);
457
- toolCallLines.push(...lines);
458
- }
459
- }
460
448
  const allLines = processed.split(/\r?\n/).map((l) => l.trim());
461
449
  for (const line of allLines) {
462
450
  if (!line) continue;
@@ -673,13 +661,18 @@ async function toolListDirectory(provider, args) {
673
661
  async function readFinishFiles(repoRoot, files, reader) {
674
662
  const out = [];
675
663
  for (const f of files) {
676
- const ranges = mergeRanges(f.lines);
677
- const chunks = [];
678
- for (const [s, e] of ranges) {
679
- const lines = await reader(f.path, s, e);
680
- chunks.push(lines.join("\n"));
664
+ if (f.lines === "*") {
665
+ const lines = await reader(f.path);
666
+ out.push({ path: f.path, ranges: "*", content: lines.join("\n") });
667
+ } else {
668
+ const ranges = mergeRanges(f.lines);
669
+ const chunks = [];
670
+ for (const [s, e] of ranges) {
671
+ const lines = await reader(f.path, s, e);
672
+ chunks.push(lines.join("\n"));
673
+ }
674
+ out.push({ path: f.path, ranges, content: chunks.join("\n") });
681
675
  }
682
- out.push({ path: f.path, ranges, content: chunks.join("\n") });
683
676
  }
684
677
  return out;
685
678
  }
@@ -1080,7 +1073,7 @@ async function runWarpGrep(config) {
1080
1073
  }
1081
1074
  const parts = ["Relevant context found:"];
1082
1075
  for (const f of finishMeta.files) {
1083
- const ranges = f.lines.map(([s, e]) => `${s}-${e}`).join(", ");
1076
+ const ranges = f.lines === "*" ? "*" : f.lines.map(([s, e]) => `${s}-${e}`).join(", ");
1084
1077
  parts.push(`- ${f.path}: ${ranges}`);
1085
1078
  }
1086
1079
  const payload = parts.join("\n");
@@ -1119,9 +1112,20 @@ var import_path4 = __toESM(require("path"), 1);
1119
1112
 
1120
1113
  // tools/warp_grep/utils/ripgrep.ts
1121
1114
  var import_child_process = require("child_process");
1122
- var import_ripgrep = require("@vscode/ripgrep");
1123
1115
  var resolvedRgPath = null;
1124
1116
  var rgPathChecked = false;
1117
+ var bundledRgPath = null;
1118
+ async function getBundledRgPath() {
1119
+ if (bundledRgPath !== null) return bundledRgPath;
1120
+ try {
1121
+ const module2 = await Promise.resolve().then(() => __toESM(require_lib(), 1));
1122
+ bundledRgPath = module2.rgPath;
1123
+ return bundledRgPath;
1124
+ } catch {
1125
+ bundledRgPath = "";
1126
+ return null;
1127
+ }
1128
+ }
1125
1129
  function spawnRg(rgBinary, args, opts) {
1126
1130
  return new Promise((resolve) => {
1127
1131
  const child = (0, import_child_process.spawn)(rgBinary, args, {
@@ -1152,11 +1156,14 @@ async function runRipgrep(args, opts) {
1152
1156
  return spawnRg(resolvedRgPath, args, opts);
1153
1157
  }
1154
1158
  if (!rgPathChecked) {
1155
- const result = await spawnRg(import_ripgrep.rgPath, args, opts);
1156
- if (!isBinaryFailure(result)) {
1157
- resolvedRgPath = import_ripgrep.rgPath;
1158
- rgPathChecked = true;
1159
- return result;
1159
+ const bundledPath = await getBundledRgPath();
1160
+ if (bundledPath) {
1161
+ const result = await spawnRg(bundledPath, args, opts);
1162
+ if (!isBinaryFailure(result)) {
1163
+ resolvedRgPath = bundledPath;
1164
+ rgPathChecked = true;
1165
+ return result;
1166
+ }
1160
1167
  }
1161
1168
  const fallbackResult = await spawnRg("rg", args, opts);
1162
1169
  if (!isBinaryFailure(fallbackResult)) {