@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.js CHANGED
@@ -1,30 +1,30 @@
1
1
  import {
2
2
  MorphClient
3
- } from "./chunk-FN4EP3WY.js";
4
- import "./chunk-3IQIT6MC.js";
5
- import "./chunk-6N6ZYZYD.js";
6
- import "./chunk-4VGOBA2J.js";
3
+ } from "./chunk-T6677HCA.js";
4
+ import "./chunk-GM5VR33N.js";
5
+ import "./chunk-3WMLFUAR.js";
6
+ import "./chunk-GJ573YH3.js";
7
7
  import "./chunk-KW7OEGZK.js";
8
- import "./chunk-374N3GIA.js";
9
- import "./chunk-2CASO3ZO.js";
8
+ import "./chunk-TTBXKDCT.js";
9
+ import "./chunk-3SHLMXBV.js";
10
10
  import "./chunk-527P5X2E.js";
11
- import "./chunk-6Y5JB4JC.js";
11
+ import "./chunk-DCIUCDWJ.js";
12
12
  import "./chunk-APP75CBN.js";
13
- import "./chunk-YV75OQTE.js";
13
+ import "./chunk-5QRN3JNB.js";
14
14
  import "./chunk-Q5AHGIQO.js";
15
- import "./chunk-ZO4PPFCZ.js";
15
+ import "./chunk-JNOZPU44.js";
16
16
  import "./chunk-G2RSY56Q.js";
17
17
  import "./chunk-SMGZ6A64.js";
18
- import "./chunk-TPP2UGQP.js";
18
+ import "./chunk-563RLKFC.js";
19
19
  import "./chunk-XT5ZO6ES.js";
20
20
  import "./chunk-UBX7QYBD.js";
21
21
  import "./chunk-GJU7UOFL.js";
22
22
  import "./chunk-76DJEQEP.js";
23
23
  import "./chunk-WM77HRKO.js";
24
24
  import "./chunk-YQMPVJ2L.js";
25
- import "./chunk-IUG2FHNN.js";
26
- import "./chunk-5QIWYEHJ.js";
27
- import "./chunk-QZNGKOCZ.js";
25
+ import "./chunk-BHNJEBQJ.js";
26
+ import "./chunk-PKPJWARB.js";
27
+ import "./chunk-IXNSTNS7.js";
28
28
  import "./chunk-CKTA4AXM.js";
29
29
  import "./chunk-63WE2C5R.js";
30
30
  import "./chunk-LVY5LPEX.js";
@@ -33,7 +33,7 @@ import "./chunk-GZMUGMOZ.js";
33
33
  import "./chunk-VJU3BRET.js";
34
34
  import "./chunk-CP4NZGRY.js";
35
35
  import "./chunk-4VWJFZVS.js";
36
- import "./chunk-PZ5AY32C.js";
36
+ import "./chunk-5FUTL2UF.js";
37
37
  export {
38
38
  MorphClient
39
39
  };
@@ -24,9 +24,9 @@ declare function toolListDirectory(provider: WarpGrepProvider, args: {
24
24
  }): Promise<string>;
25
25
 
26
26
  declare function normalizeFinishFiles(files: FinishFileSpec[]): FinishFileSpec[];
27
- declare function readFinishFiles(repoRoot: string, files: FinishFileSpec[], reader: (path: string, start: number, end: number) => Promise<string[]>): Promise<{
27
+ declare function readFinishFiles(repoRoot: string, files: FinishFileSpec[], reader: (path: string, start?: number, end?: number) => Promise<string[]>): Promise<{
28
28
  path: string;
29
- ranges: Array<[number, number]>;
29
+ ranges: '*' | Array<[number, number]>;
30
30
  content: string;
31
31
  }[]>;
32
32
 
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  MorphGit
3
3
  } from "../chunk-VJU3BRET.js";
4
- import "../chunk-PZ5AY32C.js";
4
+ import "../chunk-5FUTL2UF.js";
5
5
  export {
6
6
  MorphGit
7
7
  };
@@ -1,4 +1,4 @@
1
- import "../chunk-PZ5AY32C.js";
1
+ import "../chunk-5FUTL2UF.js";
2
2
 
3
3
  // git/config.ts
4
4
  var DEFAULT_PROXY_URL = "https://repos.morphllm.com";
package/dist/git/index.js CHANGED
@@ -5,7 +5,7 @@ import {
5
5
  import {
6
6
  MorphGit
7
7
  } from "../chunk-VJU3BRET.js";
8
- import "../chunk-PZ5AY32C.js";
8
+ import "../chunk-5FUTL2UF.js";
9
9
  export {
10
10
  MorphGit,
11
11
  default2 as git,
package/dist/index.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
  // index.ts
31
43
  var index_exports = {};
32
44
  __export(index_exports, {
@@ -1325,19 +1337,19 @@ function parseNestedXmlTools(text) {
1325
1337
  const filePath = getXmlElementText(fileContent, "path");
1326
1338
  const linesStr = getXmlElementText(fileContent, "lines");
1327
1339
  if (filePath && linesStr) {
1328
- const ranges = [];
1329
- for (const rangeStr of linesStr.split(",")) {
1330
- if (rangeStr.trim() === "*") {
1331
- ranges.push([1, 999999]);
1332
- } else {
1340
+ if (linesStr.trim() === "*") {
1341
+ files.push({ path: filePath, lines: "*" });
1342
+ } else {
1343
+ const ranges = [];
1344
+ for (const rangeStr of linesStr.split(",")) {
1333
1345
  const [s, e] = rangeStr.split("-").map((v) => parseInt(v.trim(), 10));
1334
1346
  if (Number.isFinite(s) && Number.isFinite(e)) {
1335
1347
  ranges.push([s, e]);
1336
1348
  }
1337
1349
  }
1338
- }
1339
- if (ranges.length > 0) {
1340
- files.push({ path: filePath, lines: ranges });
1350
+ if (ranges.length > 0) {
1351
+ files.push({ path: filePath, lines: ranges });
1352
+ }
1341
1353
  }
1342
1354
  }
1343
1355
  }
@@ -1349,33 +1361,9 @@ function parseNestedXmlTools(text) {
1349
1361
  return tools;
1350
1362
  }
1351
1363
  function preprocessText(text) {
1352
- let processed = text.replace(/<think>[\s\S]*?<\/think>/gi, "");
1364
+ const processed = text.replace(/<think>[\s\S]*?<\/think>/gi, "").replace(/<\/?tool_call>/gi, "");
1353
1365
  const nestedTools = parseNestedXmlTools(processed);
1354
- const openingTagRegex = /<tool_call>|<tool>/gi;
1355
- const closingTagRegex = /<\/tool_call>|<\/tool>/gi;
1356
- const openingMatches = processed.match(openingTagRegex) || [];
1357
- const closingMatches = processed.match(closingTagRegex) || [];
1358
- if (openingMatches.length > closingMatches.length) {
1359
- const lastClosingMatch = /<\/tool_call>|<\/tool>/gi;
1360
- let lastClosingIndex = -1;
1361
- let match;
1362
- while ((match = lastClosingMatch.exec(processed)) !== null) {
1363
- lastClosingIndex = match.index + match[0].length;
1364
- }
1365
- if (lastClosingIndex > 0) {
1366
- processed = processed.slice(0, lastClosingIndex);
1367
- }
1368
- }
1369
1366
  const toolCallLines = [];
1370
- const toolTagRegex = /<tool_call>([\s\S]*?)<\/tool_call>|<tool>([\s\S]*?)<\/tool>/gi;
1371
- let tagMatch;
1372
- while ((tagMatch = toolTagRegex.exec(processed)) !== null) {
1373
- const content = (tagMatch[1] || tagMatch[2] || "").trim();
1374
- if (content) {
1375
- const lines = content.split(/\r?\n/).map((l) => l.trim()).filter((l) => l);
1376
- toolCallLines.push(...lines);
1377
- }
1378
- }
1379
1367
  const allLines = processed.split(/\r?\n/).map((l) => l.trim());
1380
1368
  for (const line of allLines) {
1381
1369
  if (!line) continue;
@@ -1592,13 +1580,18 @@ async function toolListDirectory(provider, args) {
1592
1580
  async function readFinishFiles(repoRoot, files, reader) {
1593
1581
  const out = [];
1594
1582
  for (const f of files) {
1595
- const ranges = mergeRanges(f.lines);
1596
- const chunks = [];
1597
- for (const [s, e] of ranges) {
1598
- const lines = await reader(f.path, s, e);
1599
- chunks.push(lines.join("\n"));
1583
+ if (f.lines === "*") {
1584
+ const lines = await reader(f.path);
1585
+ out.push({ path: f.path, ranges: "*", content: lines.join("\n") });
1586
+ } else {
1587
+ const ranges = mergeRanges(f.lines);
1588
+ const chunks = [];
1589
+ for (const [s, e] of ranges) {
1590
+ const lines = await reader(f.path, s, e);
1591
+ chunks.push(lines.join("\n"));
1592
+ }
1593
+ out.push({ path: f.path, ranges, content: chunks.join("\n") });
1600
1594
  }
1601
- out.push({ path: f.path, ranges, content: chunks.join("\n") });
1602
1595
  }
1603
1596
  return out;
1604
1597
  }
@@ -1925,7 +1918,7 @@ async function runWarpGrep(config) {
1925
1918
  }
1926
1919
  const parts = ["Relevant context found:"];
1927
1920
  for (const f of finishMeta.files) {
1928
- const ranges = f.lines.map(([s, e]) => `${s}-${e}`).join(", ");
1921
+ const ranges = f.lines === "*" ? "*" : f.lines.map(([s, e]) => `${s}-${e}`).join(", ");
1929
1922
  parts.push(`- ${f.path}: ${ranges}`);
1930
1923
  }
1931
1924
  const payload = parts.join("\n");
@@ -1964,9 +1957,20 @@ var import_path5 = __toESM(require("path"), 1);
1964
1957
 
1965
1958
  // tools/warp_grep/utils/ripgrep.ts
1966
1959
  var import_child_process = require("child_process");
1967
- var import_ripgrep = require("@vscode/ripgrep");
1968
1960
  var resolvedRgPath = null;
1969
1961
  var rgPathChecked = false;
1962
+ var bundledRgPath = null;
1963
+ async function getBundledRgPath() {
1964
+ if (bundledRgPath !== null) return bundledRgPath;
1965
+ try {
1966
+ const module2 = await Promise.resolve().then(() => __toESM(require_lib(), 1));
1967
+ bundledRgPath = module2.rgPath;
1968
+ return bundledRgPath;
1969
+ } catch {
1970
+ bundledRgPath = "";
1971
+ return null;
1972
+ }
1973
+ }
1970
1974
  function spawnRg(rgBinary, args, opts) {
1971
1975
  return new Promise((resolve2) => {
1972
1976
  const child = (0, import_child_process.spawn)(rgBinary, args, {
@@ -1997,11 +2001,14 @@ async function runRipgrep(args, opts) {
1997
2001
  return spawnRg(resolvedRgPath, args, opts);
1998
2002
  }
1999
2003
  if (!rgPathChecked) {
2000
- const result = await spawnRg(import_ripgrep.rgPath, args, opts);
2001
- if (!isBinaryFailure(result)) {
2002
- resolvedRgPath = import_ripgrep.rgPath;
2003
- rgPathChecked = true;
2004
- return result;
2004
+ const bundledPath = await getBundledRgPath();
2005
+ if (bundledPath) {
2006
+ const result = await spawnRg(bundledPath, args, opts);
2007
+ if (!isBinaryFailure(result)) {
2008
+ resolvedRgPath = bundledPath;
2009
+ rgPathChecked = true;
2010
+ return result;
2011
+ }
2005
2012
  }
2006
2013
  const fallbackResult = await spawnRg("rg", args, opts);
2007
2014
  if (!isBinaryFailure(fallbackResult)) {