@morphllm/morphsdk 0.2.120 → 0.2.122
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-7TM4RBXE.js → chunk-2AQLRL4U.js} +2 -2
- package/dist/{chunk-XQ4KEOJT.js → chunk-2MJEULZU.js} +2 -2
- package/dist/{chunk-SNY2UKHQ.js → chunk-3PMFQ5AV.js} +4 -4
- package/dist/{chunk-A54BOCBI.js → chunk-4GEBF5OH.js} +2 -2
- package/dist/{chunk-VVEK5JSH.js → chunk-4IU2K63O.js} +4 -4
- package/dist/{chunk-HCN2MLSO.js → chunk-4LA3OT4Q.js} +28 -4
- package/dist/chunk-4LA3OT4Q.js.map +1 -0
- package/dist/{chunk-HBWOWL7L.js → chunk-5UUJULLM.js} +2 -2
- package/dist/chunk-63VHBANJ.js +22 -0
- package/dist/chunk-63VHBANJ.js.map +1 -0
- package/dist/{chunk-L5C6E32T.js → chunk-64KNVHR4.js} +1 -1
- package/dist/{chunk-L5C6E32T.js.map → chunk-64KNVHR4.js.map} +1 -1
- package/dist/{chunk-2BPPWIJI.js → chunk-73GZ6KUK.js} +2 -2
- package/dist/{chunk-NW6PJIID.js → chunk-7KOUCN6T.js} +2 -2
- package/dist/{chunk-NLDYHLRB.js → chunk-EBROW6GK.js} +2 -2
- package/dist/{chunk-TVPEH6FF.js → chunk-GTANVDUZ.js} +2 -2
- package/dist/chunk-J267T54M.js +76 -0
- package/dist/chunk-J267T54M.js.map +1 -0
- package/dist/{chunk-KW7OEGZK.js → chunk-KJZMKDDP.js} +16 -2
- package/dist/{chunk-KW7OEGZK.js.map → chunk-KJZMKDDP.js.map} +1 -1
- package/dist/{chunk-4VLTYTEY.js → chunk-L4URLBKV.js} +3 -3
- package/dist/{chunk-T7F3DIRK.js → chunk-LE24SVVU.js} +2 -2
- package/dist/{chunk-BVINWDTA.js → chunk-MQWEZJTP.js} +6 -6
- package/dist/{chunk-6ODXYTLF.js → chunk-OTGBQEVH.js} +2 -2
- package/dist/{chunk-7HKYJ2MW.js → chunk-OWISPSLH.js} +2 -2
- package/dist/{chunk-HQAPRX5T.js → chunk-QGE7FGGT.js} +4 -4
- package/dist/{chunk-4RO43W62.js → chunk-RNKHRNSG.js} +8 -3
- package/dist/chunk-RNKHRNSG.js.map +1 -0
- package/dist/{chunk-RZ4VC4BG.js → chunk-T3T4LGRD.js} +30 -3
- package/dist/chunk-T3T4LGRD.js.map +1 -0
- package/dist/{chunk-FZUUET6R.js → chunk-TBLMIAIH.js} +28 -3
- package/dist/chunk-TBLMIAIH.js.map +1 -0
- package/dist/{chunk-RODHADNG.js → chunk-TXT3W4QK.js} +69 -11
- package/dist/chunk-TXT3W4QK.js.map +1 -0
- package/dist/{chunk-P4EPXC2Q.js → chunk-UDGJQBTC.js} +70 -17
- package/dist/{chunk-P4EPXC2Q.js.map → chunk-UDGJQBTC.js.map} +1 -1
- package/dist/chunk-WYYR2EU6.js +29 -0
- package/dist/chunk-WYYR2EU6.js.map +1 -0
- package/dist/{chunk-5HPN4VL2.js → chunk-ZHRT6F72.js} +1 -1
- package/dist/{client-D7iO2TbA.d.ts → client-BJrzbMYL.d.ts} +52 -2
- package/dist/client.cjs +302 -9
- package/dist/client.cjs.map +1 -1
- package/dist/client.d.ts +5 -2
- package/dist/client.js +25 -22
- package/dist/edge.cjs +81 -2
- package/dist/edge.cjs.map +1 -1
- package/dist/edge.d.ts +3 -0
- package/dist/edge.js +8 -4
- package/dist/index.cjs +304 -9
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +5 -2
- package/dist/index.js +30 -24
- package/dist/modelrouter/core.cjs +7 -2
- package/dist/modelrouter/core.cjs.map +1 -1
- package/dist/modelrouter/core.js +3 -3
- package/dist/modelrouter/index.cjs +7 -2
- package/dist/modelrouter/index.cjs.map +1 -1
- package/dist/modelrouter/index.js +3 -3
- package/dist/tools/browser/anthropic.cjs +7 -2
- package/dist/tools/browser/anthropic.cjs.map +1 -1
- package/dist/tools/browser/anthropic.js +5 -5
- package/dist/tools/browser/core.cjs +7 -2
- package/dist/tools/browser/core.cjs.map +1 -1
- package/dist/tools/browser/core.js +4 -4
- package/dist/tools/browser/index.cjs +7 -2
- package/dist/tools/browser/index.cjs.map +1 -1
- package/dist/tools/browser/index.js +7 -7
- package/dist/tools/browser/openai.cjs +7 -2
- package/dist/tools/browser/openai.cjs.map +1 -1
- package/dist/tools/browser/openai.js +5 -5
- package/dist/tools/browser/profiles/core.cjs +7 -2
- package/dist/tools/browser/profiles/core.cjs.map +1 -1
- package/dist/tools/browser/profiles/core.js +3 -3
- package/dist/tools/browser/profiles/index.cjs +7 -2
- package/dist/tools/browser/profiles/index.cjs.map +1 -1
- package/dist/tools/browser/profiles/index.js +3 -3
- package/dist/tools/browser/vercel.cjs +7 -2
- package/dist/tools/browser/vercel.cjs.map +1 -1
- package/dist/tools/browser/vercel.js +5 -5
- package/dist/tools/codebase_search/anthropic.cjs +7 -2
- package/dist/tools/codebase_search/anthropic.cjs.map +1 -1
- package/dist/tools/codebase_search/anthropic.js +4 -4
- package/dist/tools/codebase_search/core.cjs +7 -2
- package/dist/tools/codebase_search/core.cjs.map +1 -1
- package/dist/tools/codebase_search/core.js +3 -3
- package/dist/tools/codebase_search/index.cjs +7 -2
- package/dist/tools/codebase_search/index.cjs.map +1 -1
- package/dist/tools/codebase_search/index.js +6 -6
- package/dist/tools/codebase_search/openai.cjs +7 -2
- package/dist/tools/codebase_search/openai.cjs.map +1 -1
- package/dist/tools/codebase_search/openai.js +4 -4
- package/dist/tools/codebase_search/vercel.cjs +7 -2
- package/dist/tools/codebase_search/vercel.cjs.map +1 -1
- package/dist/tools/codebase_search/vercel.js +4 -4
- package/dist/tools/compact/core.cjs +110 -0
- package/dist/tools/compact/core.cjs.map +1 -0
- package/dist/tools/compact/core.d.ts +37 -0
- package/dist/tools/compact/core.js +8 -0
- package/dist/tools/compact/core.js.map +1 -0
- package/dist/tools/compact/index.cjs +112 -0
- package/dist/tools/compact/index.cjs.map +1 -0
- package/dist/tools/compact/index.d.ts +4 -0
- package/dist/tools/compact/index.js +8 -0
- package/dist/tools/compact/index.js.map +1 -0
- package/dist/tools/compact/types.cjs +19 -0
- package/dist/tools/compact/types.cjs.map +1 -0
- package/dist/tools/compact/types.d.ts +60 -0
- package/dist/tools/compact/types.js +1 -0
- package/dist/tools/compact/types.js.map +1 -0
- package/dist/tools/fastapply/anthropic.cjs +7 -2
- package/dist/tools/fastapply/anthropic.cjs.map +1 -1
- package/dist/tools/fastapply/anthropic.js +4 -4
- package/dist/tools/fastapply/apply.cjs +7 -2
- package/dist/tools/fastapply/apply.cjs.map +1 -1
- package/dist/tools/fastapply/apply.js +2 -2
- package/dist/tools/fastapply/core.cjs +7 -2
- package/dist/tools/fastapply/core.cjs.map +1 -1
- package/dist/tools/fastapply/core.js +3 -3
- package/dist/tools/fastapply/index.cjs +7 -2
- package/dist/tools/fastapply/index.cjs.map +1 -1
- package/dist/tools/fastapply/index.d.ts +1 -1
- package/dist/tools/fastapply/index.js +8 -8
- package/dist/tools/fastapply/openai.cjs +7 -2
- package/dist/tools/fastapply/openai.cjs.map +1 -1
- package/dist/tools/fastapply/openai.js +4 -4
- package/dist/tools/fastapply/vercel.cjs +7 -2
- package/dist/tools/fastapply/vercel.cjs.map +1 -1
- package/dist/tools/fastapply/vercel.d.ts +1 -1
- package/dist/tools/fastapply/vercel.js +4 -4
- package/dist/tools/index.cjs +7 -2
- package/dist/tools/index.cjs.map +1 -1
- package/dist/tools/index.d.ts +1 -1
- package/dist/tools/index.js +8 -8
- package/dist/tools/utils/resilience.cjs +7 -2
- package/dist/tools/utils/resilience.cjs.map +1 -1
- package/dist/tools/utils/resilience.js +2 -2
- package/dist/tools/warp_grep/agent/runner.cjs +7 -2
- 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 +369 -2
- package/dist/tools/warp_grep/anthropic.cjs.map +1 -1
- package/dist/tools/warp_grep/anthropic.d.ts +35 -2
- package/dist/tools/warp_grep/anthropic.js +10 -6
- package/dist/tools/warp_grep/client.cjs +109 -9
- package/dist/tools/warp_grep/client.cjs.map +1 -1
- package/dist/tools/warp_grep/client.d.ts +32 -1
- package/dist/tools/warp_grep/client.js +6 -4
- package/dist/tools/warp_grep/gemini.cjs +369 -2
- package/dist/tools/warp_grep/gemini.cjs.map +1 -1
- package/dist/tools/warp_grep/gemini.d.ts +35 -2
- package/dist/tools/warp_grep/gemini.js +39 -5
- package/dist/tools/warp_grep/gemini.js.map +1 -1
- package/dist/tools/warp_grep/harness.js +4 -4
- package/dist/tools/warp_grep/index.cjs +128 -9
- package/dist/tools/warp_grep/index.cjs.map +1 -1
- package/dist/tools/warp_grep/index.d.ts +23 -2
- package/dist/tools/warp_grep/index.js +19 -8
- package/dist/tools/warp_grep/openai.cjs +372 -2
- package/dist/tools/warp_grep/openai.cjs.map +1 -1
- package/dist/tools/warp_grep/openai.d.ts +35 -2
- package/dist/tools/warp_grep/openai.js +10 -6
- package/dist/tools/warp_grep/providers/code_storage_http.cjs +53 -0
- package/dist/tools/warp_grep/providers/code_storage_http.cjs.map +1 -0
- package/dist/tools/warp_grep/providers/code_storage_http.d.ts +23 -0
- package/dist/tools/warp_grep/providers/code_storage_http.js +8 -0
- package/dist/tools/warp_grep/providers/code_storage_http.js.map +1 -0
- package/dist/tools/warp_grep/providers/remote.d.ts +1 -1
- package/dist/tools/warp_grep/utils/github.cjs +46 -0
- package/dist/tools/warp_grep/utils/github.cjs.map +1 -0
- package/dist/tools/warp_grep/utils/github.d.ts +13 -0
- package/dist/tools/warp_grep/utils/github.js +8 -0
- package/dist/tools/warp_grep/utils/github.js.map +1 -0
- package/dist/tools/warp_grep/vercel.cjs +157 -2
- package/dist/tools/warp_grep/vercel.cjs.map +1 -1
- package/dist/tools/warp_grep/vercel.d.ts +32 -2
- package/dist/tools/warp_grep/vercel.js +10 -6
- package/dist/{types-D5p8QErL.d.ts → types-CA7989hK.d.ts} +17 -1
- package/dist/version.cjs +7 -2
- package/dist/version.cjs.map +1 -1
- package/dist/version.js +1 -1
- package/package.json +7 -2
- package/dist/chunk-4RO43W62.js.map +0 -1
- package/dist/chunk-FZUUET6R.js.map +0 -1
- package/dist/chunk-HCN2MLSO.js.map +0 -1
- package/dist/chunk-RODHADNG.js.map +0 -1
- package/dist/chunk-RZ4VC4BG.js.map +0 -1
- package/dist/{chunk-7TM4RBXE.js.map → chunk-2AQLRL4U.js.map} +0 -0
- package/dist/{chunk-XQ4KEOJT.js.map → chunk-2MJEULZU.js.map} +0 -0
- package/dist/{chunk-SNY2UKHQ.js.map → chunk-3PMFQ5AV.js.map} +0 -0
- package/dist/{chunk-A54BOCBI.js.map → chunk-4GEBF5OH.js.map} +0 -0
- package/dist/{chunk-VVEK5JSH.js.map → chunk-4IU2K63O.js.map} +0 -0
- package/dist/{chunk-HBWOWL7L.js.map → chunk-5UUJULLM.js.map} +0 -0
- package/dist/{chunk-2BPPWIJI.js.map → chunk-73GZ6KUK.js.map} +0 -0
- package/dist/{chunk-NW6PJIID.js.map → chunk-7KOUCN6T.js.map} +0 -0
- package/dist/{chunk-NLDYHLRB.js.map → chunk-EBROW6GK.js.map} +0 -0
- package/dist/{chunk-TVPEH6FF.js.map → chunk-GTANVDUZ.js.map} +0 -0
- package/dist/{chunk-4VLTYTEY.js.map → chunk-L4URLBKV.js.map} +0 -0
- package/dist/{chunk-T7F3DIRK.js.map → chunk-LE24SVVU.js.map} +0 -0
- package/dist/{chunk-BVINWDTA.js.map → chunk-MQWEZJTP.js.map} +0 -0
- package/dist/{chunk-6ODXYTLF.js.map → chunk-OTGBQEVH.js.map} +0 -0
- package/dist/{chunk-7HKYJ2MW.js.map → chunk-OWISPSLH.js.map} +0 -0
- package/dist/{chunk-HQAPRX5T.js.map → chunk-QGE7FGGT.js.map} +0 -0
- package/dist/{chunk-5HPN4VL2.js.map → chunk-ZHRT6F72.js.map} +0 -0
- package/dist/{vercel-B1GZ_g9N.d.ts → vercel-BTSPdTA-.d.ts} +2 -2
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Tool } from '@anthropic-ai/sdk/resources/messages';
|
|
2
2
|
export { formatResult } from './client.js';
|
|
3
3
|
export { getSystemPrompt } from './agent/prompt.js';
|
|
4
|
-
import { d as WarpGrepToolConfig, b as WarpGrepResult } from '../../types-
|
|
4
|
+
import { d as WarpGrepToolConfig, b as WarpGrepResult, e as GitHubSearchToolConfig } from '../../types-CA7989hK.js';
|
|
5
5
|
import './agent/types.js';
|
|
6
6
|
import '../utils/resilience.js';
|
|
7
7
|
import './providers/types.js';
|
|
@@ -79,5 +79,38 @@ declare function createWarpGrepTool(config: WarpGrepToolConfig): Tool & {
|
|
|
79
79
|
formatResult: (result: WarpGrepResult) => string;
|
|
80
80
|
getSystemPrompt: () => string;
|
|
81
81
|
};
|
|
82
|
+
/**
|
|
83
|
+
* Create a GitHub search tool for Anthropic SDK
|
|
84
|
+
*
|
|
85
|
+
* @param config - Configuration options (morphApiKey, morphApiUrl, codeSearchUrl, timeout)
|
|
86
|
+
* @returns Anthropic Tool with execute and formatResult methods
|
|
87
|
+
*
|
|
88
|
+
* @example
|
|
89
|
+
* ```typescript
|
|
90
|
+
* import Anthropic from '@anthropic-ai/sdk';
|
|
91
|
+
* import { createGitHubSearchTool } from '@morphllm/morphsdk/tools/warp-grep/anthropic';
|
|
92
|
+
*
|
|
93
|
+
* const tool = createGitHubSearchTool({ morphApiKey: process.env.MORPH_API_KEY });
|
|
94
|
+
*
|
|
95
|
+
* const response = await client.messages.create({
|
|
96
|
+
* model: 'claude-sonnet-4-5-20250929',
|
|
97
|
+
* tools: [tool],
|
|
98
|
+
* messages: [{ role: 'user', content: 'How does auth work in vercel/next.js?' }]
|
|
99
|
+
* });
|
|
100
|
+
*
|
|
101
|
+
* // Execute
|
|
102
|
+
* const result = await tool.execute({ query: 'auth middleware', github: 'vercel/next.js' });
|
|
103
|
+
* console.log(tool.formatResult(result));
|
|
104
|
+
* ```
|
|
105
|
+
*/
|
|
106
|
+
declare function createGitHubSearchTool(config: GitHubSearchToolConfig): Tool & {
|
|
107
|
+
execute: (input: {
|
|
108
|
+
query: string;
|
|
109
|
+
github: string;
|
|
110
|
+
branch?: string;
|
|
111
|
+
}) => Promise<WarpGrepResult>;
|
|
112
|
+
formatResult: (result: WarpGrepResult) => string;
|
|
113
|
+
getSystemPrompt: () => string;
|
|
114
|
+
};
|
|
82
115
|
|
|
83
|
-
export { createWarpGrepTool, execute, warpGrepTool };
|
|
116
|
+
export { createGitHubSearchTool, createWarpGrepTool, execute, warpGrepTool };
|
|
@@ -1,24 +1,28 @@
|
|
|
1
1
|
import {
|
|
2
|
+
createGitHubSearchTool,
|
|
2
3
|
createWarpGrepTool,
|
|
3
4
|
execute,
|
|
4
5
|
warpGrepTool
|
|
5
|
-
} from "../../chunk-
|
|
6
|
-
import "../../chunk-
|
|
6
|
+
} from "../../chunk-4LA3OT4Q.js";
|
|
7
|
+
import "../../chunk-KJZMKDDP.js";
|
|
7
8
|
import {
|
|
8
9
|
formatResult
|
|
9
|
-
} from "../../chunk-
|
|
10
|
-
import "../../chunk-
|
|
10
|
+
} from "../../chunk-TXT3W4QK.js";
|
|
11
|
+
import "../../chunk-WYYR2EU6.js";
|
|
11
12
|
import "../../chunk-PUGSTXLO.js";
|
|
13
|
+
import "../../chunk-63VHBANJ.js";
|
|
14
|
+
import "../../chunk-MQWEZJTP.js";
|
|
12
15
|
import "../../chunk-3MLWXJTJ.js";
|
|
16
|
+
import "../../chunk-5PNMAWLC.js";
|
|
13
17
|
import "../../chunk-APP75CBN.js";
|
|
14
18
|
import "../../chunk-GHGJAQSJ.js";
|
|
15
19
|
import {
|
|
16
20
|
getSystemPrompt
|
|
17
21
|
} from "../../chunk-FMLHRJDF.js";
|
|
18
|
-
import "../../chunk-
|
|
19
|
-
import "../../chunk-4RO43W62.js";
|
|
22
|
+
import "../../chunk-RNKHRNSG.js";
|
|
20
23
|
import "../../chunk-PZ5AY32C.js";
|
|
21
24
|
export {
|
|
25
|
+
createGitHubSearchTool,
|
|
22
26
|
createWarpGrepTool,
|
|
23
27
|
execute,
|
|
24
28
|
formatResult,
|
|
@@ -1377,7 +1377,7 @@ var import_openai = __toESM(require("openai"), 1);
|
|
|
1377
1377
|
// package.json
|
|
1378
1378
|
var package_default = {
|
|
1379
1379
|
name: "@morphllm/morphsdk",
|
|
1380
|
-
version: "0.2.
|
|
1380
|
+
version: "0.2.122",
|
|
1381
1381
|
description: "TypeScript SDK and CLI for Morph Fast Apply integration",
|
|
1382
1382
|
type: "module",
|
|
1383
1383
|
main: "./dist/index.cjs",
|
|
@@ -1503,6 +1503,11 @@ var package_default = {
|
|
|
1503
1503
|
types: "./dist/modelrouter/index.d.ts",
|
|
1504
1504
|
import: "./dist/modelrouter/index.js",
|
|
1505
1505
|
require: "./dist/modelrouter/index.cjs"
|
|
1506
|
+
},
|
|
1507
|
+
"./tools/compact": {
|
|
1508
|
+
types: "./dist/tools/compact/index.d.ts",
|
|
1509
|
+
import: "./dist/tools/compact/index.js",
|
|
1510
|
+
require: "./dist/tools/compact/index.cjs"
|
|
1506
1511
|
}
|
|
1507
1512
|
},
|
|
1508
1513
|
files: [
|
|
@@ -1514,7 +1519,7 @@ var package_default = {
|
|
|
1514
1519
|
"!dist/**/*.test.*"
|
|
1515
1520
|
],
|
|
1516
1521
|
scripts: {
|
|
1517
|
-
build: "tsup version.ts index.ts edge.ts client.ts tools/index.ts tools/fastapply/index.ts tools/fastapply/core.ts tools/fastapply/apply.ts tools/fastapply/types.ts tools/fastapply/prompts.ts tools/fastapply/anthropic.ts tools/fastapply/openai.ts tools/fastapply/vercel.ts tools/codebase_search/index.ts tools/codebase_search/core.ts tools/codebase_search/types.ts tools/codebase_search/prompts.ts tools/codebase_search/anthropic.ts tools/codebase_search/openai.ts tools/codebase_search/vercel.ts tools/warp_grep/index.ts tools/warp_grep/client.ts tools/warp_grep/openai.ts tools/warp_grep/anthropic.ts tools/warp_grep/vercel.ts tools/warp_grep/gemini.ts tools/warp_grep/harness.ts tools/warp_grep/agent/config.ts tools/warp_grep/agent/prompt.ts tools/warp_grep/agent/parser.ts tools/warp_grep/agent/runner.ts tools/warp_grep/agent/types.ts tools/warp_grep/agent/formatter.ts tools/warp_grep/providers/types.ts tools/warp_grep/providers/local.ts tools/warp_grep/providers/remote.ts tools/warp_grep/tools/grep.ts tools/warp_grep/tools/analyse.ts tools/warp_grep/tools/read.ts tools/warp_grep/tools/finish.ts tools/warp_grep/utils/paths.ts tools/warp_grep/utils/ripgrep.ts tools/warp_grep/utils/format.ts tools/warp_grep/utils/files.ts git/index.ts git/client.ts git/config.ts git/types.ts tools/browser/index.ts tools/browser/core.ts tools/browser/types.ts tools/browser/prompts.ts tools/browser/anthropic.ts tools/browser/openai.ts tools/browser/vercel.ts tools/browser/live.ts tools/browser/errors.ts tools/browser/profiles/index.ts tools/browser/profiles/core.ts tools/browser/profiles/types.ts modelrouter/index.ts modelrouter/core.ts modelrouter/types.ts tools/utils/resilience.ts --format esm,cjs --sourcemap --clean --dts --dts-resolve",
|
|
1522
|
+
build: "tsup version.ts index.ts edge.ts client.ts tools/index.ts tools/fastapply/index.ts tools/fastapply/core.ts tools/fastapply/apply.ts tools/fastapply/types.ts tools/fastapply/prompts.ts tools/fastapply/anthropic.ts tools/fastapply/openai.ts tools/fastapply/vercel.ts tools/codebase_search/index.ts tools/codebase_search/core.ts tools/codebase_search/types.ts tools/codebase_search/prompts.ts tools/codebase_search/anthropic.ts tools/codebase_search/openai.ts tools/codebase_search/vercel.ts tools/warp_grep/index.ts tools/warp_grep/client.ts tools/warp_grep/openai.ts tools/warp_grep/anthropic.ts tools/warp_grep/vercel.ts tools/warp_grep/gemini.ts tools/warp_grep/harness.ts tools/warp_grep/agent/config.ts tools/warp_grep/agent/prompt.ts tools/warp_grep/agent/parser.ts tools/warp_grep/agent/runner.ts tools/warp_grep/agent/types.ts tools/warp_grep/agent/formatter.ts tools/warp_grep/providers/types.ts tools/warp_grep/providers/local.ts tools/warp_grep/providers/remote.ts tools/warp_grep/providers/code_storage_http.ts tools/warp_grep/tools/grep.ts tools/warp_grep/tools/analyse.ts tools/warp_grep/tools/read.ts tools/warp_grep/tools/finish.ts tools/warp_grep/utils/paths.ts tools/warp_grep/utils/github.ts tools/warp_grep/utils/ripgrep.ts tools/warp_grep/utils/format.ts tools/warp_grep/utils/files.ts git/index.ts git/client.ts git/config.ts git/types.ts tools/browser/index.ts tools/browser/core.ts tools/browser/types.ts tools/browser/prompts.ts tools/browser/anthropic.ts tools/browser/openai.ts tools/browser/vercel.ts tools/browser/live.ts tools/browser/errors.ts tools/browser/profiles/index.ts tools/browser/profiles/core.ts tools/browser/profiles/types.ts modelrouter/index.ts modelrouter/core.ts modelrouter/types.ts tools/compact/index.ts tools/compact/core.ts tools/compact/types.ts tools/utils/resilience.ts --format esm,cjs --sourcemap --clean --dts --dts-resolve",
|
|
1518
1523
|
prepare: "npm run build",
|
|
1519
1524
|
typecheck: "tsc --noEmit",
|
|
1520
1525
|
lint: "eslint .",
|
|
@@ -2152,7 +2157,51 @@ var RemoteCommandsProvider = class {
|
|
|
2152
2157
|
}
|
|
2153
2158
|
};
|
|
2154
2159
|
|
|
2160
|
+
// tools/warp_grep/providers/code_storage_http.ts
|
|
2161
|
+
async function post(url, body, op) {
|
|
2162
|
+
const res = await fetch(url, {
|
|
2163
|
+
method: "POST",
|
|
2164
|
+
headers: { "Content-Type": "application/json" },
|
|
2165
|
+
body: JSON.stringify(body)
|
|
2166
|
+
});
|
|
2167
|
+
if (!res.ok) {
|
|
2168
|
+
const text = await res.text().catch(() => res.statusText);
|
|
2169
|
+
throw new Error(`${op} failed (${res.status}): ${text}`);
|
|
2170
|
+
}
|
|
2171
|
+
const data = await res.json();
|
|
2172
|
+
if (data.error) throw new Error(data.error);
|
|
2173
|
+
return data.stdout;
|
|
2174
|
+
}
|
|
2175
|
+
function createCodeStorageHttpCommands(config) {
|
|
2176
|
+
const { baseUrl, repoId, branch } = config;
|
|
2177
|
+
const encodedRepoId = encodeURIComponent(repoId);
|
|
2178
|
+
return {
|
|
2179
|
+
grep: (pattern, path5, glob) => post(`${baseUrl}/api/code-search/${encodedRepoId}/grep`, { pattern, path: path5, glob, branch }, "grep"),
|
|
2180
|
+
read: (path5, start, end) => post(`${baseUrl}/api/code-search/${encodedRepoId}/read`, { path: path5, start, end, branch }, "read"),
|
|
2181
|
+
listDir: (path5, maxDepth) => post(`${baseUrl}/api/code-search/${encodedRepoId}/list`, { path: path5, maxDepth, branch }, "list")
|
|
2182
|
+
};
|
|
2183
|
+
}
|
|
2184
|
+
|
|
2185
|
+
// tools/warp_grep/utils/github.ts
|
|
2186
|
+
function parseGitHubUrl(input) {
|
|
2187
|
+
input = input.trim();
|
|
2188
|
+
const urlPattern = /^(?:https?:\/\/)?github\.com\/([^\/]+)\/([^\/\?\#]+)/;
|
|
2189
|
+
const match = input.match(urlPattern);
|
|
2190
|
+
if (match) {
|
|
2191
|
+
return { owner: match[1], repo: match[2].replace(/\.git$/, "") };
|
|
2192
|
+
}
|
|
2193
|
+
const shortPattern = /^([^\/]+)\/([^\/]+)$/;
|
|
2194
|
+
const shortMatch = input.match(shortPattern);
|
|
2195
|
+
if (shortMatch && !shortMatch[1].includes(".")) {
|
|
2196
|
+
return { owner: shortMatch[1], repo: shortMatch[2].replace(/\.git$/, "") };
|
|
2197
|
+
}
|
|
2198
|
+
throw new Error(
|
|
2199
|
+
`Invalid GitHub URL or shorthand: "${input}". Expected "owner/repo" or "https://github.com/owner/repo"`
|
|
2200
|
+
);
|
|
2201
|
+
}
|
|
2202
|
+
|
|
2155
2203
|
// tools/warp_grep/client.ts
|
|
2204
|
+
var DEFAULT_CODE_SEARCH_URL = "https://morphllm.com";
|
|
2156
2205
|
async function getLocalProvider(repoRoot, excludes) {
|
|
2157
2206
|
const { LocalRipgrepProvider: LocalRipgrepProvider2 } = await Promise.resolve().then(() => (init_local(), local_exports));
|
|
2158
2207
|
return new LocalRipgrepProvider2(repoRoot, excludes);
|
|
@@ -2160,13 +2209,7 @@ async function getLocalProvider(repoRoot, excludes) {
|
|
|
2160
2209
|
var WarpGrepClient = class {
|
|
2161
2210
|
config;
|
|
2162
2211
|
constructor(config = {}) {
|
|
2163
|
-
this.config = {
|
|
2164
|
-
morphApiKey: config.morphApiKey,
|
|
2165
|
-
morphApiUrl: config.morphApiUrl,
|
|
2166
|
-
debug: config.debug,
|
|
2167
|
-
timeout: config.timeout,
|
|
2168
|
-
retryConfig: config.retryConfig
|
|
2169
|
-
};
|
|
2212
|
+
this.config = { ...config };
|
|
2170
2213
|
}
|
|
2171
2214
|
execute(input) {
|
|
2172
2215
|
const toolConfig = {
|
|
@@ -2186,6 +2229,63 @@ var WarpGrepClient = class {
|
|
|
2186
2229
|
}
|
|
2187
2230
|
return executeToolCall({ query: input.query }, toolConfig);
|
|
2188
2231
|
}
|
|
2232
|
+
searchGitHub(input) {
|
|
2233
|
+
if (input.streamSteps) {
|
|
2234
|
+
return this._searchGitHubStreaming(input);
|
|
2235
|
+
}
|
|
2236
|
+
return this._searchGitHubAsync(input);
|
|
2237
|
+
}
|
|
2238
|
+
async _resolveGitHubRepo(input) {
|
|
2239
|
+
const { owner, repo } = parseGitHubUrl(input.github);
|
|
2240
|
+
const baseUrl = this.config.codeSearchUrl || DEFAULT_CODE_SEARCH_URL;
|
|
2241
|
+
const importRes = await fetch(`${baseUrl}/api/code-search/get-or-create?url=${encodeURIComponent(`${owner}/${repo}`)}`);
|
|
2242
|
+
if (!importRes.ok) {
|
|
2243
|
+
const text = await importRes.text().catch(() => importRes.statusText);
|
|
2244
|
+
throw new Error(`Failed to import repo ${owner}/${repo}: ${text}`);
|
|
2245
|
+
}
|
|
2246
|
+
const { repoId, defaultBranch } = await importRes.json();
|
|
2247
|
+
return {
|
|
2248
|
+
repo,
|
|
2249
|
+
remoteCommands: createCodeStorageHttpCommands({ baseUrl, repoId, branch: input.branch || defaultBranch })
|
|
2250
|
+
};
|
|
2251
|
+
}
|
|
2252
|
+
async _searchGitHubAsync(input) {
|
|
2253
|
+
try {
|
|
2254
|
+
const { repo, remoteCommands } = await this._resolveGitHubRepo(input);
|
|
2255
|
+
return this.execute({
|
|
2256
|
+
query: input.query,
|
|
2257
|
+
repoRoot: repo,
|
|
2258
|
+
remoteCommands
|
|
2259
|
+
});
|
|
2260
|
+
} catch (error) {
|
|
2261
|
+
return { success: false, error: error instanceof Error ? error.message : String(error) };
|
|
2262
|
+
}
|
|
2263
|
+
}
|
|
2264
|
+
async *_searchGitHubStreaming(input) {
|
|
2265
|
+
let repo;
|
|
2266
|
+
let remoteCommands;
|
|
2267
|
+
try {
|
|
2268
|
+
({ repo, remoteCommands } = await this._resolveGitHubRepo(input));
|
|
2269
|
+
} catch (error) {
|
|
2270
|
+
return { success: false, error: error instanceof Error ? error.message : String(error) };
|
|
2271
|
+
}
|
|
2272
|
+
const generator = this.execute({
|
|
2273
|
+
query: input.query,
|
|
2274
|
+
repoRoot: repo,
|
|
2275
|
+
remoteCommands,
|
|
2276
|
+
streamSteps: true
|
|
2277
|
+
});
|
|
2278
|
+
let result;
|
|
2279
|
+
for (; ; ) {
|
|
2280
|
+
const { value, done } = await generator.next();
|
|
2281
|
+
if (done) {
|
|
2282
|
+
result = value;
|
|
2283
|
+
break;
|
|
2284
|
+
}
|
|
2285
|
+
yield value;
|
|
2286
|
+
}
|
|
2287
|
+
return result;
|
|
2288
|
+
}
|
|
2189
2289
|
};
|
|
2190
2290
|
function executeWarpGrep(input, config) {
|
|
2191
2291
|
const client = new WarpGrepClient(config);
|