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