@morphllm/morphsdk 0.2.127 → 0.2.129

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 (177) hide show
  1. package/dist/{chunk-GWKCMFD6.js → chunk-27F4OSVC.js} +2 -2
  2. package/dist/{chunk-K6YSD3DR.js → chunk-2F46ZQGK.js} +2 -2
  3. package/dist/{chunk-K2FXHDX2.js → chunk-2U3RMBXT.js} +2 -2
  4. package/dist/chunk-2U3RMBXT.js.map +1 -0
  5. package/dist/{chunk-QOE522DB.js → chunk-2VCDZBMM.js} +16 -16
  6. package/dist/{chunk-NQQS5BZZ.js → chunk-2WP2O5WP.js} +3 -3
  7. package/dist/{chunk-EL6CCK7C.js → chunk-3TFFMRLU.js} +2 -2
  8. package/dist/{chunk-ZYD2SEQK.js → chunk-4LCQZZIC.js} +2 -2
  9. package/dist/{chunk-R5IFI552.js → chunk-4LJXUE2I.js} +2 -2
  10. package/dist/{chunk-R5IFI552.js.map → chunk-4LJXUE2I.js.map} +1 -1
  11. package/dist/{chunk-LXBIP5FI.js → chunk-5BBF7UKK.js} +5 -5
  12. package/dist/chunk-5BBF7UKK.js.map +1 -0
  13. package/dist/{chunk-U73OIAJC.js → chunk-6MIRP7R7.js} +2 -2
  14. package/dist/{chunk-3ZA7Y66U.js → chunk-6WK6SX3N.js} +2 -2
  15. package/dist/{chunk-GVF4Q75N.js → chunk-7QEBCY54.js} +2 -2
  16. package/dist/{chunk-YTUQEDWH.js → chunk-B3FD547B.js} +2 -2
  17. package/dist/{chunk-ADHGSV2D.js → chunk-BYSUPWLD.js} +2 -2
  18. package/dist/{chunk-LX34ZO3N.js → chunk-GG74DOY7.js} +2 -2
  19. package/dist/{chunk-REJNS3OW.js → chunk-HEKBZRWN.js} +2 -2
  20. package/dist/{chunk-UAQ7UWZB.js → chunk-HWACA6B5.js} +2 -2
  21. package/dist/{chunk-QUULFOWB.js → chunk-IP5EU7UN.js} +2 -2
  22. package/dist/{chunk-J267T54M.js → chunk-KUI7Y2OT.js} +24 -11
  23. package/dist/chunk-KUI7Y2OT.js.map +1 -0
  24. package/dist/{chunk-EGOCFCAH.js → chunk-MPPAGVOZ.js} +2 -2
  25. package/dist/{chunk-ZVAXTR2V.js → chunk-OW7IJQ2C.js} +2 -2
  26. package/dist/{chunk-GDCVK6SP.js → chunk-Q6CZVXYS.js} +2 -2
  27. package/dist/{chunk-HZK5TEUK.js → chunk-SX2CPRX3.js} +1 -1
  28. package/dist/{chunk-MJHAVXFK.js → chunk-WHWAVW6C.js} +2 -2
  29. package/dist/{chunk-DS7YL4V3.js → chunk-YKOCOQCE.js} +2 -2
  30. package/dist/client.cjs +27 -14
  31. package/dist/client.cjs.map +1 -1
  32. package/dist/client.d.ts +2 -2
  33. package/dist/client.js +22 -22
  34. package/dist/edge.cjs +24 -11
  35. package/dist/edge.cjs.map +1 -1
  36. package/dist/edge.d.ts +1 -1
  37. package/dist/edge.js +5 -5
  38. package/dist/index.cjs +27 -14
  39. package/dist/index.cjs.map +1 -1
  40. package/dist/index.d.ts +2 -2
  41. package/dist/index.js +22 -22
  42. package/dist/modelrouter/core.cjs +1 -1
  43. package/dist/modelrouter/core.cjs.map +1 -1
  44. package/dist/modelrouter/core.js +3 -3
  45. package/dist/modelrouter/index.cjs +1 -1
  46. package/dist/modelrouter/index.cjs.map +1 -1
  47. package/dist/modelrouter/index.js +3 -3
  48. package/dist/tools/browser/anthropic.cjs +1 -1
  49. package/dist/tools/browser/anthropic.cjs.map +1 -1
  50. package/dist/tools/browser/anthropic.js +5 -5
  51. package/dist/tools/browser/core.cjs +1 -1
  52. package/dist/tools/browser/core.cjs.map +1 -1
  53. package/dist/tools/browser/core.js +4 -4
  54. package/dist/tools/browser/index.cjs +1 -1
  55. package/dist/tools/browser/index.cjs.map +1 -1
  56. package/dist/tools/browser/index.js +7 -7
  57. package/dist/tools/browser/openai.cjs +1 -1
  58. package/dist/tools/browser/openai.cjs.map +1 -1
  59. package/dist/tools/browser/openai.js +5 -5
  60. package/dist/tools/browser/profiles/core.cjs +1 -1
  61. package/dist/tools/browser/profiles/core.cjs.map +1 -1
  62. package/dist/tools/browser/profiles/core.js +3 -3
  63. package/dist/tools/browser/profiles/index.cjs +1 -1
  64. package/dist/tools/browser/profiles/index.cjs.map +1 -1
  65. package/dist/tools/browser/profiles/index.js +3 -3
  66. package/dist/tools/browser/vercel.cjs +1 -1
  67. package/dist/tools/browser/vercel.cjs.map +1 -1
  68. package/dist/tools/browser/vercel.js +5 -5
  69. package/dist/tools/codebase_search/anthropic.cjs +1 -1
  70. package/dist/tools/codebase_search/anthropic.cjs.map +1 -1
  71. package/dist/tools/codebase_search/anthropic.js +4 -4
  72. package/dist/tools/codebase_search/core.cjs +1 -1
  73. package/dist/tools/codebase_search/core.cjs.map +1 -1
  74. package/dist/tools/codebase_search/core.js +3 -3
  75. package/dist/tools/codebase_search/index.cjs +1 -1
  76. package/dist/tools/codebase_search/index.cjs.map +1 -1
  77. package/dist/tools/codebase_search/index.js +6 -6
  78. package/dist/tools/codebase_search/openai.cjs +1 -1
  79. package/dist/tools/codebase_search/openai.cjs.map +1 -1
  80. package/dist/tools/codebase_search/openai.js +4 -4
  81. package/dist/tools/codebase_search/vercel.cjs +1 -1
  82. package/dist/tools/codebase_search/vercel.cjs.map +1 -1
  83. package/dist/tools/codebase_search/vercel.js +4 -4
  84. package/dist/tools/compact/core.cjs +23 -10
  85. package/dist/tools/compact/core.cjs.map +1 -1
  86. package/dist/tools/compact/core.d.ts +2 -2
  87. package/dist/tools/compact/core.js +1 -1
  88. package/dist/tools/compact/index.cjs +23 -10
  89. package/dist/tools/compact/index.cjs.map +1 -1
  90. package/dist/tools/compact/index.d.ts +1 -1
  91. package/dist/tools/compact/index.js +1 -1
  92. package/dist/tools/compact/types.cjs.map +1 -1
  93. package/dist/tools/compact/types.d.ts +5 -7
  94. package/dist/tools/fastapply/anthropic.cjs +1 -1
  95. package/dist/tools/fastapply/anthropic.cjs.map +1 -1
  96. package/dist/tools/fastapply/anthropic.js +4 -4
  97. package/dist/tools/fastapply/apply.cjs +1 -1
  98. package/dist/tools/fastapply/apply.cjs.map +1 -1
  99. package/dist/tools/fastapply/apply.js +2 -2
  100. package/dist/tools/fastapply/core.cjs +1 -1
  101. package/dist/tools/fastapply/core.cjs.map +1 -1
  102. package/dist/tools/fastapply/core.js +3 -3
  103. package/dist/tools/fastapply/index.cjs +1 -1
  104. package/dist/tools/fastapply/index.cjs.map +1 -1
  105. package/dist/tools/fastapply/index.d.ts +1 -1
  106. package/dist/tools/fastapply/index.js +6 -6
  107. package/dist/tools/fastapply/openai.cjs +1 -1
  108. package/dist/tools/fastapply/openai.cjs.map +1 -1
  109. package/dist/tools/fastapply/openai.js +4 -4
  110. package/dist/tools/fastapply/vercel.cjs +1 -1
  111. package/dist/tools/fastapply/vercel.cjs.map +1 -1
  112. package/dist/tools/fastapply/vercel.d.ts +1 -1
  113. package/dist/tools/fastapply/vercel.js +4 -4
  114. package/dist/tools/index.cjs +1 -1
  115. package/dist/tools/index.cjs.map +1 -1
  116. package/dist/tools/index.d.ts +1 -1
  117. package/dist/tools/index.js +6 -6
  118. package/dist/tools/utils/resilience.cjs +1 -1
  119. package/dist/tools/utils/resilience.cjs.map +1 -1
  120. package/dist/tools/utils/resilience.js +2 -2
  121. package/dist/tools/warp_grep/agent/runner.cjs +4 -4
  122. package/dist/tools/warp_grep/agent/runner.cjs.map +1 -1
  123. package/dist/tools/warp_grep/agent/runner.js +3 -3
  124. package/dist/tools/warp_grep/agent/types.cjs.map +1 -1
  125. package/dist/tools/warp_grep/agent/types.d.ts +2 -2
  126. package/dist/tools/warp_grep/anthropic.cjs +4 -4
  127. package/dist/tools/warp_grep/anthropic.cjs.map +1 -1
  128. package/dist/tools/warp_grep/anthropic.js +5 -5
  129. package/dist/tools/warp_grep/client.cjs +4 -4
  130. package/dist/tools/warp_grep/client.cjs.map +1 -1
  131. package/dist/tools/warp_grep/client.js +4 -4
  132. package/dist/tools/warp_grep/gemini.cjs +4 -4
  133. package/dist/tools/warp_grep/gemini.cjs.map +1 -1
  134. package/dist/tools/warp_grep/gemini.js +4 -4
  135. package/dist/tools/warp_grep/harness.cjs +1 -1
  136. package/dist/tools/warp_grep/harness.cjs.map +1 -1
  137. package/dist/tools/warp_grep/harness.d.ts +1 -1
  138. package/dist/tools/warp_grep/harness.js +1 -1
  139. package/dist/tools/warp_grep/index.cjs +4 -4
  140. package/dist/tools/warp_grep/index.cjs.map +1 -1
  141. package/dist/tools/warp_grep/index.js +4 -4
  142. package/dist/tools/warp_grep/openai.cjs +4 -4
  143. package/dist/tools/warp_grep/openai.cjs.map +1 -1
  144. package/dist/tools/warp_grep/openai.js +5 -5
  145. package/dist/tools/warp_grep/vercel.cjs +4 -4
  146. package/dist/tools/warp_grep/vercel.cjs.map +1 -1
  147. package/dist/tools/warp_grep/vercel.js +5 -5
  148. package/dist/version.cjs +1 -1
  149. package/dist/version.cjs.map +1 -1
  150. package/dist/version.js +1 -1
  151. package/package.json +1 -1
  152. package/dist/chunk-J267T54M.js.map +0 -1
  153. package/dist/chunk-K2FXHDX2.js.map +0 -1
  154. package/dist/chunk-LXBIP5FI.js.map +0 -1
  155. package/dist/{chunk-GWKCMFD6.js.map → chunk-27F4OSVC.js.map} +0 -0
  156. package/dist/{chunk-K6YSD3DR.js.map → chunk-2F46ZQGK.js.map} +0 -0
  157. package/dist/{chunk-QOE522DB.js.map → chunk-2VCDZBMM.js.map} +0 -0
  158. package/dist/{chunk-NQQS5BZZ.js.map → chunk-2WP2O5WP.js.map} +0 -0
  159. package/dist/{chunk-EL6CCK7C.js.map → chunk-3TFFMRLU.js.map} +0 -0
  160. package/dist/{chunk-ZYD2SEQK.js.map → chunk-4LCQZZIC.js.map} +0 -0
  161. package/dist/{chunk-U73OIAJC.js.map → chunk-6MIRP7R7.js.map} +0 -0
  162. package/dist/{chunk-3ZA7Y66U.js.map → chunk-6WK6SX3N.js.map} +0 -0
  163. package/dist/{chunk-GVF4Q75N.js.map → chunk-7QEBCY54.js.map} +0 -0
  164. package/dist/{chunk-YTUQEDWH.js.map → chunk-B3FD547B.js.map} +0 -0
  165. package/dist/{chunk-ADHGSV2D.js.map → chunk-BYSUPWLD.js.map} +0 -0
  166. package/dist/{chunk-LX34ZO3N.js.map → chunk-GG74DOY7.js.map} +0 -0
  167. package/dist/{chunk-REJNS3OW.js.map → chunk-HEKBZRWN.js.map} +0 -0
  168. package/dist/{chunk-UAQ7UWZB.js.map → chunk-HWACA6B5.js.map} +0 -0
  169. package/dist/{chunk-QUULFOWB.js.map → chunk-IP5EU7UN.js.map} +0 -0
  170. package/dist/{chunk-EGOCFCAH.js.map → chunk-MPPAGVOZ.js.map} +0 -0
  171. package/dist/{chunk-ZVAXTR2V.js.map → chunk-OW7IJQ2C.js.map} +0 -0
  172. package/dist/{chunk-GDCVK6SP.js.map → chunk-Q6CZVXYS.js.map} +0 -0
  173. package/dist/{chunk-HZK5TEUK.js.map → chunk-SX2CPRX3.js.map} +0 -0
  174. package/dist/{chunk-MJHAVXFK.js.map → chunk-WHWAVW6C.js.map} +0 -0
  175. package/dist/{chunk-DS7YL4V3.js.map → chunk-YKOCOQCE.js.map} +0 -0
  176. package/dist/{client-CNYzlN_6.d.ts → client-CBZIDsNl.d.ts} +1 -1
  177. package/dist/{vercel-BTSPdTA-.d.ts → vercel-B1GZ_g9N.d.ts} +2 -2
@@ -41,19 +41,29 @@ var CompactClient = class {
41
41
  timeout: this.config.timeout,
42
42
  maxRetries: this.config.retryConfig?.maxRetries ?? 3
43
43
  });
44
- const instructions = input.prompt ? `The user's next message will be: "${input.prompt}"
45
- Prioritize keeping context relevant to this query.` : void 0;
44
+ const messages = [];
45
+ if (input.prompt) {
46
+ messages.push({
47
+ role: "system",
48
+ content: `The user's next message will be: "${input.prompt}"
49
+ Prioritize keeping context relevant to this query.`
50
+ });
51
+ }
52
+ if (typeof input.input === "string") {
53
+ messages.push({ role: "user", content: input.input });
54
+ } else {
55
+ messages.push(...input.input);
56
+ }
46
57
  if (debug) {
47
- console.log(`[Compact] Calling ${this.config.morphApiUrl}/v1/responses`);
58
+ console.log(`[Compact] Calling ${this.config.morphApiUrl}/v1/chat/completions`);
48
59
  console.log(`[Compact] Model: ${input.model || "morph-compactor"}`);
49
60
  }
50
61
  const startTime = Date.now();
51
- const response = await client.responses.create({
62
+ const response = await client.chat.completions.create({
52
63
  model: input.model || "morph-compactor",
53
- input: input.input,
54
- ...instructions && { instructions },
64
+ messages,
55
65
  ...input.temperature != null && { temperature: input.temperature },
56
- ...input.max_output_tokens != null && { max_output_tokens: input.max_output_tokens },
66
+ ...input.max_output_tokens != null && { max_tokens: input.max_output_tokens },
57
67
  stream: false
58
68
  });
59
69
  const elapsed = Date.now() - startTime;
@@ -62,9 +72,12 @@ Prioritize keeping context relevant to this query.` : void 0;
62
72
  }
63
73
  return {
64
74
  id: response.id,
65
- output: response.output,
66
- usage: response.usage,
67
- status: response.status ?? "completed",
75
+ output: response.choices[0]?.message?.content || "",
76
+ usage: response.usage ? {
77
+ input_tokens: response.usage.prompt_tokens,
78
+ output_tokens: response.usage.completion_tokens,
79
+ total_tokens: response.usage.total_tokens
80
+ } : void 0,
68
81
  model: response.model
69
82
  };
70
83
  }
@@ -73,4 +86,4 @@ Prioritize keeping context relevant to this query.` : void 0;
73
86
  export {
74
87
  CompactClient
75
88
  };
76
- //# sourceMappingURL=chunk-J267T54M.js.map
89
+ //# sourceMappingURL=chunk-KUI7Y2OT.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../tools/compact/core.ts"],"sourcesContent":["/**\n * Core implementation of Morph Compact\n *\n * Uses the OpenAI Chat Completions API to compact conversation context\n * via the Morph compactor model.\n */\n\nimport OpenAI from 'openai';\nimport type { ChatCompletionMessageParam } from 'openai/resources/chat/completions';\nimport type { CompactConfig, CompactInput, CompactResult } from './types.js';\n\nconst DEFAULT_API_URL = 'https://api.morphllm.com';\nconst DEFAULT_TIMEOUT = 120000;\n\n/**\n * CompactClient for programmatic context compaction\n */\nexport class CompactClient {\n private config: Required<Pick<CompactConfig, 'morphApiUrl' | 'timeout'>> & CompactConfig;\n\n constructor(config: CompactConfig = {}) {\n this.config = {\n morphApiUrl: DEFAULT_API_URL,\n timeout: DEFAULT_TIMEOUT,\n ...config,\n };\n }\n\n /**\n * Compact conversation context using Morph compactor\n *\n * @param input - Compact parameters including input content and optional prompt\n * @returns Compact result with compacted output and usage stats\n *\n * @example\n * ```typescript\n * const client = new CompactClient({ morphApiKey: 'sk-...' });\n * const result = await client.compact({\n * input: 'Long conversation context to compact...',\n * prompt: 'Focus on the code review feedback',\n * });\n * console.log(result.output);\n * ```\n */\n async compact(input: CompactInput): Promise<CompactResult> {\n const apiKey = this.config.morphApiKey || (typeof process !== 'undefined' ? process.env?.MORPH_API_KEY : undefined);\n const debug = this.config.debug || false;\n\n if (!apiKey) {\n throw new Error(\n 'Morph API key not found. Set MORPH_API_KEY environment variable or pass morphApiKey in config.'\n );\n }\n\n const client = new OpenAI({\n apiKey,\n baseURL: `${this.config.morphApiUrl}/v1`,\n timeout: this.config.timeout,\n maxRetries: this.config.retryConfig?.maxRetries ?? 3,\n });\n\n // Build messages array from input\n const messages: ChatCompletionMessageParam[] = [];\n\n if (input.prompt) {\n messages.push({\n role: 'system',\n content: `The user's next message will be: \"${input.prompt}\"\\nPrioritize keeping context relevant to this query.`,\n });\n }\n\n if (typeof input.input === 'string') {\n messages.push({ role: 'user', content: input.input });\n } else {\n // input is ChatCompletionMessageParam[]\n messages.push(...input.input);\n }\n\n if (debug) {\n console.log(`[Compact] Calling ${this.config.morphApiUrl}/v1/chat/completions`);\n console.log(`[Compact] Model: ${input.model || 'morph-compactor'}`);\n }\n\n const startTime = Date.now();\n\n const response = await client.chat.completions.create({\n model: input.model || 'morph-compactor',\n messages,\n ...(input.temperature != null && { temperature: input.temperature }),\n ...(input.max_output_tokens != null && { max_tokens: input.max_output_tokens }),\n stream: false,\n });\n\n const elapsed = Date.now() - startTime;\n\n if (debug) {\n console.log(`[Compact] Success in ${elapsed}ms`);\n }\n\n return {\n id: response.id,\n output: response.choices[0]?.message?.content || '',\n usage: response.usage ? {\n input_tokens: response.usage.prompt_tokens,\n output_tokens: response.usage.completion_tokens,\n total_tokens: response.usage.total_tokens,\n } : undefined,\n model: response.model,\n };\n }\n}\n"],"mappings":";AAOA,OAAO,YAAY;AAInB,IAAM,kBAAkB;AACxB,IAAM,kBAAkB;AAKjB,IAAM,gBAAN,MAAoB;AAAA,EACjB;AAAA,EAER,YAAY,SAAwB,CAAC,GAAG;AACtC,SAAK,SAAS;AAAA,MACZ,aAAa;AAAA,MACb,SAAS;AAAA,MACT,GAAG;AAAA,IACL;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkBA,MAAM,QAAQ,OAA6C;AACzD,UAAM,SAAS,KAAK,OAAO,gBAAgB,OAAO,YAAY,cAAc,QAAQ,KAAK,gBAAgB;AACzG,UAAM,QAAQ,KAAK,OAAO,SAAS;AAEnC,QAAI,CAAC,QAAQ;AACX,YAAM,IAAI;AAAA,QACR;AAAA,MACF;AAAA,IACF;AAEA,UAAM,SAAS,IAAI,OAAO;AAAA,MACxB;AAAA,MACA,SAAS,GAAG,KAAK,OAAO,WAAW;AAAA,MACnC,SAAS,KAAK,OAAO;AAAA,MACrB,YAAY,KAAK,OAAO,aAAa,cAAc;AAAA,IACrD,CAAC;AAGD,UAAM,WAAyC,CAAC;AAEhD,QAAI,MAAM,QAAQ;AAChB,eAAS,KAAK;AAAA,QACZ,MAAM;AAAA,QACN,SAAS,qCAAqC,MAAM,MAAM;AAAA;AAAA,MAC5D,CAAC;AAAA,IACH;AAEA,QAAI,OAAO,MAAM,UAAU,UAAU;AACnC,eAAS,KAAK,EAAE,MAAM,QAAQ,SAAS,MAAM,MAAM,CAAC;AAAA,IACtD,OAAO;AAEL,eAAS,KAAK,GAAG,MAAM,KAAK;AAAA,IAC9B;AAEA,QAAI,OAAO;AACT,cAAQ,IAAI,qBAAqB,KAAK,OAAO,WAAW,sBAAsB;AAC9E,cAAQ,IAAI,oBAAoB,MAAM,SAAS,iBAAiB,EAAE;AAAA,IACpE;AAEA,UAAM,YAAY,KAAK,IAAI;AAE3B,UAAM,WAAW,MAAM,OAAO,KAAK,YAAY,OAAO;AAAA,MACpD,OAAO,MAAM,SAAS;AAAA,MACtB;AAAA,MACA,GAAI,MAAM,eAAe,QAAQ,EAAE,aAAa,MAAM,YAAY;AAAA,MAClE,GAAI,MAAM,qBAAqB,QAAQ,EAAE,YAAY,MAAM,kBAAkB;AAAA,MAC7E,QAAQ;AAAA,IACV,CAAC;AAED,UAAM,UAAU,KAAK,IAAI,IAAI;AAE7B,QAAI,OAAO;AACT,cAAQ,IAAI,wBAAwB,OAAO,IAAI;AAAA,IACjD;AAEA,WAAO;AAAA,MACL,IAAI,SAAS;AAAA,MACb,QAAQ,SAAS,QAAQ,CAAC,GAAG,SAAS,WAAW;AAAA,MACjD,OAAO,SAAS,QAAQ;AAAA,QACtB,cAAc,SAAS,MAAM;AAAA,QAC7B,eAAe,SAAS,MAAM;AAAA,QAC9B,cAAc,SAAS,MAAM;AAAA,MAC/B,IAAI;AAAA,MACJ,OAAO,SAAS;AAAA,IAClB;AAAA,EACF;AACF;","names":[]}
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-2HMEZZKK.js";
4
4
  import {
5
5
  executeBrowserTask
6
- } from "./chunk-NQQS5BZZ.js";
6
+ } from "./chunk-2WP2O5WP.js";
7
7
  import {
8
8
  __export
9
9
  } from "./chunk-PZ5AY32C.js";
@@ -54,4 +54,4 @@ export {
54
54
  browserTool,
55
55
  vercel_exports
56
56
  };
57
- //# sourceMappingURL=chunk-EGOCFCAH.js.map
57
+ //# sourceMappingURL=chunk-MPPAGVOZ.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SDK_VERSION
3
- } from "./chunk-R5IFI552.js";
3
+ } from "./chunk-4LJXUE2I.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-ZVAXTR2V.js.map
119
+ //# sourceMappingURL=chunk-OW7IJQ2C.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  executeEditFile
3
- } from "./chunk-HZK5TEUK.js";
3
+ } from "./chunk-SX2CPRX3.js";
4
4
  import {
5
5
  EDIT_FILE_SYSTEM_PROMPT,
6
6
  EDIT_FILE_TOOL_DESCRIPTION
@@ -79,4 +79,4 @@ export {
79
79
  getSystemPrompt,
80
80
  anthropic_exports
81
81
  };
82
- //# sourceMappingURL=chunk-GDCVK6SP.js.map
82
+ //# sourceMappingURL=chunk-Q6CZVXYS.js.map
@@ -112,4 +112,4 @@ export {
112
112
  FastApplyClient,
113
113
  executeEditFile
114
114
  };
115
- //# sourceMappingURL=chunk-HZK5TEUK.js.map
115
+ //# sourceMappingURL=chunk-SX2CPRX3.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  executeEditFile
3
- } from "./chunk-HZK5TEUK.js";
3
+ } from "./chunk-SX2CPRX3.js";
4
4
  import {
5
5
  EDIT_FILE_SYSTEM_PROMPT,
6
6
  EDIT_FILE_TOOL_DESCRIPTION
@@ -91,4 +91,4 @@ export {
91
91
  openai_default,
92
92
  openai_exports
93
93
  };
94
- //# sourceMappingURL=chunk-MJHAVXFK.js.map
94
+ //# sourceMappingURL=chunk-WHWAVW6C.js.map
@@ -14,7 +14,7 @@ import {
14
14
  executeToolCall,
15
15
  formatGitHubReadFileResult,
16
16
  formatResult
17
- } from "./chunk-EL6CCK7C.js";
17
+ } from "./chunk-3TFFMRLU.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-DS7YL4V3.js.map
93
+ //# sourceMappingURL=chunk-YKOCOQCE.js.map
package/dist/client.cjs CHANGED
@@ -36,7 +36,7 @@ var init_package = __esm({
36
36
  "package.json"() {
37
37
  package_default = {
38
38
  name: "@morphllm/morphsdk",
39
- version: "0.2.127",
39
+ version: "0.2.129",
40
40
  description: "TypeScript SDK and CLI for Morph Fast Apply integration",
41
41
  type: "module",
42
42
  main: "./dist/index.cjs",
@@ -2782,7 +2782,7 @@ function calculateContextBudget(messages) {
2782
2782
  async function buildInitialState(repoRoot, query, provider, options) {
2783
2783
  const budget = calculateContextBudget([]);
2784
2784
  const turnTag = `Turn 0/${AGENT_CONFIG.MAX_TURNS}`;
2785
- const treeDepth = options?.query_type === "node_modules" ? 1 : 2;
2785
+ const treeDepth = options?.search_type === "node_modules" ? 1 : 2;
2786
2786
  try {
2787
2787
  const entries = await provider.listDirectory({
2788
2788
  path: ".",
@@ -2908,7 +2908,7 @@ async function runWarpGrep(config) {
2908
2908
  const messages = [];
2909
2909
  const maxTurns = AGENT_CONFIG.MAX_TURNS;
2910
2910
  const initialStateStart = Date.now();
2911
- const initialState = await buildInitialState(repoRoot, config.query, config.provider, { query_type: config.query_type });
2911
+ const initialState = await buildInitialState(repoRoot, config.query, config.provider, { search_type: config.search_type });
2912
2912
  timings.initial_state_ms = Date.now() - initialStateStart;
2913
2913
  messages.push({ role: "user", content: initialState });
2914
2914
  const provider = config.provider;
@@ -3066,7 +3066,7 @@ async function* runWarpGrepStreaming(config) {
3066
3066
  const messages = [];
3067
3067
  const maxTurns = AGENT_CONFIG.MAX_TURNS;
3068
3068
  const initialStateStart = Date.now();
3069
- const initialState = await buildInitialState(repoRoot, config.query, config.provider, { query_type: config.query_type });
3069
+ const initialState = await buildInitialState(repoRoot, config.query, config.provider, { search_type: config.search_type });
3070
3070
  timings.initial_state_ms = Date.now() - initialStateStart;
3071
3071
  messages.push({ role: "user", content: initialState });
3072
3072
  const provider = config.provider;
@@ -4634,19 +4634,29 @@ var CompactClient = class {
4634
4634
  timeout: this.config.timeout,
4635
4635
  maxRetries: this.config.retryConfig?.maxRetries ?? 3
4636
4636
  });
4637
- const instructions = input.prompt ? `The user's next message will be: "${input.prompt}"
4638
- Prioritize keeping context relevant to this query.` : void 0;
4637
+ const messages = [];
4638
+ if (input.prompt) {
4639
+ messages.push({
4640
+ role: "system",
4641
+ content: `The user's next message will be: "${input.prompt}"
4642
+ Prioritize keeping context relevant to this query.`
4643
+ });
4644
+ }
4645
+ if (typeof input.input === "string") {
4646
+ messages.push({ role: "user", content: input.input });
4647
+ } else {
4648
+ messages.push(...input.input);
4649
+ }
4639
4650
  if (debug) {
4640
- console.log(`[Compact] Calling ${this.config.morphApiUrl}/v1/responses`);
4651
+ console.log(`[Compact] Calling ${this.config.morphApiUrl}/v1/chat/completions`);
4641
4652
  console.log(`[Compact] Model: ${input.model || "morph-compactor"}`);
4642
4653
  }
4643
4654
  const startTime = Date.now();
4644
- const response = await client.responses.create({
4655
+ const response = await client.chat.completions.create({
4645
4656
  model: input.model || "morph-compactor",
4646
- input: input.input,
4647
- ...instructions && { instructions },
4657
+ messages,
4648
4658
  ...input.temperature != null && { temperature: input.temperature },
4649
- ...input.max_output_tokens != null && { max_output_tokens: input.max_output_tokens },
4659
+ ...input.max_output_tokens != null && { max_tokens: input.max_output_tokens },
4650
4660
  stream: false
4651
4661
  });
4652
4662
  const elapsed = Date.now() - startTime;
@@ -4655,9 +4665,12 @@ Prioritize keeping context relevant to this query.` : void 0;
4655
4665
  }
4656
4666
  return {
4657
4667
  id: response.id,
4658
- output: response.output,
4659
- usage: response.usage,
4660
- status: response.status ?? "completed",
4668
+ output: response.choices[0]?.message?.content || "",
4669
+ usage: response.usage ? {
4670
+ input_tokens: response.usage.prompt_tokens,
4671
+ output_tokens: response.usage.completion_tokens,
4672
+ total_tokens: response.usage.total_tokens
4673
+ } : void 0,
4661
4674
  model: response.model
4662
4675
  };
4663
4676
  }