@lobu/worker 7.0.0 → 7.1.0
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/core/error-handler.d.ts +0 -4
- package/dist/core/error-handler.d.ts.map +1 -1
- package/dist/core/error-handler.js +4 -15
- package/dist/core/error-handler.js.map +1 -1
- package/dist/core/types.d.ts +1 -19
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +0 -4
- package/dist/core/types.js.map +1 -1
- package/dist/core/workspace.d.ts +2 -11
- package/dist/core/workspace.d.ts.map +1 -1
- package/dist/core/workspace.js +14 -36
- package/dist/core/workspace.js.map +1 -1
- package/dist/embedded/just-bash-bootstrap.d.ts.map +1 -1
- package/dist/embedded/just-bash-bootstrap.js +34 -4
- package/dist/embedded/just-bash-bootstrap.js.map +1 -1
- package/dist/embedded/mcp-cli-commands.d.ts.map +1 -1
- package/dist/embedded/mcp-cli-commands.js +3 -38
- package/dist/embedded/mcp-cli-commands.js.map +1 -1
- package/dist/gateway/sse-client.d.ts.map +1 -1
- package/dist/gateway/sse-client.js +44 -8
- package/dist/gateway/sse-client.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -24
- package/dist/index.js.map +1 -1
- package/dist/instructions/builder.d.ts.map +1 -1
- package/dist/instructions/builder.js +2 -1
- package/dist/instructions/builder.js.map +1 -1
- package/dist/openclaw/plugin-loader.d.ts.map +1 -1
- package/dist/openclaw/plugin-loader.js +8 -19
- package/dist/openclaw/plugin-loader.js.map +1 -1
- package/dist/openclaw/processor.d.ts.map +1 -1
- package/dist/openclaw/processor.js +2 -0
- package/dist/openclaw/processor.js.map +1 -1
- package/dist/openclaw/sandbox-leak.d.ts.map +1 -1
- package/dist/openclaw/sandbox-leak.js +1 -6
- package/dist/openclaw/sandbox-leak.js.map +1 -1
- package/dist/openclaw/session-context.d.ts.map +1 -1
- package/dist/openclaw/session-context.js +3 -0
- package/dist/openclaw/session-context.js.map +1 -1
- package/dist/openclaw/tool-policy.d.ts.map +1 -1
- package/dist/openclaw/tool-policy.js +5 -11
- package/dist/openclaw/tool-policy.js.map +1 -1
- package/dist/openclaw/worker.d.ts.map +1 -1
- package/dist/openclaw/worker.js +1 -10
- package/dist/openclaw/worker.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +3 -40
- package/dist/server.js.map +1 -1
- package/dist/shared/audio-provider-suggestions.d.ts.map +1 -1
- package/dist/shared/audio-provider-suggestions.js +4 -6
- package/dist/shared/audio-provider-suggestions.js.map +1 -1
- package/dist/shared/tool-implementations.d.ts.map +1 -1
- package/dist/shared/tool-implementations.js +62 -24
- package/dist/shared/tool-implementations.js.map +1 -1
- package/package.json +2 -2
- package/src/__tests__/processor-harden.test.ts +6 -16
- package/src/core/error-handler.ts +5 -20
- package/src/core/types.ts +1 -35
- package/src/core/workspace.ts +22 -45
- package/src/embedded/just-bash-bootstrap.ts +36 -4
- package/src/embedded/mcp-cli-commands.ts +9 -6
- package/src/gateway/sse-client.ts +45 -8
- package/src/index.ts +8 -26
- package/src/instructions/builder.ts +2 -3
- package/src/openclaw/plugin-loader.ts +15 -19
- package/src/openclaw/processor.ts +1 -0
- package/src/openclaw/sandbox-leak.ts +1 -6
- package/src/openclaw/session-context.ts +3 -0
- package/src/openclaw/tool-policy.ts +5 -12
- package/src/openclaw/worker.ts +2 -13
- package/src/server.ts +1 -5
- package/src/shared/audio-provider-suggestions.ts +4 -6
- package/src/shared/tool-implementations.ts +57 -16
|
@@ -232,17 +232,29 @@ async function uploadUserFile(gw, args, hooks) {
|
|
|
232
232
|
}
|
|
233
233
|
const formDataBuffer = await formDataToBuffer(formData);
|
|
234
234
|
const fdHeaders = formData.getHeaders();
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
235
|
+
let response;
|
|
236
|
+
try {
|
|
237
|
+
response = await fetch(`${gw.gatewayUrl}/internal/files/upload`, {
|
|
238
|
+
method: "POST",
|
|
239
|
+
headers: {
|
|
240
|
+
Authorization: `Bearer ${gw.workerToken}`,
|
|
241
|
+
"X-Channel-Id": gw.channelId,
|
|
242
|
+
"X-Conversation-Id": gw.conversationId,
|
|
243
|
+
...fdHeaders,
|
|
244
|
+
"Content-Length": formDataBuffer.length.toString(),
|
|
245
|
+
},
|
|
246
|
+
body: formDataBuffer,
|
|
247
|
+
// A stalled gateway upload must not wedge the agent turn forever —
|
|
248
|
+
// a 5-minute ceiling is well above any legitimate file delivery.
|
|
249
|
+
signal: AbortSignal.timeout(300_000),
|
|
250
|
+
});
|
|
251
|
+
}
|
|
252
|
+
catch (err) {
|
|
253
|
+
if (err instanceof Error && err.name === "TimeoutError") {
|
|
254
|
+
return textResult(`Error: Failed to show file to user: upload timed out`);
|
|
255
|
+
}
|
|
256
|
+
throw err;
|
|
257
|
+
}
|
|
246
258
|
if (!response.ok) {
|
|
247
259
|
const error = await response.text();
|
|
248
260
|
logger.error(`Failed to show file: ${response.status} - ${error}`);
|
|
@@ -415,18 +427,28 @@ async function uploadGeneratedFile(gw, buffer, filename, mimeType, extraHeaders)
|
|
|
415
427
|
formData.append("comment", "Generated content");
|
|
416
428
|
const formDataBuffer = await formDataToBuffer(formData);
|
|
417
429
|
const fdHeaders = formData.getHeaders();
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
+
let uploadResponse;
|
|
431
|
+
try {
|
|
432
|
+
uploadResponse = await fetch(`${gw.gatewayUrl}/internal/files/upload`, {
|
|
433
|
+
method: "POST",
|
|
434
|
+
headers: {
|
|
435
|
+
Authorization: `Bearer ${gw.workerToken}`,
|
|
436
|
+
"X-Channel-Id": gw.channelId,
|
|
437
|
+
"X-Conversation-Id": gw.conversationId,
|
|
438
|
+
...fdHeaders,
|
|
439
|
+
"Content-Length": formDataBuffer.length.toString(),
|
|
440
|
+
...extraHeaders,
|
|
441
|
+
},
|
|
442
|
+
body: formDataBuffer,
|
|
443
|
+
signal: AbortSignal.timeout(300_000),
|
|
444
|
+
});
|
|
445
|
+
}
|
|
446
|
+
catch (err) {
|
|
447
|
+
if (err instanceof Error && err.name === "TimeoutError") {
|
|
448
|
+
return textResult(`Generated content but upload timed out`);
|
|
449
|
+
}
|
|
450
|
+
throw err;
|
|
451
|
+
}
|
|
430
452
|
if (!uploadResponse.ok) {
|
|
431
453
|
const uploadError = await uploadResponse.text();
|
|
432
454
|
return textResult(`Generated content but failed to send: ${uploadError}`);
|
|
@@ -454,6 +476,7 @@ async function generateImage(gw, args) {
|
|
|
454
476
|
logger.info(`GenerateImage: ${args.prompt.substring(0, 80)}...`);
|
|
455
477
|
const capResponse = await fetch(`${gw.gatewayUrl}/internal/images/capabilities`, {
|
|
456
478
|
headers: { Authorization: `Bearer ${gw.workerToken}` },
|
|
479
|
+
signal: AbortSignal.timeout(30_000),
|
|
457
480
|
});
|
|
458
481
|
if (capResponse.ok) {
|
|
459
482
|
const capabilities = (await capResponse.json());
|
|
@@ -475,6 +498,9 @@ async function generateImage(gw, args) {
|
|
|
475
498
|
background: args.background,
|
|
476
499
|
format: args.format,
|
|
477
500
|
}),
|
|
501
|
+
// Image gen can take a while at high quality, but never minutes — cap
|
|
502
|
+
// the wait so a stalled upstream provider doesn't hang the agent turn.
|
|
503
|
+
signal: AbortSignal.timeout(120_000),
|
|
478
504
|
});
|
|
479
505
|
if (!response.ok) {
|
|
480
506
|
const errorData = (await parseErrorBody(response));
|
|
@@ -536,6 +562,7 @@ async function generateAudio(gw, args) {
|
|
|
536
562
|
voice: args.voice,
|
|
537
563
|
speed: args.speed,
|
|
538
564
|
}),
|
|
565
|
+
signal: AbortSignal.timeout(120_000),
|
|
539
566
|
});
|
|
540
567
|
if (!response.ok) {
|
|
541
568
|
const errorData = (await parseErrorBody(response));
|
|
@@ -629,7 +656,18 @@ async function callMcpTool(gw, mcpId, toolName, args) {
|
|
|
629
656
|
}
|
|
630
657
|
throw err;
|
|
631
658
|
}
|
|
632
|
-
|
|
659
|
+
// MCP proxy returns JSON on success, but a misbehaving upstream (502
|
|
660
|
+
// HTML, plain-text 500, empty body) would otherwise crash the tool call
|
|
661
|
+
// with "Unexpected token < in JSON". Treat parse failure as a transport
|
|
662
|
+
// error message instead of letting it bubble out as an unhandled throw.
|
|
663
|
+
let data;
|
|
664
|
+
try {
|
|
665
|
+
data = (await response.json());
|
|
666
|
+
}
|
|
667
|
+
catch (parseErr) {
|
|
668
|
+
const parseMsg = parseErr instanceof Error ? parseErr.message : String(parseErr);
|
|
669
|
+
return textResult(`Error: ${toolName} returned a non-JSON response (status ${response.status}): ${parseMsg}`);
|
|
670
|
+
}
|
|
633
671
|
if (!response.ok || data.isError) {
|
|
634
672
|
const contentText = data.content
|
|
635
673
|
?.filter((c) => c.type === "text")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-implementations.js","sourceRoot":"","sources":["../../src/shared/tool-implementations.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tool-implementations.js","sourceRoot":"","sources":["../../src/shared/tool-implementations.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lobu/worker",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.1.0",
|
|
4
4
|
"description": "Lobu worker runtime for embedded subprocess execution",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
},
|
|
48
48
|
"dependencies": {
|
|
49
49
|
"@hono/node-server": "^1.19.9",
|
|
50
|
-
"@lobu/core": "7.
|
|
50
|
+
"@lobu/core": "7.1.0",
|
|
51
51
|
"@mariozechner/pi-agent-core": "^0.51.6",
|
|
52
52
|
"@mariozechner/pi-ai": "^0.51.6",
|
|
53
53
|
"@mariozechner/pi-coding-agent": "^0.51.6",
|
|
@@ -45,29 +45,19 @@ function makeMessageEnd(opts: {
|
|
|
45
45
|
// ---------------------------------------------------------------------------
|
|
46
46
|
|
|
47
47
|
describe("OpenClawProgressProcessor — malformed events don't throw", () => {
|
|
48
|
-
test("message_update with null assistantMessageEvent returns false", () => {
|
|
48
|
+
test("message_update with null assistantMessageEvent returns false without throwing", () => {
|
|
49
49
|
const p = new OpenClawProgressProcessor();
|
|
50
50
|
const event = {
|
|
51
51
|
type: "message_update",
|
|
52
52
|
message: { role: "assistant" },
|
|
53
53
|
assistantMessageEvent: null,
|
|
54
54
|
};
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
p.processEvent(event as any);
|
|
61
|
-
} catch {
|
|
62
|
-
threw = true;
|
|
63
|
-
}
|
|
64
|
-
// Whether it throws or returns false, the processor must leave itself in a clean state
|
|
55
|
+
let result: boolean | undefined;
|
|
56
|
+
expect(() => {
|
|
57
|
+
result = p.processEvent(event as any);
|
|
58
|
+
}).not.toThrow();
|
|
59
|
+
expect(result).toBe(false);
|
|
65
60
|
expect(p.getDelta()).toBeNull();
|
|
66
|
-
// Flag the gap: ideally threw === false (defensive guard)
|
|
67
|
-
if (threw) {
|
|
68
|
-
// Known gap: null assistantMessageEvent causes unhandled TypeError
|
|
69
|
-
expect(threw).toBe(true); // document rather than mask
|
|
70
|
-
}
|
|
71
61
|
});
|
|
72
62
|
|
|
73
63
|
test("tool_execution_start with null args does not throw", () => {
|
|
@@ -2,10 +2,6 @@ import { createLogger, type WorkerTransport } from "@lobu/core";
|
|
|
2
2
|
|
|
3
3
|
const logger = createLogger("worker");
|
|
4
4
|
|
|
5
|
-
/**
|
|
6
|
-
* Format error message for display
|
|
7
|
-
* Generic error formatter that works for any AI agent
|
|
8
|
-
*/
|
|
9
5
|
function formatErrorMessage(error: unknown): string {
|
|
10
6
|
if (!(error instanceof Error)) {
|
|
11
7
|
return `💥 Worker crashed: Unknown error`;
|
|
@@ -27,10 +23,6 @@ function classifyError(error: unknown): string | undefined {
|
|
|
27
23
|
return undefined;
|
|
28
24
|
}
|
|
29
25
|
|
|
30
|
-
/**
|
|
31
|
-
* Handle execution error - decides between authentication and generic errors
|
|
32
|
-
* Generic error handler that works for any AI agent
|
|
33
|
-
*/
|
|
34
26
|
export async function handleExecutionError(
|
|
35
27
|
error: unknown,
|
|
36
28
|
transport: WorkerTransport
|
|
@@ -38,25 +30,18 @@ export async function handleExecutionError(
|
|
|
38
30
|
logger.error("Worker execution failed:", error);
|
|
39
31
|
|
|
40
32
|
const code = classifyError(error);
|
|
33
|
+
const errorInstance =
|
|
34
|
+
error instanceof Error ? error : new Error(String(error));
|
|
41
35
|
|
|
42
36
|
try {
|
|
43
37
|
if (code) {
|
|
44
|
-
|
|
45
|
-
await transport.signalError(
|
|
46
|
-
error instanceof Error ? error : new Error(String(error)),
|
|
47
|
-
code
|
|
48
|
-
);
|
|
38
|
+
await transport.signalError(errorInstance, code);
|
|
49
39
|
} else {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
await transport.sendStreamDelta(errorMsg, true, true);
|
|
53
|
-
await transport.signalError(
|
|
54
|
-
error instanceof Error ? error : new Error(String(error))
|
|
55
|
-
);
|
|
40
|
+
await transport.sendStreamDelta(formatErrorMessage(error), true, true);
|
|
41
|
+
await transport.signalError(errorInstance);
|
|
56
42
|
}
|
|
57
43
|
} catch (gatewayError) {
|
|
58
44
|
logger.error("Failed to send error via gateway:", gatewayError);
|
|
59
|
-
// Re-throw the original error
|
|
60
45
|
throw error;
|
|
61
46
|
}
|
|
62
47
|
}
|
package/src/core/types.ts
CHANGED
|
@@ -1,41 +1,16 @@
|
|
|
1
1
|
#!/usr/bin/env bun
|
|
2
2
|
|
|
3
|
-
/**
|
|
4
|
-
* Consolidated types for worker package
|
|
5
|
-
* Merged from: base/types.ts, types.ts, interfaces.ts
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
3
|
import type { WorkerTransport } from "@lobu/core";
|
|
9
4
|
|
|
10
|
-
// ============================================================================
|
|
11
|
-
// WORKER INTERFACES
|
|
12
|
-
// ============================================================================
|
|
13
|
-
|
|
14
5
|
/**
|
|
15
|
-
* Interface for worker executors
|
|
16
|
-
* Allows different agent implementations
|
|
6
|
+
* Interface for worker executors. Allows different agent implementations.
|
|
17
7
|
*/
|
|
18
8
|
export interface WorkerExecutor {
|
|
19
|
-
/**
|
|
20
|
-
* Execute the worker job
|
|
21
|
-
*/
|
|
22
9
|
execute(): Promise<void>;
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Cleanup worker resources
|
|
26
|
-
*/
|
|
27
10
|
cleanup(): Promise<void>;
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* Get the worker transport for sending updates to gateway
|
|
31
|
-
*/
|
|
32
11
|
getWorkerTransport(): WorkerTransport | null;
|
|
33
12
|
}
|
|
34
13
|
|
|
35
|
-
// ============================================================================
|
|
36
|
-
// WORKER CONFIG & WORKSPACE
|
|
37
|
-
// ============================================================================
|
|
38
|
-
|
|
39
14
|
export interface WorkerConfig {
|
|
40
15
|
sessionKey: string;
|
|
41
16
|
userId: string;
|
|
@@ -64,10 +39,6 @@ export interface WorkspaceInfo {
|
|
|
64
39
|
userDirectory: string;
|
|
65
40
|
}
|
|
66
41
|
|
|
67
|
-
// ============================================================================
|
|
68
|
-
// PROGRESS & EXECUTION TYPES
|
|
69
|
-
// ============================================================================
|
|
70
|
-
|
|
71
42
|
/**
|
|
72
43
|
* Progress update from AI agent execution
|
|
73
44
|
*/
|
|
@@ -109,11 +80,6 @@ export type ProgressUpdate =
|
|
|
109
80
|
timestamp: number;
|
|
110
81
|
};
|
|
111
82
|
|
|
112
|
-
/**
|
|
113
|
-
* Session context for AI execution
|
|
114
|
-
* Contains information about the current session (platform, user, workspace)
|
|
115
|
-
*/
|
|
116
|
-
|
|
117
83
|
/**
|
|
118
84
|
* Result from session execution (includes session metadata)
|
|
119
85
|
*/
|
package/src/core/workspace.ts
CHANGED
|
@@ -8,17 +8,12 @@ import type { WorkspaceInfo, WorkspaceSetupConfig } from "./types";
|
|
|
8
8
|
|
|
9
9
|
const logger = createLogger("workspace");
|
|
10
10
|
|
|
11
|
-
// ============================================================================
|
|
12
|
-
// WORKSPACE MANAGER
|
|
13
|
-
// ============================================================================
|
|
14
|
-
|
|
15
11
|
/**
|
|
16
|
-
* Simplified WorkspaceManager - only handles directory creation.
|
|
17
|
-
* All VCS operations (git, etc.) are handled by modules via hooks.
|
|
18
|
-
*
|
|
19
12
|
* Workspace layout:
|
|
20
13
|
* baseDirectory/ ← agent-level root (e.g. /workspace)
|
|
21
14
|
* baseDirectory/{conversationId}/ ← thread-specific working directory
|
|
15
|
+
*
|
|
16
|
+
* VCS operations (git, etc.) are handled by modules via hooks.
|
|
22
17
|
*/
|
|
23
18
|
export class WorkspaceManager {
|
|
24
19
|
private config: WorkspaceSetupConfig;
|
|
@@ -28,39 +23,23 @@ export class WorkspaceManager {
|
|
|
28
23
|
this.config = config;
|
|
29
24
|
}
|
|
30
25
|
|
|
31
|
-
/**
|
|
32
|
-
* Setup workspace directory - creates thread-specific directory only.
|
|
33
|
-
* VCS operations are handled by module hooks (e.g., GitHub module).
|
|
34
|
-
*/
|
|
35
26
|
async setupWorkspace(
|
|
36
27
|
username: string,
|
|
37
28
|
sessionKey?: string
|
|
38
29
|
): Promise<WorkspaceInfo> {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
process.env.CONVERSATION_ID || sessionKey || username || "default";
|
|
30
|
+
const conversationId =
|
|
31
|
+
process.env.CONVERSATION_ID || sessionKey || username || "default";
|
|
42
32
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
const sanitized = sanitizeConversationId(conversationId);
|
|
48
|
-
const userDirectory = `${this.config.baseDirectory}/${sanitized}`;
|
|
33
|
+
logger.info(
|
|
34
|
+
`Setting up workspace directory for ${username}, conversation: ${conversationId}...`
|
|
35
|
+
);
|
|
49
36
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
await this.ensureDirectory(userDirectory);
|
|
37
|
+
const sanitized = sanitizeConversationId(conversationId);
|
|
38
|
+
const userDirectory = `${this.config.baseDirectory}/${sanitized}`;
|
|
53
39
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
};
|
|
58
|
-
|
|
59
|
-
logger.info(
|
|
60
|
-
`Workspace directory setup completed for ${username} (conversation: ${conversationId}) at ${userDirectory}`
|
|
61
|
-
);
|
|
62
|
-
|
|
63
|
-
return this.workspaceInfo;
|
|
40
|
+
try {
|
|
41
|
+
await mkdir(this.config.baseDirectory, { recursive: true });
|
|
42
|
+
await mkdir(userDirectory, { recursive: true });
|
|
64
43
|
} catch (error) {
|
|
65
44
|
throw new WorkspaceError(
|
|
66
45
|
"setupWorkspace",
|
|
@@ -68,21 +47,19 @@ export class WorkspaceManager {
|
|
|
68
47
|
error as Error
|
|
69
48
|
);
|
|
70
49
|
}
|
|
71
|
-
}
|
|
72
50
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
}
|
|
80
|
-
|
|
51
|
+
this.workspaceInfo = {
|
|
52
|
+
baseDirectory: this.config.baseDirectory,
|
|
53
|
+
userDirectory,
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
logger.info(
|
|
57
|
+
`Workspace directory setup completed for ${username} (conversation: ${conversationId}) at ${userDirectory}`
|
|
58
|
+
);
|
|
59
|
+
|
|
60
|
+
return this.workspaceInfo;
|
|
81
61
|
}
|
|
82
62
|
|
|
83
|
-
/**
|
|
84
|
-
* Get current working directory (thread-specific).
|
|
85
|
-
*/
|
|
86
63
|
getCurrentWorkingDirectory(): string {
|
|
87
64
|
return this.workspaceInfo?.userDirectory || this.config.baseDirectory;
|
|
88
65
|
}
|
|
@@ -248,6 +248,13 @@ async function buildCustomCommands(
|
|
|
248
248
|
} else if (ctx.env && typeof ctx.env === "object") {
|
|
249
249
|
Object.assign(envRecord, ctx.env);
|
|
250
250
|
}
|
|
251
|
+
// The agent can `export WORKER_TOKEN=...` inside just-bash to slip a
|
|
252
|
+
// value through `ctx.env`. Re-strip so spawned binaries (and anything
|
|
253
|
+
// that may echo or log env) never see a sensitive-shaped key, even an
|
|
254
|
+
// attacker-controlled one.
|
|
255
|
+
for (const key of SENSITIVE_WORKER_ENV_KEYS) {
|
|
256
|
+
delete envRecord[key];
|
|
257
|
+
}
|
|
251
258
|
|
|
252
259
|
// Pin HOME / TMPDIR to dedicated subdirs so tool dotfiles (~/.gitconfig,
|
|
253
260
|
// ~/.cache, ~/.config) and temp files don't collide with workspace
|
|
@@ -413,14 +420,39 @@ export async function createEmbeddedBashOps(
|
|
|
413
420
|
}
|
|
414
421
|
const bashFs = new ReadWriteFs({ root: workspaceDir });
|
|
415
422
|
|
|
416
|
-
// Parse allowed domains from env var (set by gateway)
|
|
423
|
+
// Parse allowed domains from env var (set by gateway).
|
|
424
|
+
// Defense-in-depth: the gateway is trusted, but a malformed env (non-array,
|
|
425
|
+
// non-string entries, embedded "/" or whitespace) would either crash
|
|
426
|
+
// `.flatMap(...)` or, worse, expand an "allow https://${domain}/" prefix
|
|
427
|
+
// into something attacker-shaped (`evil.com/ ` or `attacker.com/path`).
|
|
428
|
+
// Validate the parsed shape and the per-domain syntax explicitly.
|
|
429
|
+
const DOMAIN_PATTERN = /^[A-Za-z0-9.*_-]+(?::\d+)?$/;
|
|
417
430
|
let allowedDomains: string[] = [];
|
|
418
431
|
if (process.env.JUST_BASH_ALLOWED_DOMAINS) {
|
|
419
432
|
try {
|
|
420
|
-
|
|
421
|
-
|
|
433
|
+
const parsed: unknown = JSON.parse(process.env.JUST_BASH_ALLOWED_DOMAINS);
|
|
434
|
+
if (!Array.isArray(parsed)) {
|
|
435
|
+
throw new Error("expected a JSON array of domain strings");
|
|
436
|
+
}
|
|
437
|
+
const accepted: string[] = [];
|
|
438
|
+
for (const entry of parsed) {
|
|
439
|
+
if (typeof entry !== "string") continue;
|
|
440
|
+
const trimmed = entry.trim();
|
|
441
|
+
if (!trimmed) continue;
|
|
442
|
+
if (!DOMAIN_PATTERN.test(trimmed)) {
|
|
443
|
+
console.warn(
|
|
444
|
+
`[embedded] Ignoring invalid JUST_BASH_ALLOWED_DOMAINS entry: ${JSON.stringify(entry)}`
|
|
445
|
+
);
|
|
446
|
+
continue;
|
|
447
|
+
}
|
|
448
|
+
accepted.push(trimmed);
|
|
449
|
+
}
|
|
450
|
+
allowedDomains = accepted;
|
|
451
|
+
} catch (err) {
|
|
422
452
|
console.error(
|
|
423
|
-
`[embedded] Failed to parse JUST_BASH_ALLOWED_DOMAINS: ${
|
|
453
|
+
`[embedded] Failed to parse JUST_BASH_ALLOWED_DOMAINS: ${
|
|
454
|
+
err instanceof Error ? err.message : String(err)
|
|
455
|
+
}`
|
|
424
456
|
);
|
|
425
457
|
}
|
|
426
458
|
}
|
|
@@ -16,7 +16,12 @@
|
|
|
16
16
|
import type { McpStatus, McpToolDef } from "@lobu/core";
|
|
17
17
|
import { createLogger } from "@lobu/core";
|
|
18
18
|
import type { GatewayParams } from "../shared/tool-implementations";
|
|
19
|
-
import {
|
|
19
|
+
import {
|
|
20
|
+
callMcpTool,
|
|
21
|
+
checkMcpLogin,
|
|
22
|
+
logoutMcp,
|
|
23
|
+
startMcpLogin,
|
|
24
|
+
} from "../shared/tool-implementations";
|
|
20
25
|
import { isDirectPackageInstallCommand } from "../openclaw/tool-policy";
|
|
21
26
|
|
|
22
27
|
const logger = createLogger("mcp-cli");
|
|
@@ -269,11 +274,9 @@ async function runAuthSubcommand(
|
|
|
269
274
|
ref: McpRuntimeRef
|
|
270
275
|
): Promise<{ stdout: string; stderr: string; exitCode: number }> {
|
|
271
276
|
const verb = args[0];
|
|
272
|
-
// Lazy import to avoid a heavy dependency cycle in tests.
|
|
273
|
-
const impl = await import("../shared/tool-implementations");
|
|
274
277
|
|
|
275
278
|
if (verb === "login") {
|
|
276
|
-
const res = await
|
|
279
|
+
const res = await startMcpLogin(gw, { mcpId });
|
|
277
280
|
const text = extractText(res.content);
|
|
278
281
|
return {
|
|
279
282
|
stdout: `${summariseAuthStart(text, mcpId)}\n`,
|
|
@@ -283,7 +286,7 @@ async function runAuthSubcommand(
|
|
|
283
286
|
}
|
|
284
287
|
|
|
285
288
|
if (verb === "check") {
|
|
286
|
-
const res = await
|
|
289
|
+
const res = await checkMcpLogin(gw, { mcpId });
|
|
287
290
|
const text = extractText(res.content);
|
|
288
291
|
const parsed = tryJson(text);
|
|
289
292
|
if (parsed?.authenticated === true) {
|
|
@@ -297,7 +300,7 @@ async function runAuthSubcommand(
|
|
|
297
300
|
}
|
|
298
301
|
|
|
299
302
|
if (verb === "logout") {
|
|
300
|
-
const res = await
|
|
303
|
+
const res = await logoutMcp(gw, { mcpId });
|
|
301
304
|
const text = extractText(res.content);
|
|
302
305
|
// Tools that required auth are now unreachable — refresh so the next
|
|
303
306
|
// invocation sees the empty state.
|