@morphllm/morphsdk 0.2.132 → 0.2.134

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 (188) hide show
  1. package/dist/{chunk-S5ERJO5O.js → chunk-37APZU2T.js} +2 -2
  2. package/dist/{chunk-6DRIR7AI.js → chunk-37SPZ55Z.js} +3 -3
  3. package/dist/{chunk-6DRIR7AI.js.map → chunk-37SPZ55Z.js.map} +1 -1
  4. package/dist/{chunk-JKKJIHJB.js → chunk-5ALXAPOK.js} +2 -2
  5. package/dist/{chunk-JKKJIHJB.js.map → chunk-5ALXAPOK.js.map} +1 -1
  6. package/dist/{chunk-UXYDF4WI.js → chunk-67DYLZPG.js} +16 -16
  7. package/dist/{chunk-XR6VN7BD.js → chunk-AGFVQOGJ.js} +4 -4
  8. package/dist/chunk-AGFVQOGJ.js.map +1 -0
  9. package/dist/{chunk-QDDCQQJS.js → chunk-B6LTRVNE.js} +9 -9
  10. package/dist/chunk-B6LTRVNE.js.map +1 -0
  11. package/dist/chunk-FIVYDIHX.js +10 -0
  12. package/dist/{chunk-QLBRTLEI.js.map → chunk-FIVYDIHX.js.map} +1 -1
  13. package/dist/{chunk-7JK2QJH7.js → chunk-FIZ62J4I.js} +2 -2
  14. package/dist/{chunk-6ENTHJT7.js → chunk-GX2LIDD3.js} +2 -2
  15. package/dist/{chunk-6DFYIVHI.js → chunk-JCHVRIMF.js} +2 -2
  16. package/dist/{chunk-BFTVZEXV.js → chunk-JQRQHNNL.js} +2 -2
  17. package/dist/{chunk-TSXV3K5M.js → chunk-JZ5QGBGN.js} +1 -1
  18. package/dist/{chunk-NHOHTNUN.js → chunk-K6XWPSVZ.js} +2 -2
  19. package/dist/{chunk-K3WPQ6AC.js → chunk-KBDOWN6S.js} +2 -2
  20. package/dist/{chunk-MLB4VE6A.js → chunk-KDBJPYTR.js} +2 -2
  21. package/dist/{chunk-MBWLLQLU.js → chunk-KNB5LOE2.js} +2 -2
  22. package/dist/{chunk-PRSKMCUD.js → chunk-LCNDWM3Z.js} +6 -6
  23. package/dist/chunk-LCNDWM3Z.js.map +1 -0
  24. package/dist/{chunk-PMQ3VJ3W.js → chunk-MTLAZJTA.js} +3 -3
  25. package/dist/{chunk-CRBOE3YM.js → chunk-PSITTOMP.js} +2 -2
  26. package/dist/{chunk-HIK6RPDO.js → chunk-PTGAOOSH.js} +6 -6
  27. package/dist/chunk-PTGAOOSH.js.map +1 -0
  28. package/dist/{chunk-PDKNXUBX.js → chunk-TNS7ANSG.js} +2 -2
  29. package/dist/{chunk-H6QGABAH.js → chunk-VQZBQDXC.js} +2 -2
  30. package/dist/{chunk-TEZDQDJ3.js → chunk-VZX3HT24.js} +9 -9
  31. package/dist/chunk-VZX3HT24.js.map +1 -0
  32. package/dist/{chunk-C66NYTNQ.js → chunk-WBMMR34M.js} +5 -5
  33. package/dist/chunk-WBMMR34M.js.map +1 -0
  34. package/dist/{chunk-KNAHKOMJ.js → chunk-XCQYVJFB.js} +2 -2
  35. package/dist/{chunk-33SCAH4A.js → chunk-XI7DF7PI.js} +2 -2
  36. package/dist/{chunk-2U3RMBXT.js → chunk-YLT4PSXT.js} +4 -4
  37. package/dist/chunk-YLT4PSXT.js.map +1 -0
  38. package/dist/{client-B9oYy2SJ.d.ts → client-D1L9Yb3A.d.ts} +6 -6
  39. package/dist/client.cjs +27 -27
  40. package/dist/client.cjs.map +1 -1
  41. package/dist/client.d.ts +2 -2
  42. package/dist/client.js +23 -23
  43. package/dist/edge.cjs +4 -4
  44. package/dist/edge.cjs.map +1 -1
  45. package/dist/edge.js +5 -5
  46. package/dist/index.cjs +28 -28
  47. package/dist/index.cjs.map +1 -1
  48. package/dist/index.d.ts +2 -2
  49. package/dist/index.js +24 -24
  50. package/dist/modelrouter/core.cjs +1 -1
  51. package/dist/modelrouter/core.cjs.map +1 -1
  52. package/dist/modelrouter/core.js +3 -3
  53. package/dist/modelrouter/index.cjs +1 -1
  54. package/dist/modelrouter/index.cjs.map +1 -1
  55. package/dist/modelrouter/index.js +3 -3
  56. package/dist/tools/browser/anthropic.cjs +1 -1
  57. package/dist/tools/browser/anthropic.cjs.map +1 -1
  58. package/dist/tools/browser/anthropic.js +5 -5
  59. package/dist/tools/browser/core.cjs +1 -1
  60. package/dist/tools/browser/core.cjs.map +1 -1
  61. package/dist/tools/browser/core.js +4 -4
  62. package/dist/tools/browser/index.cjs +1 -1
  63. package/dist/tools/browser/index.cjs.map +1 -1
  64. package/dist/tools/browser/index.js +7 -7
  65. package/dist/tools/browser/openai.cjs +1 -1
  66. package/dist/tools/browser/openai.cjs.map +1 -1
  67. package/dist/tools/browser/openai.js +5 -5
  68. package/dist/tools/browser/profiles/core.cjs +1 -1
  69. package/dist/tools/browser/profiles/core.cjs.map +1 -1
  70. package/dist/tools/browser/profiles/core.js +3 -3
  71. package/dist/tools/browser/profiles/index.cjs +1 -1
  72. package/dist/tools/browser/profiles/index.cjs.map +1 -1
  73. package/dist/tools/browser/profiles/index.js +3 -3
  74. package/dist/tools/browser/vercel.cjs +1 -1
  75. package/dist/tools/browser/vercel.cjs.map +1 -1
  76. package/dist/tools/browser/vercel.js +5 -5
  77. package/dist/tools/codebase_search/anthropic.cjs +1 -1
  78. package/dist/tools/codebase_search/anthropic.cjs.map +1 -1
  79. package/dist/tools/codebase_search/anthropic.js +4 -4
  80. package/dist/tools/codebase_search/core.cjs +1 -1
  81. package/dist/tools/codebase_search/core.cjs.map +1 -1
  82. package/dist/tools/codebase_search/core.js +3 -3
  83. package/dist/tools/codebase_search/index.cjs +1 -1
  84. package/dist/tools/codebase_search/index.cjs.map +1 -1
  85. package/dist/tools/codebase_search/index.js +6 -6
  86. package/dist/tools/codebase_search/openai.cjs +1 -1
  87. package/dist/tools/codebase_search/openai.cjs.map +1 -1
  88. package/dist/tools/codebase_search/openai.js +4 -4
  89. package/dist/tools/codebase_search/vercel.cjs +1 -1
  90. package/dist/tools/codebase_search/vercel.cjs.map +1 -1
  91. package/dist/tools/codebase_search/vercel.js +4 -4
  92. package/dist/tools/compact/core.cjs +3 -3
  93. package/dist/tools/compact/core.cjs.map +1 -1
  94. package/dist/tools/compact/core.js +1 -1
  95. package/dist/tools/compact/index.cjs +3 -3
  96. package/dist/tools/compact/index.cjs.map +1 -1
  97. package/dist/tools/compact/index.js +1 -1
  98. package/dist/tools/fastapply/anthropic.cjs +1 -1
  99. package/dist/tools/fastapply/anthropic.cjs.map +1 -1
  100. package/dist/tools/fastapply/anthropic.js +4 -4
  101. package/dist/tools/fastapply/apply.cjs +1 -1
  102. package/dist/tools/fastapply/apply.cjs.map +1 -1
  103. package/dist/tools/fastapply/apply.js +2 -2
  104. package/dist/tools/fastapply/core.cjs +1 -1
  105. package/dist/tools/fastapply/core.cjs.map +1 -1
  106. package/dist/tools/fastapply/core.js +3 -3
  107. package/dist/tools/fastapply/index.cjs +1 -1
  108. package/dist/tools/fastapply/index.cjs.map +1 -1
  109. package/dist/tools/fastapply/index.js +6 -6
  110. package/dist/tools/fastapply/openai.cjs +1 -1
  111. package/dist/tools/fastapply/openai.cjs.map +1 -1
  112. package/dist/tools/fastapply/openai.js +4 -4
  113. package/dist/tools/fastapply/vercel.cjs +1 -1
  114. package/dist/tools/fastapply/vercel.cjs.map +1 -1
  115. package/dist/tools/fastapply/vercel.js +4 -4
  116. package/dist/tools/index.cjs +1 -1
  117. package/dist/tools/index.cjs.map +1 -1
  118. package/dist/tools/index.js +6 -6
  119. package/dist/tools/utils/resilience.cjs +1 -1
  120. package/dist/tools/utils/resilience.cjs.map +1 -1
  121. package/dist/tools/utils/resilience.js +2 -2
  122. package/dist/tools/warp_grep/agent/runner.cjs +6 -6
  123. package/dist/tools/warp_grep/agent/runner.cjs.map +1 -1
  124. package/dist/tools/warp_grep/agent/runner.js +3 -3
  125. package/dist/tools/warp_grep/agent/types.cjs.map +1 -1
  126. package/dist/tools/warp_grep/agent/types.d.ts +1 -1
  127. package/dist/tools/warp_grep/anthropic.cjs +18 -18
  128. package/dist/tools/warp_grep/anthropic.cjs.map +1 -1
  129. package/dist/tools/warp_grep/anthropic.d.ts +6 -6
  130. package/dist/tools/warp_grep/anthropic.js +6 -6
  131. package/dist/tools/warp_grep/client.cjs +13 -13
  132. package/dist/tools/warp_grep/client.cjs.map +1 -1
  133. package/dist/tools/warp_grep/client.d.ts +13 -13
  134. package/dist/tools/warp_grep/client.js +4 -4
  135. package/dist/tools/warp_grep/gemini.cjs +19 -19
  136. package/dist/tools/warp_grep/gemini.cjs.map +1 -1
  137. package/dist/tools/warp_grep/gemini.d.ts +5 -5
  138. package/dist/tools/warp_grep/gemini.js +11 -11
  139. package/dist/tools/warp_grep/gemini.js.map +1 -1
  140. package/dist/tools/warp_grep/harness.cjs +3 -3
  141. package/dist/tools/warp_grep/harness.cjs.map +1 -1
  142. package/dist/tools/warp_grep/harness.d.ts +3 -3
  143. package/dist/tools/warp_grep/harness.js +1 -1
  144. package/dist/tools/warp_grep/harness.js.map +1 -1
  145. package/dist/tools/warp_grep/index.cjs +16 -16
  146. package/dist/tools/warp_grep/index.cjs.map +1 -1
  147. package/dist/tools/warp_grep/index.d.ts +9 -9
  148. package/dist/tools/warp_grep/index.js +6 -6
  149. package/dist/tools/warp_grep/openai.cjs +18 -18
  150. package/dist/tools/warp_grep/openai.cjs.map +1 -1
  151. package/dist/tools/warp_grep/openai.d.ts +6 -6
  152. package/dist/tools/warp_grep/openai.js +6 -6
  153. package/dist/tools/warp_grep/providers/code_storage_http.d.ts +1 -1
  154. package/dist/tools/warp_grep/providers/remote.d.ts +1 -1
  155. package/dist/tools/warp_grep/vercel.cjs +19 -19
  156. package/dist/tools/warp_grep/vercel.cjs.map +1 -1
  157. package/dist/tools/warp_grep/vercel.d.ts +13 -13
  158. package/dist/tools/warp_grep/vercel.js +6 -6
  159. package/dist/{types-DY_hq2eZ.d.ts → types-C5r_ph-V.d.ts} +4 -4
  160. package/dist/version.cjs +1 -1
  161. package/dist/version.cjs.map +1 -1
  162. package/dist/version.js +1 -1
  163. package/package.json +1 -1
  164. package/dist/chunk-2U3RMBXT.js.map +0 -1
  165. package/dist/chunk-C66NYTNQ.js.map +0 -1
  166. package/dist/chunk-HIK6RPDO.js.map +0 -1
  167. package/dist/chunk-PRSKMCUD.js.map +0 -1
  168. package/dist/chunk-QDDCQQJS.js.map +0 -1
  169. package/dist/chunk-QLBRTLEI.js +0 -10
  170. package/dist/chunk-TEZDQDJ3.js.map +0 -1
  171. package/dist/chunk-XR6VN7BD.js.map +0 -1
  172. /package/dist/{chunk-S5ERJO5O.js.map → chunk-37APZU2T.js.map} +0 -0
  173. /package/dist/{chunk-UXYDF4WI.js.map → chunk-67DYLZPG.js.map} +0 -0
  174. /package/dist/{chunk-7JK2QJH7.js.map → chunk-FIZ62J4I.js.map} +0 -0
  175. /package/dist/{chunk-6ENTHJT7.js.map → chunk-GX2LIDD3.js.map} +0 -0
  176. /package/dist/{chunk-6DFYIVHI.js.map → chunk-JCHVRIMF.js.map} +0 -0
  177. /package/dist/{chunk-BFTVZEXV.js.map → chunk-JQRQHNNL.js.map} +0 -0
  178. /package/dist/{chunk-TSXV3K5M.js.map → chunk-JZ5QGBGN.js.map} +0 -0
  179. /package/dist/{chunk-NHOHTNUN.js.map → chunk-K6XWPSVZ.js.map} +0 -0
  180. /package/dist/{chunk-K3WPQ6AC.js.map → chunk-KBDOWN6S.js.map} +0 -0
  181. /package/dist/{chunk-MLB4VE6A.js.map → chunk-KDBJPYTR.js.map} +0 -0
  182. /package/dist/{chunk-MBWLLQLU.js.map → chunk-KNB5LOE2.js.map} +0 -0
  183. /package/dist/{chunk-PMQ3VJ3W.js.map → chunk-MTLAZJTA.js.map} +0 -0
  184. /package/dist/{chunk-CRBOE3YM.js.map → chunk-PSITTOMP.js.map} +0 -0
  185. /package/dist/{chunk-PDKNXUBX.js.map → chunk-TNS7ANSG.js.map} +0 -0
  186. /package/dist/{chunk-H6QGABAH.js.map → chunk-VQZBQDXC.js.map} +0 -0
  187. /package/dist/{chunk-KNAHKOMJ.js.map → chunk-XCQYVJFB.js.map} +0 -0
  188. /package/dist/{chunk-33SCAH4A.js.map → chunk-XI7DF7PI.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import { Tool } from '@anthropic-ai/sdk/resources/messages';
2
2
  export { formatResult } from './client.js';
3
- import { d as WarpGrepToolConfig, b as WarpGrepResult, g as GitHubSearchToolConfig, h as GitHubReadFileToolConfig, e as GitHubReadFileInput, f as GitHubReadFileResult } from '../../types-DY_hq2eZ.js';
3
+ import { d as WarpGrepToolConfig, b as WarpGrepResult, g as GitHubSearchToolConfig, h as GitHubReadFileToolConfig, e as GitHubReadFileInput, f as GitHubReadFileResult } from '../../types-C5r_ph-V.js';
4
4
  import './agent/types.js';
5
5
  import '../utils/resilience.js';
6
6
  import './providers/types.js';
@@ -25,19 +25,19 @@ import './providers/types.js';
25
25
  * });
26
26
  *
27
27
  * // Execute the tool call
28
- * const result = await execute({ query: '...' }, { repoRoot: '.' });
28
+ * const result = await execute({ search_term: '...' }, { repoRoot: '.' });
29
29
  * ```
30
30
  */
31
31
  declare const warpGrepTool: Tool;
32
32
  /**
33
33
  * Execute warp grep search
34
34
  *
35
- * @param input - Tool input with query
35
+ * @param input - Tool input with search_term
36
36
  * @param config - Configuration with repoRoot and optional provider
37
37
  * @returns Search results
38
38
  */
39
39
  declare function execute(input: {
40
- query: string;
40
+ search_term: string;
41
41
  } | string, config: WarpGrepToolConfig): Promise<WarpGrepResult>;
42
42
 
43
43
  /**
@@ -97,13 +97,13 @@ declare function createWarpGrepTool(config: WarpGrepToolConfig): Tool & {
97
97
  * });
98
98
  *
99
99
  * // Execute
100
- * const result = await tool.execute({ query: 'auth middleware', github: 'vercel/next.js' });
100
+ * const result = await tool.execute({ search_term: 'auth middleware', github_url: 'https://github.com/vercel/next.js' });
101
101
  * console.log(tool.formatResult(result));
102
102
  * ```
103
103
  */
104
104
  declare function createGitHubSearchTool(config: GitHubSearchToolConfig): Tool & {
105
105
  execute: (input: {
106
- query: string;
106
+ search_term: string;
107
107
  github_url?: string;
108
108
  owner_repo?: string;
109
109
  branch?: string;
@@ -4,20 +4,20 @@ import {
4
4
  createWarpGrepTool,
5
5
  execute,
6
6
  warpGrepTool
7
- } from "../../chunk-PRSKMCUD.js";
8
- import "../../chunk-6DRIR7AI.js";
7
+ } from "../../chunk-LCNDWM3Z.js";
8
+ import "../../chunk-37SPZ55Z.js";
9
9
  import {
10
10
  formatResult
11
- } from "../../chunk-QDDCQQJS.js";
11
+ } from "../../chunk-B6LTRVNE.js";
12
12
  import "../../chunk-NF2QWJDY.js";
13
13
  import "../../chunk-63VHBANJ.js";
14
- import "../../chunk-C66NYTNQ.js";
14
+ import "../../chunk-WBMMR34M.js";
15
15
  import "../../chunk-GVGJIXV2.js";
16
- import "../../chunk-2U3RMBXT.js";
16
+ import "../../chunk-YLT4PSXT.js";
17
17
  import "../../chunk-DKODF3YG.js";
18
18
  import "../../chunk-QRXG5CAZ.js";
19
19
  import "../../chunk-VCKJ22DX.js";
20
- import "../../chunk-JKKJIHJB.js";
20
+ import "../../chunk-5ALXAPOK.js";
21
21
  import "../../chunk-PZ5AY32C.js";
22
22
  export {
23
23
  createGitHubReadFileTool,
@@ -894,7 +894,7 @@ function calculateContextBudget(messages) {
894
894
  const maxK = Math.round(maxChars / 1e3);
895
895
  return `<context_budget>${percent}% (${usedK}K/${maxK}K chars)</context_budget>`;
896
896
  }
897
- async function buildInitialState(repoRoot, query, provider, options) {
897
+ async function buildInitialState(repoRoot, searchTerm, provider, options) {
898
898
  const budget = calculateContextBudget([]);
899
899
  const turnTag = `Turn 0/${AGENT_CONFIG.MAX_TURNS}`;
900
900
  const treeDepth = options?.search_type === "node_modules" ? 1 : 2;
@@ -917,7 +917,7 @@ ${treeOutput}
917
917
  </repo_structure>
918
918
 
919
919
  <search_string>
920
- ${query}
920
+ ${searchTerm}
921
921
  </search_string>
922
922
  ${budget}
923
923
  ${turnTag}`;
@@ -928,7 +928,7 @@ ${repoName}/
928
928
  </repo_structure>
929
929
 
930
930
  <search_string>
931
- ${query}
931
+ ${searchTerm}
932
932
  </search_string>
933
933
  ${budget}
934
934
  ${turnTag}`;
@@ -967,7 +967,7 @@ var import_openai = __toESM(require("openai"), 1);
967
967
  // package.json
968
968
  var package_default = {
969
969
  name: "@morphllm/morphsdk",
970
- version: "0.2.132",
970
+ version: "0.2.134",
971
971
  description: "TypeScript SDK and CLI for Morph Fast Apply integration",
972
972
  type: "module",
973
973
  main: "./dist/index.cjs",
@@ -1250,7 +1250,7 @@ async function runWarpGrep(config) {
1250
1250
  const messages = [];
1251
1251
  const maxTurns = AGENT_CONFIG.MAX_TURNS;
1252
1252
  const initialStateStart = Date.now();
1253
- const initialState = await buildInitialState(repoRoot, config.query, config.provider, { search_type: config.search_type });
1253
+ const initialState = await buildInitialState(repoRoot, config.searchTerm, config.provider, { search_type: config.search_type });
1254
1254
  timings.initial_state_ms = Date.now() - initialStateStart;
1255
1255
  messages.push({ role: "user", content: initialState });
1256
1256
  const provider = config.provider;
@@ -1408,7 +1408,7 @@ async function* runWarpGrepStreaming(config) {
1408
1408
  const messages = [];
1409
1409
  const maxTurns = AGENT_CONFIG.MAX_TURNS;
1410
1410
  const initialStateStart = Date.now();
1411
- const initialState = await buildInitialState(repoRoot, config.query, config.provider, { search_type: config.search_type });
1411
+ const initialState = await buildInitialState(repoRoot, config.searchTerm, config.provider, { search_type: config.search_type });
1412
1412
  timings.initial_state_ms = Date.now() - initialStateStart;
1413
1413
  messages.push({ role: "user", content: initialState });
1414
1414
  const provider = config.provider;
@@ -1817,9 +1817,9 @@ var WarpGrepClient = class {
1817
1817
  timeout: this.config.timeout
1818
1818
  };
1819
1819
  if (input.streamSteps) {
1820
- return executeToolCallStreaming({ query: input.query }, toolConfig);
1820
+ return executeToolCallStreaming({ search_term: input.searchTerm }, toolConfig);
1821
1821
  }
1822
- return executeToolCall({ query: input.query }, toolConfig);
1822
+ return executeToolCall({ search_term: input.searchTerm }, toolConfig);
1823
1823
  }
1824
1824
  searchGitHub(input) {
1825
1825
  if (input.streamSteps) {
@@ -1862,7 +1862,7 @@ var WarpGrepClient = class {
1862
1862
  try {
1863
1863
  const { repo, remoteCommands } = await this._resolveGitHubRepo(input);
1864
1864
  return this.execute({
1865
- query: input.query,
1865
+ searchTerm: input.searchTerm,
1866
1866
  repoRoot: repo,
1867
1867
  remoteCommands
1868
1868
  });
@@ -1879,7 +1879,7 @@ var WarpGrepClient = class {
1879
1879
  return { success: false, error: error instanceof Error ? error.message : String(error) };
1880
1880
  }
1881
1881
  const generator = this.execute({
1882
- query: input.query,
1882
+ searchTerm: input.searchTerm,
1883
1883
  repoRoot: repo,
1884
1884
  remoteCommands,
1885
1885
  streamSteps: true
@@ -1907,7 +1907,7 @@ async function executeToolCall(input, config) {
1907
1907
  const parsed = typeof input === "string" ? JSON.parse(input) : input;
1908
1908
  const provider = config.remoteCommands ? new RemoteCommandsProvider(config.repoRoot, config.remoteCommands) : config.provider ?? await getLocalProvider(config.repoRoot, config.excludes);
1909
1909
  const result = await runWarpGrep({
1910
- query: parsed.query,
1910
+ searchTerm: parsed.search_term,
1911
1911
  repoRoot: config.repoRoot,
1912
1912
  provider,
1913
1913
  excludes: config.excludes,
@@ -1949,7 +1949,7 @@ async function* executeToolCallStreaming(input, config) {
1949
1949
  const parsed = typeof input === "string" ? JSON.parse(input) : input;
1950
1950
  const provider = config.remoteCommands ? new RemoteCommandsProvider(config.repoRoot, config.remoteCommands) : config.provider ?? await getLocalProvider(config.repoRoot, config.excludes);
1951
1951
  const generator = runWarpGrepStreaming({
1952
- query: parsed.query,
1952
+ searchTerm: parsed.search_term,
1953
1953
  repoRoot: config.repoRoot,
1954
1954
  provider,
1955
1955
  excludes: config.excludes,
@@ -2035,7 +2035,7 @@ function formatResult(result) {
2035
2035
  return `Search failed: ${result.error}`;
2036
2036
  }
2037
2037
  if (!result.contexts || result.contexts.length === 0) {
2038
- return "No relevant code found. Try rephrasing your query.";
2038
+ return "No relevant code found. Try rephrasing your search term.";
2039
2039
  }
2040
2040
  const parts = [];
2041
2041
  parts.push(`Morph Fast Context subagent performed search on repository: