meldivo 2.0.3 → 2.0.5
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/server/harnesses/claude.js +2 -1
- package/dist/server/harnesses/claude.js.map +1 -1
- package/dist/server/harnesses/opencode.js +5 -2
- package/dist/server/harnesses/opencode.js.map +1 -1
- package/dist/server/harnesses/pi.js +2 -1
- package/dist/server/harnesses/pi.js.map +1 -1
- package/dist/server/harnesses/tool-activity.js +346 -0
- package/dist/server/harnesses/tool-activity.js.map +1 -0
- package/dist/web/apple-touch-icon.png +0 -0
- package/dist/web/assets/index-CpcN-awU.js +80 -0
- package/dist/web/assets/index-DUZXvGMo.css +1 -0
- package/dist/web/favicon-32.png +0 -0
- package/dist/web/index.html +2 -2
- package/dist/web/logo-192.png +0 -0
- package/dist/web/logo-512.png +0 -0
- package/package.json +1 -1
- package/dist/web/assets/index-ChgmFShS.js +0 -80
- package/dist/web/assets/index-DqXNdnDD.css +0 -1
|
@@ -0,0 +1,346 @@
|
|
|
1
|
+
import os from "node:os";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
const MAX_DETAIL = 160;
|
|
4
|
+
function str(value) {
|
|
5
|
+
return typeof value === "string" && value.trim() ? value.trim() : undefined;
|
|
6
|
+
}
|
|
7
|
+
function clip(text, max = MAX_DETAIL) {
|
|
8
|
+
const oneLine = text.replace(/\s+/g, " ").trim();
|
|
9
|
+
return oneLine.length > max ? `${oneLine.slice(0, max - 1)}…` : oneLine;
|
|
10
|
+
}
|
|
11
|
+
export function shortPath(p) {
|
|
12
|
+
const home = os.homedir();
|
|
13
|
+
if (home && (p === home || p.startsWith(`${home}/`)))
|
|
14
|
+
return `~${p.slice(home.length)}`;
|
|
15
|
+
return p.replace(/^(\/home\/[^/]+|\/Users\/[^/]+)(?=\/|$)/, "~");
|
|
16
|
+
}
|
|
17
|
+
function fileName(p) {
|
|
18
|
+
if (!p)
|
|
19
|
+
return "a file";
|
|
20
|
+
return path.basename(p.replace(/\/+$/, "")) || p;
|
|
21
|
+
}
|
|
22
|
+
function resolveFolder(cwd, target) {
|
|
23
|
+
if (!target)
|
|
24
|
+
return cwd;
|
|
25
|
+
if (target.startsWith("~"))
|
|
26
|
+
return path.join(os.homedir(), target.slice(1));
|
|
27
|
+
return path.resolve(cwd, target);
|
|
28
|
+
}
|
|
29
|
+
/** Splits a shell line into its top-level steps (`&&`, `||`, `;`, `|`), ignoring quoted text. */
|
|
30
|
+
function splitSteps(command) {
|
|
31
|
+
const steps = [];
|
|
32
|
+
let current = "";
|
|
33
|
+
let quote = null;
|
|
34
|
+
for (let i = 0; i < command.length; i++) {
|
|
35
|
+
const ch = command[i];
|
|
36
|
+
if (quote) {
|
|
37
|
+
if (ch === quote)
|
|
38
|
+
quote = null;
|
|
39
|
+
else if (ch === "\\" && quote === "\"") {
|
|
40
|
+
current += ch + (command[i + 1] ?? "");
|
|
41
|
+
i++;
|
|
42
|
+
continue;
|
|
43
|
+
}
|
|
44
|
+
current += ch;
|
|
45
|
+
continue;
|
|
46
|
+
}
|
|
47
|
+
if (ch === "'" || ch === "\"") {
|
|
48
|
+
quote = ch;
|
|
49
|
+
current += ch;
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
if (ch === "\n" || ch === ";" || ch === "|" || (ch === "&" && command[i + 1] === "&")) {
|
|
53
|
+
if (ch !== "\n" && ch !== ";" && command[i + 1] === ch)
|
|
54
|
+
i++;
|
|
55
|
+
steps.push(current.trim());
|
|
56
|
+
current = "";
|
|
57
|
+
continue;
|
|
58
|
+
}
|
|
59
|
+
current += ch;
|
|
60
|
+
}
|
|
61
|
+
steps.push(current.trim());
|
|
62
|
+
return steps.filter(Boolean);
|
|
63
|
+
}
|
|
64
|
+
function words(step) {
|
|
65
|
+
const out = [];
|
|
66
|
+
const re = /"((?:[^"\\]|\\.)*)"|'([^']*)'|(\S+)/g;
|
|
67
|
+
let m;
|
|
68
|
+
while ((m = re.exec(step)))
|
|
69
|
+
out.push(m[1] ?? m[2] ?? m[3]);
|
|
70
|
+
// Drop leading env assignments and wrappers that don't change what the step does.
|
|
71
|
+
while (out.length && (/^[A-Za-z_][A-Za-z0-9_]*=/.test(out[0]) || ["sudo", "env", "time", "nohup", "exec", "command"].includes(out[0])))
|
|
72
|
+
out.shift();
|
|
73
|
+
return out;
|
|
74
|
+
}
|
|
75
|
+
const SCRIPT_WORDS = {
|
|
76
|
+
test: "Running the tests",
|
|
77
|
+
build: "Building the project",
|
|
78
|
+
lint: "Checking the code style",
|
|
79
|
+
dev: "Starting the dev server",
|
|
80
|
+
start: "Starting the app",
|
|
81
|
+
install: "Installing packages",
|
|
82
|
+
ci: "Installing packages",
|
|
83
|
+
typecheck: "Checking the code for mistakes",
|
|
84
|
+
format: "Tidying up the code",
|
|
85
|
+
};
|
|
86
|
+
function packageManager(args) {
|
|
87
|
+
const sub = args[0];
|
|
88
|
+
if (!sub)
|
|
89
|
+
return "Running a package command";
|
|
90
|
+
if (sub === "run" || sub === "run-script")
|
|
91
|
+
return SCRIPT_WORDS[args[1] ?? ""] ?? `Running the ${args[1] ?? "project"} script`;
|
|
92
|
+
if (sub === "i" || sub === "add")
|
|
93
|
+
return args.length > 1 ? "Adding a package" : "Installing packages";
|
|
94
|
+
if (sub === "uninstall" || sub === "remove" || sub === "rm")
|
|
95
|
+
return "Removing a package";
|
|
96
|
+
if (sub === "publish")
|
|
97
|
+
return "Publishing the package";
|
|
98
|
+
if (sub === "pack")
|
|
99
|
+
return "Packaging the project";
|
|
100
|
+
if (sub === "outdated" || sub === "update" || sub === "upgrade")
|
|
101
|
+
return "Checking package updates";
|
|
102
|
+
return SCRIPT_WORDS[sub] ?? `Running the ${sub} script`;
|
|
103
|
+
}
|
|
104
|
+
const GIT_WORDS = {
|
|
105
|
+
status: "Checking what changed",
|
|
106
|
+
diff: "Looking at the changes",
|
|
107
|
+
log: "Reading the change history",
|
|
108
|
+
show: "Looking at a past change",
|
|
109
|
+
add: "Staging changes",
|
|
110
|
+
commit: "Saving a checkpoint",
|
|
111
|
+
push: "Uploading changes",
|
|
112
|
+
pull: "Downloading the latest changes",
|
|
113
|
+
fetch: "Checking for new changes",
|
|
114
|
+
clone: "Copying a project",
|
|
115
|
+
checkout: "Switching branches",
|
|
116
|
+
switch: "Switching branches",
|
|
117
|
+
branch: "Looking at branches",
|
|
118
|
+
merge: "Combining branches",
|
|
119
|
+
rebase: "Replaying changes",
|
|
120
|
+
stash: "Setting changes aside",
|
|
121
|
+
restore: "Undoing file changes",
|
|
122
|
+
reset: "Undoing changes",
|
|
123
|
+
tag: "Tagging a version",
|
|
124
|
+
blame: "Checking who changed what",
|
|
125
|
+
grep: "Searching the project",
|
|
126
|
+
"ls-files": "Listing project files",
|
|
127
|
+
};
|
|
128
|
+
function describeStep(argv) {
|
|
129
|
+
const [prog, ...args] = argv;
|
|
130
|
+
if (!prog)
|
|
131
|
+
return undefined;
|
|
132
|
+
const base = path.basename(prog);
|
|
133
|
+
const firstFile = args.find((a) => !a.startsWith("-"));
|
|
134
|
+
switch (base) {
|
|
135
|
+
case "git": {
|
|
136
|
+
const sub = args.find((a) => !a.startsWith("-"));
|
|
137
|
+
return (sub && GIT_WORDS[sub]) ?? "Working with version control";
|
|
138
|
+
}
|
|
139
|
+
case "gh": return args[0] === "pr" ? "Working on a pull request" : args[0] === "issue" ? "Working on an issue" : "Talking to GitHub";
|
|
140
|
+
case "npm":
|
|
141
|
+
case "pnpm":
|
|
142
|
+
case "yarn":
|
|
143
|
+
case "bun": return packageManager(args);
|
|
144
|
+
case "npx":
|
|
145
|
+
case "pnpx":
|
|
146
|
+
case "bunx": {
|
|
147
|
+
const tool = args.find((a) => !a.startsWith("-"));
|
|
148
|
+
if (tool === "tsc")
|
|
149
|
+
return "Checking the code for mistakes";
|
|
150
|
+
if (tool && /jest|vitest|mocha|playwright/.test(tool))
|
|
151
|
+
return "Running the tests";
|
|
152
|
+
if (tool && /eslint|prettier|biome/.test(tool))
|
|
153
|
+
return "Checking the code style";
|
|
154
|
+
return tool ? `Running ${tool}` : "Running a tool";
|
|
155
|
+
}
|
|
156
|
+
case "tsc": return "Checking the code for mistakes";
|
|
157
|
+
case "pytest":
|
|
158
|
+
case "jest":
|
|
159
|
+
case "vitest":
|
|
160
|
+
case "mocha": return "Running the tests";
|
|
161
|
+
case "cargo": return args[0] === "test" ? "Running the tests" : args[0] === "build" ? "Building the project" : "Running a Rust command";
|
|
162
|
+
case "go": return args[0] === "test" ? "Running the tests" : args[0] === "build" ? "Building the project" : "Running a Go command";
|
|
163
|
+
case "make": return args[0] === "test" ? "Running the tests" : "Building the project";
|
|
164
|
+
case "pip":
|
|
165
|
+
case "pip3":
|
|
166
|
+
case "uv":
|
|
167
|
+
case "poetry": return args.includes("install") || args.includes("add") || args.includes("sync") ? "Installing packages" : "Managing Python packages";
|
|
168
|
+
case "python":
|
|
169
|
+
case "python3":
|
|
170
|
+
case "node":
|
|
171
|
+
case "deno":
|
|
172
|
+
case "ruby":
|
|
173
|
+
case "tsx":
|
|
174
|
+
case "ts-node": {
|
|
175
|
+
if (args.includes("--test") || args.some((a) => a === "pytest" || a === "unittest"))
|
|
176
|
+
return "Running the tests";
|
|
177
|
+
if (args[0] === "-c" || args[0] === "-e")
|
|
178
|
+
return "Running a quick script";
|
|
179
|
+
return firstFile ? `Running ${fileName(firstFile)}` : "Running a script";
|
|
180
|
+
}
|
|
181
|
+
case "bash":
|
|
182
|
+
case "sh":
|
|
183
|
+
case "zsh": return firstFile && firstFile !== "-c" ? `Running ${fileName(firstFile)}` : "Running a shell script";
|
|
184
|
+
case "ls":
|
|
185
|
+
case "tree":
|
|
186
|
+
case "eza": return firstFile ? `Listing ${fileName(firstFile)}` : "Listing the files here";
|
|
187
|
+
case "cat":
|
|
188
|
+
case "less":
|
|
189
|
+
case "more":
|
|
190
|
+
case "bat":
|
|
191
|
+
case "head":
|
|
192
|
+
case "tail": return firstFile ? `Reading ${fileName(firstFile)}` : "Reading a file";
|
|
193
|
+
case "sed": return args.includes("-i") ? `Editing ${fileName(args[args.length - 1])}` : `Reading ${fileName(args[args.length - 1])}`;
|
|
194
|
+
case "awk": return "Pulling out text";
|
|
195
|
+
case "grep":
|
|
196
|
+
case "rg":
|
|
197
|
+
case "ag":
|
|
198
|
+
case "ack": return "Searching for text";
|
|
199
|
+
case "find":
|
|
200
|
+
case "fd":
|
|
201
|
+
case "locate": return "Looking for files";
|
|
202
|
+
case "wc": return "Counting lines";
|
|
203
|
+
case "diff":
|
|
204
|
+
case "cmp": return "Comparing files";
|
|
205
|
+
case "mkdir": return `Creating the ${fileName(firstFile)} folder`;
|
|
206
|
+
case "touch": return `Creating ${fileName(firstFile)}`;
|
|
207
|
+
case "rm":
|
|
208
|
+
case "rmdir": return firstFile ? `Deleting ${fileName(firstFile)}` : "Deleting files";
|
|
209
|
+
case "mv": return "Moving files";
|
|
210
|
+
case "cp":
|
|
211
|
+
case "rsync": return "Copying files";
|
|
212
|
+
case "ln": return "Linking files";
|
|
213
|
+
case "chmod":
|
|
214
|
+
case "chown": return "Changing file permissions";
|
|
215
|
+
case "curl":
|
|
216
|
+
case "wget":
|
|
217
|
+
case "http": return "Fetching from the web";
|
|
218
|
+
case "ssh": return "Connecting to another machine";
|
|
219
|
+
case "scp": return "Copying files to another machine";
|
|
220
|
+
case "docker":
|
|
221
|
+
case "podman": return args[0] === "build" ? "Building a container" : args[0] === "logs" ? "Reading container logs" : "Managing containers";
|
|
222
|
+
case "kubectl": return "Managing the cluster";
|
|
223
|
+
case "systemctl":
|
|
224
|
+
case "service": return args[0] === "status" ? "Checking a service" : args[0] === "restart" ? "Restarting a service" : "Managing a service";
|
|
225
|
+
case "journalctl": return "Reading system logs";
|
|
226
|
+
case "ps":
|
|
227
|
+
case "top":
|
|
228
|
+
case "htop":
|
|
229
|
+
case "pgrep": return "Checking running programs";
|
|
230
|
+
case "kill":
|
|
231
|
+
case "pkill":
|
|
232
|
+
case "killall": return "Stopping a program";
|
|
233
|
+
case "tar":
|
|
234
|
+
case "zip":
|
|
235
|
+
case "unzip":
|
|
236
|
+
case "gzip": return "Packing or unpacking files";
|
|
237
|
+
case "echo":
|
|
238
|
+
case "printf": return "Printing text";
|
|
239
|
+
case "jq": return "Reading JSON data";
|
|
240
|
+
case "which":
|
|
241
|
+
case "type":
|
|
242
|
+
case "whereis": return "Checking a program is installed";
|
|
243
|
+
case "pwd": return "Checking the current folder";
|
|
244
|
+
case "df":
|
|
245
|
+
case "du": return "Checking disk space";
|
|
246
|
+
case "sleep": return "Waiting a moment";
|
|
247
|
+
case "open":
|
|
248
|
+
case "xdg-open": return "Opening a file";
|
|
249
|
+
case "tee": return "Writing a file";
|
|
250
|
+
default: return undefined;
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
const SKIPPED = new Set(["cd", "export", "source", ".", "set", "true", "unset", "pushd", "popd", "alias"]);
|
|
254
|
+
function describeBash(command, cwd, workdir) {
|
|
255
|
+
let folder = workdir ? resolveFolder(cwd, workdir) : cwd;
|
|
256
|
+
let summary;
|
|
257
|
+
let program;
|
|
258
|
+
for (const step of splitSteps(command)) {
|
|
259
|
+
const argv = words(step);
|
|
260
|
+
if (!argv.length)
|
|
261
|
+
continue;
|
|
262
|
+
if (argv[0] === "cd" || argv[0] === "pushd") {
|
|
263
|
+
if (!summary)
|
|
264
|
+
folder = resolveFolder(folder, argv[1] ?? "~");
|
|
265
|
+
continue;
|
|
266
|
+
}
|
|
267
|
+
if (SKIPPED.has(argv[0]))
|
|
268
|
+
continue;
|
|
269
|
+
program ??= path.basename(argv[0]);
|
|
270
|
+
summary = describeStep(argv);
|
|
271
|
+
if (summary)
|
|
272
|
+
break;
|
|
273
|
+
}
|
|
274
|
+
return {
|
|
275
|
+
summary: summary ?? (program ? `Running ${program}` : "Running a command"),
|
|
276
|
+
detail: clip(command),
|
|
277
|
+
folder: shortPath(folder),
|
|
278
|
+
};
|
|
279
|
+
}
|
|
280
|
+
/** Describes one tool call; `input` is the tool's raw arguments from the harness. */
|
|
281
|
+
export function describeTool(name, input, cwd) {
|
|
282
|
+
const args = (input && typeof input === "object" ? input : {});
|
|
283
|
+
const tool = name.toLowerCase().replace(/^mcp__.*__/, "");
|
|
284
|
+
const file = str(args.file_path) ?? str(args.filePath) ?? str(args.path) ?? str(args.notebook_path);
|
|
285
|
+
const here = shortPath(cwd);
|
|
286
|
+
const target = (p) => (p ? clip(p.startsWith(`${cwd}/`) ? p.slice(cwd.length + 1) : shortPath(p)) : undefined);
|
|
287
|
+
switch (tool) {
|
|
288
|
+
case "bash":
|
|
289
|
+
case "shell":
|
|
290
|
+
case "exec":
|
|
291
|
+
case "run_command": {
|
|
292
|
+
const command = str(args.command) ?? str(args.cmd);
|
|
293
|
+
if (!command)
|
|
294
|
+
return { summary: "Running a command", folder: here };
|
|
295
|
+
return describeBash(command, cwd, str(args.workdir) ?? str(args.cwd));
|
|
296
|
+
}
|
|
297
|
+
case "read":
|
|
298
|
+
case "view": return { summary: `Reading ${fileName(file)}`, detail: target(file) };
|
|
299
|
+
case "write":
|
|
300
|
+
case "create": return { summary: `Writing ${fileName(file)}`, detail: target(file) };
|
|
301
|
+
case "edit":
|
|
302
|
+
case "multiedit":
|
|
303
|
+
case "str_replace_editor":
|
|
304
|
+
case "patch":
|
|
305
|
+
case "apply_patch":
|
|
306
|
+
return { summary: `Editing ${fileName(file)}`, detail: target(file) };
|
|
307
|
+
case "notebookedit": return { summary: `Editing ${fileName(file)}`, detail: target(file) };
|
|
308
|
+
case "glob":
|
|
309
|
+
case "find":
|
|
310
|
+
case "list":
|
|
311
|
+
case "ls": {
|
|
312
|
+
const pattern = str(args.pattern);
|
|
313
|
+
return { summary: pattern ? "Looking for files" : "Listing the files here", detail: pattern ?? target(file), folder: here };
|
|
314
|
+
}
|
|
315
|
+
case "grep":
|
|
316
|
+
case "search": {
|
|
317
|
+
const pattern = str(args.pattern) ?? str(args.query);
|
|
318
|
+
return { summary: "Searching the project", detail: pattern ? clip(pattern) : undefined, folder: here };
|
|
319
|
+
}
|
|
320
|
+
case "webfetch":
|
|
321
|
+
case "fetch": {
|
|
322
|
+
const url = str(args.url);
|
|
323
|
+
let host;
|
|
324
|
+
try {
|
|
325
|
+
host = url ? new URL(url).hostname : undefined;
|
|
326
|
+
}
|
|
327
|
+
catch {
|
|
328
|
+
host = undefined;
|
|
329
|
+
}
|
|
330
|
+
return { summary: host ? `Reading a page on ${host}` : "Reading a web page", detail: url ? clip(url) : undefined };
|
|
331
|
+
}
|
|
332
|
+
case "websearch": {
|
|
333
|
+
const query = str(args.query);
|
|
334
|
+
return { summary: "Searching the web", detail: query ? clip(query) : undefined };
|
|
335
|
+
}
|
|
336
|
+
case "task":
|
|
337
|
+
case "agent": {
|
|
338
|
+
const what = str(args.description);
|
|
339
|
+
return { summary: "Asking a helper agent", detail: what ? clip(what) : undefined, folder: here };
|
|
340
|
+
}
|
|
341
|
+
case "todowrite":
|
|
342
|
+
case "todoread": return { summary: "Updating the to-do list" };
|
|
343
|
+
default: return { summary: `Using ${tool.replace(/_/g, " ")}`, folder: here };
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
//# sourceMappingURL=tool-activity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-activity.js","sourceRoot":"","sources":["../../../server/src/harnesses/tool-activity.ts"],"names":[],"mappings":"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"}
|
|
Binary file
|