@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
package/dist/client.js
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import {
|
|
2
2
|
MorphClient
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-X6A64F2F.js";
|
|
4
|
+
import "./chunk-Z2HDXUH7.js";
|
|
5
|
+
import "./chunk-NTTQJM6O.js";
|
|
6
|
+
import "./chunk-OFMDENAQ.js";
|
|
7
7
|
import "./chunk-KW7OEGZK.js";
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-4VMIPD4G.js";
|
|
9
|
+
import "./chunk-B3UC7UVA.js";
|
|
10
|
+
import "./chunk-PHJQ4N3T.js";
|
|
11
|
+
import "./chunk-467MCW5R.js";
|
|
12
12
|
import "./chunk-APP75CBN.js";
|
|
13
13
|
import "./chunk-5QRN3JNB.js";
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-FMLHRJDF.js";
|
|
15
|
+
import "./chunk-4NI25AKV.js";
|
|
16
16
|
import "./chunk-G2RSY56Q.js";
|
|
17
17
|
import "./chunk-YPKNMYD4.js";
|
|
18
18
|
import "./chunk-TPP2UGQP.js";
|
package/dist/index.cjs
CHANGED
|
@@ -1280,6 +1280,8 @@ I think I have a rough idea, but this is my last turn so I must call the finish
|
|
|
1280
1280
|
No commentary outside \`<think>\`. No explanations after tool calls.
|
|
1281
1281
|
</output_format>
|
|
1282
1282
|
|
|
1283
|
+
use as all 8 tool calls to be optimal
|
|
1284
|
+
|
|
1283
1285
|
<finishing_requirements>
|
|
1284
1286
|
When calling \`finish\`:
|
|
1285
1287
|
- Include the import section (typically lines 1-20) of each file
|
|
@@ -1567,10 +1569,25 @@ async function toolGrep(provider, args) {
|
|
|
1567
1569
|
}
|
|
1568
1570
|
|
|
1569
1571
|
// tools/warp_grep/agent/tools/read.ts
|
|
1572
|
+
function isValidRange(start, end) {
|
|
1573
|
+
return typeof start === "number" && typeof end === "number" && Number.isFinite(start) && Number.isFinite(end) && start > 0 && end >= start;
|
|
1574
|
+
}
|
|
1570
1575
|
async function toolRead(provider, args) {
|
|
1571
|
-
if (args.lines && args.lines.length > 0) {
|
|
1576
|
+
if (args.lines && Array.isArray(args.lines) && args.lines.length > 0) {
|
|
1577
|
+
const validRanges = [];
|
|
1578
|
+
for (const range of args.lines) {
|
|
1579
|
+
if (Array.isArray(range) && range.length >= 2 && isValidRange(range[0], range[1])) {
|
|
1580
|
+
validRanges.push([range[0], range[1]]);
|
|
1581
|
+
}
|
|
1582
|
+
}
|
|
1583
|
+
if (validRanges.length === 0) {
|
|
1584
|
+
const res2 = await provider.read({ path: args.path });
|
|
1585
|
+
if (res2.error) return res2.error;
|
|
1586
|
+
if (!res2.lines.length) return "(empty file)";
|
|
1587
|
+
return res2.lines.join("\n");
|
|
1588
|
+
}
|
|
1572
1589
|
const chunks = [];
|
|
1573
|
-
for (const [start, end] of
|
|
1590
|
+
for (const [start, end] of validRanges) {
|
|
1574
1591
|
const res2 = await provider.read({ path: args.path, start, end });
|
|
1575
1592
|
if (res2.error) return res2.error;
|
|
1576
1593
|
chunks.push(res2.lines.join("\n"));
|
|
@@ -1606,14 +1623,28 @@ async function toolListDirectory(provider, args) {
|
|
|
1606
1623
|
}
|
|
1607
1624
|
|
|
1608
1625
|
// tools/warp_grep/agent/tools/finish.ts
|
|
1626
|
+
function isValidRange2(range) {
|
|
1627
|
+
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];
|
|
1628
|
+
}
|
|
1629
|
+
function extractValidRanges(lines) {
|
|
1630
|
+
if (!Array.isArray(lines)) return null;
|
|
1631
|
+
const valid = [];
|
|
1632
|
+
for (const range of lines) {
|
|
1633
|
+
if (isValidRange2(range)) {
|
|
1634
|
+
valid.push([range[0], range[1]]);
|
|
1635
|
+
}
|
|
1636
|
+
}
|
|
1637
|
+
return valid.length > 0 ? valid : null;
|
|
1638
|
+
}
|
|
1609
1639
|
async function readFinishFiles(repoRoot, files, reader) {
|
|
1610
1640
|
const out = [];
|
|
1611
1641
|
for (const f of files) {
|
|
1612
|
-
|
|
1642
|
+
const validRanges = f.lines === "*" ? null : extractValidRanges(f.lines);
|
|
1643
|
+
if (f.lines === "*" || !validRanges) {
|
|
1613
1644
|
const lines = await reader(f.path);
|
|
1614
1645
|
out.push({ path: f.path, ranges: "*", content: lines.join("\n") });
|
|
1615
1646
|
} else {
|
|
1616
|
-
const ranges = mergeRanges(
|
|
1647
|
+
const ranges = mergeRanges(validRanges);
|
|
1617
1648
|
const chunks = [];
|
|
1618
1649
|
for (const [s, e] of ranges) {
|
|
1619
1650
|
const lines = await reader(f.path, s, e);
|
|
@@ -1947,7 +1978,7 @@ async function runWarpGrep(config) {
|
|
|
1947
1978
|
}
|
|
1948
1979
|
const parts = ["Relevant context found:"];
|
|
1949
1980
|
for (const f of finishMeta.files) {
|
|
1950
|
-
const ranges = f.lines === "*" ? "*" : f.lines.map(([s, e]) => `${s}-${e}`).join(", ");
|
|
1981
|
+
const ranges = f.lines === "*" ? "*" : Array.isArray(f.lines) ? f.lines.map(([s, e]) => `${s}-${e}`).join(", ") : "*";
|
|
1951
1982
|
parts.push(`- ${f.path}: ${ranges}`);
|
|
1952
1983
|
}
|
|
1953
1984
|
const payload = parts.join("\n");
|
|
@@ -2307,11 +2338,19 @@ Details: ${res.stderr}` : ""}`
|
|
|
2307
2338
|
};
|
|
2308
2339
|
}
|
|
2309
2340
|
const total = lines.length;
|
|
2310
|
-
|
|
2311
|
-
|
|
2312
|
-
|
|
2313
|
-
|
|
2314
|
-
|
|
2341
|
+
const rawStart = params.start;
|
|
2342
|
+
const rawEnd = params.end;
|
|
2343
|
+
let s = 1;
|
|
2344
|
+
let e = total;
|
|
2345
|
+
const startValid = rawStart === void 0 || Number.isFinite(rawStart) && rawStart > 0;
|
|
2346
|
+
const endValid = rawEnd === void 0 || Number.isFinite(rawEnd) && rawEnd > 0;
|
|
2347
|
+
if (startValid && endValid) {
|
|
2348
|
+
s = rawStart ?? 1;
|
|
2349
|
+
e = Math.min(rawEnd ?? total, total);
|
|
2350
|
+
if (s > total && total > 0 || s > e) {
|
|
2351
|
+
s = 1;
|
|
2352
|
+
e = total;
|
|
2353
|
+
}
|
|
2315
2354
|
}
|
|
2316
2355
|
const out = [];
|
|
2317
2356
|
for (let i = s; i <= e; i += 1) {
|
|
@@ -2487,8 +2526,13 @@ var RemoteCommandsProvider = class {
|
|
|
2487
2526
|
* Read file and add line numbers
|
|
2488
2527
|
*/
|
|
2489
2528
|
async read(params) {
|
|
2490
|
-
const
|
|
2491
|
-
const
|
|
2529
|
+
const rawStart = params.start;
|
|
2530
|
+
const rawEnd = params.end;
|
|
2531
|
+
const startValid = rawStart === void 0 || Number.isFinite(rawStart) && rawStart > 0;
|
|
2532
|
+
const endValid = rawEnd === void 0 || Number.isFinite(rawEnd) && rawEnd > 0;
|
|
2533
|
+
const rangeValid = startValid && endValid && (rawStart === void 0 || rawEnd === void 0 || rawStart <= rawEnd);
|
|
2534
|
+
const start = rangeValid && rawStart !== void 0 ? rawStart : 1;
|
|
2535
|
+
const end = rangeValid && rawEnd !== void 0 ? rawEnd : 1e6;
|
|
2492
2536
|
try {
|
|
2493
2537
|
const stdout = await this.commands.read(params.path, start, end);
|
|
2494
2538
|
const contentLines = (stdout || "").split("\n");
|