@morphllm/morphsdk 0.2.55 → 0.2.56

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 (36) hide show
  1. package/dist/{chunk-ZWY434TS.js → chunk-4ZHDBKBY.js} +3 -3
  2. package/dist/chunk-7OQOOB3R.js +1 -0
  3. package/dist/{chunk-BSHJGJ25.js → chunk-GJURLQ3L.js} +3 -3
  4. package/dist/{chunk-KO6JQFRE.js → chunk-QVRXBAMM.js} +2 -2
  5. package/dist/{chunk-37SRI4GW.js → chunk-SALJ2K6S.js} +4 -4
  6. package/dist/{chunk-X5HNQ7SB.js → chunk-UIRJE422.js} +3 -3
  7. package/dist/{chunk-C6QQL6FX.js → chunk-WSSSSBWU.js} +5 -5
  8. package/dist/client.js +7 -7
  9. package/dist/index.cjs +0 -67
  10. package/dist/index.cjs.map +1 -1
  11. package/dist/index.d.ts +0 -1
  12. package/dist/index.js +8 -12
  13. package/dist/tools/warp_grep/agent/runner.js +2 -2
  14. package/dist/tools/warp_grep/anthropic.js +4 -4
  15. package/dist/tools/warp_grep/index.cjs +0 -67
  16. package/dist/tools/warp_grep/index.cjs.map +1 -1
  17. package/dist/tools/warp_grep/index.d.ts +0 -1
  18. package/dist/tools/warp_grep/index.js +7 -11
  19. package/dist/tools/warp_grep/openai.js +4 -4
  20. package/dist/tools/warp_grep/vercel.js +4 -4
  21. package/package.json +2 -2
  22. package/dist/chunk-JYBVRF72.js +0 -1
  23. package/dist/chunk-P2XKFWFD.js +0 -73
  24. package/dist/chunk-P2XKFWFD.js.map +0 -1
  25. package/dist/tools/warp_grep/providers/command.cjs +0 -177
  26. package/dist/tools/warp_grep/providers/command.cjs.map +0 -1
  27. package/dist/tools/warp_grep/providers/command.d.ts +0 -48
  28. package/dist/tools/warp_grep/providers/command.js +0 -9
  29. package/dist/tools/warp_grep/providers/command.js.map +0 -1
  30. /package/dist/{chunk-ZWY434TS.js.map → chunk-4ZHDBKBY.js.map} +0 -0
  31. /package/dist/{chunk-JYBVRF72.js.map → chunk-7OQOOB3R.js.map} +0 -0
  32. /package/dist/{chunk-BSHJGJ25.js.map → chunk-GJURLQ3L.js.map} +0 -0
  33. /package/dist/{chunk-KO6JQFRE.js.map → chunk-QVRXBAMM.js.map} +0 -0
  34. /package/dist/{chunk-37SRI4GW.js.map → chunk-SALJ2K6S.js.map} +0 -0
  35. /package/dist/{chunk-X5HNQ7SB.js.map → chunk-UIRJE422.js.map} +0 -0
  36. /package/dist/{chunk-C6QQL6FX.js.map → chunk-WSSSSBWU.js.map} +0 -0
@@ -3,12 +3,11 @@ import {
3
3
  execute,
4
4
  openai_default,
5
5
  warpGrepTool
6
- } from "../../chunk-ZWY434TS.js";
6
+ } from "../../chunk-4ZHDBKBY.js";
7
7
  import {
8
8
  formatResult
9
- } from "../../chunk-KO6JQFRE.js";
10
- import "../../chunk-37SRI4GW.js";
11
- import "../../chunk-EK7OQPWD.js";
9
+ } from "../../chunk-QVRXBAMM.js";
10
+ import "../../chunk-SALJ2K6S.js";
12
11
  import "../../chunk-HQO45BAJ.js";
13
12
  import "../../chunk-LVPVVLTI.js";
14
13
  import {
@@ -19,6 +18,7 @@ import "../../chunk-G2RSY56Q.js";
19
18
  import "../../chunk-SMGZ6A64.js";
20
19
  import "../../chunk-TPP2UGQP.js";
21
20
  import "../../chunk-73RQWOQC.js";
21
+ import "../../chunk-EK7OQPWD.js";
22
22
  import "../../chunk-TJIUA27P.js";
23
23
  import "../../chunk-TICMYDII.js";
24
24
  import "../../chunk-NDZO5IPV.js";
@@ -1,12 +1,11 @@
1
1
  import {
2
2
  createMorphWarpGrepTool,
3
3
  execute
4
- } from "../../chunk-X5HNQ7SB.js";
4
+ } from "../../chunk-UIRJE422.js";
5
5
  import {
6
6
  formatResult
7
- } from "../../chunk-KO6JQFRE.js";
8
- import "../../chunk-37SRI4GW.js";
9
- import "../../chunk-EK7OQPWD.js";
7
+ } from "../../chunk-QVRXBAMM.js";
8
+ import "../../chunk-SALJ2K6S.js";
10
9
  import "../../chunk-HQO45BAJ.js";
11
10
  import "../../chunk-LVPVVLTI.js";
12
11
  import {
@@ -17,6 +16,7 @@ import "../../chunk-G2RSY56Q.js";
17
16
  import "../../chunk-SMGZ6A64.js";
18
17
  import "../../chunk-TPP2UGQP.js";
19
18
  import "../../chunk-73RQWOQC.js";
19
+ import "../../chunk-EK7OQPWD.js";
20
20
  import "../../chunk-TJIUA27P.js";
21
21
  import "../../chunk-TICMYDII.js";
22
22
  import "../../chunk-NDZO5IPV.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@morphllm/morphsdk",
3
- "version": "0.2.55",
3
+ "version": "0.2.56",
4
4
  "description": "TypeScript SDK and CLI for Morph Fast Apply integration",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -112,7 +112,7 @@
112
112
  "!dist/**/*.test.*"
113
113
  ],
114
114
  "scripts": {
115
- "build": "tsup index.ts client.ts tools/index.ts tools/fastapply/index.ts tools/fastapply/core.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/openai.ts tools/warp_grep/anthropic.ts tools/warp_grep/vercel.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/agent/grep_helpers.ts tools/warp_grep/providers/types.ts tools/warp_grep/providers/local.ts tools/warp_grep/providers/command.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 modelrouter/index.ts modelrouter/core.ts modelrouter/types.ts tools/utils/resilience.ts tools/browser/live.ts --format esm,cjs --sourcemap --clean --dts --dts-resolve",
115
+ "build": "tsup index.ts client.ts tools/index.ts tools/fastapply/index.ts tools/fastapply/core.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/openai.ts tools/warp_grep/anthropic.ts tools/warp_grep/vercel.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/agent/grep_helpers.ts tools/warp_grep/providers/types.ts tools/warp_grep/providers/local.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 modelrouter/index.ts modelrouter/core.ts modelrouter/types.ts tools/utils/resilience.ts tools/browser/live.ts --format esm,cjs --sourcemap --clean --dts --dts-resolve",
116
116
  "prepare": "npm run build",
117
117
  "typecheck": "tsc --noEmit",
118
118
  "lint": "eslint .",
@@ -1 +0,0 @@
1
- //# sourceMappingURL=chunk-JYBVRF72.js.map
@@ -1,73 +0,0 @@
1
- import {
2
- DEFAULT_EXCLUDES
3
- } from "./chunk-TJIUA27P.js";
4
-
5
- // tools/warp_grep/providers/command.ts
6
- var CommandExecProvider = class {
7
- constructor(opts) {
8
- this.opts = opts;
9
- }
10
- map(path) {
11
- return this.opts.pathMap ? this.opts.pathMap(path) : path;
12
- }
13
- async grep(params) {
14
- const remotePath = this.map(params.path);
15
- const args = [
16
- "--no-config",
17
- "--no-heading",
18
- "--with-filename",
19
- "--line-number",
20
- "--color=never",
21
- "--trim",
22
- "--max-columns=400",
23
- ...(this.opts.excludes ?? DEFAULT_EXCLUDES).flatMap((e) => ["-g", `!${e}`]),
24
- params.pattern,
25
- remotePath || "."
26
- ];
27
- const res = await this.opts.run("rg", args, { cwd: this.opts.cwd, env: this.opts.env });
28
- if (res.exitCode === -1) throw new Error(res.stderr || "ripgrep execution failed");
29
- if (res.exitCode !== 0 && res.exitCode !== 1) throw new Error(res.stderr || `ripgrep failed (${res.exitCode})`);
30
- const lines = (res.stdout || "").trim().split(/\r?\n/).filter((l) => l.length > 0);
31
- return { lines };
32
- }
33
- async glob(params) {
34
- const remotePath = this.map(params.path);
35
- const args = [
36
- "--no-config",
37
- "--files",
38
- "-g",
39
- params.pattern,
40
- ...(this.opts.excludes ?? DEFAULT_EXCLUDES).flatMap((e) => ["-g", `!${e}`]),
41
- remotePath || "."
42
- ];
43
- const res = await this.opts.run("rg", args, { cwd: this.opts.cwd, env: this.opts.env });
44
- if (res.exitCode === -1) throw new Error(res.stderr || "ripgrep execution failed");
45
- const files = (res.stdout || "").trim().split(/\r?\n/).filter((l) => l.length > 0);
46
- return { files };
47
- }
48
- async read(params) {
49
- const remotePath = this.map(params.path);
50
- const rc = this.opts.readCommand ? this.opts.readCommand(remotePath, params.start, params.end) : { cmd: "sed", args: ["-n", `${params.start ?? 1},${params.end ?? 1e6}p`, remotePath] };
51
- const res = await this.opts.run(rc.cmd, rc.args, { cwd: this.opts.cwd, env: this.opts.env });
52
- if (res.exitCode !== 0) throw new Error(res.stderr || `read failed (${res.exitCode})`);
53
- const text = res.stdout || "";
54
- const lines = text.split(/\r?\n/).map((line, idx) => `${(params.start ?? 1) + idx}|${line}`);
55
- return { lines: lines.filter((l) => l !== `${(params.start ?? 1) + (lines.length - 1)}|`) };
56
- }
57
- async analyse(params) {
58
- const target = this.map(params.path);
59
- const pattern = params.pattern ?? "*";
60
- const files = await this.glob({ pattern, path: target }).catch(() => ({ files: [] }));
61
- return files.files.slice(0, params.maxResults ?? 100).map((f) => ({
62
- name: f.split("/").pop() || f,
63
- path: f,
64
- type: f.endsWith("/") ? "dir" : "file",
65
- depth: 0
66
- }));
67
- }
68
- };
69
-
70
- export {
71
- CommandExecProvider
72
- };
73
- //# sourceMappingURL=chunk-P2XKFWFD.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../tools/warp_grep/providers/command.ts"],"sourcesContent":["import type { WarpGrepProvider, GrepResult, ReadResult, AnalyseEntry } from './types.js';\nimport { DEFAULT_EXCLUDES } from '../agent/config.js';\n\ntype ExecResult = { stdout: string; stderr: string; exitCode: number };\n\nexport class CommandExecProvider implements WarpGrepProvider {\n constructor(\n private readonly opts: {\n run: (cmd: string, args: string[], options?: { cwd?: string; env?: Record<string, string> }) => Promise<ExecResult>;\n pathMap?: (localPath: string) => string;\n cwd?: string;\n env?: Record<string, string>;\n readCommand?: (remotePath: string, start?: number, end?: number) => { cmd: string; args: string[] };\n excludes?: string[];\n }\n ) {}\n\n private map(path: string): string {\n return this.opts.pathMap ? this.opts.pathMap(path) : path;\n }\n\n async grep(params: { pattern: string; path: string }): Promise<GrepResult> {\n const remotePath = this.map(params.path);\n const args = [\n '--no-config',\n '--no-heading',\n '--with-filename',\n '--line-number',\n '--color=never',\n '--trim',\n '--max-columns=400',\n ...((this.opts.excludes ?? DEFAULT_EXCLUDES).flatMap((e) => ['-g', `!${e}`])),\n params.pattern,\n remotePath || '.',\n ];\n const res = await this.opts.run('rg', args, { cwd: this.opts.cwd, env: this.opts.env });\n if (res.exitCode === -1) throw new Error(res.stderr || 'ripgrep execution failed');\n if (res.exitCode !== 0 && res.exitCode !== 1) throw new Error(res.stderr || `ripgrep failed (${res.exitCode})`);\n const lines = (res.stdout || '')\n .trim()\n .split(/\\r?\\n/)\n .filter((l) => l.length > 0);\n return { lines };\n }\n\n async glob(params: { pattern: string; path: string }): Promise<{ files: string[] }> {\n const remotePath = this.map(params.path);\n const args = [\n '--no-config',\n '--files',\n '-g',\n params.pattern,\n ...((this.opts.excludes ?? DEFAULT_EXCLUDES).flatMap((e) => ['-g', `!${e}`])),\n remotePath || '.',\n ];\n const res = await this.opts.run('rg', args, { cwd: this.opts.cwd, env: this.opts.env });\n if (res.exitCode === -1) throw new Error(res.stderr || 'ripgrep execution failed');\n const files = (res.stdout || '')\n .trim()\n .split(/\\r?\\n/)\n .filter((l) => l.length > 0);\n return { files };\n }\n\n async read(params: { path: string; start?: number; end?: number }): Promise<ReadResult> {\n const remotePath = this.map(params.path);\n const rc = this.opts.readCommand\n ? this.opts.readCommand(remotePath, params.start, params.end)\n : { cmd: 'sed', args: ['-n', `${params.start ?? 1},${params.end ?? 1_000_000}p`, remotePath] };\n const res = await this.opts.run(rc.cmd, rc.args, { cwd: this.opts.cwd, env: this.opts.env });\n if (res.exitCode !== 0) throw new Error(res.stderr || `read failed (${res.exitCode})`);\n const text = res.stdout || '';\n const lines = text.split(/\\r?\\n/).map((line, idx) => `${(params.start ?? 1) + idx}|${line}`);\n return { lines: lines.filter(l => l !== `${(params.start ?? 1) + (lines.length - 1)}|`) };\n }\n\n async analyse(params: { path: string; pattern?: string | null; maxResults?: number; maxDepth?: number }): Promise<AnalyseEntry[]> {\n // Minimal remote analyse: glob all files and trim\n const target = this.map(params.path);\n const pattern = params.pattern ?? '*';\n const files = await this.glob({ pattern, path: target }).catch(() => ({ files: [] }));\n return files.files.slice(0, params.maxResults ?? 100).map((f) => ({\n name: f.split('/').pop() || f,\n path: f,\n type: f.endsWith('/') ? 'dir' : 'file',\n depth: 0,\n }));\n }\n}\n\n\n"],"mappings":"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","names":[]}
@@ -1,177 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // tools/warp_grep/providers/command.ts
21
- var command_exports = {};
22
- __export(command_exports, {
23
- CommandExecProvider: () => CommandExecProvider
24
- });
25
- module.exports = __toCommonJS(command_exports);
26
-
27
- // tools/warp_grep/agent/config.ts
28
- var BUILTIN_EXCLUDES = [
29
- // Version control
30
- ".git",
31
- ".svn",
32
- ".hg",
33
- ".bzr",
34
- // Dependencies
35
- "node_modules",
36
- "bower_components",
37
- ".pnpm",
38
- ".yarn",
39
- "vendor",
40
- "packages",
41
- "Pods",
42
- ".bundle",
43
- // Python
44
- "__pycache__",
45
- ".pytest_cache",
46
- ".mypy_cache",
47
- ".ruff_cache",
48
- ".venv",
49
- "venv",
50
- ".tox",
51
- ".nox",
52
- ".eggs",
53
- "*.egg-info",
54
- // Build outputs
55
- "dist",
56
- "build",
57
- "out",
58
- "output",
59
- "target",
60
- "_build",
61
- ".next",
62
- ".nuxt",
63
- ".output",
64
- ".vercel",
65
- ".netlify",
66
- // Cache directories
67
- ".cache",
68
- ".parcel-cache",
69
- ".turbo",
70
- ".nx",
71
- ".gradle",
72
- // IDE/Editor
73
- ".idea",
74
- ".vscode",
75
- ".vs",
76
- // Coverage
77
- "coverage",
78
- ".coverage",
79
- "htmlcov",
80
- ".nyc_output",
81
- // Temporary
82
- "tmp",
83
- "temp",
84
- ".tmp",
85
- ".temp",
86
- // Lock files
87
- "package-lock.json",
88
- "yarn.lock",
89
- "pnpm-lock.yaml",
90
- "bun.lockb",
91
- "Cargo.lock",
92
- "Gemfile.lock",
93
- "poetry.lock",
94
- // Binary/minified
95
- "*.min.js",
96
- "*.min.css",
97
- "*.bundle.js",
98
- "*.wasm",
99
- "*.so",
100
- "*.dll",
101
- "*.pyc",
102
- "*.map",
103
- "*.js.map",
104
- // Hidden directories catch-all
105
- ".*"
106
- ];
107
- var DEFAULT_EXCLUDES = (process.env.MORPH_WARP_GREP_EXCLUDE || "").split(",").map((s) => s.trim()).filter(Boolean).concat(BUILTIN_EXCLUDES);
108
-
109
- // tools/warp_grep/providers/command.ts
110
- var CommandExecProvider = class {
111
- constructor(opts) {
112
- this.opts = opts;
113
- }
114
- map(path) {
115
- return this.opts.pathMap ? this.opts.pathMap(path) : path;
116
- }
117
- async grep(params) {
118
- const remotePath = this.map(params.path);
119
- const args = [
120
- "--no-config",
121
- "--no-heading",
122
- "--with-filename",
123
- "--line-number",
124
- "--color=never",
125
- "--trim",
126
- "--max-columns=400",
127
- ...(this.opts.excludes ?? DEFAULT_EXCLUDES).flatMap((e) => ["-g", `!${e}`]),
128
- params.pattern,
129
- remotePath || "."
130
- ];
131
- const res = await this.opts.run("rg", args, { cwd: this.opts.cwd, env: this.opts.env });
132
- if (res.exitCode === -1) throw new Error(res.stderr || "ripgrep execution failed");
133
- if (res.exitCode !== 0 && res.exitCode !== 1) throw new Error(res.stderr || `ripgrep failed (${res.exitCode})`);
134
- const lines = (res.stdout || "").trim().split(/\r?\n/).filter((l) => l.length > 0);
135
- return { lines };
136
- }
137
- async glob(params) {
138
- const remotePath = this.map(params.path);
139
- const args = [
140
- "--no-config",
141
- "--files",
142
- "-g",
143
- params.pattern,
144
- ...(this.opts.excludes ?? DEFAULT_EXCLUDES).flatMap((e) => ["-g", `!${e}`]),
145
- remotePath || "."
146
- ];
147
- const res = await this.opts.run("rg", args, { cwd: this.opts.cwd, env: this.opts.env });
148
- if (res.exitCode === -1) throw new Error(res.stderr || "ripgrep execution failed");
149
- const files = (res.stdout || "").trim().split(/\r?\n/).filter((l) => l.length > 0);
150
- return { files };
151
- }
152
- async read(params) {
153
- const remotePath = this.map(params.path);
154
- const rc = this.opts.readCommand ? this.opts.readCommand(remotePath, params.start, params.end) : { cmd: "sed", args: ["-n", `${params.start ?? 1},${params.end ?? 1e6}p`, remotePath] };
155
- const res = await this.opts.run(rc.cmd, rc.args, { cwd: this.opts.cwd, env: this.opts.env });
156
- if (res.exitCode !== 0) throw new Error(res.stderr || `read failed (${res.exitCode})`);
157
- const text = res.stdout || "";
158
- const lines = text.split(/\r?\n/).map((line, idx) => `${(params.start ?? 1) + idx}|${line}`);
159
- return { lines: lines.filter((l) => l !== `${(params.start ?? 1) + (lines.length - 1)}|`) };
160
- }
161
- async analyse(params) {
162
- const target = this.map(params.path);
163
- const pattern = params.pattern ?? "*";
164
- const files = await this.glob({ pattern, path: target }).catch(() => ({ files: [] }));
165
- return files.files.slice(0, params.maxResults ?? 100).map((f) => ({
166
- name: f.split("/").pop() || f,
167
- path: f,
168
- type: f.endsWith("/") ? "dir" : "file",
169
- depth: 0
170
- }));
171
- }
172
- };
173
- // Annotate the CommonJS export names for ESM import in node:
174
- 0 && (module.exports = {
175
- CommandExecProvider
176
- });
177
- //# sourceMappingURL=command.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../tools/warp_grep/providers/command.ts","../../../../tools/warp_grep/agent/config.ts"],"sourcesContent":["import type { WarpGrepProvider, GrepResult, ReadResult, AnalyseEntry } from './types.js';\nimport { DEFAULT_EXCLUDES } from '../agent/config.js';\n\ntype ExecResult = { stdout: string; stderr: string; exitCode: number };\n\nexport class CommandExecProvider implements WarpGrepProvider {\n constructor(\n private readonly opts: {\n run: (cmd: string, args: string[], options?: { cwd?: string; env?: Record<string, string> }) => Promise<ExecResult>;\n pathMap?: (localPath: string) => string;\n cwd?: string;\n env?: Record<string, string>;\n readCommand?: (remotePath: string, start?: number, end?: number) => { cmd: string; args: string[] };\n excludes?: string[];\n }\n ) {}\n\n private map(path: string): string {\n return this.opts.pathMap ? this.opts.pathMap(path) : path;\n }\n\n async grep(params: { pattern: string; path: string }): Promise<GrepResult> {\n const remotePath = this.map(params.path);\n const args = [\n '--no-config',\n '--no-heading',\n '--with-filename',\n '--line-number',\n '--color=never',\n '--trim',\n '--max-columns=400',\n ...((this.opts.excludes ?? DEFAULT_EXCLUDES).flatMap((e) => ['-g', `!${e}`])),\n params.pattern,\n remotePath || '.',\n ];\n const res = await this.opts.run('rg', args, { cwd: this.opts.cwd, env: this.opts.env });\n if (res.exitCode === -1) throw new Error(res.stderr || 'ripgrep execution failed');\n if (res.exitCode !== 0 && res.exitCode !== 1) throw new Error(res.stderr || `ripgrep failed (${res.exitCode})`);\n const lines = (res.stdout || '')\n .trim()\n .split(/\\r?\\n/)\n .filter((l) => l.length > 0);\n return { lines };\n }\n\n async glob(params: { pattern: string; path: string }): Promise<{ files: string[] }> {\n const remotePath = this.map(params.path);\n const args = [\n '--no-config',\n '--files',\n '-g',\n params.pattern,\n ...((this.opts.excludes ?? DEFAULT_EXCLUDES).flatMap((e) => ['-g', `!${e}`])),\n remotePath || '.',\n ];\n const res = await this.opts.run('rg', args, { cwd: this.opts.cwd, env: this.opts.env });\n if (res.exitCode === -1) throw new Error(res.stderr || 'ripgrep execution failed');\n const files = (res.stdout || '')\n .trim()\n .split(/\\r?\\n/)\n .filter((l) => l.length > 0);\n return { files };\n }\n\n async read(params: { path: string; start?: number; end?: number }): Promise<ReadResult> {\n const remotePath = this.map(params.path);\n const rc = this.opts.readCommand\n ? this.opts.readCommand(remotePath, params.start, params.end)\n : { cmd: 'sed', args: ['-n', `${params.start ?? 1},${params.end ?? 1_000_000}p`, remotePath] };\n const res = await this.opts.run(rc.cmd, rc.args, { cwd: this.opts.cwd, env: this.opts.env });\n if (res.exitCode !== 0) throw new Error(res.stderr || `read failed (${res.exitCode})`);\n const text = res.stdout || '';\n const lines = text.split(/\\r?\\n/).map((line, idx) => `${(params.start ?? 1) + idx}|${line}`);\n return { lines: lines.filter(l => l !== `${(params.start ?? 1) + (lines.length - 1)}|`) };\n }\n\n async analyse(params: { path: string; pattern?: string | null; maxResults?: number; maxDepth?: number }): Promise<AnalyseEntry[]> {\n // Minimal remote analyse: glob all files and trim\n const target = this.map(params.path);\n const pattern = params.pattern ?? '*';\n const files = await this.glob({ pattern, path: target }).catch(() => ({ files: [] }));\n return files.files.slice(0, params.maxResults ?? 100).map((f) => ({\n name: f.split('/').pop() || f,\n path: f,\n type: f.endsWith('/') ? 'dir' : 'file',\n depth: 0,\n }));\n }\n}\n\n\n","// Agent configuration defaults for morph-warp-grep\n// Hard-coded: SDK does not expose control over rounds or timeout.\nexport const AGENT_CONFIG = {\n // Give the model freedom; failsafe cap to prevent infinite loops\n MAX_ROUNDS: 10,\n TIMEOUT_MS: 30000,\n};\n\n/**\n * Comprehensive exclusion list for directories and files\n * These patterns are used with ripgrep's -g flag\n */\nconst BUILTIN_EXCLUDES = [\n // Version control\n '.git', '.svn', '.hg', '.bzr',\n \n // Dependencies\n 'node_modules', 'bower_components', '.pnpm', '.yarn',\n 'vendor', 'packages', 'Pods', '.bundle',\n \n // Python\n '__pycache__', '.pytest_cache', '.mypy_cache', '.ruff_cache',\n '.venv', 'venv', '.tox', '.nox', '.eggs', '*.egg-info',\n \n // Build outputs\n 'dist', 'build', 'out', 'output', 'target', '_build',\n '.next', '.nuxt', '.output', '.vercel', '.netlify',\n \n // Cache directories\n '.cache', '.parcel-cache', '.turbo', '.nx', '.gradle',\n \n // IDE/Editor\n '.idea', '.vscode', '.vs',\n \n // Coverage\n 'coverage', '.coverage', 'htmlcov', '.nyc_output',\n \n // Temporary\n 'tmp', 'temp', '.tmp', '.temp',\n \n // Lock files\n 'package-lock.json', 'yarn.lock', 'pnpm-lock.yaml', 'bun.lockb',\n 'Cargo.lock', 'Gemfile.lock', 'poetry.lock',\n \n // Binary/minified\n '*.min.js', '*.min.css', '*.bundle.js',\n '*.wasm', '*.so', '*.dll', '*.pyc',\n '*.map', '*.js.map',\n \n // Hidden directories catch-all\n '.*',\n];\n\nexport const DEFAULT_EXCLUDES = (process.env.MORPH_WARP_GREP_EXCLUDE || '')\n .split(',')\n .map(s => s.trim())\n .filter(Boolean)\n .concat(BUILTIN_EXCLUDES);\n\nexport const DEFAULT_MODEL = 'morph-warp-grep';\n\n\n"],"mappings":"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","names":[]}
@@ -1,48 +0,0 @@
1
- import { WarpGrepProvider, GrepResult, ReadResult, AnalyseEntry } from './types.js';
2
-
3
- type ExecResult = {
4
- stdout: string;
5
- stderr: string;
6
- exitCode: number;
7
- };
8
- declare class CommandExecProvider implements WarpGrepProvider {
9
- private readonly opts;
10
- constructor(opts: {
11
- run: (cmd: string, args: string[], options?: {
12
- cwd?: string;
13
- env?: Record<string, string>;
14
- }) => Promise<ExecResult>;
15
- pathMap?: (localPath: string) => string;
16
- cwd?: string;
17
- env?: Record<string, string>;
18
- readCommand?: (remotePath: string, start?: number, end?: number) => {
19
- cmd: string;
20
- args: string[];
21
- };
22
- excludes?: string[];
23
- });
24
- private map;
25
- grep(params: {
26
- pattern: string;
27
- path: string;
28
- }): Promise<GrepResult>;
29
- glob(params: {
30
- pattern: string;
31
- path: string;
32
- }): Promise<{
33
- files: string[];
34
- }>;
35
- read(params: {
36
- path: string;
37
- start?: number;
38
- end?: number;
39
- }): Promise<ReadResult>;
40
- analyse(params: {
41
- path: string;
42
- pattern?: string | null;
43
- maxResults?: number;
44
- maxDepth?: number;
45
- }): Promise<AnalyseEntry[]>;
46
- }
47
-
48
- export { CommandExecProvider };
@@ -1,9 +0,0 @@
1
- import {
2
- CommandExecProvider
3
- } from "../../../chunk-P2XKFWFD.js";
4
- import "../../../chunk-TJIUA27P.js";
5
- import "../../../chunk-PZ5AY32C.js";
6
- export {
7
- CommandExecProvider
8
- };
9
- //# sourceMappingURL=command.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}