@morphllm/morphsdk 0.2.171 → 0.2.172

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 (259) hide show
  1. package/dist/{chunk-3XRNC56L.js → chunk-2SNAXTUJ.js} +4 -4
  2. package/dist/chunk-453ZV2AX.js +120 -0
  3. package/dist/chunk-453ZV2AX.js.map +1 -0
  4. package/dist/chunk-53ZJMCWU.js +142 -0
  5. package/dist/chunk-53ZJMCWU.js.map +1 -0
  6. package/dist/{chunk-IW4TYYG6.js → chunk-5DA6SZQJ.js} +2 -2
  7. package/dist/chunk-66OHYI24.js +78 -0
  8. package/dist/chunk-66OHYI24.js.map +1 -0
  9. package/dist/chunk-6X6QMRQG.js +158 -0
  10. package/dist/chunk-6X6QMRQG.js.map +1 -0
  11. package/dist/{chunk-C37YAYBK.js → chunk-7PVVPLRL.js} +2 -2
  12. package/dist/{chunk-MZZMSL26.js → chunk-AE7M2I52.js} +2 -2
  13. package/dist/{chunk-JLLIVBKY.js → chunk-CQF76HJC.js} +30 -6
  14. package/dist/chunk-CQF76HJC.js.map +1 -0
  15. package/dist/{chunk-EFCDIESP.js → chunk-ESXCQBMU.js} +2 -2
  16. package/dist/{chunk-FQJCE2FX.js → chunk-FOIDGIY4.js} +29 -10
  17. package/dist/chunk-FOIDGIY4.js.map +1 -0
  18. package/dist/{chunk-JEDEBCZM.js → chunk-GJZXDRH5.js} +8 -3
  19. package/dist/{chunk-JEDEBCZM.js.map → chunk-GJZXDRH5.js.map} +1 -1
  20. package/dist/{chunk-2ALTBYMY.js → chunk-IJ33I7P5.js} +4 -4
  21. package/dist/{chunk-UK7TI7QY.js → chunk-IN2U7AAI.js} +99 -143
  22. package/dist/chunk-IN2U7AAI.js.map +1 -0
  23. package/dist/{chunk-LE66XCOI.js → chunk-JWZ5DLAS.js} +27 -10
  24. package/dist/chunk-JWZ5DLAS.js.map +1 -0
  25. package/dist/chunk-LKFZBBTD.js +12 -0
  26. package/dist/chunk-LKFZBBTD.js.map +1 -0
  27. package/dist/{chunk-TAS6S42A.js → chunk-MO6S2LRD.js} +2 -2
  28. package/dist/{chunk-2OAKX4SZ.js → chunk-NI7PWQ3B.js} +4 -4
  29. package/dist/{chunk-GLQWEINZ.js → chunk-QAXXE4AD.js} +2 -2
  30. package/dist/{chunk-3BCKZKNK.js → chunk-QFE5523Q.js} +2 -2
  31. package/dist/{chunk-LL3EWDKD.js → chunk-QQXNZIVK.js} +4 -4
  32. package/dist/{chunk-IGQYZ2KH.js → chunk-QZ3V2BP7.js} +2 -2
  33. package/dist/chunk-QZR7SJ5N.js +24 -0
  34. package/dist/chunk-QZR7SJ5N.js.map +1 -0
  35. package/dist/{chunk-SW527EQT.js → chunk-SJVLAGUL.js} +4 -4
  36. package/dist/{chunk-CMFY26F3.js → chunk-U4J3BVAQ.js} +4 -4
  37. package/dist/{chunk-5EUMJI3I.js → chunk-U4MRSZQQ.js} +2 -2
  38. package/dist/{chunk-ZJQTTOHO.js → chunk-UADW6FYD.js} +2 -2
  39. package/dist/{chunk-4324ZSCW.js → chunk-VBARKJWL.js} +2 -2
  40. package/dist/{chunk-OPNTDMHH.js → chunk-VLZ6PNAD.js} +4 -4
  41. package/dist/chunk-VZ7BOH2K.js +1 -0
  42. package/dist/chunk-VZ7BOH2K.js.map +1 -0
  43. package/dist/{chunk-Y6T4NA75.js → chunk-XJDXV5VX.js} +2 -2
  44. package/dist/{chunk-JTUB5ZCT.js → chunk-XYTYIAMQ.js} +2 -2
  45. package/dist/{chunk-4MTZUTNH.js → chunk-Z4GJVN52.js} +23 -8
  46. package/dist/chunk-Z4GJVN52.js.map +1 -0
  47. package/dist/chunk-ZLSNL6M2.js +97 -0
  48. package/dist/chunk-ZLSNL6M2.js.map +1 -0
  49. package/dist/{client-DsAAqupx.d.ts → client-Dh6yzCm4.d.ts} +14 -5
  50. package/dist/client.cjs +724 -523
  51. package/dist/client.cjs.map +1 -1
  52. package/dist/client.d.ts +5 -1
  53. package/dist/client.js +31 -27
  54. package/dist/core/client.cjs +540 -0
  55. package/dist/core/client.cjs.map +1 -0
  56. package/dist/core/client.d.ts +79 -0
  57. package/dist/core/client.js +12 -0
  58. package/dist/core/client.js.map +1 -0
  59. package/dist/core/error.cjs +309 -0
  60. package/dist/core/error.cjs.map +1 -0
  61. package/dist/core/error.d.ts +18 -0
  62. package/dist/core/error.js +10 -0
  63. package/dist/core/error.js.map +1 -0
  64. package/dist/core/index.cjs +552 -0
  65. package/dist/core/index.cjs.map +1 -0
  66. package/dist/core/index.d.ts +4 -0
  67. package/dist/core/index.js +20 -0
  68. package/dist/core/index.js.map +1 -0
  69. package/dist/core/resource.cjs +36 -0
  70. package/dist/core/resource.cjs.map +1 -0
  71. package/dist/core/resource.d.ts +18 -0
  72. package/dist/core/resource.js +8 -0
  73. package/dist/core/resource.js.map +1 -0
  74. package/dist/edge.cjs +236 -173
  75. package/dist/edge.cjs.map +1 -1
  76. package/dist/edge.d.ts +2 -0
  77. package/dist/edge.js +8 -5
  78. package/dist/git/client.cjs +529 -9
  79. package/dist/git/client.cjs.map +1 -1
  80. package/dist/git/client.d.ts +8 -2
  81. package/dist/git/client.js +7 -1
  82. package/dist/git/index.cjs +529 -9
  83. package/dist/git/index.cjs.map +1 -1
  84. package/dist/git/index.d.ts +2 -0
  85. package/dist/git/index.js +7 -1
  86. package/dist/index.cjs +672 -465
  87. package/dist/index.cjs.map +1 -1
  88. package/dist/index.d.ts +6 -2
  89. package/dist/index.js +49 -33
  90. package/dist/modelrouter/core.cjs +204 -125
  91. package/dist/modelrouter/core.cjs.map +1 -1
  92. package/dist/modelrouter/core.d.ts +36 -9
  93. package/dist/modelrouter/core.js +6 -3
  94. package/dist/modelrouter/index.cjs +204 -125
  95. package/dist/modelrouter/index.cjs.map +1 -1
  96. package/dist/modelrouter/index.d.ts +3 -0
  97. package/dist/modelrouter/index.js +6 -3
  98. package/dist/subagents/anthropic.cjs +268 -52
  99. package/dist/subagents/anthropic.cjs.map +1 -1
  100. package/dist/subagents/anthropic.js +10 -6
  101. package/dist/subagents/vercel.cjs +268 -52
  102. package/dist/subagents/vercel.cjs.map +1 -1
  103. package/dist/subagents/vercel.js +10 -6
  104. package/dist/tools/browser/anthropic.cjs +7 -2
  105. package/dist/tools/browser/anthropic.cjs.map +1 -1
  106. package/dist/tools/browser/anthropic.js +9 -6
  107. package/dist/tools/browser/core.cjs +162 -10
  108. package/dist/tools/browser/core.cjs.map +1 -1
  109. package/dist/tools/browser/core.d.ts +8 -2
  110. package/dist/tools/browser/core.js +8 -5
  111. package/dist/tools/browser/index.cjs +163 -11
  112. package/dist/tools/browser/index.cjs.map +1 -1
  113. package/dist/tools/browser/index.d.ts +2 -0
  114. package/dist/tools/browser/index.js +18 -15
  115. package/dist/tools/browser/index.js.map +1 -1
  116. package/dist/tools/browser/openai.cjs +7 -2
  117. package/dist/tools/browser/openai.cjs.map +1 -1
  118. package/dist/tools/browser/openai.js +9 -6
  119. package/dist/tools/browser/profiles/core.cjs +7 -2
  120. package/dist/tools/browser/profiles/core.cjs.map +1 -1
  121. package/dist/tools/browser/profiles/core.js +3 -3
  122. package/dist/tools/browser/profiles/index.cjs +7 -2
  123. package/dist/tools/browser/profiles/index.cjs.map +1 -1
  124. package/dist/tools/browser/profiles/index.js +3 -3
  125. package/dist/tools/browser/vercel.cjs +7 -2
  126. package/dist/tools/browser/vercel.cjs.map +1 -1
  127. package/dist/tools/browser/vercel.js +9 -6
  128. package/dist/tools/codebase_search/anthropic.cjs +162 -41
  129. package/dist/tools/codebase_search/anthropic.cjs.map +1 -1
  130. package/dist/tools/codebase_search/anthropic.js +7 -4
  131. package/dist/tools/codebase_search/core.cjs +195 -66
  132. package/dist/tools/codebase_search/core.cjs.map +1 -1
  133. package/dist/tools/codebase_search/core.d.ts +18 -7
  134. package/dist/tools/codebase_search/core.js +6 -3
  135. package/dist/tools/codebase_search/index.cjs +162 -41
  136. package/dist/tools/codebase_search/index.cjs.map +1 -1
  137. package/dist/tools/codebase_search/index.d.ts +2 -0
  138. package/dist/tools/codebase_search/index.js +13 -10
  139. package/dist/tools/codebase_search/openai.cjs +162 -41
  140. package/dist/tools/codebase_search/openai.cjs.map +1 -1
  141. package/dist/tools/codebase_search/openai.js +7 -4
  142. package/dist/tools/codebase_search/vercel.cjs +162 -41
  143. package/dist/tools/codebase_search/vercel.cjs.map +1 -1
  144. package/dist/tools/codebase_search/vercel.js +7 -4
  145. package/dist/tools/compact/core.cjs +551 -47
  146. package/dist/tools/compact/core.cjs.map +1 -1
  147. package/dist/tools/compact/core.d.ts +16 -3
  148. package/dist/tools/compact/core.js +7 -1
  149. package/dist/tools/compact/index.cjs +549 -47
  150. package/dist/tools/compact/index.cjs.map +1 -1
  151. package/dist/tools/compact/index.d.ts +2 -0
  152. package/dist/tools/compact/index.js +8 -2
  153. package/dist/tools/fastapply/anthropic.cjs +16 -2
  154. package/dist/tools/fastapply/anthropic.cjs.map +1 -1
  155. package/dist/tools/fastapply/anthropic.js +8 -4
  156. package/dist/tools/fastapply/apply.cjs +7 -2
  157. package/dist/tools/fastapply/apply.cjs.map +1 -1
  158. package/dist/tools/fastapply/apply.js +2 -2
  159. package/dist/tools/fastapply/core.cjs +242 -12
  160. package/dist/tools/fastapply/core.cjs.map +1 -1
  161. package/dist/tools/fastapply/core.d.ts +8 -2
  162. package/dist/tools/fastapply/core.js +7 -3
  163. package/dist/tools/fastapply/index.cjs +16 -2
  164. package/dist/tools/fastapply/index.cjs.map +1 -1
  165. package/dist/tools/fastapply/index.d.ts +2 -0
  166. package/dist/tools/fastapply/index.js +13 -9
  167. package/dist/tools/fastapply/openai.cjs +16 -2
  168. package/dist/tools/fastapply/openai.cjs.map +1 -1
  169. package/dist/tools/fastapply/openai.js +8 -4
  170. package/dist/tools/fastapply/vercel.cjs +16 -2
  171. package/dist/tools/fastapply/vercel.cjs.map +1 -1
  172. package/dist/tools/fastapply/vercel.js +8 -4
  173. package/dist/tools/index.cjs +16 -2
  174. package/dist/tools/index.cjs.map +1 -1
  175. package/dist/tools/index.d.ts +2 -0
  176. package/dist/tools/index.js +13 -9
  177. package/dist/tools/reflex/core.cjs +693 -0
  178. package/dist/tools/reflex/core.cjs.map +1 -0
  179. package/dist/tools/reflex/core.d.ts +53 -0
  180. package/dist/tools/reflex/core.js +16 -0
  181. package/dist/tools/reflex/core.js.map +1 -0
  182. package/dist/tools/reflex/index.cjs +693 -0
  183. package/dist/tools/reflex/index.cjs.map +1 -0
  184. package/dist/tools/reflex/index.d.ts +5 -0
  185. package/dist/tools/reflex/index.js +16 -0
  186. package/dist/tools/reflex/index.js.map +1 -0
  187. package/dist/tools/reflex/types.cjs +19 -0
  188. package/dist/tools/reflex/types.cjs.map +1 -0
  189. package/dist/tools/reflex/types.d.ts +113 -0
  190. package/dist/tools/reflex/types.js +1 -0
  191. package/dist/tools/reflex/types.js.map +1 -0
  192. package/dist/tools/utils/resilience.cjs +7 -2
  193. package/dist/tools/utils/resilience.cjs.map +1 -1
  194. package/dist/tools/utils/resilience.js +2 -2
  195. package/dist/tools/warp_grep/agent/runner.cjs +7 -2
  196. package/dist/tools/warp_grep/agent/runner.cjs.map +1 -1
  197. package/dist/tools/warp_grep/agent/runner.js +2 -2
  198. package/dist/tools/warp_grep/anthropic.cjs +268 -52
  199. package/dist/tools/warp_grep/anthropic.cjs.map +1 -1
  200. package/dist/tools/warp_grep/anthropic.d.ts +2 -0
  201. package/dist/tools/warp_grep/anthropic.js +10 -6
  202. package/dist/tools/warp_grep/client.cjs +268 -52
  203. package/dist/tools/warp_grep/client.cjs.map +1 -1
  204. package/dist/tools/warp_grep/client.d.ts +8 -2
  205. package/dist/tools/warp_grep/client.js +9 -5
  206. package/dist/tools/warp_grep/gemini.cjs +268 -52
  207. package/dist/tools/warp_grep/gemini.cjs.map +1 -1
  208. package/dist/tools/warp_grep/gemini.d.ts +2 -0
  209. package/dist/tools/warp_grep/gemini.js +9 -5
  210. package/dist/tools/warp_grep/gemini.js.map +1 -1
  211. package/dist/tools/warp_grep/harness.js +5 -5
  212. package/dist/tools/warp_grep/index.cjs +268 -52
  213. package/dist/tools/warp_grep/index.cjs.map +1 -1
  214. package/dist/tools/warp_grep/index.d.ts +2 -0
  215. package/dist/tools/warp_grep/index.js +12 -8
  216. package/dist/tools/warp_grep/openai.cjs +268 -52
  217. package/dist/tools/warp_grep/openai.cjs.map +1 -1
  218. package/dist/tools/warp_grep/openai.d.ts +2 -0
  219. package/dist/tools/warp_grep/openai.js +10 -6
  220. package/dist/tools/warp_grep/providers/local.js +2 -2
  221. package/dist/tools/warp_grep/vercel.cjs +268 -52
  222. package/dist/tools/warp_grep/vercel.cjs.map +1 -1
  223. package/dist/tools/warp_grep/vercel.d.ts +2 -0
  224. package/dist/tools/warp_grep/vercel.js +10 -6
  225. package/dist/version.cjs +7 -2
  226. package/dist/version.cjs.map +1 -1
  227. package/dist/version.js +1 -1
  228. package/package.json +7 -2
  229. package/dist/chunk-4MTZUTNH.js.map +0 -1
  230. package/dist/chunk-FQJCE2FX.js.map +0 -1
  231. package/dist/chunk-H5WNI6R5.js +0 -102
  232. package/dist/chunk-H5WNI6R5.js.map +0 -1
  233. package/dist/chunk-JLLIVBKY.js.map +0 -1
  234. package/dist/chunk-KCFMXLZ7.js +0 -197
  235. package/dist/chunk-KCFMXLZ7.js.map +0 -1
  236. package/dist/chunk-LE66XCOI.js.map +0 -1
  237. package/dist/chunk-SCVWDNQP.js +0 -84
  238. package/dist/chunk-SCVWDNQP.js.map +0 -1
  239. package/dist/chunk-UK7TI7QY.js.map +0 -1
  240. /package/dist/{chunk-3XRNC56L.js.map → chunk-2SNAXTUJ.js.map} +0 -0
  241. /package/dist/{chunk-IW4TYYG6.js.map → chunk-5DA6SZQJ.js.map} +0 -0
  242. /package/dist/{chunk-C37YAYBK.js.map → chunk-7PVVPLRL.js.map} +0 -0
  243. /package/dist/{chunk-MZZMSL26.js.map → chunk-AE7M2I52.js.map} +0 -0
  244. /package/dist/{chunk-EFCDIESP.js.map → chunk-ESXCQBMU.js.map} +0 -0
  245. /package/dist/{chunk-2ALTBYMY.js.map → chunk-IJ33I7P5.js.map} +0 -0
  246. /package/dist/{chunk-TAS6S42A.js.map → chunk-MO6S2LRD.js.map} +0 -0
  247. /package/dist/{chunk-2OAKX4SZ.js.map → chunk-NI7PWQ3B.js.map} +0 -0
  248. /package/dist/{chunk-GLQWEINZ.js.map → chunk-QAXXE4AD.js.map} +0 -0
  249. /package/dist/{chunk-3BCKZKNK.js.map → chunk-QFE5523Q.js.map} +0 -0
  250. /package/dist/{chunk-LL3EWDKD.js.map → chunk-QQXNZIVK.js.map} +0 -0
  251. /package/dist/{chunk-IGQYZ2KH.js.map → chunk-QZ3V2BP7.js.map} +0 -0
  252. /package/dist/{chunk-SW527EQT.js.map → chunk-SJVLAGUL.js.map} +0 -0
  253. /package/dist/{chunk-CMFY26F3.js.map → chunk-U4J3BVAQ.js.map} +0 -0
  254. /package/dist/{chunk-5EUMJI3I.js.map → chunk-U4MRSZQQ.js.map} +0 -0
  255. /package/dist/{chunk-ZJQTTOHO.js.map → chunk-UADW6FYD.js.map} +0 -0
  256. /package/dist/{chunk-4324ZSCW.js.map → chunk-VBARKJWL.js.map} +0 -0
  257. /package/dist/{chunk-OPNTDMHH.js.map → chunk-VLZ6PNAD.js.map} +0 -0
  258. /package/dist/{chunk-Y6T4NA75.js.map → chunk-XJDXV5VX.js.map} +0 -0
  259. /package/dist/{chunk-JTUB5ZCT.js.map → chunk-XYTYIAMQ.js.map} +0 -0
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
+ var __create = Object.create;
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
5
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
8
  var __export = (target, all) => {
7
9
  for (var name in all)
@@ -15,6 +17,14 @@ var __copyProps = (to, from, except, desc) => {
15
17
  }
16
18
  return to;
17
19
  };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
18
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
29
 
20
30
  // tools/compact/core.ts
@@ -23,15 +33,538 @@ __export(core_exports, {
23
33
  CompactClient: () => CompactClient
24
34
  });
25
35
  module.exports = __toCommonJS(core_exports);
36
+
37
+ // package.json
38
+ var package_default = {
39
+ name: "@morphllm/morphsdk",
40
+ version: "0.2.172",
41
+ description: "TypeScript SDK and CLI for Morph Fast Apply integration",
42
+ type: "module",
43
+ main: "./dist/index.cjs",
44
+ module: "./dist/index.js",
45
+ types: "./dist/index.d.ts",
46
+ exports: {
47
+ ".": {
48
+ types: "./dist/index.d.ts",
49
+ import: "./dist/index.js",
50
+ require: "./dist/index.cjs"
51
+ },
52
+ "./logger": {
53
+ types: "./dist/logger.d.ts",
54
+ import: "./dist/logger.js",
55
+ require: "./dist/logger.cjs"
56
+ },
57
+ "./edge": {
58
+ types: "./dist/edge.d.ts",
59
+ import: "./dist/edge.js",
60
+ require: "./dist/edge.cjs"
61
+ },
62
+ "./tools/warp-grep": {
63
+ types: "./dist/tools/warp_grep/index.d.ts",
64
+ import: "./dist/tools/warp_grep/index.js",
65
+ require: "./dist/tools/warp_grep/index.cjs"
66
+ },
67
+ "./tools/warp-grep/openai": {
68
+ types: "./dist/tools/warp_grep/openai.d.ts",
69
+ import: "./dist/tools/warp_grep/openai.js",
70
+ require: "./dist/tools/warp_grep/openai.cjs"
71
+ },
72
+ "./tools/warp-grep/anthropic": {
73
+ types: "./dist/tools/warp_grep/anthropic.d.ts",
74
+ import: "./dist/tools/warp_grep/anthropic.js",
75
+ require: "./dist/tools/warp_grep/anthropic.cjs"
76
+ },
77
+ "./tools/warp-grep/vercel": {
78
+ types: "./dist/tools/warp_grep/vercel.d.ts",
79
+ import: "./dist/tools/warp_grep/vercel.js",
80
+ require: "./dist/tools/warp_grep/vercel.cjs"
81
+ },
82
+ "./tools/warp-grep/client": {
83
+ types: "./dist/tools/warp_grep/client.d.ts",
84
+ import: "./dist/tools/warp_grep/client.js",
85
+ require: "./dist/tools/warp_grep/client.cjs"
86
+ },
87
+ "./tools/warp-grep/gemini": {
88
+ types: "./dist/tools/warp_grep/gemini.d.ts",
89
+ import: "./dist/tools/warp_grep/gemini.js",
90
+ require: "./dist/tools/warp_grep/gemini.cjs"
91
+ },
92
+ "./tools/warp-grep/harness": {
93
+ types: "./dist/tools/warp_grep/harness.d.ts",
94
+ import: "./dist/tools/warp_grep/harness.js",
95
+ require: "./dist/tools/warp_grep/harness.cjs"
96
+ },
97
+ "./tools/fastapply": {
98
+ types: "./dist/tools/fastapply/index.d.ts",
99
+ import: "./dist/tools/fastapply/index.js",
100
+ require: "./dist/tools/fastapply/index.cjs"
101
+ },
102
+ "./tools/fastapply/anthropic": {
103
+ types: "./dist/tools/fastapply/anthropic.d.ts",
104
+ import: "./dist/tools/fastapply/anthropic.js",
105
+ require: "./dist/tools/fastapply/anthropic.cjs"
106
+ },
107
+ "./tools/fastapply/openai": {
108
+ types: "./dist/tools/fastapply/openai.d.ts",
109
+ import: "./dist/tools/fastapply/openai.js",
110
+ require: "./dist/tools/fastapply/openai.cjs"
111
+ },
112
+ "./tools/fastapply/vercel": {
113
+ types: "./dist/tools/fastapply/vercel.d.ts",
114
+ import: "./dist/tools/fastapply/vercel.js",
115
+ require: "./dist/tools/fastapply/vercel.cjs"
116
+ },
117
+ "./tools/codebase-search": {
118
+ types: "./dist/tools/codebase_search/index.d.ts",
119
+ import: "./dist/tools/codebase_search/index.js",
120
+ require: "./dist/tools/codebase_search/index.cjs"
121
+ },
122
+ "./tools/codebase-search/anthropic": {
123
+ types: "./dist/tools/codebase_search/anthropic.d.ts",
124
+ import: "./dist/tools/codebase_search/anthropic.js",
125
+ require: "./dist/tools/codebase_search/anthropic.cjs"
126
+ },
127
+ "./tools/codebase-search/openai": {
128
+ types: "./dist/tools/codebase_search/openai.d.ts",
129
+ import: "./dist/tools/codebase_search/openai.js",
130
+ require: "./dist/tools/codebase_search/openai.cjs"
131
+ },
132
+ "./tools/codebase-search/vercel": {
133
+ types: "./dist/tools/codebase_search/vercel.d.ts",
134
+ import: "./dist/tools/codebase_search/vercel.js",
135
+ require: "./dist/tools/codebase_search/vercel.cjs"
136
+ },
137
+ "./tools/git": {
138
+ types: "./dist/git/index.d.ts",
139
+ import: "./dist/git/index.js",
140
+ require: "./dist/git/index.cjs"
141
+ },
142
+ "./tools/browser": {
143
+ types: "./dist/tools/browser/index.d.ts",
144
+ import: "./dist/tools/browser/index.js",
145
+ require: "./dist/tools/browser/index.cjs"
146
+ },
147
+ "./tools/browser/anthropic": {
148
+ types: "./dist/tools/browser/anthropic.d.ts",
149
+ import: "./dist/tools/browser/anthropic.js",
150
+ require: "./dist/tools/browser/anthropic.cjs"
151
+ },
152
+ "./tools/browser/openai": {
153
+ types: "./dist/tools/browser/openai.d.ts",
154
+ import: "./dist/tools/browser/openai.js",
155
+ require: "./dist/tools/browser/openai.cjs"
156
+ },
157
+ "./tools/browser/vercel": {
158
+ types: "./dist/tools/browser/vercel.d.ts",
159
+ import: "./dist/tools/browser/vercel.js",
160
+ require: "./dist/tools/browser/vercel.cjs"
161
+ },
162
+ "./tools/browser/profiles": {
163
+ types: "./dist/tools/browser/profiles/index.d.ts",
164
+ import: "./dist/tools/browser/profiles/index.js",
165
+ require: "./dist/tools/browser/profiles/index.cjs"
166
+ },
167
+ "./modelrouter": {
168
+ types: "./dist/modelrouter/index.d.ts",
169
+ import: "./dist/modelrouter/index.js",
170
+ require: "./dist/modelrouter/index.cjs"
171
+ },
172
+ "./tools/compact": {
173
+ types: "./dist/tools/compact/index.d.ts",
174
+ import: "./dist/tools/compact/index.js",
175
+ require: "./dist/tools/compact/index.cjs"
176
+ },
177
+ "./tools/reflex": {
178
+ types: "./dist/tools/reflex/index.d.ts",
179
+ import: "./dist/tools/reflex/index.js",
180
+ require: "./dist/tools/reflex/index.cjs"
181
+ },
182
+ "./subagents": {
183
+ types: "./dist/subagents/index.d.ts",
184
+ import: "./dist/subagents/index.js",
185
+ require: "./dist/subagents/index.cjs"
186
+ },
187
+ "./subagents/vercel": {
188
+ types: "./dist/subagents/vercel.d.ts",
189
+ import: "./dist/subagents/vercel.js",
190
+ require: "./dist/subagents/vercel.cjs"
191
+ },
192
+ "./subagents/anthropic": {
193
+ types: "./dist/subagents/anthropic.d.ts",
194
+ import: "./dist/subagents/anthropic.js",
195
+ require: "./dist/subagents/anthropic.cjs"
196
+ }
197
+ },
198
+ files: [
199
+ "dist/**/*.js",
200
+ "dist/**/*.cjs",
201
+ "dist/**/*.d.ts",
202
+ "dist/**/*.map",
203
+ "!dist/**/__tests__/**",
204
+ "!dist/**/*.test.*"
205
+ ],
206
+ scripts: {
207
+ build: "tsup version.ts index.ts edge.ts client.ts core/index.ts core/client.ts core/resource.ts core/error.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/reflex/index.ts tools/reflex/core.ts tools/reflex/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",
208
+ prepare: "npm run build",
209
+ typecheck: "tsc --noEmit",
210
+ lint: "eslint .",
211
+ test: "vitest run",
212
+ "test:watch": "vitest watch",
213
+ "test:anthropic": "vitest run anthropic",
214
+ "test:openai": "vitest run openai",
215
+ "test:vercel": "vitest run vercel",
216
+ "test:git": "vitest run git",
217
+ "test:browser": "vitest run browser",
218
+ "test:agent": "npx tsx tests/fullAgentTest.ts",
219
+ "test:integration": "npx tsx tests/fullIntegrationTest.ts",
220
+ "test:e2e": "vitest run --config vitest.e2e.config.ts",
221
+ "release:patch": "npm version patch && npm publish",
222
+ "release:minor": "npm version minor && npm publish",
223
+ "release:major": "npm version major && npm publish"
224
+ },
225
+ keywords: [
226
+ "morph",
227
+ "fast-apply",
228
+ "cli",
229
+ "sdk",
230
+ "edit-file"
231
+ ],
232
+ engines: {
233
+ node: ">=18"
234
+ },
235
+ license: "MIT",
236
+ dependencies: {
237
+ "@vscode/ripgrep": "^1.17.0",
238
+ ai: ">=5.0.0",
239
+ diff: "^7.0.0",
240
+ "isomorphic-git": "^1.25.10",
241
+ openai: "^4.52.7",
242
+ zod: ">=3.23.0"
243
+ },
244
+ devDependencies: {
245
+ "@ai-sdk/anthropic": "^2.0.70",
246
+ "@ai-sdk/openai": "^2.0.35",
247
+ "@anthropic-ai/sdk": "^0.30.1",
248
+ "@google/generative-ai": "^0.24.1",
249
+ "@types/diff": "^7.0.2",
250
+ "@types/node": "^20.14.10",
251
+ "@typescript-eslint/eslint-plugin": "^7.18.0",
252
+ "@typescript-eslint/parser": "^7.18.0",
253
+ dotenv: "^16.4.5",
254
+ eslint: "^8.57.0",
255
+ shx: "^0.3.4",
256
+ tsup: "^8.5.0",
257
+ tsx: "^4.16.2",
258
+ typescript: "^5.5.4",
259
+ vitest: "^2.1.6"
260
+ },
261
+ peerDependencies: {
262
+ "@anthropic-ai/sdk": ">=0.25.0",
263
+ "@google/generative-ai": ">=0.21.0",
264
+ ai: ">=5.0.0",
265
+ zod: ">=3.23.0"
266
+ },
267
+ peerDependenciesMeta: {
268
+ "@anthropic-ai/sdk": {
269
+ optional: true
270
+ },
271
+ "@google/generative-ai": {
272
+ optional: true
273
+ },
274
+ ai: {
275
+ optional: true
276
+ },
277
+ zod: {
278
+ optional: true
279
+ }
280
+ },
281
+ publishConfig: {
282
+ access: "public"
283
+ }
284
+ };
285
+
286
+ // version.ts
287
+ var SDK_VERSION = package_default.version;
288
+
289
+ // tools/utils/resilience.ts
290
+ var DEFAULT_RETRY_CONFIG = {
291
+ maxRetries: 3,
292
+ initialDelay: 1e3,
293
+ maxDelay: 3e4,
294
+ backoffMultiplier: 2,
295
+ retryableErrors: ["ECONNREFUSED", "ETIMEDOUT", "ENOTFOUND"]
296
+ };
297
+ async function fetchWithRetry(url, options, retryConfig = {}) {
298
+ const {
299
+ maxRetries = DEFAULT_RETRY_CONFIG.maxRetries,
300
+ initialDelay = DEFAULT_RETRY_CONFIG.initialDelay,
301
+ maxDelay = DEFAULT_RETRY_CONFIG.maxDelay,
302
+ backoffMultiplier = DEFAULT_RETRY_CONFIG.backoffMultiplier,
303
+ retryableErrors = DEFAULT_RETRY_CONFIG.retryableErrors,
304
+ onRetry
305
+ } = retryConfig;
306
+ let lastError = null;
307
+ let delay = initialDelay;
308
+ options = { ...options, headers: { "X-Morph-SDK-Version": SDK_VERSION, ...options.headers } };
309
+ for (let attempt = 0; attempt <= maxRetries; attempt++) {
310
+ try {
311
+ const response = await fetch(url, options);
312
+ if (response.status === 429 || response.status === 503) {
313
+ if (attempt < maxRetries) {
314
+ const retryAfter = response.headers.get("Retry-After");
315
+ const waitTime = retryAfter ? parseInt(retryAfter) * 1e3 : Math.min(delay, maxDelay);
316
+ const error = new Error(`HTTP ${response.status}: Retrying after ${waitTime}ms`);
317
+ if (onRetry) {
318
+ onRetry(attempt + 1, error);
319
+ }
320
+ await sleep(waitTime);
321
+ delay *= backoffMultiplier;
322
+ continue;
323
+ }
324
+ }
325
+ return response;
326
+ } catch (error) {
327
+ lastError = error;
328
+ const isRetryable = retryableErrors.some(
329
+ (errType) => lastError?.message?.includes(errType)
330
+ );
331
+ if (!isRetryable || attempt === maxRetries) {
332
+ throw lastError;
333
+ }
334
+ const waitTime = Math.min(delay, maxDelay);
335
+ if (onRetry) {
336
+ onRetry(attempt + 1, lastError);
337
+ }
338
+ await sleep(waitTime);
339
+ delay *= backoffMultiplier;
340
+ }
341
+ }
342
+ throw lastError || new Error("Max retries exceeded");
343
+ }
344
+ async function withTimeout(promise, timeoutMs, errorMessage) {
345
+ let timeoutId;
346
+ const timeoutPromise = new Promise((_, reject) => {
347
+ timeoutId = setTimeout(() => {
348
+ reject(new Error(errorMessage || `Operation timed out after ${timeoutMs}ms`));
349
+ }, timeoutMs);
350
+ });
351
+ try {
352
+ const result = await Promise.race([promise, timeoutPromise]);
353
+ clearTimeout(timeoutId);
354
+ return result;
355
+ } catch (error) {
356
+ clearTimeout(timeoutId);
357
+ throw error;
358
+ }
359
+ }
360
+ function sleep(ms) {
361
+ return new Promise((resolve) => setTimeout(resolve, ms));
362
+ }
363
+ var MorphError = class extends Error {
364
+ constructor(message, code, statusCode, retryable = false) {
365
+ super(message);
366
+ this.code = code;
367
+ this.statusCode = statusCode;
368
+ this.retryable = retryable;
369
+ this.name = "MorphError";
370
+ }
371
+ };
372
+
373
+ // logger.ts
374
+ var MorphLogger = class {
375
+ enabled;
376
+ fileStream;
377
+ /** Resolves once the file stream is initialized (or immediately if no file logging). */
378
+ ready;
379
+ constructor() {
380
+ this.enabled = typeof process !== "undefined" && (process.env.MORPH_DEBUG === "1" || !!process.env.MORPH_LOG_FILE);
381
+ this.fileStream = null;
382
+ const f = typeof process !== "undefined" ? process.env.MORPH_LOG_FILE : void 0;
383
+ if (f) {
384
+ this.ready = import("fs").then((fs) => {
385
+ this.fileStream = fs.createWriteStream(f, { flags: "a" });
386
+ }).catch(() => {
387
+ });
388
+ } else {
389
+ this.ready = Promise.resolve();
390
+ }
391
+ }
392
+ debug(component, msg, data) {
393
+ this._log("debug", component, msg, data);
394
+ }
395
+ info(component, msg, data) {
396
+ this._log("info", component, msg, data);
397
+ }
398
+ warn(component, msg, data) {
399
+ this._log("warn", component, msg, data);
400
+ }
401
+ error(component, msg, data) {
402
+ this._log("error", component, msg, data);
403
+ }
404
+ enable() {
405
+ this.enabled = true;
406
+ }
407
+ get isEnabled() {
408
+ return this.enabled;
409
+ }
410
+ _log(level, component, msg, data) {
411
+ if (level !== "error" && !this.enabled) return;
412
+ const ts = (/* @__PURE__ */ new Date()).toISOString();
413
+ const prefix = `[${ts}] [${level.toUpperCase()}] [${component}]`;
414
+ console.error(data ? `${prefix} ${msg} ${JSON.stringify(data)}` : `${prefix} ${msg}`);
415
+ this.fileStream?.write(JSON.stringify({ ts, level, component, msg, ...data && { data } }) + "\n");
416
+ }
417
+ };
418
+ var logger = new MorphLogger();
419
+
420
+ // core/error.ts
421
+ async function toMorphError(response) {
422
+ let message = `Morph API request failed (${response.status})`;
423
+ let code = "api_error";
424
+ try {
425
+ const body = await response.json();
426
+ message = body.error?.message ?? body.message ?? message;
427
+ code = body.error?.code ?? body.error?.type ?? code;
428
+ } catch {
429
+ }
430
+ if (response.status === 401) code = "authentication_error";
431
+ if (response.status === 429) code = "rate_limit_exceeded";
432
+ const retryable = response.status === 429 || response.status === 503;
433
+ return new MorphError(message, code, response.status, retryable);
434
+ }
435
+
436
+ // core/client.ts
437
+ var DEFAULT_BASE_URL = "https://api.morphllm.com";
438
+ var DEFAULT_REPOS_URL = "https://repos.morphllm.com";
439
+ var DEFAULT_BROWSER_URL = "https://browser.morphllm.com";
440
+ var DEFAULT_TIMEOUT = 6e4;
441
+ var env = (name) => typeof process !== "undefined" ? process.env?.[name] : void 0;
442
+ var stripTrailingSlash = (url) => url.replace(/\/+$/, "");
443
+ var MorphAPIClient = class {
444
+ /** Explicit key as provided; resolved against env at request time. */
445
+ apiKey;
446
+ baseURL;
447
+ reposURL;
448
+ browserURL;
449
+ /** Explicit default timeout (ms), if set. The request default is applied lazily so
450
+ * resources can read an undefined value and supply their own fallback. */
451
+ timeout;
452
+ retryConfig;
453
+ debug;
454
+ constructor(options = {}) {
455
+ this.apiKey = options.apiKey;
456
+ this.baseURL = stripTrailingSlash(options.baseURL ?? DEFAULT_BASE_URL);
457
+ this.reposURL = stripTrailingSlash(options.reposURL ?? env("MORPH_SEARCH_URL") ?? DEFAULT_REPOS_URL);
458
+ this.browserURL = stripTrailingSlash(
459
+ options.browserURL ?? (env("MORPH_ENVIRONMENT") === "DEV" ? "http://localhost:8000" : DEFAULT_BROWSER_URL)
460
+ );
461
+ this.timeout = options.timeout;
462
+ this.retryConfig = options.retryConfig;
463
+ this.debug = options.debug ?? false;
464
+ if (this.debug) logger.enable();
465
+ }
466
+ /** The key actually used for requests: explicit, else `MORPH_API_KEY`. */
467
+ resolveApiKey() {
468
+ return this.apiKey ?? env("MORPH_API_KEY");
469
+ }
470
+ /** Headers shared with tools that bring their own HTTP client (FastApply/WarpGrep via the `openai` package). */
471
+ defaultHeaders() {
472
+ return { "X-Morph-SDK-Version": SDK_VERSION };
473
+ }
474
+ buildURL(path, baseURL) {
475
+ if (/^https?:\/\//i.test(path)) return path;
476
+ const base = stripTrailingSlash(baseURL ?? this.baseURL);
477
+ return `${base}${path.startsWith("/") ? "" : "/"}${path}`;
478
+ }
479
+ buildHeaders(apiKey, extra) {
480
+ return {
481
+ "Content-Type": "application/json",
482
+ "X-Morph-SDK-Version": SDK_VERSION,
483
+ Authorization: `Bearer ${apiKey}`,
484
+ ...extra
485
+ };
486
+ }
487
+ applyQuery(url, query) {
488
+ if (!query) return url;
489
+ const params = new URLSearchParams();
490
+ for (const [key, value] of Object.entries(query)) {
491
+ if (value !== void 0 && value !== null) params.set(key, String(value));
492
+ }
493
+ const qs = params.toString();
494
+ return qs ? `${url}${url.includes("?") ? "&" : "?"}${qs}` : url;
495
+ }
496
+ async request(method, path, opts = {}) {
497
+ const apiKey = this.resolveApiKey();
498
+ if (!apiKey) {
499
+ throw new MorphError(
500
+ "Morph API key not found. Set the MORPH_API_KEY environment variable or pass apiKey in config.",
501
+ "missing_api_key",
502
+ 401
503
+ );
504
+ }
505
+ const url = this.applyQuery(this.buildURL(path, opts.baseURL), opts.query);
506
+ const timeout = opts.timeout ?? this.timeout ?? DEFAULT_TIMEOUT;
507
+ const init = {
508
+ method,
509
+ headers: this.buildHeaders(apiKey, opts.headers),
510
+ ...opts.body !== void 0 ? { body: JSON.stringify(opts.body) } : {},
511
+ ...opts.signal ? { signal: opts.signal } : {}
512
+ };
513
+ logger.debug("MorphAPIClient", "request", { method, url });
514
+ const response = await withTimeout(
515
+ fetchWithRetry(url, init, this.retryConfig ?? {}),
516
+ timeout,
517
+ `Morph request to ${url} timed out after ${timeout}ms`
518
+ );
519
+ if (opts.raw) return response;
520
+ if (!response.ok) throw await toMorphError(response);
521
+ if (opts.stream) return response;
522
+ if (response.status === 204) return void 0;
523
+ const text = await response.text();
524
+ return text ? JSON.parse(text) : void 0;
525
+ }
526
+ get(path, opts) {
527
+ return this.request("GET", path, opts);
528
+ }
529
+ post(path, opts) {
530
+ return this.request("POST", path, opts);
531
+ }
532
+ delete(path, opts) {
533
+ return this.request("DELETE", path, opts);
534
+ }
535
+ };
536
+
537
+ // core/resource.ts
538
+ var APIResource = class {
539
+ _client;
540
+ constructor(client) {
541
+ this._client = client;
542
+ }
543
+ };
544
+
545
+ // tools/compact/core.ts
26
546
  var DEFAULT_API_URL = "https://api.morphllm.com";
27
- var DEFAULT_TIMEOUT = 12e4;
28
- var CompactClient = class {
547
+ var DEFAULT_TIMEOUT2 = 12e4;
548
+ function resolveClient(clientOrConfig) {
549
+ if (clientOrConfig instanceof MorphAPIClient) return clientOrConfig;
550
+ return new MorphAPIClient({
551
+ apiKey: clientOrConfig.morphApiKey,
552
+ baseURL: clientOrConfig.morphApiUrl ?? DEFAULT_API_URL,
553
+ timeout: clientOrConfig.timeout ?? DEFAULT_TIMEOUT2,
554
+ retryConfig: clientOrConfig.retryConfig,
555
+ debug: clientOrConfig.debug
556
+ });
557
+ }
558
+ var CompactClient = class extends APIResource {
559
+ /** Resolved URL/timeout, exposed for backwards-compatible introspection. */
29
560
  config;
30
- constructor(config = {}) {
561
+ constructor(clientOrConfig = {}) {
562
+ super(resolveClient(clientOrConfig));
563
+ const cfg = clientOrConfig instanceof MorphAPIClient ? {} : clientOrConfig;
31
564
  this.config = {
32
- ...config,
33
- morphApiUrl: config.morphApiUrl ?? DEFAULT_API_URL,
34
- timeout: config.timeout ?? DEFAULT_TIMEOUT
565
+ morphApiUrl: this._client.baseURL,
566
+ timeout: cfg.timeout ?? DEFAULT_TIMEOUT2,
567
+ debug: cfg.debug ?? false
35
568
  };
36
569
  }
37
570
  /**
@@ -50,17 +583,6 @@ var CompactClient = class {
50
583
  * ```
51
584
  */
52
585
  async compact(input) {
53
- const apiKey = this.config.morphApiKey || (typeof process !== "undefined" ? process.env?.MORPH_API_KEY : void 0);
54
- const debug = this.config.debug || false;
55
- if (!apiKey) {
56
- throw new Error(
57
- "Morph API key not found. Set MORPH_API_KEY environment variable or pass morphApiKey in config."
58
- );
59
- }
60
- const url = `${this.config.morphApiUrl}/v1/compact`;
61
- if (debug) {
62
- console.log(`[Compact] Calling ${url}`);
63
- }
64
586
  const body = {
65
587
  compression_ratio: input.compressionRatio ?? 0.5,
66
588
  preserve_recent: input.preserveRecent ?? 2,
@@ -68,37 +590,19 @@ var CompactClient = class {
68
590
  include_line_ranges: input.includeLineRanges ?? true,
69
591
  include_markers: input.includeMarkers ?? true
70
592
  };
71
- if (input.query !== void 0) {
72
- body.query = input.query;
73
- }
74
- if (input.messages) {
75
- body.messages = input.messages;
76
- } else if (typeof input.input === "string") {
77
- body.input = input.input;
78
- } else if (Array.isArray(input.input)) {
79
- body.messages = input.input;
80
- } else {
81
- throw new Error("Either 'input' or 'messages' must be provided");
82
- }
83
- const startTime = Date.now();
84
- const response = await fetch(url, {
85
- method: "POST",
86
- headers: {
87
- "Authorization": `Bearer ${apiKey}`,
88
- "Content-Type": "application/json"
89
- },
90
- body: JSON.stringify(body),
91
- signal: AbortSignal.timeout(this.config.timeout)
92
- });
93
- if (!response.ok) {
94
- const text = await response.text();
95
- throw new Error(`Compact API error ${response.status}: ${text}`);
96
- }
97
- const data = await response.json();
98
- if (debug) {
99
- console.log(`[Compact] compact() done in ${Date.now() - startTime}ms`);
593
+ if (input.query !== void 0) body.query = input.query;
594
+ if (input.messages) body.messages = input.messages;
595
+ else if (typeof input.input === "string") body.input = input.input;
596
+ else if (Array.isArray(input.input)) body.messages = input.input;
597
+ else throw new Error("Either 'input' or 'messages' must be provided");
598
+ try {
599
+ return await this._client.post("/v1/compact", { body, timeout: this.config.timeout });
600
+ } catch (err) {
601
+ if (err instanceof MorphError) {
602
+ throw new Error(`Compact API error ${err.statusCode}: ${err.message}`);
603
+ }
604
+ throw err;
100
605
  }
101
- return data;
102
606
  }
103
607
  };
104
608
  // Annotate the CommonJS export names for ESM import in node: