@morphllm/morphsdk 0.2.129 → 0.2.131

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 (164) hide show
  1. package/dist/{chunk-BYSUPWLD.js → chunk-6AG76MU3.js} +2 -2
  2. package/dist/{chunk-3TFFMRLU.js → chunk-7A3SZVL3.js} +2 -2
  3. package/dist/{chunk-B3FD547B.js → chunk-ATFHKQ5J.js} +2 -2
  4. package/dist/{chunk-Q6CZVXYS.js → chunk-AXLLINHQ.js} +2 -2
  5. package/dist/{chunk-SX2CPRX3.js → chunk-BJKF3627.js} +1 -1
  6. package/dist/{chunk-OW7IJQ2C.js → chunk-DBMV2AFY.js} +2 -2
  7. package/dist/{chunk-WHWAVW6C.js → chunk-EIU5YS4D.js} +2 -2
  8. package/dist/{chunk-7QEBCY54.js → chunk-FRHM23Z6.js} +2 -2
  9. package/dist/{chunk-HWACA6B5.js → chunk-GR54MXHM.js} +2 -2
  10. package/dist/{chunk-4LCQZZIC.js → chunk-HQSS6Q4N.js} +2 -2
  11. package/dist/{chunk-6MIRP7R7.js → chunk-IC6L3LNV.js} +2 -2
  12. package/dist/chunk-NZNRAQ67.js +75 -0
  13. package/dist/chunk-NZNRAQ67.js.map +1 -0
  14. package/dist/{chunk-GG74DOY7.js → chunk-RUYDBMK6.js} +2 -2
  15. package/dist/{chunk-2VCDZBMM.js → chunk-SFK3UDWM.js} +18 -18
  16. package/dist/{chunk-2VCDZBMM.js.map → chunk-SFK3UDWM.js.map} +1 -1
  17. package/dist/{chunk-2WP2O5WP.js → chunk-TKIJGQL7.js} +3 -3
  18. package/dist/{chunk-MPPAGVOZ.js → chunk-TW2H5SQP.js} +2 -2
  19. package/dist/{chunk-6WK6SX3N.js → chunk-UP3YDHXA.js} +2 -2
  20. package/dist/{chunk-YKOCOQCE.js → chunk-UXLVWCAU.js} +2 -2
  21. package/dist/{chunk-2F46ZQGK.js → chunk-V7RCKNRG.js} +2 -2
  22. package/dist/{chunk-IP5EU7UN.js → chunk-VWJOTJWJ.js} +2 -2
  23. package/dist/{chunk-4LJXUE2I.js → chunk-WAGYAH7X.js} +2 -2
  24. package/dist/{chunk-4LJXUE2I.js.map → chunk-WAGYAH7X.js.map} +1 -1
  25. package/dist/{chunk-5BBF7UKK.js → chunk-WOJ24ZC3.js} +2 -2
  26. package/dist/{chunk-27F4OSVC.js → chunk-X5GTFLZF.js} +2 -2
  27. package/dist/{chunk-HEKBZRWN.js → chunk-YRDZOSAL.js} +2 -2
  28. package/dist/{client-CBZIDsNl.d.ts → client-Cixl5duw.d.ts} +2 -2
  29. package/dist/client.cjs +38 -52
  30. package/dist/client.cjs.map +1 -1
  31. package/dist/client.d.ts +1 -2
  32. package/dist/client.js +21 -21
  33. package/dist/edge.cjs +36 -50
  34. package/dist/edge.cjs.map +1 -1
  35. package/dist/edge.d.ts +1 -2
  36. package/dist/edge.js +5 -5
  37. package/dist/index.cjs +38 -52
  38. package/dist/index.cjs.map +1 -1
  39. package/dist/index.d.ts +2 -3
  40. package/dist/index.js +21 -21
  41. package/dist/modelrouter/core.cjs +1 -1
  42. package/dist/modelrouter/core.cjs.map +1 -1
  43. package/dist/modelrouter/core.js +3 -3
  44. package/dist/modelrouter/index.cjs +1 -1
  45. package/dist/modelrouter/index.cjs.map +1 -1
  46. package/dist/modelrouter/index.js +3 -3
  47. package/dist/tools/browser/anthropic.cjs +1 -1
  48. package/dist/tools/browser/anthropic.cjs.map +1 -1
  49. package/dist/tools/browser/anthropic.js +5 -5
  50. package/dist/tools/browser/core.cjs +1 -1
  51. package/dist/tools/browser/core.cjs.map +1 -1
  52. package/dist/tools/browser/core.js +4 -4
  53. package/dist/tools/browser/index.cjs +1 -1
  54. package/dist/tools/browser/index.cjs.map +1 -1
  55. package/dist/tools/browser/index.js +7 -7
  56. package/dist/tools/browser/openai.cjs +1 -1
  57. package/dist/tools/browser/openai.cjs.map +1 -1
  58. package/dist/tools/browser/openai.js +5 -5
  59. package/dist/tools/browser/profiles/core.cjs +1 -1
  60. package/dist/tools/browser/profiles/core.cjs.map +1 -1
  61. package/dist/tools/browser/profiles/core.js +3 -3
  62. package/dist/tools/browser/profiles/index.cjs +1 -1
  63. package/dist/tools/browser/profiles/index.cjs.map +1 -1
  64. package/dist/tools/browser/profiles/index.js +3 -3
  65. package/dist/tools/browser/vercel.cjs +1 -1
  66. package/dist/tools/browser/vercel.cjs.map +1 -1
  67. package/dist/tools/browser/vercel.js +5 -5
  68. package/dist/tools/codebase_search/anthropic.cjs +1 -1
  69. package/dist/tools/codebase_search/anthropic.cjs.map +1 -1
  70. package/dist/tools/codebase_search/anthropic.js +4 -4
  71. package/dist/tools/codebase_search/core.cjs +1 -1
  72. package/dist/tools/codebase_search/core.cjs.map +1 -1
  73. package/dist/tools/codebase_search/core.js +3 -3
  74. package/dist/tools/codebase_search/index.cjs +1 -1
  75. package/dist/tools/codebase_search/index.cjs.map +1 -1
  76. package/dist/tools/codebase_search/index.js +6 -6
  77. package/dist/tools/codebase_search/openai.cjs +1 -1
  78. package/dist/tools/codebase_search/openai.cjs.map +1 -1
  79. package/dist/tools/codebase_search/openai.js +4 -4
  80. package/dist/tools/codebase_search/vercel.cjs +1 -1
  81. package/dist/tools/codebase_search/vercel.cjs.map +1 -1
  82. package/dist/tools/codebase_search/vercel.js +4 -4
  83. package/dist/tools/compact/core.cjs +35 -59
  84. package/dist/tools/compact/core.cjs.map +1 -1
  85. package/dist/tools/compact/core.d.ts +15 -17
  86. package/dist/tools/compact/core.js +1 -1
  87. package/dist/tools/compact/index.cjs +35 -59
  88. package/dist/tools/compact/index.cjs.map +1 -1
  89. package/dist/tools/compact/index.d.ts +1 -2
  90. package/dist/tools/compact/index.js +1 -1
  91. package/dist/tools/compact/types.cjs.map +1 -1
  92. package/dist/tools/compact/types.d.ts +42 -24
  93. package/dist/tools/fastapply/anthropic.cjs +1 -1
  94. package/dist/tools/fastapply/anthropic.cjs.map +1 -1
  95. package/dist/tools/fastapply/anthropic.js +4 -4
  96. package/dist/tools/fastapply/apply.cjs +1 -1
  97. package/dist/tools/fastapply/apply.cjs.map +1 -1
  98. package/dist/tools/fastapply/apply.js +2 -2
  99. package/dist/tools/fastapply/core.cjs +1 -1
  100. package/dist/tools/fastapply/core.cjs.map +1 -1
  101. package/dist/tools/fastapply/core.js +3 -3
  102. package/dist/tools/fastapply/index.cjs +1 -1
  103. package/dist/tools/fastapply/index.cjs.map +1 -1
  104. package/dist/tools/fastapply/index.js +6 -6
  105. package/dist/tools/fastapply/openai.cjs +1 -1
  106. package/dist/tools/fastapply/openai.cjs.map +1 -1
  107. package/dist/tools/fastapply/openai.js +4 -4
  108. package/dist/tools/fastapply/vercel.cjs +1 -1
  109. package/dist/tools/fastapply/vercel.cjs.map +1 -1
  110. package/dist/tools/fastapply/vercel.js +4 -4
  111. package/dist/tools/index.cjs +1 -1
  112. package/dist/tools/index.cjs.map +1 -1
  113. package/dist/tools/index.js +6 -6
  114. package/dist/tools/utils/resilience.cjs +1 -1
  115. package/dist/tools/utils/resilience.cjs.map +1 -1
  116. package/dist/tools/utils/resilience.js +2 -2
  117. package/dist/tools/warp_grep/agent/runner.cjs +1 -1
  118. package/dist/tools/warp_grep/agent/runner.cjs.map +1 -1
  119. package/dist/tools/warp_grep/agent/runner.js +2 -2
  120. package/dist/tools/warp_grep/anthropic.cjs +1 -1
  121. package/dist/tools/warp_grep/anthropic.cjs.map +1 -1
  122. package/dist/tools/warp_grep/anthropic.js +4 -4
  123. package/dist/tools/warp_grep/client.cjs +1 -1
  124. package/dist/tools/warp_grep/client.cjs.map +1 -1
  125. package/dist/tools/warp_grep/client.js +3 -3
  126. package/dist/tools/warp_grep/gemini.cjs +1 -1
  127. package/dist/tools/warp_grep/gemini.cjs.map +1 -1
  128. package/dist/tools/warp_grep/gemini.js +3 -3
  129. package/dist/tools/warp_grep/index.cjs +1 -1
  130. package/dist/tools/warp_grep/index.cjs.map +1 -1
  131. package/dist/tools/warp_grep/index.js +3 -3
  132. package/dist/tools/warp_grep/openai.cjs +1 -1
  133. package/dist/tools/warp_grep/openai.cjs.map +1 -1
  134. package/dist/tools/warp_grep/openai.js +4 -4
  135. package/dist/tools/warp_grep/vercel.cjs +1 -1
  136. package/dist/tools/warp_grep/vercel.cjs.map +1 -1
  137. package/dist/tools/warp_grep/vercel.js +4 -4
  138. package/dist/version.cjs +1 -1
  139. package/dist/version.cjs.map +1 -1
  140. package/dist/version.js +1 -1
  141. package/package.json +1 -1
  142. package/dist/chunk-KUI7Y2OT.js +0 -89
  143. package/dist/chunk-KUI7Y2OT.js.map +0 -1
  144. /package/dist/{chunk-BYSUPWLD.js.map → chunk-6AG76MU3.js.map} +0 -0
  145. /package/dist/{chunk-3TFFMRLU.js.map → chunk-7A3SZVL3.js.map} +0 -0
  146. /package/dist/{chunk-B3FD547B.js.map → chunk-ATFHKQ5J.js.map} +0 -0
  147. /package/dist/{chunk-Q6CZVXYS.js.map → chunk-AXLLINHQ.js.map} +0 -0
  148. /package/dist/{chunk-SX2CPRX3.js.map → chunk-BJKF3627.js.map} +0 -0
  149. /package/dist/{chunk-OW7IJQ2C.js.map → chunk-DBMV2AFY.js.map} +0 -0
  150. /package/dist/{chunk-WHWAVW6C.js.map → chunk-EIU5YS4D.js.map} +0 -0
  151. /package/dist/{chunk-7QEBCY54.js.map → chunk-FRHM23Z6.js.map} +0 -0
  152. /package/dist/{chunk-HWACA6B5.js.map → chunk-GR54MXHM.js.map} +0 -0
  153. /package/dist/{chunk-4LCQZZIC.js.map → chunk-HQSS6Q4N.js.map} +0 -0
  154. /package/dist/{chunk-6MIRP7R7.js.map → chunk-IC6L3LNV.js.map} +0 -0
  155. /package/dist/{chunk-GG74DOY7.js.map → chunk-RUYDBMK6.js.map} +0 -0
  156. /package/dist/{chunk-2WP2O5WP.js.map → chunk-TKIJGQL7.js.map} +0 -0
  157. /package/dist/{chunk-MPPAGVOZ.js.map → chunk-TW2H5SQP.js.map} +0 -0
  158. /package/dist/{chunk-6WK6SX3N.js.map → chunk-UP3YDHXA.js.map} +0 -0
  159. /package/dist/{chunk-YKOCOQCE.js.map → chunk-UXLVWCAU.js.map} +0 -0
  160. /package/dist/{chunk-2F46ZQGK.js.map → chunk-V7RCKNRG.js.map} +0 -0
  161. /package/dist/{chunk-IP5EU7UN.js.map → chunk-VWJOTJWJ.js.map} +0 -0
  162. /package/dist/{chunk-5BBF7UKK.js.map → chunk-WOJ24ZC3.js.map} +0 -0
  163. /package/dist/{chunk-27F4OSVC.js.map → chunk-X5GTFLZF.js.map} +0 -0
  164. /package/dist/{chunk-HEKBZRWN.js.map → chunk-YRDZOSAL.js.map} +0 -0
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.129",
39
+ version: "0.2.131",
40
40
  description: "TypeScript SDK and CLI for Morph Fast Apply integration",
41
41
  type: "module",
42
42
  main: "./dist/index.cjs",
@@ -4592,7 +4592,6 @@ var import_isomorphic_git2 = __toESM(require("isomorphic-git"), 1);
4592
4592
  var import_node2 = __toESM(require("isomorphic-git/http/node"), 1);
4593
4593
 
4594
4594
  // tools/compact/core.ts
4595
- var import_openai3 = __toESM(require("openai"), 1);
4596
4595
  var DEFAULT_API_URL4 = "https://api.morphllm.com";
4597
4596
  var DEFAULT_TIMEOUT3 = 12e4;
4598
4597
  var CompactClient = class {
@@ -4605,22 +4604,25 @@ var CompactClient = class {
4605
4604
  };
4606
4605
  }
4607
4606
  /**
4608
- * Compact conversation context using Morph compactor
4609
- *
4610
- * @param input - Compact parameters including input content and optional prompt
4611
- * @returns Compact result with compacted output and usage stats
4607
+ * Compress messages via /v1/compress.
4608
+ * Returns per-message `compacted_line_ranges` showing which lines were removed.
4612
4609
  *
4613
4610
  * @example
4614
4611
  * ```typescript
4615
4612
  * const client = new CompactClient({ morphApiKey: 'sk-...' });
4616
- * const result = await client.compact({
4617
- * input: 'Long conversation context to compact...',
4618
- * prompt: 'Focus on the code review feedback',
4613
+ * const result = await client.compress({
4614
+ * messages: [{ role: "user", content: codeFile }],
4615
+ * compression_ratio: 0.5,
4616
+ * query: "authentication",
4619
4617
  * });
4620
- * console.log(result.output);
4618
+ * for (const msg of result.messages) {
4619
+ * for (const r of msg.compacted_line_ranges) {
4620
+ * console.log(`Lines ${r.start}-${r.end} removed`);
4621
+ * }
4622
+ * }
4621
4623
  * ```
4622
4624
  */
4623
- async compact(input) {
4625
+ async compress(input) {
4624
4626
  const apiKey = this.config.morphApiKey || (typeof process !== "undefined" ? process.env?.MORPH_API_KEY : void 0);
4625
4627
  const debug = this.config.debug || false;
4626
4628
  if (!apiKey) {
@@ -4628,51 +4630,35 @@ var CompactClient = class {
4628
4630
  "Morph API key not found. Set MORPH_API_KEY environment variable or pass morphApiKey in config."
4629
4631
  );
4630
4632
  }
4631
- const client = new import_openai3.default({
4632
- apiKey,
4633
- baseURL: `${this.config.morphApiUrl}/v1`,
4634
- timeout: this.config.timeout,
4635
- maxRetries: this.config.retryConfig?.maxRetries ?? 3
4636
- });
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
- }
4633
+ const url = `${this.config.morphApiUrl}/v1/compress`;
4650
4634
  if (debug) {
4651
- console.log(`[Compact] Calling ${this.config.morphApiUrl}/v1/chat/completions`);
4652
- console.log(`[Compact] Model: ${input.model || "morph-compactor"}`);
4635
+ console.log(`[Compact] Calling ${url}`);
4653
4636
  }
4654
4637
  const startTime = Date.now();
4655
- const response = await client.chat.completions.create({
4656
- model: input.model || "morph-compactor",
4657
- messages,
4658
- ...input.temperature != null && { temperature: input.temperature },
4659
- ...input.max_output_tokens != null && { max_tokens: input.max_output_tokens },
4660
- stream: false
4638
+ const response = await fetch(url, {
4639
+ method: "POST",
4640
+ headers: {
4641
+ "Authorization": `Bearer ${apiKey}`,
4642
+ "Content-Type": "application/json"
4643
+ },
4644
+ body: JSON.stringify({
4645
+ messages: input.messages,
4646
+ compression_ratio: input.compression_ratio ?? 0.5,
4647
+ preserve_recent: input.preserve_recent ?? 2,
4648
+ query: input.query,
4649
+ model: input.model ?? "swe-pruner-0.6b"
4650
+ }),
4651
+ signal: AbortSignal.timeout(this.config.timeout)
4661
4652
  });
4662
- const elapsed = Date.now() - startTime;
4653
+ if (!response.ok) {
4654
+ const body = await response.text();
4655
+ throw new Error(`Compress API error ${response.status}: ${body}`);
4656
+ }
4657
+ const data = await response.json();
4663
4658
  if (debug) {
4664
- console.log(`[Compact] Success in ${elapsed}ms`);
4659
+ console.log(`[Compact] compress() done in ${Date.now() - startTime}ms`);
4665
4660
  }
4666
- return {
4667
- id: response.id,
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,
4674
- model: response.model
4675
- };
4661
+ return data;
4676
4662
  }
4677
4663
  };
4678
4664
 
@@ -5662,7 +5648,7 @@ var MorphClient = class {
5662
5648
  anthropic;
5663
5649
  /** Vercel AI SDK tool factories */
5664
5650
  vercel;
5665
- /** Responses API with compact tool */
5651
+ /** Responses API — compress with line ranges */
5666
5652
  responses;
5667
5653
  /**
5668
5654
  * Create a new Morph SDK client
@@ -5747,7 +5733,7 @@ var MorphClient = class {
5747
5733
  debug: config.debug
5748
5734
  });
5749
5735
  this.responses = {
5750
- compact: compactClient.compact.bind(compactClient)
5736
+ compress: compactClient.compress.bind(compactClient)
5751
5737
  };
5752
5738
  this.openai = new OpenAIToolFactory(config);
5753
5739
  this.anthropic = new AnthropicToolFactory(config);