@morphllm/morphsdk 0.2.162 → 0.2.163
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-YBKT2UOK.js → chunk-2KDJKRZG.js} +2 -2
- package/dist/chunk-5AM23TC7.js +42 -0
- package/dist/chunk-5AM23TC7.js.map +1 -0
- package/dist/{chunk-UETFIUIG.js → chunk-5BMWOPYW.js} +2 -2
- package/dist/{chunk-UKT3CKC7.js → chunk-5FYJMU6H.js} +2 -2
- package/dist/{chunk-DRTPCCEI.js → chunk-6PFGM4CM.js} +2 -2
- package/dist/{chunk-YRHM3RCQ.js → chunk-6YOSNPHS.js} +2 -2
- package/dist/{chunk-XUV5B27P.js → chunk-6YTCBLRI.js} +2 -2
- package/dist/{chunk-VQSLLYKE.js → chunk-COUYHTIO.js} +2 -2
- package/dist/{chunk-Y4NYT5L6.js → chunk-CUMC7Z5R.js} +11 -26
- package/dist/chunk-CUMC7Z5R.js.map +1 -0
- package/dist/{chunk-4Q6VFODP.js → chunk-EJBWDGTH.js} +2 -2
- package/dist/{chunk-UZX7SY33.js → chunk-FNCPPCPV.js} +2 -2
- package/dist/{chunk-4GQNYJBB.js → chunk-FQXUOZBX.js} +9 -12
- package/dist/chunk-FQXUOZBX.js.map +1 -0
- package/dist/{chunk-DXMNKPB6.js → chunk-HBH56DLN.js} +2 -2
- package/dist/{chunk-JVKGSMEF.js → chunk-HFN3YCF4.js} +2 -2
- package/dist/{chunk-NKUGRAYU.js → chunk-HMGC7FLZ.js} +2 -2
- package/dist/{chunk-4U5JFT6X.js → chunk-KHR4CZMX.js} +24 -17
- package/dist/{chunk-4U5JFT6X.js.map → chunk-KHR4CZMX.js.map} +1 -1
- package/dist/{chunk-OGMHU4PJ.js → chunk-LSHQISAX.js} +9 -2
- package/dist/chunk-LSHQISAX.js.map +1 -0
- package/dist/{chunk-ZG3YLRR5.js → chunk-LST7MZOZ.js} +7 -2
- package/dist/chunk-LST7MZOZ.js.map +1 -0
- package/dist/{chunk-5XTA7GCY.js → chunk-LW5EAPZ6.js} +2 -2
- package/dist/{chunk-UVRC4LKZ.js → chunk-NNATBEOF.js} +2 -2
- package/dist/{chunk-CNFHKQ42.js → chunk-OKFW4KGU.js} +2 -2
- package/dist/{chunk-PWGBAVQ5.js → chunk-QXGOEDZD.js} +2 -2
- package/dist/{chunk-OOE2TKKY.js → chunk-SELI567A.js} +12 -21
- package/dist/chunk-SELI567A.js.map +1 -0
- package/dist/{chunk-LECHLXI4.js → chunk-VMNEYCFP.js} +17 -6
- package/dist/chunk-VMNEYCFP.js.map +1 -0
- package/dist/{chunk-LZQBVEY2.js → chunk-WM6SBI4B.js} +35 -27
- package/dist/chunk-WM6SBI4B.js.map +1 -0
- package/dist/{chunk-7QMX45QD.js → chunk-ZMCDGAGF.js} +33 -6
- package/dist/chunk-ZMCDGAGF.js.map +1 -0
- package/dist/client.cjs +184 -115
- package/dist/client.cjs.map +1 -1
- package/dist/client.d.ts +1 -1
- package/dist/client.js +23 -22
- package/dist/edge.cjs +82 -50
- package/dist/edge.cjs.map +1 -1
- package/dist/edge.js +5 -4
- package/dist/index.cjs +186 -115
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +23 -22
- package/dist/modelrouter/core.cjs +50 -25
- package/dist/modelrouter/core.cjs.map +1 -1
- package/dist/modelrouter/core.js +4 -3
- package/dist/modelrouter/index.cjs +50 -25
- package/dist/modelrouter/index.cjs.map +1 -1
- package/dist/modelrouter/index.js +4 -3
- package/dist/subagents/anthropic.cjs +85 -12
- package/dist/subagents/anthropic.cjs.map +1 -1
- package/dist/subagents/anthropic.js +5 -4
- package/dist/subagents/vercel.cjs +85 -12
- package/dist/subagents/vercel.cjs.map +1 -1
- package/dist/subagents/vercel.js +5 -4
- package/dist/tools/browser/anthropic.cjs +47 -9
- package/dist/tools/browser/anthropic.cjs.map +1 -1
- package/dist/tools/browser/anthropic.js +6 -5
- package/dist/tools/browser/core.cjs +50 -19
- package/dist/tools/browser/core.cjs.map +1 -1
- package/dist/tools/browser/core.js +5 -4
- package/dist/tools/browser/index.cjs +50 -19
- package/dist/tools/browser/index.cjs.map +1 -1
- package/dist/tools/browser/index.js +8 -7
- package/dist/tools/browser/index.js.map +1 -1
- package/dist/tools/browser/openai.cjs +47 -9
- package/dist/tools/browser/openai.cjs.map +1 -1
- package/dist/tools/browser/openai.js +6 -5
- package/dist/tools/browser/profiles/core.cjs +6 -1
- 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 +6 -1
- 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 +47 -9
- package/dist/tools/browser/vercel.cjs.map +1 -1
- package/dist/tools/browser/vercel.js +6 -5
- package/dist/tools/codebase_search/anthropic.cjs +48 -11
- package/dist/tools/codebase_search/anthropic.cjs.map +1 -1
- package/dist/tools/codebase_search/anthropic.js +5 -4
- package/dist/tools/codebase_search/core.cjs +48 -11
- package/dist/tools/codebase_search/core.cjs.map +1 -1
- package/dist/tools/codebase_search/core.js +4 -3
- package/dist/tools/codebase_search/index.cjs +48 -11
- package/dist/tools/codebase_search/index.cjs.map +1 -1
- package/dist/tools/codebase_search/index.js +7 -6
- package/dist/tools/codebase_search/openai.cjs +48 -11
- package/dist/tools/codebase_search/openai.cjs.map +1 -1
- package/dist/tools/codebase_search/openai.js +5 -4
- package/dist/tools/codebase_search/vercel.cjs +48 -11
- package/dist/tools/codebase_search/vercel.cjs.map +1 -1
- package/dist/tools/codebase_search/vercel.js +5 -4
- package/dist/tools/fastapply/anthropic.cjs +94 -31
- package/dist/tools/fastapply/anthropic.cjs.map +1 -1
- package/dist/tools/fastapply/anthropic.js +5 -4
- package/dist/tools/fastapply/apply.cjs +74 -26
- package/dist/tools/fastapply/apply.cjs.map +1 -1
- package/dist/tools/fastapply/apply.js +3 -2
- package/dist/tools/fastapply/core.cjs +94 -31
- package/dist/tools/fastapply/core.cjs.map +1 -1
- package/dist/tools/fastapply/core.js +4 -3
- package/dist/tools/fastapply/index.cjs +94 -31
- package/dist/tools/fastapply/index.cjs.map +1 -1
- package/dist/tools/fastapply/index.js +7 -6
- package/dist/tools/fastapply/openai.cjs +94 -31
- package/dist/tools/fastapply/openai.cjs.map +1 -1
- package/dist/tools/fastapply/openai.js +5 -4
- package/dist/tools/fastapply/vercel.cjs +94 -31
- package/dist/tools/fastapply/vercel.cjs.map +1 -1
- package/dist/tools/fastapply/vercel.js +5 -4
- package/dist/tools/index.cjs +94 -31
- package/dist/tools/index.cjs.map +1 -1
- package/dist/tools/index.js +7 -6
- package/dist/tools/utils/resilience.cjs +6 -1
- 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 +74 -5
- package/dist/tools/warp_grep/agent/runner.cjs.map +1 -1
- package/dist/tools/warp_grep/agent/runner.js +3 -2
- package/dist/tools/warp_grep/anthropic.cjs +85 -12
- package/dist/tools/warp_grep/anthropic.cjs.map +1 -1
- package/dist/tools/warp_grep/anthropic.js +5 -4
- package/dist/tools/warp_grep/client.cjs +85 -12
- package/dist/tools/warp_grep/client.cjs.map +1 -1
- package/dist/tools/warp_grep/client.js +4 -3
- package/dist/tools/warp_grep/gemini.cjs +85 -12
- package/dist/tools/warp_grep/gemini.cjs.map +1 -1
- package/dist/tools/warp_grep/gemini.js +4 -3
- package/dist/tools/warp_grep/gemini.js.map +1 -1
- package/dist/tools/warp_grep/index.cjs +85 -12
- package/dist/tools/warp_grep/index.cjs.map +1 -1
- package/dist/tools/warp_grep/index.js +4 -3
- package/dist/tools/warp_grep/openai.cjs +85 -12
- package/dist/tools/warp_grep/openai.cjs.map +1 -1
- package/dist/tools/warp_grep/openai.js +5 -4
- package/dist/tools/warp_grep/vercel.cjs +85 -12
- package/dist/tools/warp_grep/vercel.cjs.map +1 -1
- package/dist/tools/warp_grep/vercel.d.ts +1 -1
- package/dist/tools/warp_grep/vercel.js +5 -4
- package/dist/version.cjs +6 -1
- package/dist/version.cjs.map +1 -1
- package/dist/version.js +1 -1
- package/package.json +6 -1
- package/dist/chunk-4GQNYJBB.js.map +0 -1
- package/dist/chunk-7QMX45QD.js.map +0 -1
- package/dist/chunk-LECHLXI4.js.map +0 -1
- package/dist/chunk-LZQBVEY2.js.map +0 -1
- package/dist/chunk-OGMHU4PJ.js.map +0 -1
- package/dist/chunk-OOE2TKKY.js.map +0 -1
- package/dist/chunk-Y4NYT5L6.js.map +0 -1
- package/dist/chunk-ZG3YLRR5.js.map +0 -1
- package/dist/{chunk-YBKT2UOK.js.map → chunk-2KDJKRZG.js.map} +0 -0
- package/dist/{chunk-UETFIUIG.js.map → chunk-5BMWOPYW.js.map} +0 -0
- package/dist/{chunk-UKT3CKC7.js.map → chunk-5FYJMU6H.js.map} +0 -0
- package/dist/{chunk-DRTPCCEI.js.map → chunk-6PFGM4CM.js.map} +0 -0
- package/dist/{chunk-YRHM3RCQ.js.map → chunk-6YOSNPHS.js.map} +0 -0
- package/dist/{chunk-XUV5B27P.js.map → chunk-6YTCBLRI.js.map} +0 -0
- package/dist/{chunk-VQSLLYKE.js.map → chunk-COUYHTIO.js.map} +0 -0
- package/dist/{chunk-4Q6VFODP.js.map → chunk-EJBWDGTH.js.map} +0 -0
- package/dist/{chunk-UZX7SY33.js.map → chunk-FNCPPCPV.js.map} +0 -0
- package/dist/{chunk-DXMNKPB6.js.map → chunk-HBH56DLN.js.map} +0 -0
- package/dist/{chunk-JVKGSMEF.js.map → chunk-HFN3YCF4.js.map} +0 -0
- package/dist/{chunk-NKUGRAYU.js.map → chunk-HMGC7FLZ.js.map} +0 -0
- package/dist/{chunk-5XTA7GCY.js.map → chunk-LW5EAPZ6.js.map} +0 -0
- package/dist/{chunk-UVRC4LKZ.js.map → chunk-NNATBEOF.js.map} +0 -0
- package/dist/{chunk-CNFHKQ42.js.map → chunk-OKFW4KGU.js.map} +0 -0
- package/dist/{chunk-PWGBAVQ5.js.map → chunk-QXGOEDZD.js.map} +0 -0
- package/dist/{client-PkB7g9SA.d.ts → client-DsAAqupx.d.ts} +1 -1
|
@@ -7,13 +7,14 @@ import {
|
|
|
7
7
|
getRecording,
|
|
8
8
|
getWebp,
|
|
9
9
|
waitForRecording
|
|
10
|
-
} from "../../chunk-
|
|
11
|
-
import "../../chunk-
|
|
10
|
+
} from "../../chunk-SELI567A.js";
|
|
11
|
+
import "../../chunk-QXGOEDZD.js";
|
|
12
12
|
import "../../chunk-2AMEQAO2.js";
|
|
13
13
|
import "../../chunk-2VERUKO2.js";
|
|
14
14
|
import "../../chunk-YTYCHRQ2.js";
|
|
15
|
-
import "../../chunk-
|
|
16
|
-
import "../../chunk-
|
|
15
|
+
import "../../chunk-FNCPPCPV.js";
|
|
16
|
+
import "../../chunk-5AM23TC7.js";
|
|
17
|
+
import "../../chunk-LST7MZOZ.js";
|
|
17
18
|
import "../../chunk-PZ5AY32C.js";
|
|
18
19
|
export {
|
|
19
20
|
BrowserClient,
|
|
@@ -53,7 +53,7 @@ module.exports = __toCommonJS(browser_exports);
|
|
|
53
53
|
// package.json
|
|
54
54
|
var package_default = {
|
|
55
55
|
name: "@morphllm/morphsdk",
|
|
56
|
-
version: "0.2.
|
|
56
|
+
version: "0.2.163",
|
|
57
57
|
description: "TypeScript SDK and CLI for Morph Fast Apply integration",
|
|
58
58
|
type: "module",
|
|
59
59
|
main: "./dist/index.cjs",
|
|
@@ -65,6 +65,11 @@ var package_default = {
|
|
|
65
65
|
import: "./dist/index.js",
|
|
66
66
|
require: "./dist/index.cjs"
|
|
67
67
|
},
|
|
68
|
+
"./logger": {
|
|
69
|
+
types: "./dist/logger.d.ts",
|
|
70
|
+
import: "./dist/logger.js",
|
|
71
|
+
require: "./dist/logger.cjs"
|
|
72
|
+
},
|
|
68
73
|
"./edge": {
|
|
69
74
|
types: "./dist/edge.d.ts",
|
|
70
75
|
import: "./dist/edge.js",
|
|
@@ -366,6 +371,44 @@ function sleep(ms) {
|
|
|
366
371
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
367
372
|
}
|
|
368
373
|
|
|
374
|
+
// logger.ts
|
|
375
|
+
var import_fs = require("fs");
|
|
376
|
+
var MorphLogger = class {
|
|
377
|
+
enabled;
|
|
378
|
+
fileStream;
|
|
379
|
+
constructor() {
|
|
380
|
+
this.enabled = process.env.MORPH_DEBUG === "1" || !!process.env.MORPH_LOG_FILE;
|
|
381
|
+
const f = process.env.MORPH_LOG_FILE;
|
|
382
|
+
this.fileStream = f ? (0, import_fs.createWriteStream)(f, { flags: "a" }) : null;
|
|
383
|
+
}
|
|
384
|
+
debug(component, msg, data) {
|
|
385
|
+
this._log("debug", component, msg, data);
|
|
386
|
+
}
|
|
387
|
+
info(component, msg, data) {
|
|
388
|
+
this._log("info", component, msg, data);
|
|
389
|
+
}
|
|
390
|
+
warn(component, msg, data) {
|
|
391
|
+
this._log("warn", component, msg, data);
|
|
392
|
+
}
|
|
393
|
+
error(component, msg, data) {
|
|
394
|
+
this._log("error", component, msg, data);
|
|
395
|
+
}
|
|
396
|
+
enable() {
|
|
397
|
+
this.enabled = true;
|
|
398
|
+
}
|
|
399
|
+
get isEnabled() {
|
|
400
|
+
return this.enabled;
|
|
401
|
+
}
|
|
402
|
+
_log(level, component, msg, data) {
|
|
403
|
+
if (level !== "error" && !this.enabled) return;
|
|
404
|
+
const ts = (/* @__PURE__ */ new Date()).toISOString();
|
|
405
|
+
const prefix = `[${ts}] [${level.toUpperCase()}] [${component}]`;
|
|
406
|
+
console.error(data ? `${prefix} ${msg} ${JSON.stringify(data)}` : `${prefix} ${msg}`);
|
|
407
|
+
this.fileStream?.write(JSON.stringify({ ts, level, component, msg, ...data && { data } }) + "\n");
|
|
408
|
+
}
|
|
409
|
+
};
|
|
410
|
+
var logger = new MorphLogger();
|
|
411
|
+
|
|
369
412
|
// tools/browser/live.ts
|
|
370
413
|
var LIVE_PRESETS = {
|
|
371
414
|
/** Read-only monitoring (no interaction) */
|
|
@@ -1062,11 +1105,7 @@ var BrowserClient = class {
|
|
|
1062
1105
|
if (!hasTask && !hasDiff) {
|
|
1063
1106
|
throw new Error('Browser task requires either "task" (natural language) or "diff" (PR-review planning)');
|
|
1064
1107
|
}
|
|
1065
|
-
|
|
1066
|
-
const preview = (input.task ?? "").slice(0, 60);
|
|
1067
|
-
console.log(`[Browser] createTask: "${preview}..." url=${input.url || "none"}`);
|
|
1068
|
-
console.log(`[Browser] Calling async endpoint: ${apiUrl}/browser-task/async`);
|
|
1069
|
-
}
|
|
1108
|
+
logger.debug("Browser", "create_task", { task: (input.task ?? "").slice(0, 100), url: input.url, endpoint: `${apiUrl}/browser-task/async` });
|
|
1070
1109
|
const headers = { "Content-Type": "application/json" };
|
|
1071
1110
|
if (this.config.apiKey) headers["Authorization"] = `Bearer ${this.config.apiKey}`;
|
|
1072
1111
|
const response = await fetch(`${apiUrl}/browser-task/async`, {
|
|
@@ -1096,14 +1135,11 @@ var BrowserClient = class {
|
|
|
1096
1135
|
});
|
|
1097
1136
|
if (!response.ok) {
|
|
1098
1137
|
const errorText = await response.text().catch(() => response.statusText);
|
|
1099
|
-
|
|
1138
|
+
logger.error("Browser", "create_task_error", { status: response.status, error: errorText });
|
|
1100
1139
|
throw new Error(`HTTP ${response.status}: ${errorText}`);
|
|
1101
1140
|
}
|
|
1102
1141
|
const result = mapTaskResult(await response.json());
|
|
1103
|
-
|
|
1104
|
-
const debugUrl = result.debugUrl;
|
|
1105
|
-
console.log(`[Browser] \u2705 Task created: recordingId=${result.recordingId ?? "none"} debugUrl=${debugUrl ? "available" : "none"}`);
|
|
1106
|
-
}
|
|
1142
|
+
logger.debug("Browser", "task_created", { recording_id: result.recordingId, task_id: result.taskId, debug_url: !!result.debugUrl });
|
|
1107
1143
|
if ("schema" in input) {
|
|
1108
1144
|
return wrapTaskResponseWithSchema(result, this.config, input.schema);
|
|
1109
1145
|
} else {
|
|
@@ -1163,10 +1199,7 @@ async function executeBrowserTask(input, config = {}) {
|
|
|
1163
1199
|
error: "maxSteps must be between 1 and 50. Use more steps for complex multi-page flows."
|
|
1164
1200
|
};
|
|
1165
1201
|
}
|
|
1166
|
-
|
|
1167
|
-
console.log(`[Browser] Task: "${input.task.slice(0, 60)}..." url=${input.url || "none"} maxSteps=${input.maxSteps ?? 10}`);
|
|
1168
|
-
console.log(`[Browser] Recording: ${input.recordVideo ? "yes" : "no"} | Calling ${apiUrl}/browser-task`);
|
|
1169
|
-
}
|
|
1202
|
+
logger.debug("Browser", "execute_start", { task: input.task.slice(0, 100), url: input.url, max_steps: input.maxSteps ?? 10, record_video: input.recordVideo ?? false });
|
|
1170
1203
|
const startTime = Date.now();
|
|
1171
1204
|
try {
|
|
1172
1205
|
const headers = { "Content-Type": "application/json" };
|
|
@@ -1205,14 +1238,12 @@ async function executeBrowserTask(input, config = {}) {
|
|
|
1205
1238
|
);
|
|
1206
1239
|
if (!response.ok) {
|
|
1207
1240
|
const errorText = await response.text().catch(() => response.statusText);
|
|
1208
|
-
|
|
1241
|
+
logger.error("Browser", "execute_error", { status: response.status, error: errorText });
|
|
1209
1242
|
throw new Error(`HTTP ${response.status}: ${errorText}`);
|
|
1210
1243
|
}
|
|
1211
1244
|
const result = mapTaskResult(await response.json());
|
|
1212
1245
|
const elapsed = Date.now() - startTime;
|
|
1213
|
-
|
|
1214
|
-
console.log(`[Browser] \u2705 ${result.success ? "Success" : "Failed"} in ${elapsed}ms | steps=${result.stepsTaken ?? 0} recordingId=${result.recordingId ?? "none"}`);
|
|
1215
|
-
}
|
|
1246
|
+
logger.debug("Browser", "execute_complete", { success: result.success, latency_ms: elapsed, steps: result.stepsTaken ?? 0, recording_id: result.recordingId });
|
|
1216
1247
|
return result;
|
|
1217
1248
|
} catch (error) {
|
|
1218
1249
|
if (error instanceof Error) {
|