@morphllm/morphsdk 0.2.119 → 0.2.121

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-ZRLEAPZV.js → chunk-266SWRHK.js} +2 -2
  2. package/dist/{chunk-4VWJFZVS.js → chunk-3HBZXN6E.js} +6 -1
  3. package/dist/chunk-3HBZXN6E.js.map +1 -0
  4. package/dist/{chunk-3T4BGWCV.js → chunk-7IZUNRPZ.js} +37 -23
  5. package/dist/{chunk-3T4BGWCV.js.map → chunk-7IZUNRPZ.js.map} +1 -1
  6. package/dist/{chunk-FXBT4UDY.js → chunk-7QZFNYOH.js} +7 -2
  7. package/dist/chunk-7QZFNYOH.js.map +1 -0
  8. package/dist/{chunk-M5DR2WOZ.js → chunk-AI3ZCOCT.js} +1 -1
  9. package/dist/{chunk-UNHHRMU7.js → chunk-BDKXYMU2.js} +4 -4
  10. package/dist/{chunk-G7RSAZIK.js → chunk-C3BQUIFE.js} +5 -5
  11. package/dist/{chunk-WM77HRKO.js → chunk-CIFPLFBQ.js} +2 -2
  12. package/dist/{chunk-WVTX3QS6.js → chunk-CXP63PHW.js} +2 -2
  13. package/dist/{chunk-5IVVJMMX.js → chunk-DL3Y3R6A.js} +2 -2
  14. package/dist/{chunk-HMQSMEN2.js → chunk-EF7ZYLA2.js} +4 -4
  15. package/dist/chunk-EJYFE73S.js +230 -0
  16. package/dist/chunk-EJYFE73S.js.map +1 -0
  17. package/dist/{chunk-EAT5W3SH.js → chunk-EZFXR52Q.js} +2 -2
  18. package/dist/{chunk-HMAX2FEE.js → chunk-FV3R3JGV.js} +4 -4
  19. package/dist/{chunk-OUEJ6XEO.js → chunk-GNRMDXJA.js} +2 -2
  20. package/dist/chunk-J267T54M.js +76 -0
  21. package/dist/chunk-J267T54M.js.map +1 -0
  22. package/dist/{chunk-SI2CKRKJ.js → chunk-JBIFS33U.js} +2 -2
  23. package/dist/{chunk-EMMSRY32.js → chunk-L4PK4VC7.js} +2 -2
  24. package/dist/{chunk-PR44LEQQ.js → chunk-MAAULSSQ.js} +2 -2
  25. package/dist/{chunk-QL7MV3GT.js → chunk-QDGB6FLI.js} +12 -8
  26. package/dist/chunk-QDGB6FLI.js.map +1 -0
  27. package/dist/{chunk-K4EO7S2O.js → chunk-U5UDFQXK.js} +2 -2
  28. package/dist/{chunk-O5DA5V5S.js → chunk-W37KJB25.js} +2 -2
  29. package/dist/{chunk-ZYPLV3HP.js → chunk-WEBUKGPK.js} +3 -3
  30. package/dist/{chunk-OOCSNAA5.js → chunk-XERAWJ3H.js} +2 -2
  31. package/dist/{chunk-Y5BB7JFH.js → chunk-YMOTJ6ZP.js} +4 -4
  32. package/dist/{client-D7iO2TbA.d.ts → client-Bp3MRcJc.d.ts} +6 -1
  33. package/dist/client.cjs +329 -2
  34. package/dist/client.cjs.map +1 -1
  35. package/dist/client.d.ts +4 -1
  36. package/dist/client.js +24 -22
  37. package/dist/edge.cjs +305 -1
  38. package/dist/edge.cjs.map +1 -1
  39. package/dist/edge.d.ts +4 -0
  40. package/dist/edge.js +15 -7
  41. package/dist/index.cjs +334 -2
  42. package/dist/index.cjs.map +1 -1
  43. package/dist/index.d.ts +5 -1
  44. package/dist/index.js +38 -30
  45. package/dist/modelrouter/core.cjs +227 -0
  46. package/dist/modelrouter/core.cjs.map +1 -1
  47. package/dist/modelrouter/core.js +3 -2
  48. package/dist/modelrouter/index.cjs +227 -0
  49. package/dist/modelrouter/index.cjs.map +1 -1
  50. package/dist/modelrouter/index.js +3 -2
  51. package/dist/tools/browser/anthropic.cjs +227 -0
  52. package/dist/tools/browser/anthropic.cjs.map +1 -1
  53. package/dist/tools/browser/anthropic.js +6 -5
  54. package/dist/tools/browser/core.cjs +227 -0
  55. package/dist/tools/browser/core.cjs.map +1 -1
  56. package/dist/tools/browser/core.js +5 -4
  57. package/dist/tools/browser/index.cjs +227 -0
  58. package/dist/tools/browser/index.cjs.map +1 -1
  59. package/dist/tools/browser/index.js +13 -12
  60. package/dist/tools/browser/index.js.map +1 -1
  61. package/dist/tools/browser/openai.cjs +227 -0
  62. package/dist/tools/browser/openai.cjs.map +1 -1
  63. package/dist/tools/browser/openai.js +6 -5
  64. package/dist/tools/browser/profiles/core.cjs +227 -0
  65. package/dist/tools/browser/profiles/core.cjs.map +1 -1
  66. package/dist/tools/browser/profiles/core.js +3 -2
  67. package/dist/tools/browser/profiles/index.cjs +227 -0
  68. package/dist/tools/browser/profiles/index.cjs.map +1 -1
  69. package/dist/tools/browser/profiles/index.js +3 -2
  70. package/dist/tools/browser/vercel.cjs +227 -0
  71. package/dist/tools/browser/vercel.cjs.map +1 -1
  72. package/dist/tools/browser/vercel.js +6 -5
  73. package/dist/tools/codebase_search/anthropic.cjs +227 -0
  74. package/dist/tools/codebase_search/anthropic.cjs.map +1 -1
  75. package/dist/tools/codebase_search/anthropic.js +4 -3
  76. package/dist/tools/codebase_search/core.cjs +227 -0
  77. package/dist/tools/codebase_search/core.cjs.map +1 -1
  78. package/dist/tools/codebase_search/core.js +3 -2
  79. package/dist/tools/codebase_search/index.cjs +227 -0
  80. package/dist/tools/codebase_search/index.cjs.map +1 -1
  81. package/dist/tools/codebase_search/index.js +8 -7
  82. package/dist/tools/codebase_search/openai.cjs +227 -0
  83. package/dist/tools/codebase_search/openai.cjs.map +1 -1
  84. package/dist/tools/codebase_search/openai.js +4 -3
  85. package/dist/tools/codebase_search/vercel.cjs +227 -0
  86. package/dist/tools/codebase_search/vercel.cjs.map +1 -1
  87. package/dist/tools/codebase_search/vercel.js +4 -3
  88. package/dist/tools/compact/core.cjs +110 -0
  89. package/dist/tools/compact/core.cjs.map +1 -0
  90. package/dist/tools/compact/core.d.ts +37 -0
  91. package/dist/tools/compact/core.js +8 -0
  92. package/dist/tools/compact/core.js.map +1 -0
  93. package/dist/tools/compact/index.cjs +112 -0
  94. package/dist/tools/compact/index.cjs.map +1 -0
  95. package/dist/tools/compact/index.d.ts +4 -0
  96. package/dist/tools/compact/index.js +8 -0
  97. package/dist/tools/compact/index.js.map +1 -0
  98. package/dist/tools/compact/types.cjs +19 -0
  99. package/dist/tools/compact/types.cjs.map +1 -0
  100. package/dist/tools/compact/types.d.ts +60 -0
  101. package/dist/tools/compact/types.js +1 -0
  102. package/dist/tools/compact/types.js.map +1 -0
  103. package/dist/tools/fastapply/anthropic.cjs +241 -1
  104. package/dist/tools/fastapply/anthropic.cjs.map +1 -1
  105. package/dist/tools/fastapply/anthropic.js +4 -3
  106. package/dist/tools/fastapply/apply.cjs +230 -1
  107. package/dist/tools/fastapply/apply.cjs.map +1 -1
  108. package/dist/tools/fastapply/apply.js +2 -1
  109. package/dist/tools/fastapply/core.cjs +241 -1
  110. package/dist/tools/fastapply/core.cjs.map +1 -1
  111. package/dist/tools/fastapply/core.js +3 -2
  112. package/dist/tools/fastapply/index.cjs +241 -1
  113. package/dist/tools/fastapply/index.cjs.map +1 -1
  114. package/dist/tools/fastapply/index.d.ts +1 -1
  115. package/dist/tools/fastapply/index.js +9 -8
  116. package/dist/tools/fastapply/openai.cjs +241 -1
  117. package/dist/tools/fastapply/openai.cjs.map +1 -1
  118. package/dist/tools/fastapply/openai.js +4 -3
  119. package/dist/tools/fastapply/vercel.cjs +241 -1
  120. package/dist/tools/fastapply/vercel.cjs.map +1 -1
  121. package/dist/tools/fastapply/vercel.d.ts +1 -1
  122. package/dist/tools/fastapply/vercel.js +4 -3
  123. package/dist/tools/index.cjs +241 -1
  124. package/dist/tools/index.cjs.map +1 -1
  125. package/dist/tools/index.d.ts +1 -1
  126. package/dist/tools/index.js +9 -8
  127. package/dist/tools/utils/resilience.cjs +229 -0
  128. package/dist/tools/utils/resilience.cjs.map +1 -1
  129. package/dist/tools/utils/resilience.js +2 -1
  130. package/dist/tools/warp_grep/agent/runner.cjs +230 -1
  131. package/dist/tools/warp_grep/agent/runner.cjs.map +1 -1
  132. package/dist/tools/warp_grep/agent/runner.js +4 -3
  133. package/dist/tools/warp_grep/anthropic.cjs +230 -1
  134. package/dist/tools/warp_grep/anthropic.cjs.map +1 -1
  135. package/dist/tools/warp_grep/anthropic.js +6 -5
  136. package/dist/tools/warp_grep/client.cjs +230 -1
  137. package/dist/tools/warp_grep/client.cjs.map +1 -1
  138. package/dist/tools/warp_grep/client.js +5 -4
  139. package/dist/tools/warp_grep/gemini.cjs +230 -1
  140. package/dist/tools/warp_grep/gemini.cjs.map +1 -1
  141. package/dist/tools/warp_grep/gemini.js +5 -4
  142. package/dist/tools/warp_grep/gemini.js.map +1 -1
  143. package/dist/tools/warp_grep/harness.js +9 -9
  144. package/dist/tools/warp_grep/index.cjs +230 -1
  145. package/dist/tools/warp_grep/index.cjs.map +1 -1
  146. package/dist/tools/warp_grep/index.js +10 -9
  147. package/dist/tools/warp_grep/openai.cjs +230 -1
  148. package/dist/tools/warp_grep/openai.cjs.map +1 -1
  149. package/dist/tools/warp_grep/openai.js +6 -5
  150. package/dist/tools/warp_grep/providers/local.js +2 -2
  151. package/dist/tools/warp_grep/vercel.cjs +230 -1
  152. package/dist/tools/warp_grep/vercel.cjs.map +1 -1
  153. package/dist/tools/warp_grep/vercel.js +6 -5
  154. package/dist/version.cjs +256 -0
  155. package/dist/version.cjs.map +1 -0
  156. package/dist/version.d.ts +3 -0
  157. package/dist/version.js +8 -0
  158. package/dist/version.js.map +1 -0
  159. package/package.json +7 -2
  160. package/dist/chunk-4VWJFZVS.js.map +0 -1
  161. package/dist/chunk-FXBT4UDY.js.map +0 -1
  162. package/dist/chunk-QL7MV3GT.js.map +0 -1
  163. package/dist/{chunk-ZRLEAPZV.js.map → chunk-266SWRHK.js.map} +0 -0
  164. package/dist/{chunk-M5DR2WOZ.js.map → chunk-AI3ZCOCT.js.map} +0 -0
  165. package/dist/{chunk-UNHHRMU7.js.map → chunk-BDKXYMU2.js.map} +0 -0
  166. package/dist/{chunk-G7RSAZIK.js.map → chunk-C3BQUIFE.js.map} +0 -0
  167. package/dist/{chunk-WM77HRKO.js.map → chunk-CIFPLFBQ.js.map} +0 -0
  168. package/dist/{chunk-WVTX3QS6.js.map → chunk-CXP63PHW.js.map} +0 -0
  169. package/dist/{chunk-5IVVJMMX.js.map → chunk-DL3Y3R6A.js.map} +0 -0
  170. package/dist/{chunk-HMQSMEN2.js.map → chunk-EF7ZYLA2.js.map} +0 -0
  171. package/dist/{chunk-EAT5W3SH.js.map → chunk-EZFXR52Q.js.map} +0 -0
  172. package/dist/{chunk-HMAX2FEE.js.map → chunk-FV3R3JGV.js.map} +0 -0
  173. package/dist/{chunk-OUEJ6XEO.js.map → chunk-GNRMDXJA.js.map} +0 -0
  174. package/dist/{chunk-SI2CKRKJ.js.map → chunk-JBIFS33U.js.map} +0 -0
  175. package/dist/{chunk-EMMSRY32.js.map → chunk-L4PK4VC7.js.map} +0 -0
  176. package/dist/{chunk-PR44LEQQ.js.map → chunk-MAAULSSQ.js.map} +0 -0
  177. package/dist/{chunk-K4EO7S2O.js.map → chunk-U5UDFQXK.js.map} +0 -0
  178. package/dist/{chunk-O5DA5V5S.js.map → chunk-W37KJB25.js.map} +0 -0
  179. package/dist/{chunk-ZYPLV3HP.js.map → chunk-WEBUKGPK.js.map} +0 -0
  180. package/dist/{chunk-OOCSNAA5.js.map → chunk-XERAWJ3H.js.map} +0 -0
  181. package/dist/{chunk-Y5BB7JFH.js.map → chunk-YMOTJ6ZP.js.map} +0 -0
  182. package/dist/{vercel-B1GZ_g9N.d.ts → vercel-BTSPdTA-.d.ts} +2 -2
package/dist/edge.js CHANGED
@@ -1,22 +1,30 @@
1
1
  import {
2
- applyEdit,
3
- callMorphAPI,
4
- countChanges,
5
- generateUdiff
6
- } from "./chunk-FXBT4UDY.js";
2
+ CompactClient
3
+ } from "./chunk-J267T54M.js";
7
4
  import {
8
5
  AnthropicRouter,
9
6
  GeminiRouter,
10
7
  OpenAIRouter,
11
8
  RawRouter
12
- } from "./chunk-EMMSRY32.js";
13
- import "./chunk-4VWJFZVS.js";
9
+ } from "./chunk-L4PK4VC7.js";
10
+ import {
11
+ applyEdit,
12
+ callMorphAPI,
13
+ countChanges,
14
+ generateUdiff
15
+ } from "./chunk-7QZFNYOH.js";
16
+ import "./chunk-3HBZXN6E.js";
17
+ import {
18
+ SDK_VERSION
19
+ } from "./chunk-EJYFE73S.js";
14
20
  import "./chunk-PZ5AY32C.js";
15
21
  export {
16
22
  AnthropicRouter,
23
+ CompactClient,
17
24
  GeminiRouter,
18
25
  OpenAIRouter,
19
26
  RawRouter,
27
+ SDK_VERSION,
20
28
  applyEdit,
21
29
  callMorphAPI,
22
30
  countChanges,
package/dist/index.cjs CHANGED
@@ -30,6 +30,244 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
30
30
  ));
31
31
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
32
32
 
33
+ // package.json
34
+ var package_default;
35
+ var init_package = __esm({
36
+ "package.json"() {
37
+ package_default = {
38
+ name: "@morphllm/morphsdk",
39
+ version: "0.2.121",
40
+ description: "TypeScript SDK and CLI for Morph Fast Apply integration",
41
+ type: "module",
42
+ main: "./dist/index.cjs",
43
+ module: "./dist/index.js",
44
+ types: "./dist/index.d.ts",
45
+ exports: {
46
+ ".": {
47
+ types: "./dist/index.d.ts",
48
+ import: "./dist/index.js",
49
+ require: "./dist/index.cjs"
50
+ },
51
+ "./edge": {
52
+ types: "./dist/edge.d.ts",
53
+ import: "./dist/edge.js",
54
+ require: "./dist/edge.cjs"
55
+ },
56
+ "./tools/warp-grep": {
57
+ types: "./dist/tools/warp_grep/index.d.ts",
58
+ import: "./dist/tools/warp_grep/index.js",
59
+ require: "./dist/tools/warp_grep/index.cjs"
60
+ },
61
+ "./tools/warp-grep/openai": {
62
+ types: "./dist/tools/warp_grep/openai.d.ts",
63
+ import: "./dist/tools/warp_grep/openai.js",
64
+ require: "./dist/tools/warp_grep/openai.cjs"
65
+ },
66
+ "./tools/warp-grep/anthropic": {
67
+ types: "./dist/tools/warp_grep/anthropic.d.ts",
68
+ import: "./dist/tools/warp_grep/anthropic.js",
69
+ require: "./dist/tools/warp_grep/anthropic.cjs"
70
+ },
71
+ "./tools/warp-grep/vercel": {
72
+ types: "./dist/tools/warp_grep/vercel.d.ts",
73
+ import: "./dist/tools/warp_grep/vercel.js",
74
+ require: "./dist/tools/warp_grep/vercel.cjs"
75
+ },
76
+ "./tools/warp-grep/client": {
77
+ types: "./dist/tools/warp_grep/client.d.ts",
78
+ import: "./dist/tools/warp_grep/client.js",
79
+ require: "./dist/tools/warp_grep/client.cjs"
80
+ },
81
+ "./tools/warp-grep/gemini": {
82
+ types: "./dist/tools/warp_grep/gemini.d.ts",
83
+ import: "./dist/tools/warp_grep/gemini.js",
84
+ require: "./dist/tools/warp_grep/gemini.cjs"
85
+ },
86
+ "./tools/warp-grep/harness": {
87
+ types: "./dist/tools/warp_grep/harness.d.ts",
88
+ import: "./dist/tools/warp_grep/harness.js",
89
+ require: "./dist/tools/warp_grep/harness.cjs"
90
+ },
91
+ "./tools/fastapply": {
92
+ types: "./dist/tools/fastapply/index.d.ts",
93
+ import: "./dist/tools/fastapply/index.js",
94
+ require: "./dist/tools/fastapply/index.cjs"
95
+ },
96
+ "./tools/fastapply/anthropic": {
97
+ types: "./dist/tools/fastapply/anthropic.d.ts",
98
+ import: "./dist/tools/fastapply/anthropic.js",
99
+ require: "./dist/tools/fastapply/anthropic.cjs"
100
+ },
101
+ "./tools/fastapply/openai": {
102
+ types: "./dist/tools/fastapply/openai.d.ts",
103
+ import: "./dist/tools/fastapply/openai.js",
104
+ require: "./dist/tools/fastapply/openai.cjs"
105
+ },
106
+ "./tools/fastapply/vercel": {
107
+ types: "./dist/tools/fastapply/vercel.d.ts",
108
+ import: "./dist/tools/fastapply/vercel.js",
109
+ require: "./dist/tools/fastapply/vercel.cjs"
110
+ },
111
+ "./tools/codebase-search": {
112
+ types: "./dist/tools/codebase_search/index.d.ts",
113
+ import: "./dist/tools/codebase_search/index.js",
114
+ require: "./dist/tools/codebase_search/index.cjs"
115
+ },
116
+ "./tools/codebase-search/anthropic": {
117
+ types: "./dist/tools/codebase_search/anthropic.d.ts",
118
+ import: "./dist/tools/codebase_search/anthropic.js",
119
+ require: "./dist/tools/codebase_search/anthropic.cjs"
120
+ },
121
+ "./tools/codebase-search/openai": {
122
+ types: "./dist/tools/codebase_search/openai.d.ts",
123
+ import: "./dist/tools/codebase_search/openai.js",
124
+ require: "./dist/tools/codebase_search/openai.cjs"
125
+ },
126
+ "./tools/codebase-search/vercel": {
127
+ types: "./dist/tools/codebase_search/vercel.d.ts",
128
+ import: "./dist/tools/codebase_search/vercel.js",
129
+ require: "./dist/tools/codebase_search/vercel.cjs"
130
+ },
131
+ "./tools/git": {
132
+ types: "./dist/git/index.d.ts",
133
+ import: "./dist/git/index.js",
134
+ require: "./dist/git/index.cjs"
135
+ },
136
+ "./tools/browser": {
137
+ types: "./dist/tools/browser/index.d.ts",
138
+ import: "./dist/tools/browser/index.js",
139
+ require: "./dist/tools/browser/index.cjs"
140
+ },
141
+ "./tools/browser/anthropic": {
142
+ types: "./dist/tools/browser/anthropic.d.ts",
143
+ import: "./dist/tools/browser/anthropic.js",
144
+ require: "./dist/tools/browser/anthropic.cjs"
145
+ },
146
+ "./tools/browser/openai": {
147
+ types: "./dist/tools/browser/openai.d.ts",
148
+ import: "./dist/tools/browser/openai.js",
149
+ require: "./dist/tools/browser/openai.cjs"
150
+ },
151
+ "./tools/browser/vercel": {
152
+ types: "./dist/tools/browser/vercel.d.ts",
153
+ import: "./dist/tools/browser/vercel.js",
154
+ require: "./dist/tools/browser/vercel.cjs"
155
+ },
156
+ "./tools/browser/profiles": {
157
+ types: "./dist/tools/browser/profiles/index.d.ts",
158
+ import: "./dist/tools/browser/profiles/index.js",
159
+ require: "./dist/tools/browser/profiles/index.cjs"
160
+ },
161
+ "./modelrouter": {
162
+ types: "./dist/modelrouter/index.d.ts",
163
+ import: "./dist/modelrouter/index.js",
164
+ require: "./dist/modelrouter/index.cjs"
165
+ },
166
+ "./tools/compact": {
167
+ types: "./dist/tools/compact/index.d.ts",
168
+ import: "./dist/tools/compact/index.js",
169
+ require: "./dist/tools/compact/index.cjs"
170
+ }
171
+ },
172
+ files: [
173
+ "dist/**/*.js",
174
+ "dist/**/*.cjs",
175
+ "dist/**/*.d.ts",
176
+ "dist/**/*.map",
177
+ "!dist/**/__tests__/**",
178
+ "!dist/**/*.test.*"
179
+ ],
180
+ scripts: {
181
+ 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/prompt.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/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/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",
182
+ prepare: "npm run build",
183
+ typecheck: "tsc --noEmit",
184
+ lint: "eslint .",
185
+ test: "vitest run",
186
+ "test:watch": "vitest watch",
187
+ "test:anthropic": "vitest run anthropic",
188
+ "test:openai": "vitest run openai",
189
+ "test:vercel": "vitest run vercel",
190
+ "test:git": "vitest run git",
191
+ "test:browser": "vitest run browser",
192
+ "test:agent": "npx tsx tests/fullAgentTest.ts",
193
+ "test:integration": "npx tsx tests/fullIntegrationTest.ts",
194
+ "release:patch": "npm version patch && npm publish",
195
+ "release:minor": "npm version minor && npm publish",
196
+ "release:major": "npm version major && npm publish"
197
+ },
198
+ keywords: [
199
+ "morph",
200
+ "fast-apply",
201
+ "cli",
202
+ "sdk",
203
+ "edit-file"
204
+ ],
205
+ engines: {
206
+ node: ">=18"
207
+ },
208
+ license: "MIT",
209
+ dependencies: {
210
+ "@vscode/ripgrep": "^1.17.0",
211
+ ai: "^5.0.0",
212
+ diff: "^7.0.0",
213
+ "isomorphic-git": "^1.25.10",
214
+ openai: "^4.52.7",
215
+ zod: "^3.23.8"
216
+ },
217
+ devDependencies: {
218
+ "@ai-sdk/anthropic": "^1.0.9",
219
+ "@ai-sdk/openai": "^2.0.35",
220
+ "@anthropic-ai/sdk": "^0.30.1",
221
+ "@google/generative-ai": "^0.24.1",
222
+ "@types/diff": "^7.0.2",
223
+ "@types/node": "^20.14.10",
224
+ "@typescript-eslint/eslint-plugin": "^7.18.0",
225
+ "@typescript-eslint/parser": "^7.18.0",
226
+ dotenv: "^16.4.5",
227
+ eslint: "^8.57.0",
228
+ shx: "^0.3.4",
229
+ tsup: "^8.5.0",
230
+ tsx: "^4.16.2",
231
+ typescript: "^5.5.4",
232
+ vitest: "^2.1.6"
233
+ },
234
+ peerDependencies: {
235
+ "@anthropic-ai/sdk": ">=0.25.0",
236
+ "@google/generative-ai": ">=0.21.0",
237
+ ai: ">=5.0.0",
238
+ zod: ">=3.23.0"
239
+ },
240
+ peerDependenciesMeta: {
241
+ "@anthropic-ai/sdk": {
242
+ optional: true
243
+ },
244
+ "@google/generative-ai": {
245
+ optional: true
246
+ },
247
+ ai: {
248
+ optional: true
249
+ },
250
+ zod: {
251
+ optional: true
252
+ }
253
+ },
254
+ publishConfig: {
255
+ access: "public"
256
+ }
257
+ };
258
+ }
259
+ });
260
+
261
+ // version.ts
262
+ var SDK_VERSION;
263
+ var init_version = __esm({
264
+ "version.ts"() {
265
+ "use strict";
266
+ init_package();
267
+ SDK_VERSION = package_default.version;
268
+ }
269
+ });
270
+
33
271
  // tools/fastapply/apply.ts
34
272
  var apply_exports = {};
35
273
  __export(apply_exports, {
@@ -90,7 +328,8 @@ async function callMorphAPI(originalCode, codeEdit, instructions, filepath, conf
90
328
  apiKey,
91
329
  baseURL: `${apiUrl}/v1`,
92
330
  timeout,
93
- maxRetries: config.retryConfig?.maxRetries ?? 3
331
+ maxRetries: config.retryConfig?.maxRetries ?? 3,
332
+ defaultHeaders: { "X-Morph-SDK-Version": SDK_VERSION }
94
333
  });
95
334
  const completion = await client.chat.completions.create({
96
335
  model: "morph-v3-fast",
@@ -145,6 +384,7 @@ var init_apply = __esm({
145
384
  "use strict";
146
385
  import_diff = require("diff");
147
386
  import_openai = __toESM(require("openai"), 1);
387
+ init_version();
148
388
  DEFAULT_API_URL = "https://api.morphllm.com";
149
389
  DEFAULT_TIMEOUT = 3e4;
150
390
  }
@@ -696,6 +936,7 @@ __export(index_exports, {
696
936
  AnthropicToolFactory: () => AnthropicToolFactory,
697
937
  BrowserClient: () => BrowserClient,
698
938
  CodebaseSearchClient: () => CodebaseSearchClient,
939
+ CompactClient: () => CompactClient,
699
940
  FastApplyClient: () => FastApplyClient,
700
941
  GeminiRouter: () => GeminiRouter,
701
942
  GitHubClient: () => GitHubClient,
@@ -709,11 +950,13 @@ __export(index_exports, {
709
950
  OpenAIToolFactory: () => OpenAIToolFactory,
710
951
  PermissionError: () => PermissionError,
711
952
  RawRouter: () => RawRouter,
953
+ SDK_VERSION: () => SDK_VERSION,
712
954
  VercelToolFactory: () => VercelToolFactory,
713
955
  WarpGrepClient: () => WarpGrepClient,
714
956
  applyEdit: () => applyEdit
715
957
  });
716
958
  module.exports = __toCommonJS(index_exports);
959
+ init_version();
717
960
 
718
961
  // tools/fastapply/core.ts
719
962
  var import_path = require("path");
@@ -827,6 +1070,7 @@ async function executeEditFile(input, config = {}) {
827
1070
  }
828
1071
 
829
1072
  // tools/utils/resilience.ts
1073
+ init_version();
830
1074
  var DEFAULT_RETRY_CONFIG = {
831
1075
  maxRetries: 3,
832
1076
  initialDelay: 1e3,
@@ -845,6 +1089,7 @@ async function fetchWithRetry(url, options, retryConfig = {}) {
845
1089
  } = retryConfig;
846
1090
  let lastError = null;
847
1091
  let delay = initialDelay;
1092
+ options = { ...options, headers: { "X-Morph-SDK-Version": SDK_VERSION, ...options.headers } };
848
1093
  for (let attempt = 0; attempt <= maxRetries; attempt++) {
849
1094
  try {
850
1095
  const response = await fetch(url, options);
@@ -3037,6 +3282,7 @@ function enforceContextLimit(messages, maxChars = AGENT_CONFIG.MAX_CONTEXT_CHARS
3037
3282
 
3038
3283
  // tools/warp_grep/agent/runner.ts
3039
3284
  var import_openai2 = __toESM(require("openai"), 1);
3285
+ init_version();
3040
3286
  var import_path3 = __toESM(require("path"), 1);
3041
3287
  var parser = new LLMResponseParser();
3042
3288
  var DEFAULT_API_URL3 = "https://api.morphllm.com";
@@ -3048,7 +3294,8 @@ async function callModel(messages, model, options = {}) {
3048
3294
  apiKey,
3049
3295
  baseURL: `${baseUrl}/v1`,
3050
3296
  maxRetries: options.retryConfig?.maxRetries,
3051
- timeout: timeoutMs
3297
+ timeout: timeoutMs,
3298
+ defaultHeaders: { "X-Morph-SDK-Version": SDK_VERSION }
3052
3299
  });
3053
3300
  const MAX_EMPTY_RETRIES = 1;
3054
3301
  for (let attempt = 0; attempt <= MAX_EMPTY_RETRIES; attempt++) {
@@ -4614,6 +4861,78 @@ var MorphGit = class {
4614
4861
  var import_isomorphic_git2 = __toESM(require("isomorphic-git"), 1);
4615
4862
  var import_node2 = __toESM(require("isomorphic-git/http/node"), 1);
4616
4863
 
4864
+ // tools/compact/core.ts
4865
+ var import_openai3 = __toESM(require("openai"), 1);
4866
+ var DEFAULT_API_URL4 = "https://api.morphllm.com";
4867
+ var DEFAULT_TIMEOUT3 = 12e4;
4868
+ var CompactClient = class {
4869
+ config;
4870
+ constructor(config = {}) {
4871
+ this.config = {
4872
+ morphApiUrl: DEFAULT_API_URL4,
4873
+ timeout: DEFAULT_TIMEOUT3,
4874
+ ...config
4875
+ };
4876
+ }
4877
+ /**
4878
+ * Compact conversation context using Morph compactor
4879
+ *
4880
+ * @param input - Compact parameters including input content and optional prompt
4881
+ * @returns Compact result with compacted output and usage stats
4882
+ *
4883
+ * @example
4884
+ * ```typescript
4885
+ * const client = new CompactClient({ morphApiKey: 'sk-...' });
4886
+ * const result = await client.compact({
4887
+ * input: 'Long conversation context to compact...',
4888
+ * prompt: 'Focus on the code review feedback',
4889
+ * });
4890
+ * console.log(result.output);
4891
+ * ```
4892
+ */
4893
+ async compact(input) {
4894
+ const apiKey = this.config.morphApiKey || (typeof process !== "undefined" ? process.env?.MORPH_API_KEY : void 0);
4895
+ const debug = this.config.debug || false;
4896
+ if (!apiKey) {
4897
+ throw new Error(
4898
+ "Morph API key not found. Set MORPH_API_KEY environment variable or pass morphApiKey in config."
4899
+ );
4900
+ }
4901
+ const client = new import_openai3.default({
4902
+ apiKey,
4903
+ baseURL: `${this.config.morphApiUrl}/v1`,
4904
+ timeout: this.config.timeout,
4905
+ maxRetries: this.config.retryConfig?.maxRetries ?? 3
4906
+ });
4907
+ const instructions = input.prompt ? `The user's next message will be: "${input.prompt}"
4908
+ Prioritize keeping context relevant to this query.` : void 0;
4909
+ if (debug) {
4910
+ console.log(`[Compact] Calling ${this.config.morphApiUrl}/v1/responses`);
4911
+ console.log(`[Compact] Model: ${input.model || "morph-compactor"}`);
4912
+ }
4913
+ const startTime = Date.now();
4914
+ const response = await client.responses.create({
4915
+ model: input.model || "morph-compactor",
4916
+ input: input.input,
4917
+ ...instructions && { instructions },
4918
+ ...input.temperature != null && { temperature: input.temperature },
4919
+ ...input.max_output_tokens != null && { max_output_tokens: input.max_output_tokens },
4920
+ stream: false
4921
+ });
4922
+ const elapsed = Date.now() - startTime;
4923
+ if (debug) {
4924
+ console.log(`[Compact] Success in ${elapsed}ms`);
4925
+ }
4926
+ return {
4927
+ id: response.id,
4928
+ output: response.output,
4929
+ usage: response.usage,
4930
+ status: response.status ?? "completed",
4931
+ model: response.model
4932
+ };
4933
+ }
4934
+ };
4935
+
4617
4936
  // modelrouter/core.ts
4618
4937
  var DEFAULT_CONFIG3 = {
4619
4938
  apiUrl: "https://api.morphllm.com",
@@ -5485,6 +5804,8 @@ var MorphClient = class {
5485
5804
  anthropic;
5486
5805
  /** Vercel AI SDK tool factories */
5487
5806
  vercel;
5807
+ /** Responses API with compact tool */
5808
+ responses;
5488
5809
  /**
5489
5810
  * Create a new Morph SDK client
5490
5811
  *
@@ -5561,6 +5882,15 @@ var MorphClient = class {
5561
5882
  retryConfig: config.retryConfig
5562
5883
  })
5563
5884
  };
5885
+ const compactClient = new CompactClient({
5886
+ morphApiKey: config.apiKey,
5887
+ timeout: config.timeout,
5888
+ retryConfig: config.retryConfig,
5889
+ debug: config.debug
5890
+ });
5891
+ this.responses = {
5892
+ compact: compactClient.compact.bind(compactClient)
5893
+ };
5564
5894
  this.openai = new OpenAIToolFactory(config);
5565
5895
  this.anthropic = new AnthropicToolFactory(config);
5566
5896
  this.vercel = new VercelToolFactory(config);
@@ -5589,6 +5919,7 @@ var warpGrepInputSchema = import_zod4.z.object({
5589
5919
  AnthropicToolFactory,
5590
5920
  BrowserClient,
5591
5921
  CodebaseSearchClient,
5922
+ CompactClient,
5592
5923
  FastApplyClient,
5593
5924
  GeminiRouter,
5594
5925
  GitHubClient,
@@ -5602,6 +5933,7 @@ var warpGrepInputSchema = import_zod4.z.object({
5602
5933
  OpenAIToolFactory,
5603
5934
  PermissionError,
5604
5935
  RawRouter,
5936
+ SDK_VERSION,
5605
5937
  VercelToolFactory,
5606
5938
  WarpGrepClient,
5607
5939
  applyEdit