@morphllm/morphsdk 0.2.138 → 0.2.139

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 (182) hide show
  1. package/dist/{chunk-QU5JVTYQ.js → chunk-3J74OXN6.js} +2 -2
  2. package/dist/chunk-3T5W2D2W.js +288 -0
  3. package/dist/chunk-3T5W2D2W.js.map +1 -0
  4. package/dist/{chunk-MDVFAW4F.js → chunk-4J5UW34J.js} +4 -4
  5. package/dist/{chunk-IMYH4BD2.js → chunk-5CBMLTG5.js} +5 -5
  6. package/dist/{chunk-CXSAPFUD.js → chunk-6W3X76KE.js} +21 -6
  7. package/dist/chunk-6W3X76KE.js.map +1 -0
  8. package/dist/{chunk-HP64WS73.js → chunk-6WSZDCGP.js} +2 -2
  9. package/dist/{chunk-2PU5V3MK.js → chunk-73ZLTWKF.js} +4 -4
  10. package/dist/{chunk-ZK5GJIAX.js → chunk-7RCHQN7F.js} +2 -2
  11. package/dist/{chunk-ZOC7P5RV.js → chunk-ATAQZLQN.js} +2 -2
  12. package/dist/{chunk-GSOXKIQU.js → chunk-B55ZEX4M.js} +2 -2
  13. package/dist/{chunk-QNXGYWS3.js → chunk-DRAQDTSR.js} +2 -2
  14. package/dist/{chunk-G5GPLD2E.js → chunk-EEBGEMOO.js} +2 -2
  15. package/dist/{chunk-H7RABA4R.js → chunk-EHRKLQ62.js} +2 -2
  16. package/dist/chunk-GQX4PKXZ.js +265 -0
  17. package/dist/chunk-GQX4PKXZ.js.map +1 -0
  18. package/dist/{chunk-YOOALIAK.js → chunk-MHNCFELG.js} +4 -4
  19. package/dist/{chunk-DOW7Y3AB.js → chunk-MTD2JOO7.js} +1 -1
  20. package/dist/{chunk-P4FTR3X4.js → chunk-NEVPVOTT.js} +3 -3
  21. package/dist/{chunk-CUPT64F5.js → chunk-NGHLDI64.js} +2 -2
  22. package/dist/{chunk-KWFRPYUW.js → chunk-OICUUS5Y.js} +4 -4
  23. package/dist/{chunk-QNX4PKPV.js → chunk-TCXBKB7P.js} +2 -2
  24. package/dist/{chunk-XIVAX3WB.js → chunk-ULMSWACH.js} +6 -6
  25. package/dist/{chunk-KHHSG2LO.js → chunk-XIEU3N3R.js} +4 -4
  26. package/dist/{chunk-2GSJGZYK.js → chunk-XUDE6SOY.js} +57 -21
  27. package/dist/{chunk-2GSJGZYK.js.map → chunk-XUDE6SOY.js.map} +1 -1
  28. package/dist/{chunk-XLDP5S2P.js → chunk-ZUG2L4BJ.js} +2 -2
  29. package/dist/{chunk-S3CBEA3Y.js → chunk-ZYN64ZVG.js} +4 -4
  30. package/dist/chunk-ZZ25FZG2.js +73 -0
  31. package/dist/chunk-ZZ25FZG2.js.map +1 -0
  32. package/dist/{client-Ca7e11hJ.d.ts → client-BMmG3SZs.d.ts} +39 -0
  33. package/dist/client.cjs +650 -13
  34. package/dist/client.cjs.map +1 -1
  35. package/dist/client.d.ts +2 -1
  36. package/dist/client.js +30 -27
  37. package/dist/edge.cjs +20 -5
  38. package/dist/edge.cjs.map +1 -1
  39. package/dist/edge.js +9 -9
  40. package/dist/index.cjs +653 -16
  41. package/dist/index.cjs.map +1 -1
  42. package/dist/index.d.ts +2 -1
  43. package/dist/index.js +37 -34
  44. package/dist/modelrouter/core.cjs +20 -5
  45. package/dist/modelrouter/core.cjs.map +1 -1
  46. package/dist/modelrouter/core.js +3 -3
  47. package/dist/modelrouter/index.cjs +20 -5
  48. package/dist/modelrouter/index.cjs.map +1 -1
  49. package/dist/modelrouter/index.js +3 -3
  50. package/dist/subagents/anthropic.cjs +2397 -0
  51. package/dist/subagents/anthropic.cjs.map +1 -0
  52. package/dist/subagents/anthropic.d.ts +41 -0
  53. package/dist/subagents/anthropic.js +19 -0
  54. package/dist/subagents/anthropic.js.map +1 -0
  55. package/dist/subagents/index.cjs +101 -0
  56. package/dist/subagents/index.cjs.map +1 -0
  57. package/dist/subagents/index.d.ts +5 -0
  58. package/dist/subagents/index.js +12 -0
  59. package/dist/subagents/index.js.map +1 -0
  60. package/dist/subagents/prompts.cjs +99 -0
  61. package/dist/subagents/prompts.cjs.map +1 -0
  62. package/dist/subagents/prompts.d.ts +42 -0
  63. package/dist/subagents/prompts.js +12 -0
  64. package/dist/subagents/prompts.js.map +1 -0
  65. package/dist/subagents/types.cjs +19 -0
  66. package/dist/subagents/types.cjs.map +1 -0
  67. package/dist/subagents/types.d.ts +93 -0
  68. package/dist/subagents/types.js +1 -0
  69. package/dist/subagents/types.js.map +1 -0
  70. package/dist/subagents/vercel.cjs +2374 -0
  71. package/dist/subagents/vercel.cjs.map +1 -0
  72. package/dist/subagents/vercel.d.ts +32 -0
  73. package/dist/subagents/vercel.js +19 -0
  74. package/dist/subagents/vercel.js.map +1 -0
  75. package/dist/tools/browser/anthropic.cjs +20 -5
  76. package/dist/tools/browser/anthropic.cjs.map +1 -1
  77. package/dist/tools/browser/anthropic.js +6 -6
  78. package/dist/tools/browser/core.cjs +20 -5
  79. package/dist/tools/browser/core.cjs.map +1 -1
  80. package/dist/tools/browser/core.js +5 -5
  81. package/dist/tools/browser/index.cjs +20 -5
  82. package/dist/tools/browser/index.cjs.map +1 -1
  83. package/dist/tools/browser/index.js +15 -15
  84. package/dist/tools/browser/openai.cjs +20 -5
  85. package/dist/tools/browser/openai.cjs.map +1 -1
  86. package/dist/tools/browser/openai.js +6 -6
  87. package/dist/tools/browser/profiles/core.cjs +20 -5
  88. package/dist/tools/browser/profiles/core.cjs.map +1 -1
  89. package/dist/tools/browser/profiles/core.js +3 -3
  90. package/dist/tools/browser/profiles/index.cjs +20 -5
  91. package/dist/tools/browser/profiles/index.cjs.map +1 -1
  92. package/dist/tools/browser/profiles/index.js +3 -3
  93. package/dist/tools/browser/vercel.cjs +20 -5
  94. package/dist/tools/browser/vercel.cjs.map +1 -1
  95. package/dist/tools/browser/vercel.js +6 -6
  96. package/dist/tools/codebase_search/anthropic.cjs +20 -5
  97. package/dist/tools/codebase_search/anthropic.cjs.map +1 -1
  98. package/dist/tools/codebase_search/anthropic.js +4 -4
  99. package/dist/tools/codebase_search/core.cjs +20 -5
  100. package/dist/tools/codebase_search/core.cjs.map +1 -1
  101. package/dist/tools/codebase_search/core.js +3 -3
  102. package/dist/tools/codebase_search/index.cjs +20 -5
  103. package/dist/tools/codebase_search/index.cjs.map +1 -1
  104. package/dist/tools/codebase_search/index.js +10 -10
  105. package/dist/tools/codebase_search/openai.cjs +20 -5
  106. package/dist/tools/codebase_search/openai.cjs.map +1 -1
  107. package/dist/tools/codebase_search/openai.js +4 -4
  108. package/dist/tools/codebase_search/vercel.cjs +20 -5
  109. package/dist/tools/codebase_search/vercel.cjs.map +1 -1
  110. package/dist/tools/codebase_search/vercel.js +4 -4
  111. package/dist/tools/fastapply/anthropic.cjs +20 -5
  112. package/dist/tools/fastapply/anthropic.cjs.map +1 -1
  113. package/dist/tools/fastapply/anthropic.js +4 -4
  114. package/dist/tools/fastapply/apply.cjs +20 -5
  115. package/dist/tools/fastapply/apply.cjs.map +1 -1
  116. package/dist/tools/fastapply/apply.js +2 -2
  117. package/dist/tools/fastapply/core.cjs +20 -5
  118. package/dist/tools/fastapply/core.cjs.map +1 -1
  119. package/dist/tools/fastapply/core.js +3 -3
  120. package/dist/tools/fastapply/index.cjs +20 -5
  121. package/dist/tools/fastapply/index.cjs.map +1 -1
  122. package/dist/tools/fastapply/index.js +8 -8
  123. package/dist/tools/fastapply/openai.cjs +20 -5
  124. package/dist/tools/fastapply/openai.cjs.map +1 -1
  125. package/dist/tools/fastapply/openai.js +4 -4
  126. package/dist/tools/fastapply/vercel.cjs +20 -5
  127. package/dist/tools/fastapply/vercel.cjs.map +1 -1
  128. package/dist/tools/fastapply/vercel.js +4 -4
  129. package/dist/tools/index.cjs +20 -5
  130. package/dist/tools/index.cjs.map +1 -1
  131. package/dist/tools/index.js +8 -8
  132. package/dist/tools/utils/resilience.cjs +20 -5
  133. package/dist/tools/utils/resilience.cjs.map +1 -1
  134. package/dist/tools/utils/resilience.js +2 -2
  135. package/dist/tools/warp_grep/agent/runner.cjs +20 -5
  136. package/dist/tools/warp_grep/agent/runner.cjs.map +1 -1
  137. package/dist/tools/warp_grep/agent/runner.js +3 -3
  138. package/dist/tools/warp_grep/anthropic.cjs +20 -5
  139. package/dist/tools/warp_grep/anthropic.cjs.map +1 -1
  140. package/dist/tools/warp_grep/anthropic.js +6 -6
  141. package/dist/tools/warp_grep/client.cjs +20 -5
  142. package/dist/tools/warp_grep/client.cjs.map +1 -1
  143. package/dist/tools/warp_grep/client.js +5 -5
  144. package/dist/tools/warp_grep/gemini.cjs +20 -5
  145. package/dist/tools/warp_grep/gemini.cjs.map +1 -1
  146. package/dist/tools/warp_grep/gemini.js +5 -5
  147. package/dist/tools/warp_grep/harness.js +4 -4
  148. package/dist/tools/warp_grep/index.cjs +20 -5
  149. package/dist/tools/warp_grep/index.cjs.map +1 -1
  150. package/dist/tools/warp_grep/index.js +7 -7
  151. package/dist/tools/warp_grep/openai.cjs +20 -5
  152. package/dist/tools/warp_grep/openai.cjs.map +1 -1
  153. package/dist/tools/warp_grep/openai.js +6 -6
  154. package/dist/tools/warp_grep/vercel.cjs +20 -5
  155. package/dist/tools/warp_grep/vercel.cjs.map +1 -1
  156. package/dist/tools/warp_grep/vercel.js +6 -6
  157. package/dist/version.cjs +20 -5
  158. package/dist/version.cjs.map +1 -1
  159. package/dist/version.js +1 -1
  160. package/package.json +20 -5
  161. package/dist/chunk-CXSAPFUD.js.map +0 -1
  162. /package/dist/{chunk-QU5JVTYQ.js.map → chunk-3J74OXN6.js.map} +0 -0
  163. /package/dist/{chunk-MDVFAW4F.js.map → chunk-4J5UW34J.js.map} +0 -0
  164. /package/dist/{chunk-IMYH4BD2.js.map → chunk-5CBMLTG5.js.map} +0 -0
  165. /package/dist/{chunk-HP64WS73.js.map → chunk-6WSZDCGP.js.map} +0 -0
  166. /package/dist/{chunk-2PU5V3MK.js.map → chunk-73ZLTWKF.js.map} +0 -0
  167. /package/dist/{chunk-ZK5GJIAX.js.map → chunk-7RCHQN7F.js.map} +0 -0
  168. /package/dist/{chunk-ZOC7P5RV.js.map → chunk-ATAQZLQN.js.map} +0 -0
  169. /package/dist/{chunk-GSOXKIQU.js.map → chunk-B55ZEX4M.js.map} +0 -0
  170. /package/dist/{chunk-QNXGYWS3.js.map → chunk-DRAQDTSR.js.map} +0 -0
  171. /package/dist/{chunk-G5GPLD2E.js.map → chunk-EEBGEMOO.js.map} +0 -0
  172. /package/dist/{chunk-H7RABA4R.js.map → chunk-EHRKLQ62.js.map} +0 -0
  173. /package/dist/{chunk-YOOALIAK.js.map → chunk-MHNCFELG.js.map} +0 -0
  174. /package/dist/{chunk-DOW7Y3AB.js.map → chunk-MTD2JOO7.js.map} +0 -0
  175. /package/dist/{chunk-P4FTR3X4.js.map → chunk-NEVPVOTT.js.map} +0 -0
  176. /package/dist/{chunk-CUPT64F5.js.map → chunk-NGHLDI64.js.map} +0 -0
  177. /package/dist/{chunk-KWFRPYUW.js.map → chunk-OICUUS5Y.js.map} +0 -0
  178. /package/dist/{chunk-QNX4PKPV.js.map → chunk-TCXBKB7P.js.map} +0 -0
  179. /package/dist/{chunk-XIVAX3WB.js.map → chunk-ULMSWACH.js.map} +0 -0
  180. /package/dist/{chunk-KHHSG2LO.js.map → chunk-XIEU3N3R.js.map} +0 -0
  181. /package/dist/{chunk-XLDP5S2P.js.map → chunk-ZUG2L4BJ.js.map} +0 -0
  182. /package/dist/{chunk-S3CBEA3Y.js.map → chunk-ZYN64ZVG.js.map} +0 -0
@@ -14,7 +14,7 @@ import {
14
14
  executeToolCall,
15
15
  formatGitHubReadFileResult,
16
16
  formatResult
17
- } from "./chunk-IMYH4BD2.js";
17
+ } from "./chunk-5CBMLTG5.js";
18
18
 
19
19
  // tools/warp_grep/anthropic.ts
20
20
  var INPUT_SCHEMA = {
@@ -90,4 +90,4 @@ export {
90
90
  createGitHubSearchTool,
91
91
  createGitHubReadFileTool
92
92
  };
93
- //# sourceMappingURL=chunk-QU5JVTYQ.js.map
93
+ //# sourceMappingURL=chunk-3J74OXN6.js.map
@@ -0,0 +1,288 @@
1
+ import {
2
+ WarpGrepClient,
3
+ formatResult
4
+ } from "./chunk-5CBMLTG5.js";
5
+ import {
6
+ CODEBASE_SEARCH_TOOL,
7
+ SEND_MESSAGE_TOOL,
8
+ getSystemPrompt
9
+ } from "./chunk-ZZ25FZG2.js";
10
+
11
+ // subagents/anthropic.ts
12
+ var DEFAULT_MAX_TURNS = {
13
+ quick: 3,
14
+ medium: 6,
15
+ thorough: 12
16
+ };
17
+ function getMaxTurns(config) {
18
+ return config.maxTurns ?? DEFAULT_MAX_TURNS[config.thoroughness ?? "medium"] ?? 6;
19
+ }
20
+ var TOOLS = [
21
+ {
22
+ name: CODEBASE_SEARCH_TOOL.name,
23
+ description: CODEBASE_SEARCH_TOOL.description,
24
+ input_schema: CODEBASE_SEARCH_TOOL.input_schema
25
+ },
26
+ {
27
+ name: SEND_MESSAGE_TOOL.name,
28
+ description: SEND_MESSAGE_TOOL.description,
29
+ input_schema: SEND_MESSAGE_TOOL.input_schema
30
+ }
31
+ ];
32
+ function createExploreSubagent(config) {
33
+ if (!config.repoRoot) {
34
+ throw new Error("repoRoot is required for Explore subagent");
35
+ }
36
+ const warpGrep = new WarpGrepClient({
37
+ morphApiKey: config.morphApiKey
38
+ });
39
+ const thoroughness = config.thoroughness ?? "medium";
40
+ const maxTurns = getMaxTurns(config);
41
+ const replyTimeout = config.replyTimeout ?? 3e4;
42
+ async function runExplore(prompt, callbacks = {}) {
43
+ const startTime = Date.now();
44
+ const allContexts = [];
45
+ let searchCount = 0;
46
+ const timeoutMs = config.timeout;
47
+ try {
48
+ const messages = [{ role: "user", content: prompt }];
49
+ let turns = 0;
50
+ while (turns < maxTurns) {
51
+ if (timeoutMs && Date.now() - startTime > timeoutMs) {
52
+ return {
53
+ success: false,
54
+ summary: "",
55
+ contexts: deduplicateContexts(allContexts),
56
+ searchCount,
57
+ durationMs: Date.now() - startTime,
58
+ error: `Exploration timed out after ${timeoutMs}ms`
59
+ };
60
+ }
61
+ const response = await config.client.messages.create({
62
+ model: config.model,
63
+ max_tokens: 4096,
64
+ system: getSystemPrompt(thoroughness),
65
+ tools: TOOLS,
66
+ messages
67
+ });
68
+ turns++;
69
+ if (response.stop_reason === "end_turn" || !response.content.some((b) => b.type === "tool_use")) {
70
+ const textBlock = response.content.find((b) => b.type === "text");
71
+ const summary = textBlock?.text || "Exploration completed but no summary was generated.";
72
+ callbacks.onStep?.({
73
+ step: searchCount,
74
+ searchRequest: "",
75
+ contextsFound: allContexts.length,
76
+ isFinal: true
77
+ });
78
+ return {
79
+ success: true,
80
+ summary,
81
+ contexts: deduplicateContexts(allContexts),
82
+ searchCount,
83
+ durationMs: Date.now() - startTime
84
+ };
85
+ }
86
+ messages.push({ role: "assistant", content: response.content });
87
+ const toolResults = [];
88
+ for (const block of response.content) {
89
+ if (block.type !== "tool_use") continue;
90
+ if (block.name === "codebase_search") {
91
+ searchCount++;
92
+ const input = block.input;
93
+ const warpResult = await warpGrep.execute({
94
+ searchTerm: input.searchRequest,
95
+ repoRoot: config.repoRoot,
96
+ excludes: config.excludes,
97
+ includes: config.includes
98
+ });
99
+ if (warpResult.contexts) {
100
+ allContexts.push(...warpResult.contexts);
101
+ }
102
+ callbacks.onStep?.({
103
+ step: searchCount,
104
+ searchRequest: input.searchRequest,
105
+ contextsFound: warpResult.contexts?.length ?? 0,
106
+ isFinal: false
107
+ });
108
+ toolResults.push({
109
+ type: "tool_result",
110
+ tool_use_id: block.id,
111
+ content: formatResult(warpResult)
112
+ });
113
+ } else if (block.name === "send_message") {
114
+ const input = block.input;
115
+ const subagentMsg = {
116
+ from: "explore",
117
+ content: input.message,
118
+ timestamp: Date.now()
119
+ };
120
+ let replyText = "";
121
+ if (callbacks.onMessage) {
122
+ replyText = await Promise.race([
123
+ new Promise((resolve) => {
124
+ callbacks.onMessage(subagentMsg, (text) => {
125
+ resolve(text);
126
+ });
127
+ }),
128
+ new Promise(
129
+ (resolve) => setTimeout(() => resolve(""), replyTimeout)
130
+ )
131
+ ]);
132
+ }
133
+ const toolResponse = replyText ? `Response from orchestrator: ${replyText}` : "No response. Continue with your best judgment.";
134
+ toolResults.push({
135
+ type: "tool_result",
136
+ tool_use_id: block.id,
137
+ content: toolResponse
138
+ });
139
+ }
140
+ }
141
+ messages.push({ role: "user", content: toolResults });
142
+ }
143
+ return {
144
+ success: true,
145
+ summary: "Exploration completed (max turns reached).",
146
+ contexts: deduplicateContexts(allContexts),
147
+ searchCount,
148
+ durationMs: Date.now() - startTime
149
+ };
150
+ } catch (error) {
151
+ return {
152
+ success: false,
153
+ summary: "",
154
+ contexts: deduplicateContexts(allContexts),
155
+ searchCount,
156
+ durationMs: Date.now() - startTime,
157
+ error: error instanceof Error ? error.message : String(error)
158
+ };
159
+ }
160
+ }
161
+ const exploreTool = Object.assign(
162
+ {
163
+ name: "explore",
164
+ description: "Explore a codebase to answer questions about code structure, find implementations, trace call chains, and understand architecture. Returns a summary of findings.",
165
+ input_schema: {
166
+ type: "object",
167
+ properties: {
168
+ searchRequest: {
169
+ type: "string",
170
+ description: "What to explore in the codebase. Be specific about what you want to understand."
171
+ }
172
+ },
173
+ required: ["searchRequest"]
174
+ }
175
+ },
176
+ {
177
+ execute: async (input) => {
178
+ return runExplore(input.searchRequest);
179
+ },
180
+ formatResult: (result) => {
181
+ if (!result.success) {
182
+ return `Exploration failed: ${result.error}`;
183
+ }
184
+ return result.summary;
185
+ }
186
+ }
187
+ );
188
+ return {
189
+ /** Anthropic Tool definition for use in parent agents */
190
+ tool: exploreTool,
191
+ /** Run exploration with messaging support */
192
+ run(prompt) {
193
+ const messageHandlers = [];
194
+ const stepHandlers = [];
195
+ let resultPromise = null;
196
+ const session = {
197
+ on(event, handler) {
198
+ if (event === "message") messageHandlers.push(handler);
199
+ if (event === "step") stepHandlers.push(handler);
200
+ return session;
201
+ },
202
+ send(_text) {
203
+ },
204
+ get result() {
205
+ if (!resultPromise) {
206
+ resultPromise = runExplore(prompt, {
207
+ onStep: (step) => {
208
+ for (const handler of stepHandlers) handler(step);
209
+ },
210
+ onMessage: (msg, reply) => {
211
+ if (messageHandlers.length > 0) {
212
+ for (const handler of messageHandlers) handler(msg, reply);
213
+ } else {
214
+ reply("");
215
+ }
216
+ }
217
+ });
218
+ }
219
+ return resultPromise;
220
+ }
221
+ };
222
+ return session;
223
+ },
224
+ /** Stream exploration events as an async generator */
225
+ async *stream(prompt) {
226
+ const events = [];
227
+ let resolveNext = null;
228
+ let done = false;
229
+ const resultPromise = runExplore(prompt, {
230
+ onStep: (step) => {
231
+ events.push({
232
+ type: "step",
233
+ step: step.step,
234
+ searchRequest: step.searchRequest,
235
+ contextsFound: step.contextsFound,
236
+ isFinal: step.isFinal
237
+ });
238
+ resolveNext?.();
239
+ },
240
+ onMessage: (msg, reply) => {
241
+ events.push({
242
+ type: "message",
243
+ from: msg.from,
244
+ content: msg.content,
245
+ timestamp: msg.timestamp
246
+ });
247
+ resolveNext?.();
248
+ reply("Continue with your best judgment.");
249
+ }
250
+ });
251
+ while (!done) {
252
+ if (events.length > 0) {
253
+ yield events.shift();
254
+ } else {
255
+ const raceResult = await Promise.race([
256
+ resultPromise.then((r) => ({ type: "done", result: r })),
257
+ new Promise((resolve) => {
258
+ resolveNext = () => resolve({ type: "event" });
259
+ })
260
+ ]);
261
+ if (raceResult.type === "done") {
262
+ while (events.length > 0) {
263
+ yield events.shift();
264
+ }
265
+ done = true;
266
+ return raceResult.result;
267
+ }
268
+ }
269
+ }
270
+ return await resultPromise;
271
+ }
272
+ };
273
+ }
274
+ function deduplicateContexts(contexts) {
275
+ const map = /* @__PURE__ */ new Map();
276
+ for (const ctx of contexts) {
277
+ const existing = map.get(ctx.file);
278
+ if (!existing || ctx.content.length > existing.content.length) {
279
+ map.set(ctx.file, ctx);
280
+ }
281
+ }
282
+ return Array.from(map.values());
283
+ }
284
+
285
+ export {
286
+ createExploreSubagent
287
+ };
288
+ //# sourceMappingURL=chunk-3T5W2D2W.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../subagents/anthropic.ts"],"sourcesContent":["/**\n * Anthropic SDK adapter for Explore subagent\n */\n\nimport type { Tool } from '@anthropic-ai/sdk/resources/messages';\nimport { WarpGrepClient } from '../tools/warp_grep/client.js';\nimport { formatResult } from '../tools/warp_grep/client.js';\nimport type { WarpGrepContext } from '../tools/warp_grep/types.js';\nimport { getSystemPrompt, CODEBASE_SEARCH_TOOL, SEND_MESSAGE_TOOL } from './prompts.js';\nimport type {\n ExploreSubagentConfig,\n ExploreResult,\n ExploreStep,\n ExploreSession,\n ExploreEvent,\n SubagentMessage,\n MessageHandler,\n StepHandler,\n} from './types.js';\n\n/** Config for Anthropic SDK Explore subagent */\nexport interface AnthropicExploreConfig extends ExploreSubagentConfig {\n /** Anthropic SDK client instance */\n client: AnthropicClient;\n /** Model name (e.g., 'claude-haiku-4-5-20251001') */\n model: string;\n}\n\n/** Minimal Anthropic client interface — avoids hard dependency on @anthropic-ai/sdk */\ninterface AnthropicClient {\n messages: {\n create(params: any): Promise<any>;\n };\n}\n\nconst DEFAULT_MAX_TURNS: Record<string, number> = {\n quick: 3,\n medium: 6,\n thorough: 12,\n};\n\nfunction getMaxTurns(config: ExploreSubagentConfig): number {\n return config.maxTurns ?? DEFAULT_MAX_TURNS[config.thoroughness ?? 'medium'] ?? 6;\n}\n\n/** Anthropic tool definitions */\nconst TOOLS: Tool[] = [\n {\n name: CODEBASE_SEARCH_TOOL.name,\n description: CODEBASE_SEARCH_TOOL.description,\n input_schema: CODEBASE_SEARCH_TOOL.input_schema,\n },\n {\n name: SEND_MESSAGE_TOOL.name,\n description: SEND_MESSAGE_TOOL.description,\n input_schema: SEND_MESSAGE_TOOL.input_schema,\n },\n];\n\n/**\n * Create an Explore subagent using the Anthropic SDK\n */\nexport function createExploreSubagent(config: AnthropicExploreConfig) {\n if (!config.repoRoot) {\n throw new Error('repoRoot is required for Explore subagent');\n }\n\n const warpGrep = new WarpGrepClient({\n morphApiKey: config.morphApiKey,\n });\n\n const thoroughness = config.thoroughness ?? 'medium';\n const maxTurns = getMaxTurns(config);\n const replyTimeout = config.replyTimeout ?? 30_000;\n\n /** Run the agent loop and collect results */\n async function runExplore(\n prompt: string,\n callbacks: {\n onStep?: StepHandler;\n onMessage?: MessageHandler;\n } = {},\n ): Promise<ExploreResult> {\n const startTime = Date.now();\n const allContexts: WarpGrepContext[] = [];\n let searchCount = 0;\n\n const timeoutMs = config.timeout;\n\n try {\n const messages: any[] = [{ role: 'user', content: prompt }];\n let turns = 0;\n\n while (turns < maxTurns) {\n // Check timeout\n if (timeoutMs && Date.now() - startTime > timeoutMs) {\n return {\n success: false,\n summary: '',\n contexts: deduplicateContexts(allContexts),\n searchCount,\n durationMs: Date.now() - startTime,\n error: `Exploration timed out after ${timeoutMs}ms`,\n };\n }\n\n const response = await config.client.messages.create({\n model: config.model,\n max_tokens: 4096,\n system: getSystemPrompt(thoroughness),\n tools: TOOLS,\n messages,\n });\n\n turns++;\n\n // Check if the model is done (no tool use)\n if (response.stop_reason === 'end_turn' || !response.content.some((b: any) => b.type === 'tool_use')) {\n const textBlock = response.content.find((b: any) => b.type === 'text');\n const summary = textBlock?.text || 'Exploration completed but no summary was generated.';\n\n callbacks.onStep?.({\n step: searchCount,\n searchRequest: '',\n contextsFound: allContexts.length,\n isFinal: true,\n });\n\n return {\n success: true,\n summary,\n contexts: deduplicateContexts(allContexts),\n searchCount,\n durationMs: Date.now() - startTime,\n };\n }\n\n // Process tool calls\n messages.push({ role: 'assistant', content: response.content });\n\n const toolResults: any[] = [];\n\n for (const block of response.content) {\n if (block.type !== 'tool_use') continue;\n\n if (block.name === 'codebase_search') {\n searchCount++;\n const input = block.input as { searchRequest: string };\n\n const warpResult = await warpGrep.execute({\n searchTerm: input.searchRequest,\n repoRoot: config.repoRoot,\n excludes: config.excludes,\n includes: config.includes,\n });\n\n if (warpResult.contexts) {\n allContexts.push(...warpResult.contexts);\n }\n\n callbacks.onStep?.({\n step: searchCount,\n searchRequest: input.searchRequest,\n contextsFound: warpResult.contexts?.length ?? 0,\n isFinal: false,\n });\n\n toolResults.push({\n type: 'tool_result',\n tool_use_id: block.id,\n content: formatResult(warpResult),\n });\n } else if (block.name === 'send_message') {\n const input = block.input as { message: string };\n\n const subagentMsg: SubagentMessage = {\n from: 'explore',\n content: input.message,\n timestamp: Date.now(),\n };\n\n let replyText = '';\n\n if (callbacks.onMessage) {\n // Wait for reply with timeout\n replyText = await Promise.race([\n new Promise<string>((resolve) => {\n callbacks.onMessage!(subagentMsg, (text: string) => {\n resolve(text);\n });\n }),\n new Promise<string>((resolve) =>\n setTimeout(() => resolve(''), replyTimeout),\n ),\n ]);\n }\n\n const toolResponse = replyText\n ? `Response from orchestrator: ${replyText}`\n : 'No response. Continue with your best judgment.';\n\n toolResults.push({\n type: 'tool_result',\n tool_use_id: block.id,\n content: toolResponse,\n });\n }\n }\n\n messages.push({ role: 'user', content: toolResults });\n }\n\n // Ran out of turns — extract what we have\n return {\n success: true,\n summary: 'Exploration completed (max turns reached).',\n contexts: deduplicateContexts(allContexts),\n searchCount,\n durationMs: Date.now() - startTime,\n };\n } catch (error) {\n return {\n success: false,\n summary: '',\n contexts: deduplicateContexts(allContexts),\n searchCount,\n durationMs: Date.now() - startTime,\n error: error instanceof Error ? error.message : String(error),\n };\n }\n }\n\n /** Anthropic Tool definition for use in parent agents */\n const exploreTool: Tool & {\n execute: (input: { searchRequest: string }) => Promise<ExploreResult>;\n formatResult: (result: ExploreResult) => string;\n } = Object.assign(\n {\n name: 'explore',\n description:\n 'Explore a codebase to answer questions about code structure, find implementations, trace call chains, and understand architecture. Returns a summary of findings.',\n input_schema: {\n type: 'object' as const,\n properties: {\n searchRequest: {\n type: 'string' as const,\n description: 'What to explore in the codebase. Be specific about what you want to understand.',\n },\n },\n required: ['searchRequest'] as const,\n },\n },\n {\n execute: async (input: { searchRequest: string }): Promise<ExploreResult> => {\n return runExplore(input.searchRequest);\n },\n formatResult: (result: ExploreResult): string => {\n if (!result.success) {\n return `Exploration failed: ${result.error}`;\n }\n return result.summary;\n },\n },\n );\n\n return {\n /** Anthropic Tool definition for use in parent agents */\n tool: exploreTool,\n\n /** Run exploration with messaging support */\n run(prompt: string): ExploreSession {\n const messageHandlers: MessageHandler[] = [];\n const stepHandlers: StepHandler[] = [];\n\n let resultPromise: Promise<ExploreResult> | null = null;\n\n const session: ExploreSession = {\n on(event: string, handler: any) {\n if (event === 'message') messageHandlers.push(handler);\n if (event === 'step') stepHandlers.push(handler);\n return session;\n },\n send(_text: string) {\n // Convenience method — pause-and-ask flow uses the reply callback\n },\n get result() {\n if (!resultPromise) {\n resultPromise = runExplore(prompt, {\n onStep: (step) => {\n for (const handler of stepHandlers) handler(step);\n },\n onMessage: (msg, reply) => {\n if (messageHandlers.length > 0) {\n for (const handler of messageHandlers) handler(msg, reply);\n } else {\n reply('');\n }\n },\n });\n }\n return resultPromise;\n },\n };\n\n return session;\n },\n\n /** Stream exploration events as an async generator */\n async *stream(prompt: string): AsyncGenerator<ExploreEvent, ExploreResult, undefined> {\n const events: ExploreEvent[] = [];\n let resolveNext: (() => void) | null = null;\n let done = false;\n\n const resultPromise = runExplore(prompt, {\n onStep: (step) => {\n events.push({\n type: 'step',\n step: step.step,\n searchRequest: step.searchRequest,\n contextsFound: step.contextsFound,\n isFinal: step.isFinal,\n });\n resolveNext?.();\n },\n onMessage: (msg, reply) => {\n events.push({\n type: 'message',\n from: msg.from,\n content: msg.content,\n timestamp: msg.timestamp,\n });\n resolveNext?.();\n reply('Continue with your best judgment.');\n },\n });\n\n while (!done) {\n if (events.length > 0) {\n yield events.shift()!;\n } else {\n const raceResult = await Promise.race([\n resultPromise.then((r) => ({ type: 'done' as const, result: r })),\n new Promise<{ type: 'event' }>((resolve) => {\n resolveNext = () => resolve({ type: 'event' });\n }),\n ]);\n\n if (raceResult.type === 'done') {\n while (events.length > 0) {\n yield events.shift()!;\n }\n done = true;\n return raceResult.result;\n }\n }\n }\n\n return await resultPromise;\n },\n };\n}\n\n/** Deduplicate contexts, keeping the latest version of each file */\nfunction deduplicateContexts(contexts: WarpGrepContext[]): WarpGrepContext[] {\n const map = new Map<string, WarpGrepContext>();\n for (const ctx of contexts) {\n const existing = map.get(ctx.file);\n if (!existing || ctx.content.length > existing.content.length) {\n map.set(ctx.file, ctx);\n }\n }\n return Array.from(map.values());\n}\n"],"mappings":"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","names":[]}
@@ -1,10 +1,10 @@
1
+ import {
2
+ executeCodebaseSearch
3
+ } from "./chunk-EEBGEMOO.js";
1
4
  import {
2
5
  CODEBASE_SEARCH_DESCRIPTION,
3
6
  CODEBASE_SEARCH_SYSTEM_PROMPT
4
7
  } from "./chunk-YQMPVJ2L.js";
5
- import {
6
- executeCodebaseSearch
7
- } from "./chunk-G5GPLD2E.js";
8
8
 
9
9
  // tools/codebase_search/openai.ts
10
10
  var codebaseSearchTool = {
@@ -125,4 +125,4 @@ export {
125
125
  getSystemPrompt,
126
126
  openai_default
127
127
  };
128
- //# sourceMappingURL=chunk-MDVFAW4F.js.map
128
+ //# sourceMappingURL=chunk-4J5UW34J.js.map
@@ -1,16 +1,16 @@
1
- import {
2
- RemoteCommandsProvider
3
- } from "./chunk-NF2QWJDY.js";
4
1
  import {
5
2
  parseGitHubUrl
6
3
  } from "./chunk-63VHBANJ.js";
7
4
  import {
8
5
  runWarpGrep,
9
6
  runWarpGrepStreaming
10
- } from "./chunk-XIVAX3WB.js";
7
+ } from "./chunk-ULMSWACH.js";
11
8
  import {
12
9
  createCodeStorageHttpCommands
13
10
  } from "./chunk-GVGJIXV2.js";
11
+ import {
12
+ RemoteCommandsProvider
13
+ } from "./chunk-NF2QWJDY.js";
14
14
 
15
15
  // tools/warp_grep/client.ts
16
16
  var DEFAULT_CODE_SEARCH_URL = "https://morphllm.com";
@@ -284,4 +284,4 @@ export {
284
284
  formatGitHubReadFileResult,
285
285
  formatResult
286
286
  };
287
- //# sourceMappingURL=chunk-IMYH4BD2.js.map
287
+ //# sourceMappingURL=chunk-5CBMLTG5.js.map
@@ -1,7 +1,7 @@
1
1
  // package.json
2
2
  var package_default = {
3
3
  name: "@morphllm/morphsdk",
4
- version: "0.2.138",
4
+ version: "0.2.139",
5
5
  description: "TypeScript SDK and CLI for Morph Fast Apply integration",
6
6
  type: "module",
7
7
  main: "./dist/index.cjs",
@@ -132,6 +132,21 @@ var package_default = {
132
132
  types: "./dist/tools/compact/index.d.ts",
133
133
  import: "./dist/tools/compact/index.js",
134
134
  require: "./dist/tools/compact/index.cjs"
135
+ },
136
+ "./subagents": {
137
+ types: "./dist/subagents/index.d.ts",
138
+ import: "./dist/subagents/index.js",
139
+ require: "./dist/subagents/index.cjs"
140
+ },
141
+ "./subagents/vercel": {
142
+ types: "./dist/subagents/vercel.d.ts",
143
+ import: "./dist/subagents/vercel.js",
144
+ require: "./dist/subagents/vercel.cjs"
145
+ },
146
+ "./subagents/anthropic": {
147
+ types: "./dist/subagents/anthropic.d.ts",
148
+ import: "./dist/subagents/anthropic.js",
149
+ require: "./dist/subagents/anthropic.cjs"
135
150
  }
136
151
  },
137
152
  files: [
@@ -143,7 +158,7 @@ var package_default = {
143
158
  "!dist/**/*.test.*"
144
159
  ],
145
160
  scripts: {
146
- 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/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",
161
+ 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/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 subagents/index.ts subagents/types.ts subagents/prompts.ts subagents/vercel.ts subagents/anthropic.ts --format esm,cjs --sourcemap --clean --dts --dts-resolve",
147
162
  prepare: "npm run build",
148
163
  typecheck: "tsc --noEmit",
149
164
  lint: "eslint .",
@@ -173,14 +188,14 @@ var package_default = {
173
188
  license: "MIT",
174
189
  dependencies: {
175
190
  "@vscode/ripgrep": "^1.17.0",
176
- ai: "^5.0.0",
191
+ ai: ">=5.0.0",
177
192
  diff: "^7.0.0",
178
193
  "isomorphic-git": "^1.25.10",
179
194
  openai: "^4.52.7",
180
- zod: "^3.23.8"
195
+ zod: ">=3.23.0"
181
196
  },
182
197
  devDependencies: {
183
- "@ai-sdk/anthropic": "^1.0.9",
198
+ "@ai-sdk/anthropic": "^2.0.70",
184
199
  "@ai-sdk/openai": "^2.0.35",
185
200
  "@anthropic-ai/sdk": "^0.30.1",
186
201
  "@google/generative-ai": "^0.24.1",
@@ -227,4 +242,4 @@ var SDK_VERSION = package_default.version;
227
242
  export {
228
243
  SDK_VERSION
229
244
  };
230
- //# sourceMappingURL=chunk-CXSAPFUD.js.map
245
+ //# sourceMappingURL=chunk-6W3X76KE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../package.json","../version.ts"],"sourcesContent":["{\n \"name\": \"@morphllm/morphsdk\",\n \"version\": \"0.2.139\",\n \"description\": \"TypeScript SDK and CLI for Morph Fast Apply integration\",\n \"type\": \"module\",\n \"main\": \"./dist/index.cjs\",\n \"module\": \"./dist/index.js\",\n \"types\": \"./dist/index.d.ts\",\n \"exports\": {\n \".\": {\n \"types\": \"./dist/index.d.ts\",\n \"import\": \"./dist/index.js\",\n \"require\": \"./dist/index.cjs\"\n },\n \"./edge\": {\n \"types\": \"./dist/edge.d.ts\",\n \"import\": \"./dist/edge.js\",\n \"require\": \"./dist/edge.cjs\"\n },\n \"./tools/warp-grep\": {\n \"types\": \"./dist/tools/warp_grep/index.d.ts\",\n \"import\": \"./dist/tools/warp_grep/index.js\",\n \"require\": \"./dist/tools/warp_grep/index.cjs\"\n },\n \"./tools/warp-grep/openai\": {\n \"types\": \"./dist/tools/warp_grep/openai.d.ts\",\n \"import\": \"./dist/tools/warp_grep/openai.js\",\n \"require\": \"./dist/tools/warp_grep/openai.cjs\"\n },\n \"./tools/warp-grep/anthropic\": {\n \"types\": \"./dist/tools/warp_grep/anthropic.d.ts\",\n \"import\": \"./dist/tools/warp_grep/anthropic.js\",\n \"require\": \"./dist/tools/warp_grep/anthropic.cjs\"\n },\n \"./tools/warp-grep/vercel\": {\n \"types\": \"./dist/tools/warp_grep/vercel.d.ts\",\n \"import\": \"./dist/tools/warp_grep/vercel.js\",\n \"require\": \"./dist/tools/warp_grep/vercel.cjs\"\n },\n \"./tools/warp-grep/client\": {\n \"types\": \"./dist/tools/warp_grep/client.d.ts\",\n \"import\": \"./dist/tools/warp_grep/client.js\",\n \"require\": \"./dist/tools/warp_grep/client.cjs\"\n },\n \"./tools/warp-grep/gemini\": {\n \"types\": \"./dist/tools/warp_grep/gemini.d.ts\",\n \"import\": \"./dist/tools/warp_grep/gemini.js\",\n \"require\": \"./dist/tools/warp_grep/gemini.cjs\"\n },\n \"./tools/warp-grep/harness\": {\n \"types\": \"./dist/tools/warp_grep/harness.d.ts\",\n \"import\": \"./dist/tools/warp_grep/harness.js\",\n \"require\": \"./dist/tools/warp_grep/harness.cjs\"\n },\n \"./tools/fastapply\": {\n \"types\": \"./dist/tools/fastapply/index.d.ts\",\n \"import\": \"./dist/tools/fastapply/index.js\",\n \"require\": \"./dist/tools/fastapply/index.cjs\"\n },\n \"./tools/fastapply/anthropic\": {\n \"types\": \"./dist/tools/fastapply/anthropic.d.ts\",\n \"import\": \"./dist/tools/fastapply/anthropic.js\",\n \"require\": \"./dist/tools/fastapply/anthropic.cjs\"\n },\n \"./tools/fastapply/openai\": {\n \"types\": \"./dist/tools/fastapply/openai.d.ts\",\n \"import\": \"./dist/tools/fastapply/openai.js\",\n \"require\": \"./dist/tools/fastapply/openai.cjs\"\n },\n \"./tools/fastapply/vercel\": {\n \"types\": \"./dist/tools/fastapply/vercel.d.ts\",\n \"import\": \"./dist/tools/fastapply/vercel.js\",\n \"require\": \"./dist/tools/fastapply/vercel.cjs\"\n },\n \"./tools/codebase-search\": {\n \"types\": \"./dist/tools/codebase_search/index.d.ts\",\n \"import\": \"./dist/tools/codebase_search/index.js\",\n \"require\": \"./dist/tools/codebase_search/index.cjs\"\n },\n \"./tools/codebase-search/anthropic\": {\n \"types\": \"./dist/tools/codebase_search/anthropic.d.ts\",\n \"import\": \"./dist/tools/codebase_search/anthropic.js\",\n \"require\": \"./dist/tools/codebase_search/anthropic.cjs\"\n },\n \"./tools/codebase-search/openai\": {\n \"types\": \"./dist/tools/codebase_search/openai.d.ts\",\n \"import\": \"./dist/tools/codebase_search/openai.js\",\n \"require\": \"./dist/tools/codebase_search/openai.cjs\"\n },\n \"./tools/codebase-search/vercel\": {\n \"types\": \"./dist/tools/codebase_search/vercel.d.ts\",\n \"import\": \"./dist/tools/codebase_search/vercel.js\",\n \"require\": \"./dist/tools/codebase_search/vercel.cjs\"\n },\n \"./tools/git\": {\n \"types\": \"./dist/git/index.d.ts\",\n \"import\": \"./dist/git/index.js\",\n \"require\": \"./dist/git/index.cjs\"\n },\n \"./tools/browser\": {\n \"types\": \"./dist/tools/browser/index.d.ts\",\n \"import\": \"./dist/tools/browser/index.js\",\n \"require\": \"./dist/tools/browser/index.cjs\"\n },\n \"./tools/browser/anthropic\": {\n \"types\": \"./dist/tools/browser/anthropic.d.ts\",\n \"import\": \"./dist/tools/browser/anthropic.js\",\n \"require\": \"./dist/tools/browser/anthropic.cjs\"\n },\n \"./tools/browser/openai\": {\n \"types\": \"./dist/tools/browser/openai.d.ts\",\n \"import\": \"./dist/tools/browser/openai.js\",\n \"require\": \"./dist/tools/browser/openai.cjs\"\n },\n \"./tools/browser/vercel\": {\n \"types\": \"./dist/tools/browser/vercel.d.ts\",\n \"import\": \"./dist/tools/browser/vercel.js\",\n \"require\": \"./dist/tools/browser/vercel.cjs\"\n },\n \"./tools/browser/profiles\": {\n \"types\": \"./dist/tools/browser/profiles/index.d.ts\",\n \"import\": \"./dist/tools/browser/profiles/index.js\",\n \"require\": \"./dist/tools/browser/profiles/index.cjs\"\n },\n \"./modelrouter\": {\n \"types\": \"./dist/modelrouter/index.d.ts\",\n \"import\": \"./dist/modelrouter/index.js\",\n \"require\": \"./dist/modelrouter/index.cjs\"\n },\n \"./tools/compact\": {\n \"types\": \"./dist/tools/compact/index.d.ts\",\n \"import\": \"./dist/tools/compact/index.js\",\n \"require\": \"./dist/tools/compact/index.cjs\"\n },\n \"./subagents\": {\n \"types\": \"./dist/subagents/index.d.ts\",\n \"import\": \"./dist/subagents/index.js\",\n \"require\": \"./dist/subagents/index.cjs\"\n },\n \"./subagents/vercel\": {\n \"types\": \"./dist/subagents/vercel.d.ts\",\n \"import\": \"./dist/subagents/vercel.js\",\n \"require\": \"./dist/subagents/vercel.cjs\"\n },\n \"./subagents/anthropic\": {\n \"types\": \"./dist/subagents/anthropic.d.ts\",\n \"import\": \"./dist/subagents/anthropic.js\",\n \"require\": \"./dist/subagents/anthropic.cjs\"\n }\n },\n \"files\": [\n \"dist/**/*.js\",\n \"dist/**/*.cjs\",\n \"dist/**/*.d.ts\",\n \"dist/**/*.map\",\n \"!dist/**/__tests__/**\",\n \"!dist/**/*.test.*\"\n ],\n \"scripts\": {\n \"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/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 subagents/index.ts subagents/types.ts subagents/prompts.ts subagents/vercel.ts subagents/anthropic.ts --format esm,cjs --sourcemap --clean --dts --dts-resolve\",\n \"prepare\": \"npm run build\",\n \"typecheck\": \"tsc --noEmit\",\n \"lint\": \"eslint .\",\n \"test\": \"vitest run\",\n \"test:watch\": \"vitest watch\",\n \"test:anthropic\": \"vitest run anthropic\",\n \"test:openai\": \"vitest run openai\",\n \"test:vercel\": \"vitest run vercel\",\n \"test:git\": \"vitest run git\",\n \"test:browser\": \"vitest run browser\",\n \"test:agent\": \"npx tsx tests/fullAgentTest.ts\",\n \"test:integration\": \"npx tsx tests/fullIntegrationTest.ts\",\n \"release:patch\": \"npm version patch && npm publish\",\n \"release:minor\": \"npm version minor && npm publish\",\n \"release:major\": \"npm version major && npm publish\"\n },\n \"keywords\": [\n \"morph\",\n \"fast-apply\",\n \"cli\",\n \"sdk\",\n \"edit-file\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n },\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vscode/ripgrep\": \"^1.17.0\",\n \"ai\": \">=5.0.0\",\n \"diff\": \"^7.0.0\",\n \"isomorphic-git\": \"^1.25.10\",\n \"openai\": \"^4.52.7\",\n \"zod\": \">=3.23.0\"\n },\n \"devDependencies\": {\n \"@ai-sdk/anthropic\": \"^2.0.70\",\n \"@ai-sdk/openai\": \"^2.0.35\",\n \"@anthropic-ai/sdk\": \"^0.30.1\",\n \"@google/generative-ai\": \"^0.24.1\",\n \"@types/diff\": \"^7.0.2\",\n \"@types/node\": \"^20.14.10\",\n \"@typescript-eslint/eslint-plugin\": \"^7.18.0\",\n \"@typescript-eslint/parser\": \"^7.18.0\",\n \"dotenv\": \"^16.4.5\",\n \"eslint\": \"^8.57.0\",\n \"shx\": \"^0.3.4\",\n \"tsup\": \"^8.5.0\",\n \"tsx\": \"^4.16.2\",\n \"typescript\": \"^5.5.4\",\n \"vitest\": \"^2.1.6\"\n },\n \"peerDependencies\": {\n \"@anthropic-ai/sdk\": \">=0.25.0\",\n \"@google/generative-ai\": \">=0.21.0\",\n \"ai\": \">=5.0.0\",\n \"zod\": \">=3.23.0\"\n },\n \"peerDependenciesMeta\": {\n \"@anthropic-ai/sdk\": {\n \"optional\": true\n },\n \"@google/generative-ai\": {\n \"optional\": true\n },\n \"ai\": {\n \"optional\": true\n },\n \"zod\": {\n \"optional\": true\n }\n },\n \"publishConfig\": {\n \"access\": \"public\"\n }\n}\n","import pkg from './package.json' with { type: 'json' };\nexport const SDK_VERSION: string = pkg.version;\n"],"mappings":"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","names":[]}
@@ -14,7 +14,7 @@ import {
14
14
  executeToolCall,
15
15
  formatGitHubReadFileResult,
16
16
  formatResult
17
- } from "./chunk-IMYH4BD2.js";
17
+ } from "./chunk-5CBMLTG5.js";
18
18
 
19
19
  // tools/warp_grep/openai.ts
20
20
  var TOOL_PARAMETERS = {
@@ -104,4 +104,4 @@ export {
104
104
  createGitHubReadFileTool,
105
105
  openai_default
106
106
  };
107
- //# sourceMappingURL=chunk-HP64WS73.js.map
107
+ //# sourceMappingURL=chunk-6WSZDCGP.js.map
@@ -1,10 +1,10 @@
1
- import {
2
- executeEditFile
3
- } from "./chunk-DOW7Y3AB.js";
4
1
  import {
5
2
  EDIT_FILE_SYSTEM_PROMPT,
6
3
  EDIT_FILE_TOOL_DESCRIPTION
7
4
  } from "./chunk-63WE2C5R.js";
5
+ import {
6
+ executeEditFile
7
+ } from "./chunk-MTD2JOO7.js";
8
8
  import {
9
9
  __export
10
10
  } from "./chunk-PZ5AY32C.js";
@@ -86,4 +86,4 @@ export {
86
86
  vercel_default,
87
87
  vercel_exports
88
88
  };
89
- //# sourceMappingURL=chunk-2PU5V3MK.js.map
89
+ //# sourceMappingURL=chunk-73ZLTWKF.js.map
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk-2VERUKO2.js";
13
13
  import {
14
14
  fetchWithRetry
15
- } from "./chunk-GSOXKIQU.js";
15
+ } from "./chunk-B55ZEX4M.js";
16
16
 
17
17
  // tools/browser/profiles/core.ts
18
18
  var DEFAULT_API_URL = process.env.MORPH_ENVIRONMENT === "DEV" ? "http://localhost:8000" : "https://browser.morphllm.com";
@@ -386,4 +386,4 @@ export {
386
386
  listRepos,
387
387
  getProfileState
388
388
  };
389
- //# sourceMappingURL=chunk-ZK5GJIAX.js.map
389
+ //# sourceMappingURL=chunk-7RCHQN7F.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SDK_VERSION
3
- } from "./chunk-CXSAPFUD.js";
3
+ } from "./chunk-6W3X76KE.js";
4
4
 
5
5
  // tools/fastapply/apply.ts
6
6
  import { createTwoFilesPatch } from "diff";
@@ -116,4 +116,4 @@ export {
116
116
  callMorphAPI,
117
117
  applyEdit
118
118
  };
119
- //# sourceMappingURL=chunk-ZOC7P5RV.js.map
119
+ //# sourceMappingURL=chunk-ATAQZLQN.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SDK_VERSION
3
- } from "./chunk-CXSAPFUD.js";
3
+ } from "./chunk-6W3X76KE.js";
4
4
 
5
5
  // tools/utils/resilience.ts
6
6
  var DEFAULT_RETRY_CONFIG = {
@@ -91,4 +91,4 @@ export {
91
91
  withTimeout,
92
92
  MorphError
93
93
  };
94
- //# sourceMappingURL=chunk-GSOXKIQU.js.map
94
+ //# sourceMappingURL=chunk-B55ZEX4M.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  fetchWithRetry,
3
3
  withTimeout
4
- } from "./chunk-GSOXKIQU.js";
4
+ } from "./chunk-B55ZEX4M.js";
5
5
 
6
6
  // modelrouter/core.ts
7
7
  var DEFAULT_CONFIG = {
@@ -209,4 +209,4 @@ export {
209
209
  GeminiRouter,
210
210
  RawRouter
211
211
  };
212
- //# sourceMappingURL=chunk-QNXGYWS3.js.map
212
+ //# sourceMappingURL=chunk-DRAQDTSR.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  fetchWithRetry,
3
3
  withTimeout
4
- } from "./chunk-GSOXKIQU.js";
4
+ } from "./chunk-B55ZEX4M.js";
5
5
 
6
6
  // tools/codebase_search/core.ts
7
7
  var CodebaseSearchClient = class {
@@ -102,4 +102,4 @@ export {
102
102
  CodebaseSearchClient,
103
103
  executeCodebaseSearch
104
104
  };
105
- //# sourceMappingURL=chunk-G5GPLD2E.js.map
105
+ //# sourceMappingURL=chunk-EEBGEMOO.js.map
@@ -8,7 +8,7 @@ import {
8
8
  executeGitHubReadFile,
9
9
  executeToolCall,
10
10
  executeToolCallStreaming
11
- } from "./chunk-IMYH4BD2.js";
11
+ } from "./chunk-5CBMLTG5.js";
12
12
 
13
13
  // tools/warp_grep/vercel.ts
14
14
  import { tool } from "ai";
@@ -115,4 +115,4 @@ export {
115
115
  createGitHubReadFileTool,
116
116
  vercel_default
117
117
  };
118
- //# sourceMappingURL=chunk-H7RABA4R.js.map
118
+ //# sourceMappingURL=chunk-EHRKLQ62.js.map