@morphllm/morphsdk 0.2.80 → 0.2.81
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.
- package/dist/{chunk-DCIUCDWJ.js → chunk-467MCW5R.js} +38 -10
- package/dist/chunk-467MCW5R.js.map +1 -0
- package/dist/{chunk-HBIDSKIQ.js → chunk-4NI25AKV.js} +14 -6
- package/dist/chunk-4NI25AKV.js.map +1 -0
- package/dist/{chunk-5PGRBWJX.js → chunk-4VMIPD4G.js} +4 -4
- package/dist/{chunk-6OII5QOW.js → chunk-B3UC7UVA.js} +3 -3
- package/dist/{chunk-6OII5QOW.js.map → chunk-B3UC7UVA.js.map} +1 -1
- package/dist/{chunk-QL5SMQ73.js → chunk-NTTQJM6O.js} +2 -2
- package/dist/{chunk-ND7IFSMR.js → chunk-OFMDENAQ.js} +2 -2
- package/dist/{chunk-26QXQFLZ.js → chunk-PHJQ4N3T.js} +8 -3
- package/dist/chunk-PHJQ4N3T.js.map +1 -0
- package/dist/{chunk-LM62QCGS.js → chunk-X6A64F2F.js} +5 -5
- package/dist/{chunk-4R3ALD5C.js → chunk-Z2HDXUH7.js} +2 -2
- package/dist/client.cjs +54 -12
- package/dist/client.cjs.map +1 -1
- package/dist/client.js +9 -9
- package/dist/index.cjs +54 -12
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +9 -9
- package/dist/tools/warp_grep/agent/runner.cjs +34 -5
- package/dist/tools/warp_grep/agent/runner.cjs.map +1 -1
- package/dist/tools/warp_grep/agent/runner.js +2 -2
- package/dist/tools/warp_grep/anthropic.cjs +54 -12
- package/dist/tools/warp_grep/anthropic.cjs.map +1 -1
- package/dist/tools/warp_grep/anthropic.js +6 -6
- package/dist/tools/warp_grep/client.cjs +54 -12
- package/dist/tools/warp_grep/client.cjs.map +1 -1
- package/dist/tools/warp_grep/client.js +5 -5
- package/dist/tools/warp_grep/gemini.cjs +54 -12
- package/dist/tools/warp_grep/gemini.cjs.map +1 -1
- package/dist/tools/warp_grep/gemini.js +5 -5
- package/dist/tools/warp_grep/harness.cjs +50 -14
- package/dist/tools/warp_grep/harness.cjs.map +1 -1
- package/dist/tools/warp_grep/harness.js +2 -2
- package/dist/tools/warp_grep/index.cjs +58 -17
- package/dist/tools/warp_grep/index.cjs.map +1 -1
- package/dist/tools/warp_grep/index.js +5 -5
- package/dist/tools/warp_grep/openai.cjs +54 -12
- package/dist/tools/warp_grep/openai.cjs.map +1 -1
- package/dist/tools/warp_grep/openai.js +6 -6
- package/dist/tools/warp_grep/providers/local.cjs +13 -5
- package/dist/tools/warp_grep/providers/local.cjs.map +1 -1
- package/dist/tools/warp_grep/providers/local.js +1 -1
- package/dist/tools/warp_grep/providers/remote.cjs +7 -2
- package/dist/tools/warp_grep/providers/remote.cjs.map +1 -1
- package/dist/tools/warp_grep/providers/remote.js +1 -1
- package/dist/tools/warp_grep/vercel.cjs +54 -12
- package/dist/tools/warp_grep/vercel.cjs.map +1 -1
- package/dist/tools/warp_grep/vercel.js +6 -6
- package/package.json +1 -1
- package/dist/chunk-26QXQFLZ.js.map +0 -1
- package/dist/chunk-DCIUCDWJ.js.map +0 -1
- package/dist/chunk-HBIDSKIQ.js.map +0 -1
- /package/dist/{chunk-5PGRBWJX.js.map → chunk-4VMIPD4G.js.map} +0 -0
- /package/dist/{chunk-QL5SMQ73.js.map → chunk-NTTQJM6O.js.map} +0 -0
- /package/dist/{chunk-ND7IFSMR.js.map → chunk-OFMDENAQ.js.map} +0 -0
- /package/dist/{chunk-LM62QCGS.js.map → chunk-X6A64F2F.js.map} +0 -0
- /package/dist/{chunk-4R3ALD5C.js.map → chunk-Z2HDXUH7.js.map} +0 -0
|
@@ -2,20 +2,20 @@ import {
|
|
|
2
2
|
createWarpGrepTool,
|
|
3
3
|
execute,
|
|
4
4
|
warpGrepTool
|
|
5
|
-
} from "../../chunk-
|
|
5
|
+
} from "../../chunk-Z2HDXUH7.js";
|
|
6
6
|
import "../../chunk-KW7OEGZK.js";
|
|
7
7
|
import {
|
|
8
8
|
formatResult
|
|
9
|
-
} from "../../chunk-
|
|
10
|
-
import "../../chunk-
|
|
11
|
-
import "../../chunk-
|
|
12
|
-
import "../../chunk-
|
|
9
|
+
} from "../../chunk-4VMIPD4G.js";
|
|
10
|
+
import "../../chunk-B3UC7UVA.js";
|
|
11
|
+
import "../../chunk-PHJQ4N3T.js";
|
|
12
|
+
import "../../chunk-467MCW5R.js";
|
|
13
13
|
import "../../chunk-APP75CBN.js";
|
|
14
14
|
import "../../chunk-5QRN3JNB.js";
|
|
15
15
|
import {
|
|
16
16
|
getSystemPrompt
|
|
17
17
|
} from "../../chunk-FMLHRJDF.js";
|
|
18
|
-
import "../../chunk-
|
|
18
|
+
import "../../chunk-4NI25AKV.js";
|
|
19
19
|
import "../../chunk-G2RSY56Q.js";
|
|
20
20
|
import "../../chunk-YPKNMYD4.js";
|
|
21
21
|
import "../../chunk-TPP2UGQP.js";
|
|
@@ -606,10 +606,25 @@ async function toolGrep(provider, args) {
|
|
|
606
606
|
}
|
|
607
607
|
|
|
608
608
|
// tools/warp_grep/agent/tools/read.ts
|
|
609
|
+
function isValidRange(start, end) {
|
|
610
|
+
return typeof start === "number" && typeof end === "number" && Number.isFinite(start) && Number.isFinite(end) && start > 0 && end >= start;
|
|
611
|
+
}
|
|
609
612
|
async function toolRead(provider, args) {
|
|
610
|
-
if (args.lines && args.lines.length > 0) {
|
|
613
|
+
if (args.lines && Array.isArray(args.lines) && args.lines.length > 0) {
|
|
614
|
+
const validRanges = [];
|
|
615
|
+
for (const range of args.lines) {
|
|
616
|
+
if (Array.isArray(range) && range.length >= 2 && isValidRange(range[0], range[1])) {
|
|
617
|
+
validRanges.push([range[0], range[1]]);
|
|
618
|
+
}
|
|
619
|
+
}
|
|
620
|
+
if (validRanges.length === 0) {
|
|
621
|
+
const res2 = await provider.read({ path: args.path });
|
|
622
|
+
if (res2.error) return res2.error;
|
|
623
|
+
if (!res2.lines.length) return "(empty file)";
|
|
624
|
+
return res2.lines.join("\n");
|
|
625
|
+
}
|
|
611
626
|
const chunks = [];
|
|
612
|
-
for (const [start, end] of
|
|
627
|
+
for (const [start, end] of validRanges) {
|
|
613
628
|
const res2 = await provider.read({ path: args.path, start, end });
|
|
614
629
|
if (res2.error) return res2.error;
|
|
615
630
|
chunks.push(res2.lines.join("\n"));
|
|
@@ -645,14 +660,28 @@ async function toolListDirectory(provider, args) {
|
|
|
645
660
|
}
|
|
646
661
|
|
|
647
662
|
// tools/warp_grep/agent/tools/finish.ts
|
|
663
|
+
function isValidRange2(range) {
|
|
664
|
+
return Array.isArray(range) && range.length >= 2 && typeof range[0] === "number" && typeof range[1] === "number" && Number.isFinite(range[0]) && Number.isFinite(range[1]) && range[0] > 0 && range[1] >= range[0];
|
|
665
|
+
}
|
|
666
|
+
function extractValidRanges(lines) {
|
|
667
|
+
if (!Array.isArray(lines)) return null;
|
|
668
|
+
const valid = [];
|
|
669
|
+
for (const range of lines) {
|
|
670
|
+
if (isValidRange2(range)) {
|
|
671
|
+
valid.push([range[0], range[1]]);
|
|
672
|
+
}
|
|
673
|
+
}
|
|
674
|
+
return valid.length > 0 ? valid : null;
|
|
675
|
+
}
|
|
648
676
|
async function readFinishFiles(repoRoot, files, reader) {
|
|
649
677
|
const out = [];
|
|
650
678
|
for (const f of files) {
|
|
651
|
-
|
|
679
|
+
const validRanges = f.lines === "*" ? null : extractValidRanges(f.lines);
|
|
680
|
+
if (f.lines === "*" || !validRanges) {
|
|
652
681
|
const lines = await reader(f.path);
|
|
653
682
|
out.push({ path: f.path, ranges: "*", content: lines.join("\n") });
|
|
654
683
|
} else {
|
|
655
|
-
const ranges = mergeRanges(
|
|
684
|
+
const ranges = mergeRanges(validRanges);
|
|
656
685
|
const chunks = [];
|
|
657
686
|
for (const [s, e] of ranges) {
|
|
658
687
|
const lines = await reader(f.path, s, e);
|
|
@@ -1060,7 +1089,7 @@ async function runWarpGrep(config) {
|
|
|
1060
1089
|
}
|
|
1061
1090
|
const parts = ["Relevant context found:"];
|
|
1062
1091
|
for (const f of finishMeta.files) {
|
|
1063
|
-
const ranges = f.lines === "*" ? "*" : f.lines.map(([s, e]) => `${s}-${e}`).join(", ");
|
|
1092
|
+
const ranges = f.lines === "*" ? "*" : Array.isArray(f.lines) ? f.lines.map(([s, e]) => `${s}-${e}`).join(", ") : "*";
|
|
1064
1093
|
parts.push(`- ${f.path}: ${ranges}`);
|
|
1065
1094
|
}
|
|
1066
1095
|
const payload = parts.join("\n");
|
|
@@ -1420,11 +1449,19 @@ Details: ${res.stderr}` : ""}`
|
|
|
1420
1449
|
};
|
|
1421
1450
|
}
|
|
1422
1451
|
const total = lines.length;
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
|
|
1427
|
-
|
|
1452
|
+
const rawStart = params.start;
|
|
1453
|
+
const rawEnd = params.end;
|
|
1454
|
+
let s = 1;
|
|
1455
|
+
let e = total;
|
|
1456
|
+
const startValid = rawStart === void 0 || Number.isFinite(rawStart) && rawStart > 0;
|
|
1457
|
+
const endValid = rawEnd === void 0 || Number.isFinite(rawEnd) && rawEnd > 0;
|
|
1458
|
+
if (startValid && endValid) {
|
|
1459
|
+
s = rawStart ?? 1;
|
|
1460
|
+
e = Math.min(rawEnd ?? total, total);
|
|
1461
|
+
if (s > total && total > 0 || s > e) {
|
|
1462
|
+
s = 1;
|
|
1463
|
+
e = total;
|
|
1464
|
+
}
|
|
1428
1465
|
}
|
|
1429
1466
|
const out = [];
|
|
1430
1467
|
for (let i = s; i <= e; i += 1) {
|
|
@@ -1600,8 +1637,13 @@ var RemoteCommandsProvider = class {
|
|
|
1600
1637
|
* Read file and add line numbers
|
|
1601
1638
|
*/
|
|
1602
1639
|
async read(params) {
|
|
1603
|
-
const
|
|
1604
|
-
const
|
|
1640
|
+
const rawStart = params.start;
|
|
1641
|
+
const rawEnd = params.end;
|
|
1642
|
+
const startValid = rawStart === void 0 || Number.isFinite(rawStart) && rawStart > 0;
|
|
1643
|
+
const endValid = rawEnd === void 0 || Number.isFinite(rawEnd) && rawEnd > 0;
|
|
1644
|
+
const rangeValid = startValid && endValid && (rawStart === void 0 || rawEnd === void 0 || rawStart <= rawEnd);
|
|
1645
|
+
const start = rangeValid && rawStart !== void 0 ? rawStart : 1;
|
|
1646
|
+
const end = rangeValid && rawEnd !== void 0 ? rawEnd : 1e6;
|
|
1605
1647
|
try {
|
|
1606
1648
|
const stdout = await this.commands.read(params.path, start, end);
|
|
1607
1649
|
const contentLines = (stdout || "").split("\n");
|