@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.
- package/dist/{chunk-3XRNC56L.js → chunk-2SNAXTUJ.js} +4 -4
- package/dist/chunk-453ZV2AX.js +120 -0
- package/dist/chunk-453ZV2AX.js.map +1 -0
- package/dist/chunk-53ZJMCWU.js +142 -0
- package/dist/chunk-53ZJMCWU.js.map +1 -0
- package/dist/{chunk-IW4TYYG6.js → chunk-5DA6SZQJ.js} +2 -2
- package/dist/chunk-66OHYI24.js +78 -0
- package/dist/chunk-66OHYI24.js.map +1 -0
- package/dist/chunk-6X6QMRQG.js +158 -0
- package/dist/chunk-6X6QMRQG.js.map +1 -0
- package/dist/{chunk-C37YAYBK.js → chunk-7PVVPLRL.js} +2 -2
- package/dist/{chunk-MZZMSL26.js → chunk-AE7M2I52.js} +2 -2
- package/dist/{chunk-JLLIVBKY.js → chunk-CQF76HJC.js} +30 -6
- package/dist/chunk-CQF76HJC.js.map +1 -0
- package/dist/{chunk-EFCDIESP.js → chunk-ESXCQBMU.js} +2 -2
- package/dist/{chunk-FQJCE2FX.js → chunk-FOIDGIY4.js} +29 -10
- package/dist/chunk-FOIDGIY4.js.map +1 -0
- package/dist/{chunk-JEDEBCZM.js → chunk-GJZXDRH5.js} +8 -3
- package/dist/{chunk-JEDEBCZM.js.map → chunk-GJZXDRH5.js.map} +1 -1
- package/dist/{chunk-2ALTBYMY.js → chunk-IJ33I7P5.js} +4 -4
- package/dist/{chunk-UK7TI7QY.js → chunk-IN2U7AAI.js} +99 -143
- package/dist/chunk-IN2U7AAI.js.map +1 -0
- package/dist/{chunk-LE66XCOI.js → chunk-JWZ5DLAS.js} +27 -10
- package/dist/chunk-JWZ5DLAS.js.map +1 -0
- package/dist/chunk-LKFZBBTD.js +12 -0
- package/dist/chunk-LKFZBBTD.js.map +1 -0
- package/dist/{chunk-TAS6S42A.js → chunk-MO6S2LRD.js} +2 -2
- package/dist/{chunk-2OAKX4SZ.js → chunk-NI7PWQ3B.js} +4 -4
- package/dist/{chunk-GLQWEINZ.js → chunk-QAXXE4AD.js} +2 -2
- package/dist/{chunk-3BCKZKNK.js → chunk-QFE5523Q.js} +2 -2
- package/dist/{chunk-LL3EWDKD.js → chunk-QQXNZIVK.js} +4 -4
- package/dist/{chunk-IGQYZ2KH.js → chunk-QZ3V2BP7.js} +2 -2
- package/dist/chunk-QZR7SJ5N.js +24 -0
- package/dist/chunk-QZR7SJ5N.js.map +1 -0
- package/dist/{chunk-SW527EQT.js → chunk-SJVLAGUL.js} +4 -4
- package/dist/{chunk-CMFY26F3.js → chunk-U4J3BVAQ.js} +4 -4
- package/dist/{chunk-5EUMJI3I.js → chunk-U4MRSZQQ.js} +2 -2
- package/dist/{chunk-ZJQTTOHO.js → chunk-UADW6FYD.js} +2 -2
- package/dist/{chunk-4324ZSCW.js → chunk-VBARKJWL.js} +2 -2
- package/dist/{chunk-OPNTDMHH.js → chunk-VLZ6PNAD.js} +4 -4
- package/dist/chunk-VZ7BOH2K.js +1 -0
- package/dist/chunk-VZ7BOH2K.js.map +1 -0
- package/dist/{chunk-Y6T4NA75.js → chunk-XJDXV5VX.js} +2 -2
- package/dist/{chunk-JTUB5ZCT.js → chunk-XYTYIAMQ.js} +2 -2
- package/dist/{chunk-4MTZUTNH.js → chunk-Z4GJVN52.js} +23 -8
- package/dist/chunk-Z4GJVN52.js.map +1 -0
- package/dist/chunk-ZLSNL6M2.js +97 -0
- package/dist/chunk-ZLSNL6M2.js.map +1 -0
- package/dist/{client-DsAAqupx.d.ts → client-Dh6yzCm4.d.ts} +14 -5
- package/dist/client.cjs +724 -523
- package/dist/client.cjs.map +1 -1
- package/dist/client.d.ts +5 -1
- package/dist/client.js +31 -27
- package/dist/core/client.cjs +540 -0
- package/dist/core/client.cjs.map +1 -0
- package/dist/core/client.d.ts +79 -0
- package/dist/core/client.js +12 -0
- package/dist/core/client.js.map +1 -0
- package/dist/core/error.cjs +309 -0
- package/dist/core/error.cjs.map +1 -0
- package/dist/core/error.d.ts +18 -0
- package/dist/core/error.js +10 -0
- package/dist/core/error.js.map +1 -0
- package/dist/core/index.cjs +552 -0
- package/dist/core/index.cjs.map +1 -0
- package/dist/core/index.d.ts +4 -0
- package/dist/core/index.js +20 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/resource.cjs +36 -0
- package/dist/core/resource.cjs.map +1 -0
- package/dist/core/resource.d.ts +18 -0
- package/dist/core/resource.js +8 -0
- package/dist/core/resource.js.map +1 -0
- package/dist/edge.cjs +236 -173
- package/dist/edge.cjs.map +1 -1
- package/dist/edge.d.ts +2 -0
- package/dist/edge.js +8 -5
- package/dist/git/client.cjs +529 -9
- package/dist/git/client.cjs.map +1 -1
- package/dist/git/client.d.ts +8 -2
- package/dist/git/client.js +7 -1
- package/dist/git/index.cjs +529 -9
- package/dist/git/index.cjs.map +1 -1
- package/dist/git/index.d.ts +2 -0
- package/dist/git/index.js +7 -1
- package/dist/index.cjs +672 -465
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +6 -2
- package/dist/index.js +49 -33
- package/dist/modelrouter/core.cjs +204 -125
- package/dist/modelrouter/core.cjs.map +1 -1
- package/dist/modelrouter/core.d.ts +36 -9
- package/dist/modelrouter/core.js +6 -3
- package/dist/modelrouter/index.cjs +204 -125
- package/dist/modelrouter/index.cjs.map +1 -1
- package/dist/modelrouter/index.d.ts +3 -0
- package/dist/modelrouter/index.js +6 -3
- package/dist/subagents/anthropic.cjs +268 -52
- package/dist/subagents/anthropic.cjs.map +1 -1
- package/dist/subagents/anthropic.js +10 -6
- package/dist/subagents/vercel.cjs +268 -52
- package/dist/subagents/vercel.cjs.map +1 -1
- package/dist/subagents/vercel.js +10 -6
- package/dist/tools/browser/anthropic.cjs +7 -2
- package/dist/tools/browser/anthropic.cjs.map +1 -1
- package/dist/tools/browser/anthropic.js +9 -6
- package/dist/tools/browser/core.cjs +162 -10
- package/dist/tools/browser/core.cjs.map +1 -1
- package/dist/tools/browser/core.d.ts +8 -2
- package/dist/tools/browser/core.js +8 -5
- package/dist/tools/browser/index.cjs +163 -11
- package/dist/tools/browser/index.cjs.map +1 -1
- package/dist/tools/browser/index.d.ts +2 -0
- package/dist/tools/browser/index.js +18 -15
- package/dist/tools/browser/index.js.map +1 -1
- package/dist/tools/browser/openai.cjs +7 -2
- package/dist/tools/browser/openai.cjs.map +1 -1
- package/dist/tools/browser/openai.js +9 -6
- package/dist/tools/browser/profiles/core.cjs +7 -2
- package/dist/tools/browser/profiles/core.cjs.map +1 -1
- package/dist/tools/browser/profiles/core.js +3 -3
- package/dist/tools/browser/profiles/index.cjs +7 -2
- package/dist/tools/browser/profiles/index.cjs.map +1 -1
- package/dist/tools/browser/profiles/index.js +3 -3
- package/dist/tools/browser/vercel.cjs +7 -2
- package/dist/tools/browser/vercel.cjs.map +1 -1
- package/dist/tools/browser/vercel.js +9 -6
- package/dist/tools/codebase_search/anthropic.cjs +162 -41
- package/dist/tools/codebase_search/anthropic.cjs.map +1 -1
- package/dist/tools/codebase_search/anthropic.js +7 -4
- package/dist/tools/codebase_search/core.cjs +195 -66
- package/dist/tools/codebase_search/core.cjs.map +1 -1
- package/dist/tools/codebase_search/core.d.ts +18 -7
- package/dist/tools/codebase_search/core.js +6 -3
- package/dist/tools/codebase_search/index.cjs +162 -41
- package/dist/tools/codebase_search/index.cjs.map +1 -1
- package/dist/tools/codebase_search/index.d.ts +2 -0
- package/dist/tools/codebase_search/index.js +13 -10
- package/dist/tools/codebase_search/openai.cjs +162 -41
- package/dist/tools/codebase_search/openai.cjs.map +1 -1
- package/dist/tools/codebase_search/openai.js +7 -4
- package/dist/tools/codebase_search/vercel.cjs +162 -41
- package/dist/tools/codebase_search/vercel.cjs.map +1 -1
- package/dist/tools/codebase_search/vercel.js +7 -4
- package/dist/tools/compact/core.cjs +551 -47
- package/dist/tools/compact/core.cjs.map +1 -1
- package/dist/tools/compact/core.d.ts +16 -3
- package/dist/tools/compact/core.js +7 -1
- package/dist/tools/compact/index.cjs +549 -47
- package/dist/tools/compact/index.cjs.map +1 -1
- package/dist/tools/compact/index.d.ts +2 -0
- package/dist/tools/compact/index.js +8 -2
- package/dist/tools/fastapply/anthropic.cjs +16 -2
- package/dist/tools/fastapply/anthropic.cjs.map +1 -1
- package/dist/tools/fastapply/anthropic.js +8 -4
- package/dist/tools/fastapply/apply.cjs +7 -2
- package/dist/tools/fastapply/apply.cjs.map +1 -1
- package/dist/tools/fastapply/apply.js +2 -2
- package/dist/tools/fastapply/core.cjs +242 -12
- package/dist/tools/fastapply/core.cjs.map +1 -1
- package/dist/tools/fastapply/core.d.ts +8 -2
- package/dist/tools/fastapply/core.js +7 -3
- package/dist/tools/fastapply/index.cjs +16 -2
- package/dist/tools/fastapply/index.cjs.map +1 -1
- package/dist/tools/fastapply/index.d.ts +2 -0
- package/dist/tools/fastapply/index.js +13 -9
- package/dist/tools/fastapply/openai.cjs +16 -2
- package/dist/tools/fastapply/openai.cjs.map +1 -1
- package/dist/tools/fastapply/openai.js +8 -4
- package/dist/tools/fastapply/vercel.cjs +16 -2
- package/dist/tools/fastapply/vercel.cjs.map +1 -1
- package/dist/tools/fastapply/vercel.js +8 -4
- package/dist/tools/index.cjs +16 -2
- package/dist/tools/index.cjs.map +1 -1
- package/dist/tools/index.d.ts +2 -0
- package/dist/tools/index.js +13 -9
- package/dist/tools/reflex/core.cjs +693 -0
- package/dist/tools/reflex/core.cjs.map +1 -0
- package/dist/tools/reflex/core.d.ts +53 -0
- package/dist/tools/reflex/core.js +16 -0
- package/dist/tools/reflex/core.js.map +1 -0
- package/dist/tools/reflex/index.cjs +693 -0
- package/dist/tools/reflex/index.cjs.map +1 -0
- package/dist/tools/reflex/index.d.ts +5 -0
- package/dist/tools/reflex/index.js +16 -0
- package/dist/tools/reflex/index.js.map +1 -0
- package/dist/tools/reflex/types.cjs +19 -0
- package/dist/tools/reflex/types.cjs.map +1 -0
- package/dist/tools/reflex/types.d.ts +113 -0
- package/dist/tools/reflex/types.js +1 -0
- package/dist/tools/reflex/types.js.map +1 -0
- package/dist/tools/utils/resilience.cjs +7 -2
- package/dist/tools/utils/resilience.cjs.map +1 -1
- package/dist/tools/utils/resilience.js +2 -2
- package/dist/tools/warp_grep/agent/runner.cjs +7 -2
- package/dist/tools/warp_grep/agent/runner.cjs.map +1 -1
- package/dist/tools/warp_grep/agent/runner.js +2 -2
- package/dist/tools/warp_grep/anthropic.cjs +268 -52
- package/dist/tools/warp_grep/anthropic.cjs.map +1 -1
- package/dist/tools/warp_grep/anthropic.d.ts +2 -0
- package/dist/tools/warp_grep/anthropic.js +10 -6
- package/dist/tools/warp_grep/client.cjs +268 -52
- package/dist/tools/warp_grep/client.cjs.map +1 -1
- package/dist/tools/warp_grep/client.d.ts +8 -2
- package/dist/tools/warp_grep/client.js +9 -5
- package/dist/tools/warp_grep/gemini.cjs +268 -52
- package/dist/tools/warp_grep/gemini.cjs.map +1 -1
- package/dist/tools/warp_grep/gemini.d.ts +2 -0
- package/dist/tools/warp_grep/gemini.js +9 -5
- package/dist/tools/warp_grep/gemini.js.map +1 -1
- package/dist/tools/warp_grep/harness.js +5 -5
- package/dist/tools/warp_grep/index.cjs +268 -52
- package/dist/tools/warp_grep/index.cjs.map +1 -1
- package/dist/tools/warp_grep/index.d.ts +2 -0
- package/dist/tools/warp_grep/index.js +12 -8
- package/dist/tools/warp_grep/openai.cjs +268 -52
- package/dist/tools/warp_grep/openai.cjs.map +1 -1
- package/dist/tools/warp_grep/openai.d.ts +2 -0
- package/dist/tools/warp_grep/openai.js +10 -6
- package/dist/tools/warp_grep/providers/local.js +2 -2
- package/dist/tools/warp_grep/vercel.cjs +268 -52
- package/dist/tools/warp_grep/vercel.cjs.map +1 -1
- package/dist/tools/warp_grep/vercel.d.ts +2 -0
- package/dist/tools/warp_grep/vercel.js +10 -6
- package/dist/version.cjs +7 -2
- package/dist/version.cjs.map +1 -1
- package/dist/version.js +1 -1
- package/package.json +7 -2
- package/dist/chunk-4MTZUTNH.js.map +0 -1
- package/dist/chunk-FQJCE2FX.js.map +0 -1
- package/dist/chunk-H5WNI6R5.js +0 -102
- package/dist/chunk-H5WNI6R5.js.map +0 -1
- package/dist/chunk-JLLIVBKY.js.map +0 -1
- package/dist/chunk-KCFMXLZ7.js +0 -197
- package/dist/chunk-KCFMXLZ7.js.map +0 -1
- package/dist/chunk-LE66XCOI.js.map +0 -1
- package/dist/chunk-SCVWDNQP.js +0 -84
- package/dist/chunk-SCVWDNQP.js.map +0 -1
- package/dist/chunk-UK7TI7QY.js.map +0 -1
- /package/dist/{chunk-3XRNC56L.js.map → chunk-2SNAXTUJ.js.map} +0 -0
- /package/dist/{chunk-IW4TYYG6.js.map → chunk-5DA6SZQJ.js.map} +0 -0
- /package/dist/{chunk-C37YAYBK.js.map → chunk-7PVVPLRL.js.map} +0 -0
- /package/dist/{chunk-MZZMSL26.js.map → chunk-AE7M2I52.js.map} +0 -0
- /package/dist/{chunk-EFCDIESP.js.map → chunk-ESXCQBMU.js.map} +0 -0
- /package/dist/{chunk-2ALTBYMY.js.map → chunk-IJ33I7P5.js.map} +0 -0
- /package/dist/{chunk-TAS6S42A.js.map → chunk-MO6S2LRD.js.map} +0 -0
- /package/dist/{chunk-2OAKX4SZ.js.map → chunk-NI7PWQ3B.js.map} +0 -0
- /package/dist/{chunk-GLQWEINZ.js.map → chunk-QAXXE4AD.js.map} +0 -0
- /package/dist/{chunk-3BCKZKNK.js.map → chunk-QFE5523Q.js.map} +0 -0
- /package/dist/{chunk-LL3EWDKD.js.map → chunk-QQXNZIVK.js.map} +0 -0
- /package/dist/{chunk-IGQYZ2KH.js.map → chunk-QZ3V2BP7.js.map} +0 -0
- /package/dist/{chunk-SW527EQT.js.map → chunk-SJVLAGUL.js.map} +0 -0
- /package/dist/{chunk-CMFY26F3.js.map → chunk-U4J3BVAQ.js.map} +0 -0
- /package/dist/{chunk-5EUMJI3I.js.map → chunk-U4MRSZQQ.js.map} +0 -0
- /package/dist/{chunk-ZJQTTOHO.js.map → chunk-UADW6FYD.js.map} +0 -0
- /package/dist/{chunk-4324ZSCW.js.map → chunk-VBARKJWL.js.map} +0 -0
- /package/dist/{chunk-OPNTDMHH.js.map → chunk-VLZ6PNAD.js.map} +0 -0
- /package/dist/{chunk-Y6T4NA75.js.map → chunk-XJDXV5VX.js.map} +0 -0
- /package/dist/{chunk-JTUB5ZCT.js.map → chunk-XYTYIAMQ.js.map} +0 -0
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { BrowserConfig, BrowserTaskInput, BrowserTaskResult, BrowserTaskWithPromise, BrowserTaskInputWithSchema, BrowserTaskWithPromiseAndSchema, RecordingWithMethods, ErrorsResponse, WebpOptions, WebpResponse } from './types.js';
|
|
2
2
|
import { ProfilesClient } from './profiles/core.js';
|
|
3
|
+
import { MorphAPIClient } from '../../core/client.js';
|
|
4
|
+
import { APIResource } from '../../core/resource.js';
|
|
3
5
|
import '../utils/resilience.js';
|
|
4
6
|
import './profiles/types.js';
|
|
5
7
|
|
|
@@ -9,14 +11,18 @@ import './profiles/types.js';
|
|
|
9
11
|
|
|
10
12
|
/**
|
|
11
13
|
* BrowserClient class for easier usage with instance configuration
|
|
14
|
+
*
|
|
15
|
+
* @deprecated Prefer the unified `MorphClient` (`new MorphClient({ apiKey }).browser`).
|
|
16
|
+
* Standalone clients remain only for backwards compatibility and may be removed in a future
|
|
17
|
+
* major version — do not use them in new code.
|
|
12
18
|
*/
|
|
13
|
-
declare class BrowserClient {
|
|
19
|
+
declare class BrowserClient extends APIResource {
|
|
14
20
|
private config;
|
|
15
21
|
/**
|
|
16
22
|
* Profile management - create and manage browser profiles for storing login state.
|
|
17
23
|
*/
|
|
18
24
|
profiles: ProfilesClient;
|
|
19
|
-
constructor(
|
|
25
|
+
constructor(clientOrConfig?: MorphAPIClient | BrowserConfig);
|
|
20
26
|
/**
|
|
21
27
|
* Execute a browser automation task
|
|
22
28
|
*/
|
|
@@ -7,14 +7,17 @@ import {
|
|
|
7
7
|
getRecording,
|
|
8
8
|
getWebp,
|
|
9
9
|
waitForRecording
|
|
10
|
-
} from "../../chunk-
|
|
11
|
-
import "../../chunk-
|
|
10
|
+
} from "../../chunk-FOIDGIY4.js";
|
|
11
|
+
import "../../chunk-VBARKJWL.js";
|
|
12
12
|
import "../../chunk-2AMEQAO2.js";
|
|
13
|
-
import "../../chunk-2VERUKO2.js";
|
|
14
13
|
import "../../chunk-YTYCHRQ2.js";
|
|
15
|
-
import "../../chunk-
|
|
14
|
+
import "../../chunk-2VERUKO2.js";
|
|
15
|
+
import "../../chunk-453ZV2AX.js";
|
|
16
16
|
import "../../chunk-F3NCFNUX.js";
|
|
17
|
-
import "../../chunk-
|
|
17
|
+
import "../../chunk-QZR7SJ5N.js";
|
|
18
|
+
import "../../chunk-XYTYIAMQ.js";
|
|
19
|
+
import "../../chunk-GJZXDRH5.js";
|
|
20
|
+
import "../../chunk-LKFZBBTD.js";
|
|
18
21
|
import "../../chunk-PZ5AY32C.js";
|
|
19
22
|
export {
|
|
20
23
|
BrowserClient,
|
|
@@ -36,7 +36,7 @@ __export(browser_exports, {
|
|
|
36
36
|
LIVE_PRESETS: () => LIVE_PRESETS,
|
|
37
37
|
MorphAPIError: () => MorphAPIError,
|
|
38
38
|
MorphAuthenticationError: () => MorphAuthenticationError,
|
|
39
|
-
MorphError: () =>
|
|
39
|
+
MorphError: () => MorphError2,
|
|
40
40
|
MorphNotFoundError: () => MorphNotFoundError,
|
|
41
41
|
MorphProfileLimitError: () => MorphProfileLimitError,
|
|
42
42
|
MorphRateLimitError: () => MorphRateLimitError,
|
|
@@ -63,7 +63,7 @@ module.exports = __toCommonJS(browser_exports);
|
|
|
63
63
|
// package.json
|
|
64
64
|
var package_default = {
|
|
65
65
|
name: "@morphllm/morphsdk",
|
|
66
|
-
version: "0.2.
|
|
66
|
+
version: "0.2.172",
|
|
67
67
|
description: "TypeScript SDK and CLI for Morph Fast Apply integration",
|
|
68
68
|
type: "module",
|
|
69
69
|
main: "./dist/index.cjs",
|
|
@@ -200,6 +200,11 @@ var package_default = {
|
|
|
200
200
|
import: "./dist/tools/compact/index.js",
|
|
201
201
|
require: "./dist/tools/compact/index.cjs"
|
|
202
202
|
},
|
|
203
|
+
"./tools/reflex": {
|
|
204
|
+
types: "./dist/tools/reflex/index.d.ts",
|
|
205
|
+
import: "./dist/tools/reflex/index.js",
|
|
206
|
+
require: "./dist/tools/reflex/index.cjs"
|
|
207
|
+
},
|
|
203
208
|
"./subagents": {
|
|
204
209
|
types: "./dist/subagents/index.d.ts",
|
|
205
210
|
import: "./dist/subagents/index.js",
|
|
@@ -225,7 +230,7 @@ var package_default = {
|
|
|
225
230
|
"!dist/**/*.test.*"
|
|
226
231
|
],
|
|
227
232
|
scripts: {
|
|
228
|
-
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/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/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",
|
|
233
|
+
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",
|
|
229
234
|
prepare: "npm run build",
|
|
230
235
|
typecheck: "tsc --noEmit",
|
|
231
236
|
lint: "eslint .",
|
|
@@ -381,6 +386,15 @@ async function withTimeout(promise, timeoutMs, errorMessage) {
|
|
|
381
386
|
function sleep(ms) {
|
|
382
387
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
383
388
|
}
|
|
389
|
+
var MorphError = class extends Error {
|
|
390
|
+
constructor(message, code, statusCode, retryable = false) {
|
|
391
|
+
super(message);
|
|
392
|
+
this.code = code;
|
|
393
|
+
this.statusCode = statusCode;
|
|
394
|
+
this.retryable = retryable;
|
|
395
|
+
this.name = "MorphError";
|
|
396
|
+
}
|
|
397
|
+
};
|
|
384
398
|
|
|
385
399
|
// logger.ts
|
|
386
400
|
var MorphLogger = class {
|
|
@@ -528,7 +542,7 @@ function resolvePreset(optionsOrPreset) {
|
|
|
528
542
|
}
|
|
529
543
|
|
|
530
544
|
// tools/browser/errors.ts
|
|
531
|
-
var
|
|
545
|
+
var MorphError2 = class extends Error {
|
|
532
546
|
/** Error code for programmatic handling */
|
|
533
547
|
code;
|
|
534
548
|
/** Original cause of the error, if any */
|
|
@@ -554,7 +568,7 @@ var MorphError = class extends Error {
|
|
|
554
568
|
};
|
|
555
569
|
}
|
|
556
570
|
};
|
|
557
|
-
var MorphValidationError = class extends
|
|
571
|
+
var MorphValidationError = class extends MorphError2 {
|
|
558
572
|
/** The field that failed validation */
|
|
559
573
|
field;
|
|
560
574
|
constructor(message, field) {
|
|
@@ -569,7 +583,7 @@ var MorphValidationError = class extends MorphError {
|
|
|
569
583
|
};
|
|
570
584
|
}
|
|
571
585
|
};
|
|
572
|
-
var MorphAPIError = class extends
|
|
586
|
+
var MorphAPIError = class extends MorphError2 {
|
|
573
587
|
/** HTTP status code */
|
|
574
588
|
statusCode;
|
|
575
589
|
/** Request ID for debugging (if available) */
|
|
@@ -1091,6 +1105,131 @@ function buildProfileSetup(profile, session, config) {
|
|
|
1091
1105
|
};
|
|
1092
1106
|
}
|
|
1093
1107
|
|
|
1108
|
+
// core/error.ts
|
|
1109
|
+
async function toMorphError(response) {
|
|
1110
|
+
let message = `Morph API request failed (${response.status})`;
|
|
1111
|
+
let code = "api_error";
|
|
1112
|
+
try {
|
|
1113
|
+
const body = await response.json();
|
|
1114
|
+
message = body.error?.message ?? body.message ?? message;
|
|
1115
|
+
code = body.error?.code ?? body.error?.type ?? code;
|
|
1116
|
+
} catch {
|
|
1117
|
+
}
|
|
1118
|
+
if (response.status === 401) code = "authentication_error";
|
|
1119
|
+
if (response.status === 429) code = "rate_limit_exceeded";
|
|
1120
|
+
const retryable = response.status === 429 || response.status === 503;
|
|
1121
|
+
return new MorphError(message, code, response.status, retryable);
|
|
1122
|
+
}
|
|
1123
|
+
|
|
1124
|
+
// core/client.ts
|
|
1125
|
+
var DEFAULT_BASE_URL = "https://api.morphllm.com";
|
|
1126
|
+
var DEFAULT_REPOS_URL = "https://repos.morphllm.com";
|
|
1127
|
+
var DEFAULT_BROWSER_URL = "https://browser.morphllm.com";
|
|
1128
|
+
var DEFAULT_TIMEOUT = 6e4;
|
|
1129
|
+
var env = (name) => typeof process !== "undefined" ? process.env?.[name] : void 0;
|
|
1130
|
+
var stripTrailingSlash = (url) => url.replace(/\/+$/, "");
|
|
1131
|
+
var MorphAPIClient = class {
|
|
1132
|
+
/** Explicit key as provided; resolved against env at request time. */
|
|
1133
|
+
apiKey;
|
|
1134
|
+
baseURL;
|
|
1135
|
+
reposURL;
|
|
1136
|
+
browserURL;
|
|
1137
|
+
/** Explicit default timeout (ms), if set. The request default is applied lazily so
|
|
1138
|
+
* resources can read an undefined value and supply their own fallback. */
|
|
1139
|
+
timeout;
|
|
1140
|
+
retryConfig;
|
|
1141
|
+
debug;
|
|
1142
|
+
constructor(options = {}) {
|
|
1143
|
+
this.apiKey = options.apiKey;
|
|
1144
|
+
this.baseURL = stripTrailingSlash(options.baseURL ?? DEFAULT_BASE_URL);
|
|
1145
|
+
this.reposURL = stripTrailingSlash(options.reposURL ?? env("MORPH_SEARCH_URL") ?? DEFAULT_REPOS_URL);
|
|
1146
|
+
this.browserURL = stripTrailingSlash(
|
|
1147
|
+
options.browserURL ?? (env("MORPH_ENVIRONMENT") === "DEV" ? "http://localhost:8000" : DEFAULT_BROWSER_URL)
|
|
1148
|
+
);
|
|
1149
|
+
this.timeout = options.timeout;
|
|
1150
|
+
this.retryConfig = options.retryConfig;
|
|
1151
|
+
this.debug = options.debug ?? false;
|
|
1152
|
+
if (this.debug) logger.enable();
|
|
1153
|
+
}
|
|
1154
|
+
/** The key actually used for requests: explicit, else `MORPH_API_KEY`. */
|
|
1155
|
+
resolveApiKey() {
|
|
1156
|
+
return this.apiKey ?? env("MORPH_API_KEY");
|
|
1157
|
+
}
|
|
1158
|
+
/** Headers shared with tools that bring their own HTTP client (FastApply/WarpGrep via the `openai` package). */
|
|
1159
|
+
defaultHeaders() {
|
|
1160
|
+
return { "X-Morph-SDK-Version": SDK_VERSION };
|
|
1161
|
+
}
|
|
1162
|
+
buildURL(path, baseURL) {
|
|
1163
|
+
if (/^https?:\/\//i.test(path)) return path;
|
|
1164
|
+
const base = stripTrailingSlash(baseURL ?? this.baseURL);
|
|
1165
|
+
return `${base}${path.startsWith("/") ? "" : "/"}${path}`;
|
|
1166
|
+
}
|
|
1167
|
+
buildHeaders(apiKey, extra) {
|
|
1168
|
+
return {
|
|
1169
|
+
"Content-Type": "application/json",
|
|
1170
|
+
"X-Morph-SDK-Version": SDK_VERSION,
|
|
1171
|
+
Authorization: `Bearer ${apiKey}`,
|
|
1172
|
+
...extra
|
|
1173
|
+
};
|
|
1174
|
+
}
|
|
1175
|
+
applyQuery(url, query) {
|
|
1176
|
+
if (!query) return url;
|
|
1177
|
+
const params = new URLSearchParams();
|
|
1178
|
+
for (const [key, value] of Object.entries(query)) {
|
|
1179
|
+
if (value !== void 0 && value !== null) params.set(key, String(value));
|
|
1180
|
+
}
|
|
1181
|
+
const qs = params.toString();
|
|
1182
|
+
return qs ? `${url}${url.includes("?") ? "&" : "?"}${qs}` : url;
|
|
1183
|
+
}
|
|
1184
|
+
async request(method, path, opts = {}) {
|
|
1185
|
+
const apiKey = this.resolveApiKey();
|
|
1186
|
+
if (!apiKey) {
|
|
1187
|
+
throw new MorphError(
|
|
1188
|
+
"Morph API key not found. Set the MORPH_API_KEY environment variable or pass apiKey in config.",
|
|
1189
|
+
"missing_api_key",
|
|
1190
|
+
401
|
|
1191
|
+
);
|
|
1192
|
+
}
|
|
1193
|
+
const url = this.applyQuery(this.buildURL(path, opts.baseURL), opts.query);
|
|
1194
|
+
const timeout = opts.timeout ?? this.timeout ?? DEFAULT_TIMEOUT;
|
|
1195
|
+
const init = {
|
|
1196
|
+
method,
|
|
1197
|
+
headers: this.buildHeaders(apiKey, opts.headers),
|
|
1198
|
+
...opts.body !== void 0 ? { body: JSON.stringify(opts.body) } : {},
|
|
1199
|
+
...opts.signal ? { signal: opts.signal } : {}
|
|
1200
|
+
};
|
|
1201
|
+
logger.debug("MorphAPIClient", "request", { method, url });
|
|
1202
|
+
const response = await withTimeout(
|
|
1203
|
+
fetchWithRetry(url, init, this.retryConfig ?? {}),
|
|
1204
|
+
timeout,
|
|
1205
|
+
`Morph request to ${url} timed out after ${timeout}ms`
|
|
1206
|
+
);
|
|
1207
|
+
if (opts.raw) return response;
|
|
1208
|
+
if (!response.ok) throw await toMorphError(response);
|
|
1209
|
+
if (opts.stream) return response;
|
|
1210
|
+
if (response.status === 204) return void 0;
|
|
1211
|
+
const text = await response.text();
|
|
1212
|
+
return text ? JSON.parse(text) : void 0;
|
|
1213
|
+
}
|
|
1214
|
+
get(path, opts) {
|
|
1215
|
+
return this.request("GET", path, opts);
|
|
1216
|
+
}
|
|
1217
|
+
post(path, opts) {
|
|
1218
|
+
return this.request("POST", path, opts);
|
|
1219
|
+
}
|
|
1220
|
+
delete(path, opts) {
|
|
1221
|
+
return this.request("DELETE", path, opts);
|
|
1222
|
+
}
|
|
1223
|
+
};
|
|
1224
|
+
|
|
1225
|
+
// core/resource.ts
|
|
1226
|
+
var APIResource = class {
|
|
1227
|
+
_client;
|
|
1228
|
+
constructor(client) {
|
|
1229
|
+
this._client = client;
|
|
1230
|
+
}
|
|
1231
|
+
};
|
|
1232
|
+
|
|
1094
1233
|
// tools/browser/core.ts
|
|
1095
1234
|
var DEFAULT_CONFIG = {
|
|
1096
1235
|
apiUrl: process.env.MORPH_ENVIRONMENT === "DEV" ? "http://localhost:8000" : "https://browser.morphllm.com",
|
|
@@ -1098,17 +1237,30 @@ var DEFAULT_CONFIG = {
|
|
|
1098
1237
|
// 10 minutes for complex tasks
|
|
1099
1238
|
debug: false
|
|
1100
1239
|
};
|
|
1101
|
-
var BrowserClient = class {
|
|
1240
|
+
var BrowserClient = class extends APIResource {
|
|
1102
1241
|
config;
|
|
1103
1242
|
/**
|
|
1104
1243
|
* Profile management - create and manage browser profiles for storing login state.
|
|
1105
1244
|
*/
|
|
1106
1245
|
profiles;
|
|
1107
|
-
constructor(
|
|
1108
|
-
|
|
1246
|
+
constructor(clientOrConfig = {}) {
|
|
1247
|
+
const isClient = clientOrConfig instanceof MorphAPIClient;
|
|
1248
|
+
super(
|
|
1249
|
+
isClient ? clientOrConfig : new MorphAPIClient({
|
|
1250
|
+
apiKey: clientOrConfig.apiKey,
|
|
1251
|
+
browserURL: clientOrConfig.apiUrl,
|
|
1252
|
+
timeout: clientOrConfig.timeout,
|
|
1253
|
+
retryConfig: clientOrConfig.retryConfig,
|
|
1254
|
+
debug: clientOrConfig.debug
|
|
1255
|
+
})
|
|
1256
|
+
);
|
|
1257
|
+
this.config = isClient ? {
|
|
1109
1258
|
...DEFAULT_CONFIG,
|
|
1110
|
-
|
|
1111
|
-
|
|
1259
|
+
apiUrl: clientOrConfig.browserURL,
|
|
1260
|
+
apiKey: clientOrConfig.resolveApiKey(),
|
|
1261
|
+
retryConfig: clientOrConfig.retryConfig,
|
|
1262
|
+
debug: clientOrConfig.debug
|
|
1263
|
+
} : { ...DEFAULT_CONFIG, ...clientOrConfig };
|
|
1112
1264
|
this.profiles = new ProfilesClient(this.config);
|
|
1113
1265
|
}
|
|
1114
1266
|
/**
|