@morphllm/morphsdk 0.2.68 → 0.2.70

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 (120) hide show
  1. package/dist/{chunk-6RFT7K7F.js → chunk-26QXQFLZ.js} +88 -23
  2. package/dist/chunk-26QXQFLZ.js.map +1 -0
  3. package/dist/{chunk-RTDKF6NS.js → chunk-5QIWYEHJ.js} +2 -2
  4. package/dist/{chunk-BYNVJ4ON.js → chunk-7CJPKJEE.js} +2 -2
  5. package/dist/{chunk-SXE54MIC.js → chunk-AB27WETH.js} +8 -8
  6. package/dist/chunk-B5A4XLSQ.js +10 -0
  7. package/dist/chunk-B5A4XLSQ.js.map +1 -0
  8. package/dist/{chunk-VDJGZIQ5.js → chunk-BGSHC2UK.js} +2 -2
  9. package/dist/{chunk-VLZEBK7S.js → chunk-E4434A4Y.js} +3 -3
  10. package/dist/{chunk-QEGH3CWQ.js → chunk-GZP6HY5W.js} +4 -20
  11. package/dist/{chunk-QEGH3CWQ.js.map → chunk-GZP6HY5W.js.map} +1 -1
  12. package/dist/{chunk-JPGX6WEV.js → chunk-I2GXV3BQ.js} +3 -16
  13. package/dist/{chunk-JPGX6WEV.js.map → chunk-I2GXV3BQ.js.map} +1 -1
  14. package/dist/{chunk-W76ICQKY.js → chunk-IUG2FHNN.js} +2 -2
  15. package/dist/{chunk-K3EHH3C4.js → chunk-PT3DGIUF.js} +3 -15
  16. package/dist/{chunk-K3EHH3C4.js.map → chunk-PT3DGIUF.js.map} +1 -1
  17. package/dist/chunk-PZ5AY32C.js +10 -0
  18. package/dist/{chunk-223ZMZP6.js → chunk-QIG7YPFW.js} +89 -30
  19. package/dist/chunk-QIG7YPFW.js.map +1 -0
  20. package/dist/{chunk-HBWJLKNM.js → chunk-QZNGKOCZ.js} +2 -2
  21. package/dist/{chunk-AAIUUX4Y.js → chunk-X4WPMVCM.js} +2 -2
  22. package/dist/client.cjs +174 -434
  23. package/dist/client.cjs.map +1 -1
  24. package/dist/client.js +11 -12
  25. package/dist/git/client.js +1 -1
  26. package/dist/git/config.js +1 -1
  27. package/dist/git/index.js +1 -1
  28. package/dist/index.cjs +179 -446
  29. package/dist/index.cjs.map +1 -1
  30. package/dist/index.js +12 -14
  31. package/dist/modelrouter/core.js +1 -1
  32. package/dist/modelrouter/index.js +1 -1
  33. package/dist/tools/browser/anthropic.js +2 -2
  34. package/dist/tools/browser/core.js +1 -1
  35. package/dist/tools/browser/index.js +4 -4
  36. package/dist/tools/browser/live.js +1 -1
  37. package/dist/tools/browser/openai.js +2 -2
  38. package/dist/tools/browser/prompts.js +1 -1
  39. package/dist/tools/browser/vercel.js +2 -2
  40. package/dist/tools/codebase_search/anthropic.js +1 -1
  41. package/dist/tools/codebase_search/core.js +1 -1
  42. package/dist/tools/codebase_search/index.js +1 -1
  43. package/dist/tools/codebase_search/openai.js +1 -1
  44. package/dist/tools/codebase_search/prompts.js +1 -1
  45. package/dist/tools/codebase_search/vercel.js +1 -1
  46. package/dist/tools/fastapply/anthropic.js +2 -2
  47. package/dist/tools/fastapply/core.js +1 -1
  48. package/dist/tools/fastapply/index.js +4 -4
  49. package/dist/tools/fastapply/openai.js +2 -2
  50. package/dist/tools/fastapply/prompts.js +1 -1
  51. package/dist/tools/fastapply/vercel.js +2 -2
  52. package/dist/tools/index.js +4 -4
  53. package/dist/tools/utils/resilience.js +1 -1
  54. package/dist/tools/warp_grep/agent/config.js +1 -1
  55. package/dist/tools/warp_grep/agent/formatter.js +1 -1
  56. package/dist/tools/warp_grep/agent/parser.js +1 -1
  57. package/dist/tools/warp_grep/agent/prompt.js +1 -1
  58. package/dist/tools/warp_grep/agent/runner.js +1 -1
  59. package/dist/tools/warp_grep/anthropic.cjs +174 -434
  60. package/dist/tools/warp_grep/anthropic.cjs.map +1 -1
  61. package/dist/tools/warp_grep/anthropic.d.ts +78 -3
  62. package/dist/tools/warp_grep/anthropic.js +5 -6
  63. package/dist/tools/warp_grep/client.cjs +174 -434
  64. package/dist/tools/warp_grep/client.cjs.map +1 -1
  65. package/dist/tools/warp_grep/client.js +4 -5
  66. package/dist/tools/warp_grep/gemini.cjs +176 -437
  67. package/dist/tools/warp_grep/gemini.cjs.map +1 -1
  68. package/dist/tools/warp_grep/gemini.d.ts +109 -3
  69. package/dist/tools/warp_grep/gemini.js +48 -12
  70. package/dist/tools/warp_grep/gemini.js.map +1 -1
  71. package/dist/tools/warp_grep/harness.cjs +88 -417
  72. package/dist/tools/warp_grep/harness.cjs.map +1 -1
  73. package/dist/tools/warp_grep/harness.js +2 -3
  74. package/dist/tools/warp_grep/harness.js.map +1 -1
  75. package/dist/tools/warp_grep/index.cjs +180 -621
  76. package/dist/tools/warp_grep/index.cjs.map +1 -1
  77. package/dist/tools/warp_grep/index.d.ts +89 -9
  78. package/dist/tools/warp_grep/index.js +7 -21
  79. package/dist/tools/warp_grep/openai.cjs +174 -434
  80. package/dist/tools/warp_grep/openai.cjs.map +1 -1
  81. package/dist/tools/warp_grep/openai.d.ts +78 -3
  82. package/dist/tools/warp_grep/openai.js +5 -6
  83. package/dist/tools/warp_grep/providers/local.cjs +88 -417
  84. package/dist/tools/warp_grep/providers/local.cjs.map +1 -1
  85. package/dist/tools/warp_grep/providers/local.d.ts +0 -6
  86. package/dist/tools/warp_grep/providers/local.js +2 -3
  87. package/dist/tools/warp_grep/providers/remote.cjs +86 -408
  88. package/dist/tools/warp_grep/providers/remote.cjs.map +1 -1
  89. package/dist/tools/warp_grep/providers/remote.d.ts +0 -7
  90. package/dist/tools/warp_grep/providers/remote.js +2 -3
  91. package/dist/tools/warp_grep/utils/files.js +1 -1
  92. package/dist/tools/warp_grep/utils/paths.js +1 -1
  93. package/dist/tools/warp_grep/utils/ripgrep.js +1 -1
  94. package/dist/tools/warp_grep/vercel.cjs +174 -434
  95. package/dist/tools/warp_grep/vercel.cjs.map +1 -1
  96. package/dist/tools/warp_grep/vercel.d.ts +56 -3
  97. package/dist/tools/warp_grep/vercel.js +5 -6
  98. package/package.json +1 -1
  99. package/dist/anthropic-BC-AMEIN.d.ts +0 -89
  100. package/dist/chunk-223ZMZP6.js.map +0 -1
  101. package/dist/chunk-6RFT7K7F.js.map +0 -1
  102. package/dist/chunk-FURFQDXF.js +0 -75
  103. package/dist/chunk-FURFQDXF.js.map +0 -1
  104. package/dist/chunk-HKJ2B2AA.js +0 -15
  105. package/dist/chunk-ISWL67SF.js +0 -1
  106. package/dist/chunk-ISWL67SF.js.map +0 -1
  107. package/dist/chunk-S6KU22MU.js +0 -396
  108. package/dist/chunk-S6KU22MU.js.map +0 -1
  109. package/dist/gemini-BIFBiIjY.d.ts +0 -119
  110. package/dist/openai-Beb9escY.d.ts +0 -89
  111. package/dist/vercel-Bo84tpBe.d.ts +0 -66
  112. /package/dist/{chunk-RTDKF6NS.js.map → chunk-5QIWYEHJ.js.map} +0 -0
  113. /package/dist/{chunk-BYNVJ4ON.js.map → chunk-7CJPKJEE.js.map} +0 -0
  114. /package/dist/{chunk-SXE54MIC.js.map → chunk-AB27WETH.js.map} +0 -0
  115. /package/dist/{chunk-VDJGZIQ5.js.map → chunk-BGSHC2UK.js.map} +0 -0
  116. /package/dist/{chunk-VLZEBK7S.js.map → chunk-E4434A4Y.js.map} +0 -0
  117. /package/dist/{chunk-W76ICQKY.js.map → chunk-IUG2FHNN.js.map} +0 -0
  118. /package/dist/{chunk-HKJ2B2AA.js.map → chunk-PZ5AY32C.js.map} +0 -0
  119. /package/dist/{chunk-HBWJLKNM.js.map → chunk-QZNGKOCZ.js.map} +0 -0
  120. /package/dist/{chunk-AAIUUX4Y.js.map → chunk-X4WPMVCM.js.map} +0 -0
@@ -1,31 +1,97 @@
1
1
  import {
2
- require_ignore
3
- } from "./chunk-S6KU22MU.js";
4
- import {
5
- AGENT_CONFIG,
6
- DEFAULT_EXCLUDES
2
+ AGENT_CONFIG
7
3
  } from "./chunk-XT5ZO6ES.js";
8
4
 
9
5
  // tools/warp_grep/providers/remote.ts
10
- var ignore = require_ignore().default || require_ignore();
6
+ var SKIP_NAMES = /* @__PURE__ */ new Set([
7
+ // Version control
8
+ ".git",
9
+ ".svn",
10
+ ".hg",
11
+ ".bzr",
12
+ // Dependencies
13
+ "node_modules",
14
+ "bower_components",
15
+ ".pnpm",
16
+ ".yarn",
17
+ "vendor",
18
+ "Pods",
19
+ ".bundle",
20
+ // Python
21
+ "__pycache__",
22
+ ".pytest_cache",
23
+ ".mypy_cache",
24
+ ".ruff_cache",
25
+ ".venv",
26
+ "venv",
27
+ ".tox",
28
+ ".nox",
29
+ ".eggs",
30
+ // Build outputs
31
+ "dist",
32
+ "build",
33
+ "out",
34
+ "output",
35
+ "target",
36
+ "_build",
37
+ ".next",
38
+ ".nuxt",
39
+ ".output",
40
+ ".vercel",
41
+ ".netlify",
42
+ // Cache
43
+ ".cache",
44
+ ".parcel-cache",
45
+ ".turbo",
46
+ ".nx",
47
+ ".gradle",
48
+ // IDE
49
+ ".idea",
50
+ ".vscode",
51
+ ".vs",
52
+ // Coverage
53
+ "coverage",
54
+ ".coverage",
55
+ "htmlcov",
56
+ ".nyc_output",
57
+ // Temp
58
+ "tmp",
59
+ "temp",
60
+ ".tmp",
61
+ ".temp",
62
+ // Lock files
63
+ "package-lock.json",
64
+ "yarn.lock",
65
+ "pnpm-lock.yaml",
66
+ "bun.lockb",
67
+ "Cargo.lock",
68
+ "Gemfile.lock",
69
+ "poetry.lock"
70
+ ]);
71
+ var SKIP_EXTENSIONS = /* @__PURE__ */ new Set([
72
+ ".min.js",
73
+ ".min.css",
74
+ ".bundle.js",
75
+ ".wasm",
76
+ ".so",
77
+ ".dll",
78
+ ".pyc",
79
+ ".map",
80
+ ".js.map"
81
+ ]);
82
+ function shouldSkip(name) {
83
+ if (SKIP_NAMES.has(name)) return true;
84
+ if (name.startsWith(".")) return true;
85
+ for (const ext of SKIP_EXTENSIONS) {
86
+ if (name.endsWith(ext)) return true;
87
+ }
88
+ return false;
89
+ }
11
90
  var RemoteCommandsProvider = class {
12
91
  constructor(repoRoot, commands) {
13
92
  this.repoRoot = repoRoot;
14
93
  this.commands = commands;
15
94
  }
16
- ignoreFilter = null;
17
- /**
18
- * Build an ignore filter from DEFAULT_EXCLUDES.
19
- * Note: For remote providers, we can't read .gitignore from the remote sandbox,
20
- * so we only use the built-in excludes.
21
- */
22
- getIgnoreFilter() {
23
- if (this.ignoreFilter) return this.ignoreFilter;
24
- const ig = ignore();
25
- ig.add(DEFAULT_EXCLUDES);
26
- this.ignoreFilter = ig;
27
- return ig;
28
- }
29
95
  /**
30
96
  * Run grep command and parse ripgrep output
31
97
  */
@@ -79,7 +145,6 @@ var RemoteCommandsProvider = class {
79
145
  async listDirectory(params) {
80
146
  const maxDepth = params.maxDepth ?? AGENT_CONFIG.MAX_LIST_DEPTH;
81
147
  const maxResults = params.maxResults ?? AGENT_CONFIG.MAX_OUTPUT_LINES;
82
- const ig = this.getIgnoreFilter();
83
148
  try {
84
149
  const stdout = await this.commands.listDir(params.path, maxDepth);
85
150
  const paths = (stdout || "").trim().split(/\r?\n/).filter((p) => p.length > 0);
@@ -88,12 +153,12 @@ var RemoteCommandsProvider = class {
88
153
  for (const fullPath of paths) {
89
154
  if (fullPath === params.path || fullPath === this.repoRoot) continue;
90
155
  const name = fullPath.split("/").pop() || "";
156
+ if (shouldSkip(name)) continue;
157
+ if (regex && !regex.test(name)) continue;
91
158
  let relativePath = fullPath;
92
159
  if (fullPath.startsWith(this.repoRoot)) {
93
160
  relativePath = fullPath.slice(this.repoRoot.length).replace(/^\//, "");
94
161
  }
95
- if (ig.ignores(relativePath)) continue;
96
- if (regex && !regex.test(name)) continue;
97
162
  const depth = relativePath.split("/").filter(Boolean).length - 1;
98
163
  const hasExtension = name.includes(".") && !name.startsWith(".");
99
164
  const type = hasExtension ? "file" : "dir";
@@ -115,4 +180,4 @@ var RemoteCommandsProvider = class {
115
180
  export {
116
181
  RemoteCommandsProvider
117
182
  };
118
- //# sourceMappingURL=chunk-6RFT7K7F.js.map
183
+ //# sourceMappingURL=chunk-26QXQFLZ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../tools/warp_grep/providers/remote.ts"],"sourcesContent":["/**\n * RemoteCommandsProvider - wraps simple RemoteCommands into WarpGrepProvider\n * \n * Handles parsing of raw stdout from grep/read/listDir commands.\n * Users just return stdout, SDK handles all format conversion.\n */\n\nimport type { WarpGrepProvider, GrepResult, ReadResult, ListDirectoryEntry } from './types.js';\nimport type { RemoteCommands } from '../types.js';\nimport { AGENT_CONFIG } from '../agent/config.js';\n\n/**\n * Directories/files to always skip (exact name match)\n */\nconst SKIP_NAMES = new Set([\n // Version control\n '.git', '.svn', '.hg', '.bzr',\n // Dependencies\n 'node_modules', 'bower_components', '.pnpm', '.yarn',\n 'vendor', 'Pods', '.bundle',\n // Python\n '__pycache__', '.pytest_cache', '.mypy_cache', '.ruff_cache',\n '.venv', 'venv', '.tox', '.nox', '.eggs',\n // Build outputs\n 'dist', 'build', 'out', 'output', 'target', '_build',\n '.next', '.nuxt', '.output', '.vercel', '.netlify',\n // Cache\n '.cache', '.parcel-cache', '.turbo', '.nx', '.gradle',\n // IDE\n '.idea', '.vscode', '.vs',\n // Coverage\n 'coverage', '.coverage', 'htmlcov', '.nyc_output',\n // Temp\n 'tmp', 'temp', '.tmp', '.temp',\n // Lock files\n 'package-lock.json', 'yarn.lock', 'pnpm-lock.yaml', 'bun.lockb',\n 'Cargo.lock', 'Gemfile.lock', 'poetry.lock',\n]);\n\n/**\n * File extensions to skip\n */\nconst SKIP_EXTENSIONS = new Set([\n '.min.js', '.min.css', '.bundle.js',\n '.wasm', '.so', '.dll', '.pyc',\n '.map', '.js.map',\n]);\n\n/**\n * Check if a filename should be skipped\n */\nfunction shouldSkip(name: string): boolean {\n // Skip exact name matches\n if (SKIP_NAMES.has(name)) return true;\n \n // Skip hidden files/directories (start with .)\n if (name.startsWith('.')) return true;\n \n // Skip files with certain extensions\n for (const ext of SKIP_EXTENSIONS) {\n if (name.endsWith(ext)) return true;\n }\n \n return false;\n}\n\n/**\n * Wraps simple RemoteCommands functions into a full WarpGrepProvider.\n * \n * This allows users to provide three simple functions that return raw stdout,\n * and the SDK handles all parsing internally.\n * \n * @example\n * ```typescript\n * const provider = new RemoteCommandsProvider('/home/repo', {\n * grep: async (pattern, path) => {\n * const r = await sandbox.run(`rg '${pattern}' '${path}'`);\n * return r.stdout;\n * },\n * read: async (path, start, end) => {\n * const r = await sandbox.run(`sed -n '${start},${end}p' '${path}'`);\n * return r.stdout;\n * },\n * listDir: async (path, maxDepth) => {\n * const r = await sandbox.run(`find '${path}' -maxdepth ${maxDepth}`);\n * return r.stdout;\n * },\n * });\n * ```\n */\nexport class RemoteCommandsProvider implements WarpGrepProvider {\n constructor(\n private readonly repoRoot: string,\n private readonly commands: RemoteCommands\n ) {}\n\n /**\n * Run grep command and parse ripgrep output\n */\n async grep(params: { pattern: string; path: string; glob?: string }): Promise<GrepResult> {\n try {\n const stdout = await this.commands.grep(params.pattern, params.path, params.glob);\n \n // Parse ripgrep output: each line is \"path:line:content\" or \"path-line-content\" for context\n const lines = (stdout || '')\n .trim()\n .split(/\\r?\\n/)\n .filter((l) => l.length > 0);\n \n // Check if output is too large\n if (lines.length > AGENT_CONFIG.MAX_OUTPUT_LINES) {\n return {\n lines: [],\n error: 'Query not specific enough - too many results returned. Try a more specific pattern.',\n };\n }\n \n return { lines };\n } catch (error) {\n return {\n lines: [],\n error: `[GREP ERROR] ${error instanceof Error ? error.message : String(error)}`,\n };\n }\n }\n\n /**\n * Read file and add line numbers\n */\n async read(params: { path: string; start?: number; end?: number }): Promise<ReadResult> {\n const start = params.start ?? 1;\n const end = params.end ?? 1_000_000;\n \n try {\n const stdout = await this.commands.read(params.path, start, end);\n \n // Split content into lines and add line numbers\n const contentLines = (stdout || '').split('\\n');\n \n // Remove trailing empty line if present (common with sed output)\n if (contentLines.length > 0 && contentLines[contentLines.length - 1] === '') {\n contentLines.pop();\n }\n \n // Format as \"lineNumber|content\"\n const lines = contentLines.map((content, idx) => `${start + idx}|${content}`);\n \n // Check if output is too large\n if (lines.length > AGENT_CONFIG.MAX_READ_LINES) {\n const truncated = lines.slice(0, AGENT_CONFIG.MAX_READ_LINES);\n truncated.push(`... [truncated: showing ${AGENT_CONFIG.MAX_READ_LINES} of ${lines.length} lines]`);\n return { lines: truncated };\n }\n \n return { lines };\n } catch (error) {\n return {\n lines: [],\n error: `[READ ERROR] ${error instanceof Error ? error.message : String(error)}`,\n };\n }\n }\n\n /**\n * List directory and parse find output\n */\n async listDirectory(params: { \n path: string; \n pattern?: string | null; \n maxResults?: number; \n maxDepth?: number;\n }): Promise<ListDirectoryEntry[]> {\n const maxDepth = params.maxDepth ?? AGENT_CONFIG.MAX_LIST_DEPTH;\n const maxResults = params.maxResults ?? AGENT_CONFIG.MAX_OUTPUT_LINES;\n \n try {\n const stdout = await this.commands.listDir(params.path, maxDepth);\n \n // Parse find output: one path per line\n const paths = (stdout || '')\n .trim()\n .split(/\\r?\\n/)\n .filter((p) => p.length > 0);\n \n const regex = params.pattern ? new RegExp(params.pattern) : null;\n const entries: ListDirectoryEntry[] = [];\n \n for (const fullPath of paths) {\n // Skip the root path itself\n if (fullPath === params.path || fullPath === this.repoRoot) continue;\n \n const name = fullPath.split('/').pop() || '';\n \n // Simple name-based filtering - skip junk dirs/files\n if (shouldSkip(name)) continue;\n \n // Apply pattern filter if provided\n if (regex && !regex.test(name)) continue;\n \n // Determine relative path\n let relativePath = fullPath;\n if (fullPath.startsWith(this.repoRoot)) {\n relativePath = fullPath.slice(this.repoRoot.length).replace(/^\\//, '');\n }\n \n // Calculate depth based on path separators\n const depth = relativePath.split('/').filter(Boolean).length - 1;\n \n // Determine if it's a directory (ends with / or infer from path structure)\n // Note: Most sandbox find commands don't indicate type, so we guess based on extension\n const hasExtension = name.includes('.') && !name.startsWith('.');\n const type: 'file' | 'dir' = hasExtension ? 'file' : 'dir';\n \n entries.push({\n name,\n path: relativePath,\n type,\n depth: Math.max(0, depth),\n });\n \n if (entries.length >= maxResults) break;\n }\n \n return entries;\n } catch (error) {\n // Return empty array on error (consistent with LocalRipgrepProvider)\n return [];\n }\n }\n}\n\n\n\n\n"],"mappings":"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","names":[]}
@@ -7,7 +7,7 @@ import {
7
7
  } from "./chunk-63WE2C5R.js";
8
8
  import {
9
9
  __export
10
- } from "./chunk-HKJ2B2AA.js";
10
+ } from "./chunk-PZ5AY32C.js";
11
11
 
12
12
  // tools/fastapply/openai.ts
13
13
  var openai_exports = {};
@@ -103,4 +103,4 @@ export {
103
103
  openai_default,
104
104
  openai_exports
105
105
  };
106
- //# sourceMappingURL=chunk-RTDKF6NS.js.map
106
+ //# sourceMappingURL=chunk-5QIWYEHJ.js.map
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-MFZP347Z.js";
7
7
  import {
8
8
  __export
9
- } from "./chunk-HKJ2B2AA.js";
9
+ } from "./chunk-PZ5AY32C.js";
10
10
 
11
11
  // tools/browser/vercel.ts
12
12
  var vercel_exports = {};
@@ -54,4 +54,4 @@ export {
54
54
  browserTool,
55
55
  vercel_exports
56
56
  };
57
- //# sourceMappingURL=chunk-BYNVJ4ON.js.map
57
+ //# sourceMappingURL=chunk-7CJPKJEE.js.map
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  createWarpGrepTool as createWarpGrepTool2
3
- } from "./chunk-K3EHH3C4.js";
3
+ } from "./chunk-PT3DGIUF.js";
4
4
  import {
5
5
  createWarpGrepTool
6
- } from "./chunk-JPGX6WEV.js";
6
+ } from "./chunk-I2GXV3BQ.js";
7
7
  import {
8
8
  createWarpGrepTool as createWarpGrepTool3
9
- } from "./chunk-QEGH3CWQ.js";
9
+ } from "./chunk-GZP6HY5W.js";
10
10
  import {
11
11
  WarpGrepClient
12
- } from "./chunk-VLZEBK7S.js";
12
+ } from "./chunk-E4434A4Y.js";
13
13
  import {
14
14
  createCodebaseSearchTool as createCodebaseSearchTool3
15
15
  } from "./chunk-UBX7QYBD.js";
@@ -24,13 +24,13 @@ import {
24
24
  } from "./chunk-WM77HRKO.js";
25
25
  import {
26
26
  createEditFileTool as createEditFileTool2
27
- } from "./chunk-W76ICQKY.js";
27
+ } from "./chunk-IUG2FHNN.js";
28
28
  import {
29
29
  createEditFileTool
30
- } from "./chunk-RTDKF6NS.js";
30
+ } from "./chunk-5QIWYEHJ.js";
31
31
  import {
32
32
  createEditFileTool as createEditFileTool3
33
- } from "./chunk-HBWJLKNM.js";
33
+ } from "./chunk-QZNGKOCZ.js";
34
34
  import {
35
35
  FastApplyClient
36
36
  } from "./chunk-CKTA4AXM.js";
@@ -280,4 +280,4 @@ export {
280
280
  VercelToolFactory,
281
281
  MorphClient
282
282
  };
283
- //# sourceMappingURL=chunk-SXE54MIC.js.map
283
+ //# sourceMappingURL=chunk-AB27WETH.js.map
@@ -0,0 +1,10 @@
1
+ // tools/warp_grep/index.ts
2
+ import { z } from "zod";
3
+ var warpGrepInputSchema = z.object({
4
+ query: z.string().describe("Free-form repository question")
5
+ });
6
+
7
+ export {
8
+ warpGrepInputSchema
9
+ };
10
+ //# sourceMappingURL=chunk-B5A4XLSQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../tools/warp_grep/index.ts"],"sourcesContent":["/**\n * Morph Warp Grep SDK\n * \n * Fast and accurate code search tool for AI agents.\n * Uses ripgrep locally, or use `remoteCommands` for sandbox environments.\n * \n * @example Local usage\n * ```typescript\n * // With MorphClient (recommended)\n * import { MorphClient } from '@morphllm/morphsdk';\n * \n * const morph = new MorphClient({ morphApiKey: process.env.MORPH_API_KEY });\n * const result = await morph.warpGrep.execute({\n * query: 'Find authentication middleware',\n * repoRoot: '.'\n * });\n * ```\n * \n * @example\n * ```typescript\n * // Standalone client\n * import { WarpGrepClient } from '@morphllm/morphsdk/tools/warp-grep';\n * \n * const client = new WarpGrepClient({ morphApiKey: process.env.MORPH_API_KEY });\n * const result = await client.execute({\n * query: 'Find authentication middleware',\n * repoRoot: '.'\n * });\n * ```\n * \n * @example\n * ```typescript\n * // As a tool for AI agents\n * import { createWarpGrepTool } from '@morphllm/morphsdk/tools/warp-grep/anthropic';\n * \n * const tool = createWarpGrepTool({ repoRoot: '.' });\n * // Pass to Claude, GPT, Gemini, etc.\n * ```\n * \n * @example Remote sandbox (E2B, Modal, Daytona, etc.)\n * ```typescript\n * import { createMorphWarpGrepTool } from '@morphllm/morphsdk/tools/warp-grep/anthropic';\n * \n * const tool = createMorphWarpGrepTool({\n * repoRoot: '/home/repo',\n * remoteCommands: {\n * grep: async (pattern, path) => (await sandbox.run(`rg '${pattern}' '${path}'`)).stdout,\n * read: async (path, start, end) => (await sandbox.run(`sed -n '${start},${end}p' '${path}'`)).stdout,\n * listDir: async (path, maxDepth) => (await sandbox.run(`find '${path}' -maxdepth ${maxDepth}`)).stdout,\n * },\n * });\n * ```\n * \n * @example Provider-agnostic usage (bring your own tool abstraction)\n * ```typescript\n * import { \n * warpGrepInputSchema,\n * executeToolCall,\n * WARP_GREP_TOOL_NAME,\n * WARP_GREP_DESCRIPTION,\n * } from '@morphllm/morphsdk/tools/warp-grep';\n * \n * // Use with your own tool definition abstraction\n * const toolDef = createToolDef({\n * name: WARP_GREP_TOOL_NAME,\n * description: WARP_GREP_DESCRIPTION,\n * schema: warpGrepInputSchema,\n * });\n * \n * // Execute\n * const result = await executeToolCall(\n * { query: 'Find auth middleware' },\n * { repoRoot: '.', morphApiKey: process.env.MORPH_API_KEY }\n * );\n * ```\n */\n\nimport { z } from 'zod';\n\n/** Provider-agnostic Zod schema for warp grep input */\nexport const warpGrepInputSchema = z.object({\n query: z.string().describe('Free-form repository question'),\n});\n\nexport type WarpGrepInputSchema = z.infer<typeof warpGrepInputSchema>;\n\n// Core client and functions\nexport { WarpGrepClient, executeWarpGrep, executeToolCall, formatResult } from './client.js';\n\n// Types\nexport type {\n WarpGrepClientConfig,\n WarpGrepInput,\n WarpGrepResult,\n WarpGrepContext,\n WarpGrepToolConfig,\n WarpGrepProvider,\n GrepResult,\n ReadResult,\n ListDirectoryEntry,\n RemoteCommands,\n} from './types.js';\n\n// Prompts\nexport {\n WARP_GREP_DESCRIPTION,\n WARP_GREP_TOOL_NAME,\n WARP_GREP_SYSTEM_PROMPT,\n getSystemPrompt,\n} from './prompts.js';\n\n// Providers (re-exported for convenience)\nexport { LocalRipgrepProvider, RemoteCommandsProvider } from './providers/index.js';\n\n// Agent internals (advanced usage)\nexport { runWarpGrep } from './agent/index.js';\nexport type { AgentRunResult, SessionConfig, ChatMessage } from './agent/index.js';\n\n// Internal agent tools (for harness builders)\nexport { toolGrep, toolRead, toolListDirectory, readFinishFiles, normalizeFinishFiles } from './agent/tools/index.js';\n\n// Provider adapters are available via dedicated import paths:\n// - '@morphllm/morphsdk/tools/warp-grep/anthropic'\n// - '@morphllm/morphsdk/tools/warp-grep/openai'\n// - '@morphllm/morphsdk/tools/warp-grep/gemini'\n// - '@morphllm/morphsdk/tools/warp-grep/vercel'\n"],"mappings":";AA6EA,SAAS,SAAS;AAGX,IAAM,sBAAsB,EAAE,OAAO;AAAA,EAC1C,OAAO,EAAE,OAAO,EAAE,SAAS,+BAA+B;AAC5D,CAAC;","names":[]}
@@ -7,7 +7,7 @@ import {
7
7
  } from "./chunk-MFZP347Z.js";
8
8
  import {
9
9
  __export
10
- } from "./chunk-HKJ2B2AA.js";
10
+ } from "./chunk-PZ5AY32C.js";
11
11
 
12
12
  // tools/browser/openai.ts
13
13
  var openai_exports = {};
@@ -93,4 +93,4 @@ export {
93
93
  createBrowserTool,
94
94
  openai_exports
95
95
  };
96
- //# sourceMappingURL=chunk-VDJGZIQ5.js.map
96
+ //# sourceMappingURL=chunk-BGSHC2UK.js.map
@@ -3,10 +3,10 @@ import {
3
3
  } from "./chunk-SUBBMTMY.js";
4
4
  import {
5
5
  RemoteCommandsProvider
6
- } from "./chunk-6RFT7K7F.js";
6
+ } from "./chunk-26QXQFLZ.js";
7
7
  import {
8
8
  LocalRipgrepProvider
9
- } from "./chunk-223ZMZP6.js";
9
+ } from "./chunk-QIG7YPFW.js";
10
10
 
11
11
  // tools/warp_grep/client.ts
12
12
  var WarpGrepClient = class {
@@ -115,4 +115,4 @@ export {
115
115
  executeToolCall,
116
116
  formatResult
117
117
  };
118
- //# sourceMappingURL=chunk-VLZEBK7S.js.map
118
+ //# sourceMappingURL=chunk-E4434A4Y.js.map
@@ -2,25 +2,10 @@ import {
2
2
  WARP_GREP_DESCRIPTION
3
3
  } from "./chunk-KW7OEGZK.js";
4
4
  import {
5
- executeToolCall,
6
- formatResult
7
- } from "./chunk-VLZEBK7S.js";
8
- import {
9
- getSystemPrompt
10
- } from "./chunk-Q5AHGIQO.js";
11
- import {
12
- __export
13
- } from "./chunk-HKJ2B2AA.js";
5
+ executeToolCall
6
+ } from "./chunk-E4434A4Y.js";
14
7
 
15
8
  // tools/warp_grep/vercel.ts
16
- var vercel_exports = {};
17
- __export(vercel_exports, {
18
- createWarpGrepTool: () => createWarpGrepTool,
19
- default: () => vercel_default,
20
- execute: () => execute,
21
- formatResult: () => formatResult,
22
- getSystemPrompt: () => getSystemPrompt
23
- });
24
9
  import { tool } from "ai";
25
10
  import { z } from "zod";
26
11
  async function execute(input, config) {
@@ -51,7 +36,6 @@ var vercel_default = createWarpGrepTool;
51
36
  export {
52
37
  execute,
53
38
  createWarpGrepTool,
54
- vercel_default,
55
- vercel_exports
39
+ vercel_default
56
40
  };
57
- //# sourceMappingURL=chunk-QEGH3CWQ.js.map
41
+ //# sourceMappingURL=chunk-GZP6HY5W.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../tools/warp_grep/vercel.ts"],"sourcesContent":["/**\n * Vercel AI SDK adapter for morph-warp-grep tool\n */\n\nimport { tool } from 'ai';\nimport { z } from 'zod';\nimport { executeToolCall, formatResult } from './client.js';\nimport { WARP_GREP_DESCRIPTION, getSystemPrompt } from './prompts.js';\nimport type { WarpGrepToolConfig, WarpGrepResult } from './types.js';\n\n/**\n * Execute warp grep search\n * \n * @param input - Tool input with query\n * @param config - Configuration with repoRoot and optional provider\n * @returns Search results\n */\nexport async function execute(\n input: { query: string },\n config: WarpGrepToolConfig\n): Promise<WarpGrepResult> {\n return executeToolCall(input, config);\n}\n\n// Re-export formatResult and getSystemPrompt for convenience\nexport { formatResult, getSystemPrompt };\n\n/**\n * Create Vercel AI SDK warp grep tool\n * \n * @param config - Configuration options\n * @returns Vercel AI SDK tool\n * \n * @example Local usage\n * ```typescript\n * import { generateText } from 'ai';\n * import { anthropic } from '@ai-sdk/anthropic';\n * import { createWarpGrepTool } from '@morphllm/morphsdk/tools/warp-grep/vercel';\n * \n * const grepTool = createWarpGrepTool({ repoRoot: '.' });\n * \n * const result = await generateText({\n * model: anthropic('claude-sonnet-4-5-20250929'),\n * tools: { grep: grepTool },\n * prompt: 'Find authentication middleware'\n * });\n * ```\n * \n * @example Remote sandbox (E2B, Modal, etc.)\n * ```typescript\n * const grepTool = createMorphWarpGrepTool({\n * repoRoot: '/home/repo',\n * remoteCommands: {\n * grep: async (pattern, path) => (await sandbox.run(`rg '${pattern}' '${path}'`)).stdout,\n * read: async (path, start, end) => (await sandbox.run(`sed -n '${start},${end}p' '${path}'`)).stdout,\n * listDir: async (path, maxDepth) => (await sandbox.run(`find '${path}' -maxdepth ${maxDepth}`)).stdout,\n * },\n * });\n * ```\n */\nexport function createWarpGrepTool(config: WarpGrepToolConfig) {\n const schema = z.object({\n query: z.string().describe('Free-form repository question'),\n });\n\n return tool({\n description: config.description ?? WARP_GREP_DESCRIPTION,\n inputSchema: schema,\n execute: async (params) => {\n const result = await executeToolCall(params, config);\n \n if (!result.success) {\n throw new Error(`Failed to search codebase: ${result.error}`);\n }\n \n return {\n success: true,\n contexts: result.contexts,\n summary: result.summary,\n };\n },\n });\n}\n\n// Default export for convenience\nexport default createWarpGrepTool;\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,SAAS,YAAY;AACrB,SAAS,SAAS;AAYlB,eAAsB,QACpB,OACA,QACyB;AACzB,SAAO,gBAAgB,OAAO,MAAM;AACtC;AAsCO,SAAS,mBAAmB,QAA4B;AAC7D,QAAM,SAAS,EAAE,OAAO;AAAA,IACtB,OAAO,EAAE,OAAO,EAAE,SAAS,+BAA+B;AAAA,EAC5D,CAAC;AAED,SAAO,KAAK;AAAA,IACV,aAAa,OAAO,eAAe;AAAA,IACnC,aAAa;AAAA,IACb,SAAS,OAAO,WAAW;AACzB,YAAM,SAAS,MAAM,gBAAgB,QAAQ,MAAM;AAEnD,UAAI,CAAC,OAAO,SAAS;AACnB,cAAM,IAAI,MAAM,8BAA8B,OAAO,KAAK,EAAE;AAAA,MAC9D;AAEA,aAAO;AAAA,QACL,SAAS;AAAA,QACT,UAAU,OAAO;AAAA,QACjB,SAAS,OAAO;AAAA,MAClB;AAAA,IACF;AAAA,EACF,CAAC;AACH;AAGA,IAAO,iBAAQ;","names":[]}
1
+ {"version":3,"sources":["../tools/warp_grep/vercel.ts"],"sourcesContent":["/**\n * Vercel AI SDK adapter for morph-warp-grep tool\n */\n\nimport { tool } from 'ai';\nimport { z } from 'zod';\nimport { executeToolCall, formatResult } from './client.js';\nimport { WARP_GREP_DESCRIPTION, getSystemPrompt } from './prompts.js';\nimport type { WarpGrepToolConfig, WarpGrepResult } from './types.js';\n\n/**\n * Execute warp grep search\n * \n * @param input - Tool input with query\n * @param config - Configuration with repoRoot and optional provider\n * @returns Search results\n */\nexport async function execute(\n input: { query: string },\n config: WarpGrepToolConfig\n): Promise<WarpGrepResult> {\n return executeToolCall(input, config);\n}\n\n// Re-export formatResult and getSystemPrompt for convenience\nexport { formatResult, getSystemPrompt };\n\n/**\n * Create Vercel AI SDK warp grep tool\n * \n * @param config - Configuration options\n * @returns Vercel AI SDK tool\n * \n * @example Local usage\n * ```typescript\n * import { generateText } from 'ai';\n * import { anthropic } from '@ai-sdk/anthropic';\n * import { createWarpGrepTool } from '@morphllm/morphsdk/tools/warp-grep/vercel';\n * \n * const grepTool = createWarpGrepTool({ repoRoot: '.' });\n * \n * const result = await generateText({\n * model: anthropic('claude-sonnet-4-5-20250929'),\n * tools: { grep: grepTool },\n * prompt: 'Find authentication middleware'\n * });\n * ```\n * \n * @example Remote sandbox (E2B, Modal, etc.)\n * ```typescript\n * const grepTool = createMorphWarpGrepTool({\n * repoRoot: '/home/repo',\n * remoteCommands: {\n * grep: async (pattern, path) => (await sandbox.run(`rg '${pattern}' '${path}'`)).stdout,\n * read: async (path, start, end) => (await sandbox.run(`sed -n '${start},${end}p' '${path}'`)).stdout,\n * listDir: async (path, maxDepth) => (await sandbox.run(`find '${path}' -maxdepth ${maxDepth}`)).stdout,\n * },\n * });\n * ```\n */\nexport function createWarpGrepTool(config: WarpGrepToolConfig) {\n const schema = z.object({\n query: z.string().describe('Free-form repository question'),\n });\n\n return tool({\n description: config.description ?? WARP_GREP_DESCRIPTION,\n inputSchema: schema,\n execute: async (params) => {\n const result = await executeToolCall(params, config);\n \n if (!result.success) {\n throw new Error(`Failed to search codebase: ${result.error}`);\n }\n \n return {\n success: true,\n contexts: result.contexts,\n summary: result.summary,\n };\n },\n });\n}\n\n// Default export for convenience\nexport default createWarpGrepTool;\n"],"mappings":";;;;;;;;AAIA,SAAS,YAAY;AACrB,SAAS,SAAS;AAYlB,eAAsB,QACpB,OACA,QACyB;AACzB,SAAO,gBAAgB,OAAO,MAAM;AACtC;AAsCO,SAAS,mBAAmB,QAA4B;AAC7D,QAAM,SAAS,EAAE,OAAO;AAAA,IACtB,OAAO,EAAE,OAAO,EAAE,SAAS,+BAA+B;AAAA,EAC5D,CAAC;AAED,SAAO,KAAK;AAAA,IACV,aAAa,OAAO,eAAe;AAAA,IACnC,aAAa;AAAA,IACb,SAAS,OAAO,WAAW;AACzB,YAAM,SAAS,MAAM,gBAAgB,QAAQ,MAAM;AAEnD,UAAI,CAAC,OAAO,SAAS;AACnB,cAAM,IAAI,MAAM,8BAA8B,OAAO,KAAK,EAAE;AAAA,MAC9D;AAEA,aAAO;AAAA,QACL,SAAS;AAAA,QACT,UAAU,OAAO;AAAA,QACjB,SAAS,OAAO;AAAA,MAClB;AAAA,IACF;AAAA,EACF,CAAC;AACH;AAGA,IAAO,iBAAQ;","names":[]}
@@ -5,24 +5,12 @@ import {
5
5
  import {
6
6
  executeToolCall,
7
7
  formatResult
8
- } from "./chunk-VLZEBK7S.js";
8
+ } from "./chunk-E4434A4Y.js";
9
9
  import {
10
10
  getSystemPrompt
11
11
  } from "./chunk-Q5AHGIQO.js";
12
- import {
13
- __export
14
- } from "./chunk-HKJ2B2AA.js";
15
12
 
16
13
  // tools/warp_grep/openai.ts
17
- var openai_exports = {};
18
- __export(openai_exports, {
19
- createWarpGrepTool: () => createWarpGrepTool,
20
- default: () => openai_default,
21
- execute: () => execute,
22
- formatResult: () => formatResult,
23
- getSystemPrompt: () => getSystemPrompt,
24
- warpGrepTool: () => warpGrepTool
25
- });
26
14
  var TOOL_PARAMETERS = {
27
15
  type: "object",
28
16
  properties: {
@@ -68,7 +56,6 @@ export {
68
56
  warpGrepTool,
69
57
  execute,
70
58
  createWarpGrepTool,
71
- openai_default,
72
- openai_exports
59
+ openai_default
73
60
  };
74
- //# sourceMappingURL=chunk-JPGX6WEV.js.map
61
+ //# sourceMappingURL=chunk-I2GXV3BQ.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../tools/warp_grep/openai.ts"],"sourcesContent":["/**\n * OpenAI SDK adapter for morph-warp-grep tool\n */\n\nimport type { ChatCompletionTool } from 'openai/resources/chat/completions';\nimport { executeToolCall, formatResult } from './client.js';\nimport { WARP_GREP_DESCRIPTION, WARP_GREP_TOOL_NAME, getSystemPrompt } from './prompts.js';\nimport type { WarpGrepToolConfig, WarpGrepResult } from './types.js';\n\n/**\n * Input schema for the warp grep tool\n */\nconst TOOL_PARAMETERS = {\n type: 'object',\n properties: {\n query: { type: 'string', description: 'Free-form repository question' },\n },\n required: ['query'],\n} as const;\n\n/**\n * OpenAI-native warp grep tool definition\n * \n * @example\n * ```typescript\n * import OpenAI from 'openai';\n * import { warpGrepTool, execute } from '@morphllm/morphsdk/tools/warp-grep/openai';\n * \n * const client = new OpenAI();\n * const response = await client.chat.completions.create({\n * model: 'gpt-4o',\n * tools: [warpGrepTool],\n * messages: [{ role: 'user', content: 'Find authentication middleware' }]\n * });\n * \n * // Execute the tool call\n * const result = await execute({ query: '...' }, { repoRoot: '.' });\n * ```\n */\nexport const warpGrepTool: ChatCompletionTool = {\n type: 'function',\n function: {\n name: WARP_GREP_TOOL_NAME,\n description: WARP_GREP_DESCRIPTION,\n parameters: TOOL_PARAMETERS,\n },\n};\n\n/**\n * Execute warp grep search\n * \n * @param input - Tool input with query\n * @param config - Configuration with repoRoot and optional provider\n * @returns Search results\n */\nexport async function execute(\n input: { query: string } | string,\n config: WarpGrepToolConfig\n): Promise<WarpGrepResult> {\n return executeToolCall(input, config);\n}\n\n// Re-export formatResult and getSystemPrompt for convenience\nexport { formatResult, getSystemPrompt };\n\n/**\n * Create a custom warp grep tool with configuration and methods\n * \n * @param config - Configuration options\n * @returns Tool definition with execute and formatResult methods\n * \n * @example Local usage\n * ```typescript\n * import OpenAI from 'openai';\n * import { createWarpGrepTool } from '@morphllm/morphsdk/tools/warp-grep/openai';\n * \n * const tool = createWarpGrepTool({ repoRoot: '.' });\n * \n * const client = new OpenAI();\n * const response = await client.chat.completions.create({\n * model: 'gpt-4o',\n * tools: [tool],\n * messages: [{ role: 'user', content: 'Find authentication middleware' }]\n * });\n * ```\n * \n * @example Remote sandbox (E2B, Modal, etc.)\n * ```typescript\n * const tool = createMorphWarpGrepTool({\n * repoRoot: '/home/repo',\n * remoteCommands: {\n * grep: async (pattern, path) => (await sandbox.run(`rg '${pattern}' '${path}'`)).stdout,\n * read: async (path, start, end) => (await sandbox.run(`sed -n '${start},${end}p' '${path}'`)).stdout,\n * listDir: async (path, maxDepth) => (await sandbox.run(`find '${path}' -maxdepth ${maxDepth}`)).stdout,\n * },\n * });\n * ```\n */\nexport function createWarpGrepTool(config: WarpGrepToolConfig) {\n const tool: ChatCompletionTool = {\n type: 'function',\n function: {\n name: config.name ?? WARP_GREP_TOOL_NAME,\n description: config.description ?? WARP_GREP_DESCRIPTION,\n parameters: TOOL_PARAMETERS,\n },\n };\n\n return Object.assign(tool, {\n execute: async (input: unknown): Promise<WarpGrepResult> => {\n return executeToolCall(input as { query: string } | string, config);\n },\n formatResult: (result: WarpGrepResult): string => {\n return formatResult(result);\n },\n getSystemPrompt: (): string => {\n return getSystemPrompt();\n },\n });\n}\n\nexport default warpGrepTool;\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYA,IAAM,kBAAkB;AAAA,EACtB,MAAM;AAAA,EACN,YAAY;AAAA,IACV,OAAO,EAAE,MAAM,UAAU,aAAa,gCAAgC;AAAA,EACxE;AAAA,EACA,UAAU,CAAC,OAAO;AACpB;AAqBO,IAAM,eAAmC;AAAA,EAC9C,MAAM;AAAA,EACN,UAAU;AAAA,IACR,MAAM;AAAA,IACN,aAAa;AAAA,IACb,YAAY;AAAA,EACd;AACF;AASA,eAAsB,QACpB,OACA,QACyB;AACzB,SAAO,gBAAgB,OAAO,MAAM;AACtC;AAsCO,SAAS,mBAAmB,QAA4B;AAC7D,QAAM,OAA2B;AAAA,IAC/B,MAAM;AAAA,IACN,UAAU;AAAA,MACR,MAAM,OAAO,QAAQ;AAAA,MACrB,aAAa,OAAO,eAAe;AAAA,MACnC,YAAY;AAAA,IACd;AAAA,EACF;AAEA,SAAO,OAAO,OAAO,MAAM;AAAA,IACzB,SAAS,OAAO,UAA4C;AAC1D,aAAO,gBAAgB,OAAqC,MAAM;AAAA,IACpE;AAAA,IACA,cAAc,CAAC,WAAmC;AAChD,aAAO,aAAa,MAAM;AAAA,IAC5B;AAAA,IACA,iBAAiB,MAAc;AAC7B,aAAO,gBAAgB;AAAA,IACzB;AAAA,EACF,CAAC;AACH;AAEA,IAAO,iBAAQ;","names":[]}
1
+ {"version":3,"sources":["../tools/warp_grep/openai.ts"],"sourcesContent":["/**\n * OpenAI SDK adapter for morph-warp-grep tool\n */\n\nimport type { ChatCompletionTool } from 'openai/resources/chat/completions';\nimport { executeToolCall, formatResult } from './client.js';\nimport { WARP_GREP_DESCRIPTION, WARP_GREP_TOOL_NAME, getSystemPrompt } from './prompts.js';\nimport type { WarpGrepToolConfig, WarpGrepResult } from './types.js';\n\n/**\n * Input schema for the warp grep tool\n */\nconst TOOL_PARAMETERS = {\n type: 'object',\n properties: {\n query: { type: 'string', description: 'Free-form repository question' },\n },\n required: ['query'],\n} as const;\n\n/**\n * OpenAI-native warp grep tool definition\n * \n * @example\n * ```typescript\n * import OpenAI from 'openai';\n * import { warpGrepTool, execute } from '@morphllm/morphsdk/tools/warp-grep/openai';\n * \n * const client = new OpenAI();\n * const response = await client.chat.completions.create({\n * model: 'gpt-4o',\n * tools: [warpGrepTool],\n * messages: [{ role: 'user', content: 'Find authentication middleware' }]\n * });\n * \n * // Execute the tool call\n * const result = await execute({ query: '...' }, { repoRoot: '.' });\n * ```\n */\nexport const warpGrepTool: ChatCompletionTool = {\n type: 'function',\n function: {\n name: WARP_GREP_TOOL_NAME,\n description: WARP_GREP_DESCRIPTION,\n parameters: TOOL_PARAMETERS,\n },\n};\n\n/**\n * Execute warp grep search\n * \n * @param input - Tool input with query\n * @param config - Configuration with repoRoot and optional provider\n * @returns Search results\n */\nexport async function execute(\n input: { query: string } | string,\n config: WarpGrepToolConfig\n): Promise<WarpGrepResult> {\n return executeToolCall(input, config);\n}\n\n// Re-export formatResult and getSystemPrompt for convenience\nexport { formatResult, getSystemPrompt };\n\n/**\n * Create a custom warp grep tool with configuration and methods\n * \n * @param config - Configuration options\n * @returns Tool definition with execute and formatResult methods\n * \n * @example Local usage\n * ```typescript\n * import OpenAI from 'openai';\n * import { createWarpGrepTool } from '@morphllm/morphsdk/tools/warp-grep/openai';\n * \n * const tool = createWarpGrepTool({ repoRoot: '.' });\n * \n * const client = new OpenAI();\n * const response = await client.chat.completions.create({\n * model: 'gpt-4o',\n * tools: [tool],\n * messages: [{ role: 'user', content: 'Find authentication middleware' }]\n * });\n * ```\n * \n * @example Remote sandbox (E2B, Modal, etc.)\n * ```typescript\n * const tool = createMorphWarpGrepTool({\n * repoRoot: '/home/repo',\n * remoteCommands: {\n * grep: async (pattern, path) => (await sandbox.run(`rg '${pattern}' '${path}'`)).stdout,\n * read: async (path, start, end) => (await sandbox.run(`sed -n '${start},${end}p' '${path}'`)).stdout,\n * listDir: async (path, maxDepth) => (await sandbox.run(`find '${path}' -maxdepth ${maxDepth}`)).stdout,\n * },\n * });\n * ```\n */\nexport function createWarpGrepTool(config: WarpGrepToolConfig) {\n const tool: ChatCompletionTool = {\n type: 'function',\n function: {\n name: config.name ?? WARP_GREP_TOOL_NAME,\n description: config.description ?? WARP_GREP_DESCRIPTION,\n parameters: TOOL_PARAMETERS,\n },\n };\n\n return Object.assign(tool, {\n execute: async (input: unknown): Promise<WarpGrepResult> => {\n return executeToolCall(input as { query: string } | string, config);\n },\n formatResult: (result: WarpGrepResult): string => {\n return formatResult(result);\n },\n getSystemPrompt: (): string => {\n return getSystemPrompt();\n },\n });\n}\n\nexport default warpGrepTool;\n"],"mappings":";;;;;;;;;;;;;AAYA,IAAM,kBAAkB;AAAA,EACtB,MAAM;AAAA,EACN,YAAY;AAAA,IACV,OAAO,EAAE,MAAM,UAAU,aAAa,gCAAgC;AAAA,EACxE;AAAA,EACA,UAAU,CAAC,OAAO;AACpB;AAqBO,IAAM,eAAmC;AAAA,EAC9C,MAAM;AAAA,EACN,UAAU;AAAA,IACR,MAAM;AAAA,IACN,aAAa;AAAA,IACb,YAAY;AAAA,EACd;AACF;AASA,eAAsB,QACpB,OACA,QACyB;AACzB,SAAO,gBAAgB,OAAO,MAAM;AACtC;AAsCO,SAAS,mBAAmB,QAA4B;AAC7D,QAAM,OAA2B;AAAA,IAC/B,MAAM;AAAA,IACN,UAAU;AAAA,MACR,MAAM,OAAO,QAAQ;AAAA,MACrB,aAAa,OAAO,eAAe;AAAA,MACnC,YAAY;AAAA,IACd;AAAA,EACF;AAEA,SAAO,OAAO,OAAO,MAAM;AAAA,IACzB,SAAS,OAAO,UAA4C;AAC1D,aAAO,gBAAgB,OAAqC,MAAM;AAAA,IACpE;AAAA,IACA,cAAc,CAAC,WAAmC;AAChD,aAAO,aAAa,MAAM;AAAA,IAC5B;AAAA,IACA,iBAAiB,MAAc;AAC7B,aAAO,gBAAgB;AAAA,IACzB;AAAA,EACF,CAAC;AACH;AAEA,IAAO,iBAAQ;","names":[]}
@@ -7,7 +7,7 @@ import {
7
7
  } from "./chunk-63WE2C5R.js";
8
8
  import {
9
9
  __export
10
- } from "./chunk-HKJ2B2AA.js";
10
+ } from "./chunk-PZ5AY32C.js";
11
11
 
12
12
  // tools/fastapply/anthropic.ts
13
13
  var anthropic_exports = {};
@@ -91,4 +91,4 @@ export {
91
91
  getSystemPrompt,
92
92
  anthropic_exports
93
93
  };
94
- //# sourceMappingURL=chunk-W76ICQKY.js.map
94
+ //# sourceMappingURL=chunk-IUG2FHNN.js.map
@@ -5,23 +5,12 @@ import {
5
5
  import {
6
6
  executeToolCall,
7
7
  formatResult
8
- } from "./chunk-VLZEBK7S.js";
8
+ } from "./chunk-E4434A4Y.js";
9
9
  import {
10
10
  getSystemPrompt
11
11
  } from "./chunk-Q5AHGIQO.js";
12
- import {
13
- __export
14
- } from "./chunk-HKJ2B2AA.js";
15
12
 
16
13
  // tools/warp_grep/anthropic.ts
17
- var anthropic_exports = {};
18
- __export(anthropic_exports, {
19
- createWarpGrepTool: () => createWarpGrepTool,
20
- execute: () => execute,
21
- formatResult: () => formatResult,
22
- getSystemPrompt: () => getSystemPrompt,
23
- warpGrepTool: () => warpGrepTool
24
- });
25
14
  var INPUT_SCHEMA = {
26
15
  type: "object",
27
16
  properties: {
@@ -59,7 +48,6 @@ function createWarpGrepTool(config) {
59
48
  export {
60
49
  warpGrepTool,
61
50
  execute,
62
- createWarpGrepTool,
63
- anthropic_exports
51
+ createWarpGrepTool
64
52
  };
65
- //# sourceMappingURL=chunk-K3EHH3C4.js.map
53
+ //# sourceMappingURL=chunk-PT3DGIUF.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../tools/warp_grep/anthropic.ts"],"sourcesContent":["/**\n * Anthropic SDK adapter for morph-warp-grep tool\n */\n\nimport type { Tool } from '@anthropic-ai/sdk/resources/messages';\nimport { executeToolCall, formatResult } from './client.js';\nimport { WARP_GREP_DESCRIPTION, WARP_GREP_TOOL_NAME, getSystemPrompt } from './prompts.js';\nimport type { WarpGrepToolConfig, WarpGrepResult } from './types.js';\n\n/**\n * Input schema for the warp grep tool\n */\nconst INPUT_SCHEMA = {\n type: 'object',\n properties: {\n query: { type: 'string', description: 'Free-form repository question' },\n },\n required: ['query'],\n} as const;\n\n/**\n * Anthropic-native warp grep tool definition\n * \n * @example\n * ```typescript\n * import Anthropic from '@anthropic-ai/sdk';\n * import { warpGrepTool, execute } from '@morphllm/morphsdk/tools/warp-grep/anthropic';\n * \n * const client = new Anthropic();\n * const response = await client.messages.create({\n * model: 'claude-sonnet-4-5-20250929',\n * tools: [warpGrepTool],\n * messages: [{ role: 'user', content: 'Find authentication middleware' }]\n * });\n * \n * // Execute the tool call\n * const result = await execute({ query: '...' }, { repoRoot: '.' });\n * ```\n */\nexport const warpGrepTool: Tool = {\n name: WARP_GREP_TOOL_NAME,\n description: WARP_GREP_DESCRIPTION,\n input_schema: INPUT_SCHEMA,\n};\n\n/**\n * Execute warp grep search\n * \n * @param input - Tool input with query\n * @param config - Configuration with repoRoot and optional provider\n * @returns Search results\n */\nexport async function execute(\n input: { query: string } | string,\n config: WarpGrepToolConfig\n): Promise<WarpGrepResult> {\n return executeToolCall(input, config);\n}\n\n// Re-export formatResult and getSystemPrompt for convenience\nexport { formatResult, getSystemPrompt };\n\n/**\n * Create a custom warp grep tool with configuration and methods\n * \n * @param config - Configuration options\n * @returns Tool definition with execute and formatResult methods\n * \n * @example Local usage\n * ```typescript\n * import Anthropic from '@anthropic-ai/sdk';\n * import { createWarpGrepTool } from '@morphllm/morphsdk/tools/warp-grep/anthropic';\n * \n * const tool = createWarpGrepTool({ repoRoot: '.' });\n * \n * const client = new Anthropic();\n * const response = await client.messages.create({\n * model: 'claude-sonnet-4-5-20250929',\n * tools: [tool],\n * messages: [{ role: 'user', content: 'Find authentication middleware' }]\n * });\n * ```\n * \n * @example Remote sandbox (E2B, Modal, etc.)\n * ```typescript\n * const tool = createMorphWarpGrepTool({\n * repoRoot: '/home/repo',\n * remoteCommands: {\n * grep: async (pattern, path) => (await sandbox.run(`rg '${pattern}' '${path}'`)).stdout,\n * read: async (path, start, end) => (await sandbox.run(`sed -n '${start},${end}p' '${path}'`)).stdout,\n * listDir: async (path, maxDepth) => (await sandbox.run(`find '${path}' -maxdepth ${maxDepth}`)).stdout,\n * },\n * });\n * ```\n */\nexport function createWarpGrepTool(config: WarpGrepToolConfig) {\n const tool: Tool = {\n name: config.name ?? WARP_GREP_TOOL_NAME,\n description: config.description ?? WARP_GREP_DESCRIPTION,\n input_schema: INPUT_SCHEMA,\n };\n\n return Object.assign(tool, {\n execute: async (input: unknown): Promise<WarpGrepResult> => {\n return executeToolCall(input as { query: string } | string, config);\n },\n formatResult: (result: WarpGrepResult): string => {\n return formatResult(result);\n },\n getSystemPrompt: (): string => {\n return getSystemPrompt();\n },\n });\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYA,IAAM,eAAe;AAAA,EACnB,MAAM;AAAA,EACN,YAAY;AAAA,IACV,OAAO,EAAE,MAAM,UAAU,aAAa,gCAAgC;AAAA,EACxE;AAAA,EACA,UAAU,CAAC,OAAO;AACpB;AAqBO,IAAM,eAAqB;AAAA,EAChC,MAAM;AAAA,EACN,aAAa;AAAA,EACb,cAAc;AAChB;AASA,eAAsB,QACpB,OACA,QACyB;AACzB,SAAO,gBAAgB,OAAO,MAAM;AACtC;AAsCO,SAAS,mBAAmB,QAA4B;AAC7D,QAAM,OAAa;AAAA,IACjB,MAAM,OAAO,QAAQ;AAAA,IACrB,aAAa,OAAO,eAAe;AAAA,IACnC,cAAc;AAAA,EAChB;AAEA,SAAO,OAAO,OAAO,MAAM;AAAA,IACzB,SAAS,OAAO,UAA4C;AAC1D,aAAO,gBAAgB,OAAqC,MAAM;AAAA,IACpE;AAAA,IACA,cAAc,CAAC,WAAmC;AAChD,aAAO,aAAa,MAAM;AAAA,IAC5B;AAAA,IACA,iBAAiB,MAAc;AAC7B,aAAO,gBAAgB;AAAA,IACzB;AAAA,EACF,CAAC;AACH;","names":[]}
1
+ {"version":3,"sources":["../tools/warp_grep/anthropic.ts"],"sourcesContent":["/**\n * Anthropic SDK adapter for morph-warp-grep tool\n */\n\nimport type { Tool } from '@anthropic-ai/sdk/resources/messages';\nimport { executeToolCall, formatResult } from './client.js';\nimport { WARP_GREP_DESCRIPTION, WARP_GREP_TOOL_NAME, getSystemPrompt } from './prompts.js';\nimport type { WarpGrepToolConfig, WarpGrepResult } from './types.js';\n\n/**\n * Input schema for the warp grep tool\n */\nconst INPUT_SCHEMA = {\n type: 'object',\n properties: {\n query: { type: 'string', description: 'Free-form repository question' },\n },\n required: ['query'],\n} as const;\n\n/**\n * Anthropic-native warp grep tool definition\n * \n * @example\n * ```typescript\n * import Anthropic from '@anthropic-ai/sdk';\n * import { warpGrepTool, execute } from '@morphllm/morphsdk/tools/warp-grep/anthropic';\n * \n * const client = new Anthropic();\n * const response = await client.messages.create({\n * model: 'claude-sonnet-4-5-20250929',\n * tools: [warpGrepTool],\n * messages: [{ role: 'user', content: 'Find authentication middleware' }]\n * });\n * \n * // Execute the tool call\n * const result = await execute({ query: '...' }, { repoRoot: '.' });\n * ```\n */\nexport const warpGrepTool: Tool = {\n name: WARP_GREP_TOOL_NAME,\n description: WARP_GREP_DESCRIPTION,\n input_schema: INPUT_SCHEMA,\n};\n\n/**\n * Execute warp grep search\n * \n * @param input - Tool input with query\n * @param config - Configuration with repoRoot and optional provider\n * @returns Search results\n */\nexport async function execute(\n input: { query: string } | string,\n config: WarpGrepToolConfig\n): Promise<WarpGrepResult> {\n return executeToolCall(input, config);\n}\n\n// Re-export formatResult and getSystemPrompt for convenience\nexport { formatResult, getSystemPrompt };\n\n/**\n * Create a custom warp grep tool with configuration and methods\n * \n * @param config - Configuration options\n * @returns Tool definition with execute and formatResult methods\n * \n * @example Local usage\n * ```typescript\n * import Anthropic from '@anthropic-ai/sdk';\n * import { createWarpGrepTool } from '@morphllm/morphsdk/tools/warp-grep/anthropic';\n * \n * const tool = createWarpGrepTool({ repoRoot: '.' });\n * \n * const client = new Anthropic();\n * const response = await client.messages.create({\n * model: 'claude-sonnet-4-5-20250929',\n * tools: [tool],\n * messages: [{ role: 'user', content: 'Find authentication middleware' }]\n * });\n * ```\n * \n * @example Remote sandbox (E2B, Modal, etc.)\n * ```typescript\n * const tool = createMorphWarpGrepTool({\n * repoRoot: '/home/repo',\n * remoteCommands: {\n * grep: async (pattern, path) => (await sandbox.run(`rg '${pattern}' '${path}'`)).stdout,\n * read: async (path, start, end) => (await sandbox.run(`sed -n '${start},${end}p' '${path}'`)).stdout,\n * listDir: async (path, maxDepth) => (await sandbox.run(`find '${path}' -maxdepth ${maxDepth}`)).stdout,\n * },\n * });\n * ```\n */\nexport function createWarpGrepTool(config: WarpGrepToolConfig) {\n const tool: Tool = {\n name: config.name ?? WARP_GREP_TOOL_NAME,\n description: config.description ?? WARP_GREP_DESCRIPTION,\n input_schema: INPUT_SCHEMA,\n };\n\n return Object.assign(tool, {\n execute: async (input: unknown): Promise<WarpGrepResult> => {\n return executeToolCall(input as { query: string } | string, config);\n },\n formatResult: (result: WarpGrepResult): string => {\n return formatResult(result);\n },\n getSystemPrompt: (): string => {\n return getSystemPrompt();\n },\n });\n}\n"],"mappings":";;;;;;;;;;;;;AAYA,IAAM,eAAe;AAAA,EACnB,MAAM;AAAA,EACN,YAAY;AAAA,IACV,OAAO,EAAE,MAAM,UAAU,aAAa,gCAAgC;AAAA,EACxE;AAAA,EACA,UAAU,CAAC,OAAO;AACpB;AAqBO,IAAM,eAAqB;AAAA,EAChC,MAAM;AAAA,EACN,aAAa;AAAA,EACb,cAAc;AAChB;AASA,eAAsB,QACpB,OACA,QACyB;AACzB,SAAO,gBAAgB,OAAO,MAAM;AACtC;AAsCO,SAAS,mBAAmB,QAA4B;AAC7D,QAAM,OAAa;AAAA,IACjB,MAAM,OAAO,QAAQ;AAAA,IACrB,aAAa,OAAO,eAAe;AAAA,IACnC,cAAc;AAAA,EAChB;AAEA,SAAO,OAAO,OAAO,MAAM;AAAA,IACzB,SAAS,OAAO,UAA4C;AAC1D,aAAO,gBAAgB,OAAqC,MAAM;AAAA,IACpE;AAAA,IACA,cAAc,CAAC,WAAmC;AAChD,aAAO,aAAa,MAAM;AAAA,IAC5B;AAAA,IACA,iBAAiB,MAAc;AAC7B,aAAO,gBAAgB;AAAA,IACzB;AAAA,EACF,CAAC;AACH;","names":[]}
@@ -0,0 +1,10 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __export = (target, all) => {
3
+ for (var name in all)
4
+ __defProp(target, name, { get: all[name], enumerable: true });
5
+ };
6
+
7
+ export {
8
+ __export
9
+ };
10
+ //# sourceMappingURL=chunk-PZ5AY32C.js.map