@morphllm/morphsdk 0.2.76 → 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-XREWLWLA.js → chunk-4VMIPD4G.js} +4 -4
- package/dist/{chunk-RRWN62VU.js → chunk-B3UC7UVA.js} +4 -4
- package/dist/{chunk-RRWN62VU.js.map → chunk-B3UC7UVA.js.map} +1 -1
- package/dist/{chunk-Q5AHGIQO.js → chunk-FMLHRJDF.js} +3 -1
- package/dist/{chunk-Q5AHGIQO.js.map → chunk-FMLHRJDF.js.map} +1 -1
- package/dist/{chunk-G2EJHZSA.js → chunk-NTTQJM6O.js} +3 -3
- package/dist/{chunk-P2LHXSMG.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-KILYNOE4.js → chunk-X6A64F2F.js} +5 -5
- package/dist/{chunk-RK2MR3N2.js → chunk-Z2HDXUH7.js} +3 -3
- package/dist/client.cjs +56 -12
- package/dist/client.cjs.map +1 -1
- package/dist/client.js +10 -10
- package/dist/index.cjs +56 -12
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +10 -10
- package/dist/tools/warp_grep/agent/prompt.cjs +2 -0
- package/dist/tools/warp_grep/agent/prompt.cjs.map +1 -1
- package/dist/tools/warp_grep/agent/prompt.d.ts +1 -1
- package/dist/tools/warp_grep/agent/prompt.js +1 -1
- package/dist/tools/warp_grep/agent/runner.cjs +36 -5
- package/dist/tools/warp_grep/agent/runner.cjs.map +1 -1
- package/dist/tools/warp_grep/agent/runner.js +3 -3
- package/dist/tools/warp_grep/anthropic.cjs +56 -12
- package/dist/tools/warp_grep/anthropic.cjs.map +1 -1
- package/dist/tools/warp_grep/anthropic.js +7 -7
- package/dist/tools/warp_grep/client.cjs +56 -12
- package/dist/tools/warp_grep/client.cjs.map +1 -1
- package/dist/tools/warp_grep/client.js +6 -6
- package/dist/tools/warp_grep/gemini.cjs +56 -12
- package/dist/tools/warp_grep/gemini.cjs.map +1 -1
- package/dist/tools/warp_grep/gemini.js +6 -6
- package/dist/tools/warp_grep/harness.cjs +52 -14
- package/dist/tools/warp_grep/harness.cjs.map +1 -1
- package/dist/tools/warp_grep/harness.js +3 -3
- package/dist/tools/warp_grep/index.cjs +60 -17
- package/dist/tools/warp_grep/index.cjs.map +1 -1
- package/dist/tools/warp_grep/index.js +6 -6
- package/dist/tools/warp_grep/openai.cjs +56 -12
- package/dist/tools/warp_grep/openai.cjs.map +1 -1
- package/dist/tools/warp_grep/openai.js +7 -7
- 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 +56 -12
- package/dist/tools/warp_grep/vercel.cjs.map +1 -1
- package/dist/tools/warp_grep/vercel.js +7 -7
- 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-XREWLWLA.js.map → chunk-4VMIPD4G.js.map} +0 -0
- /package/dist/{chunk-G2EJHZSA.js.map → chunk-NTTQJM6O.js.map} +0 -0
- /package/dist/{chunk-P2LHXSMG.js.map → chunk-OFMDENAQ.js.map} +0 -0
- /package/dist/{chunk-KILYNOE4.js.map → chunk-X6A64F2F.js.map} +0 -0
- /package/dist/{chunk-RK2MR3N2.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
|
-
} from "../../chunk-
|
|
18
|
-
import "../../chunk-
|
|
17
|
+
} from "../../chunk-FMLHRJDF.js";
|
|
18
|
+
import "../../chunk-4NI25AKV.js";
|
|
19
19
|
import "../../chunk-G2RSY56Q.js";
|
|
20
20
|
import "../../chunk-YPKNMYD4.js";
|
|
21
21
|
import "../../chunk-TPP2UGQP.js";
|
|
@@ -317,6 +317,8 @@ I think I have a rough idea, but this is my last turn so I must call the finish
|
|
|
317
317
|
No commentary outside \`<think>\`. No explanations after tool calls.
|
|
318
318
|
</output_format>
|
|
319
319
|
|
|
320
|
+
use as all 8 tool calls to be optimal
|
|
321
|
+
|
|
320
322
|
<finishing_requirements>
|
|
321
323
|
When calling \`finish\`:
|
|
322
324
|
- Include the import section (typically lines 1-20) of each file
|
|
@@ -604,10 +606,25 @@ async function toolGrep(provider, args) {
|
|
|
604
606
|
}
|
|
605
607
|
|
|
606
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
|
+
}
|
|
607
612
|
async function toolRead(provider, args) {
|
|
608
|
-
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
|
+
}
|
|
609
626
|
const chunks = [];
|
|
610
|
-
for (const [start, end] of
|
|
627
|
+
for (const [start, end] of validRanges) {
|
|
611
628
|
const res2 = await provider.read({ path: args.path, start, end });
|
|
612
629
|
if (res2.error) return res2.error;
|
|
613
630
|
chunks.push(res2.lines.join("\n"));
|
|
@@ -643,14 +660,28 @@ async function toolListDirectory(provider, args) {
|
|
|
643
660
|
}
|
|
644
661
|
|
|
645
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
|
+
}
|
|
646
676
|
async function readFinishFiles(repoRoot, files, reader) {
|
|
647
677
|
const out = [];
|
|
648
678
|
for (const f of files) {
|
|
649
|
-
|
|
679
|
+
const validRanges = f.lines === "*" ? null : extractValidRanges(f.lines);
|
|
680
|
+
if (f.lines === "*" || !validRanges) {
|
|
650
681
|
const lines = await reader(f.path);
|
|
651
682
|
out.push({ path: f.path, ranges: "*", content: lines.join("\n") });
|
|
652
683
|
} else {
|
|
653
|
-
const ranges = mergeRanges(
|
|
684
|
+
const ranges = mergeRanges(validRanges);
|
|
654
685
|
const chunks = [];
|
|
655
686
|
for (const [s, e] of ranges) {
|
|
656
687
|
const lines = await reader(f.path, s, e);
|
|
@@ -1058,7 +1089,7 @@ async function runWarpGrep(config) {
|
|
|
1058
1089
|
}
|
|
1059
1090
|
const parts = ["Relevant context found:"];
|
|
1060
1091
|
for (const f of finishMeta.files) {
|
|
1061
|
-
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(", ") : "*";
|
|
1062
1093
|
parts.push(`- ${f.path}: ${ranges}`);
|
|
1063
1094
|
}
|
|
1064
1095
|
const payload = parts.join("\n");
|
|
@@ -1418,11 +1449,19 @@ Details: ${res.stderr}` : ""}`
|
|
|
1418
1449
|
};
|
|
1419
1450
|
}
|
|
1420
1451
|
const total = lines.length;
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
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
|
+
}
|
|
1426
1465
|
}
|
|
1427
1466
|
const out = [];
|
|
1428
1467
|
for (let i = s; i <= e; i += 1) {
|
|
@@ -1598,8 +1637,13 @@ var RemoteCommandsProvider = class {
|
|
|
1598
1637
|
* Read file and add line numbers
|
|
1599
1638
|
*/
|
|
1600
1639
|
async read(params) {
|
|
1601
|
-
const
|
|
1602
|
-
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;
|
|
1603
1647
|
try {
|
|
1604
1648
|
const stdout = await this.commands.read(params.path, start, end);
|
|
1605
1649
|
const contentLines = (stdout || "").split("\n");
|