@lobu/worker 6.0.1 → 7.0.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/embedded/exec-sandbox.d.ts +2 -2
- package/dist/embedded/exec-sandbox.js +7 -7
- package/dist/embedded/exec-sandbox.js.map +1 -1
- package/dist/embedded/just-bash-bootstrap.d.ts +2 -2
- package/dist/embedded/just-bash-bootstrap.d.ts.map +1 -1
- package/dist/embedded/just-bash-bootstrap.js +30 -6
- package/dist/embedded/just-bash-bootstrap.js.map +1 -1
- package/dist/embedded/mcp-cli-commands.d.ts +5 -5
- package/dist/gateway/gateway-integration.js +4 -4
- package/dist/gateway/gateway-integration.js.map +1 -1
- package/dist/gateway/message-batcher.d.ts.map +1 -1
- package/dist/gateway/message-batcher.js +3 -5
- package/dist/gateway/message-batcher.js.map +1 -1
- package/dist/gateway/sse-client.d.ts +1 -0
- package/dist/gateway/sse-client.d.ts.map +1 -1
- package/dist/gateway/sse-client.js +13 -8
- package/dist/gateway/sse-client.js.map +1 -1
- package/dist/gateway/types.d.ts +1 -1
- package/dist/gateway/types.d.ts.map +1 -1
- package/dist/instructions/builder.d.ts +4 -0
- package/dist/instructions/builder.d.ts.map +1 -1
- package/dist/instructions/builder.js +8 -11
- package/dist/instructions/builder.js.map +1 -1
- package/dist/instructions/providers.d.ts +5 -5
- package/dist/instructions/providers.d.ts.map +1 -1
- package/dist/instructions/providers.js +3 -2
- package/dist/instructions/providers.js.map +1 -1
- package/dist/openclaw/custom-tools.d.ts +1 -1
- package/dist/openclaw/custom-tools.js +1 -1
- package/dist/openclaw/instructions.d.ts +9 -9
- package/dist/openclaw/instructions.d.ts.map +1 -1
- package/dist/openclaw/instructions.js +4 -4
- package/dist/openclaw/instructions.js.map +1 -1
- package/dist/openclaw/tools.js.map +1 -1
- package/dist/openclaw/worker.d.ts +0 -1
- package/dist/openclaw/worker.d.ts.map +1 -1
- package/dist/openclaw/worker.js +18 -75
- package/dist/openclaw/worker.js.map +1 -1
- package/dist/shared/tool-implementations.d.ts.map +1 -1
- package/dist/shared/tool-implementations.js +37 -13
- package/dist/shared/tool-implementations.js.map +1 -1
- package/package.json +14 -4
- package/src/__tests__/audio-provider-suggestions.test.ts +199 -0
- package/src/__tests__/custom-tools.test.ts +92 -0
- package/src/__tests__/embedded-just-bash-bootstrap.test.ts +128 -0
- package/src/__tests__/embedded-mcp-cli-bash.test.ts +179 -0
- package/src/__tests__/embedded-tools.test.ts +744 -0
- package/src/__tests__/exec-sandbox-extra.test.ts +0 -0
- package/src/__tests__/exec-sandbox.test.ts +550 -0
- package/src/__tests__/generated-media.test.ts +142 -0
- package/src/__tests__/instructions.test.ts +60 -0
- package/src/__tests__/mcp-cli-commands-extra.test.ts +478 -0
- package/src/__tests__/mcp-cli-commands.test.ts +383 -0
- package/src/__tests__/mcp-tool-call.test.ts +423 -0
- package/src/__tests__/memory-flush-harden.test.ts +367 -0
- package/src/__tests__/memory-flush-runtime.test.ts +138 -0
- package/src/__tests__/memory-flush.test.ts +64 -0
- package/src/__tests__/message-batcher.test.ts +247 -0
- package/src/__tests__/model-resolver-harden.test.ts +197 -0
- package/src/__tests__/model-resolver.test.ts +156 -0
- package/src/__tests__/processor-harden.test.ts +269 -0
- package/src/__tests__/processor.test.ts +225 -0
- package/src/__tests__/replace-base-prompt-identity.test.ts +41 -0
- package/src/__tests__/sandbox-leak-harden.test.ts +200 -0
- package/src/__tests__/sandbox-leak.test.ts +167 -0
- package/src/__tests__/setup.ts +102 -0
- package/src/__tests__/sse-client-harden.test.ts +588 -0
- package/src/__tests__/sse-client.test.ts +90 -0
- package/src/__tests__/tool-implementations.test.ts +196 -0
- package/src/__tests__/tool-policy-edge-cases.test.ts +263 -0
- package/src/__tests__/tool-policy.test.ts +269 -0
- package/src/__tests__/worker.test.ts +89 -0
- package/src/core/error-handler.ts +62 -0
- package/src/core/project-scanner.ts +65 -0
- package/src/core/types.ts +128 -0
- package/src/core/workspace.ts +89 -0
- package/src/embedded/exec-sandbox.ts +372 -0
- package/src/embedded/just-bash-bootstrap.ts +543 -0
- package/src/embedded/mcp-cli-commands.ts +402 -0
- package/src/gateway/gateway-integration.ts +298 -0
- package/src/gateway/message-batcher.ts +123 -0
- package/src/gateway/sse-client.ts +951 -0
- package/src/gateway/types.ts +68 -0
- package/src/index.ts +141 -0
- package/src/instructions/builder.ts +45 -0
- package/src/instructions/providers.ts +27 -0
- package/src/modules/lifecycle.ts +92 -0
- package/src/openclaw/custom-tools.ts +315 -0
- package/src/openclaw/instructions.ts +36 -0
- package/src/openclaw/model-resolver.ts +150 -0
- package/src/openclaw/plugin-loader.ts +427 -0
- package/src/openclaw/processor.ts +198 -0
- package/src/openclaw/sandbox-leak.ts +105 -0
- package/src/openclaw/session-context.ts +320 -0
- package/src/openclaw/tool-policy.ts +248 -0
- package/src/openclaw/tools.ts +277 -0
- package/src/openclaw/worker.ts +1847 -0
- package/src/server.ts +334 -0
- package/src/shared/audio-provider-suggestions.ts +132 -0
- package/src/shared/processor-utils.ts +33 -0
- package/src/shared/provider-auth-hints.ts +68 -0
- package/src/shared/tool-display-config.ts +75 -0
- package/src/shared/tool-implementations.ts +940 -0
- package/src/shared/worker-env-keys.ts +8 -0
|
@@ -7,21 +7,18 @@ const logger = (0, core_1.createLogger)("instruction-generator");
|
|
|
7
7
|
* Generate custom instructions using modular providers.
|
|
8
8
|
* Only generates worker-local instructions (core, projects) — platform and
|
|
9
9
|
* MCP instructions are provided by the gateway.
|
|
10
|
+
*
|
|
11
|
+
* Per-provider error handling lives on `BaseInstructionProvider` (a thrown
|
|
12
|
+
* provider returns `""`). The fallback below covers the unlikely case of a
|
|
13
|
+
* provider that bypasses the base class throwing during the loop itself.
|
|
10
14
|
*/
|
|
11
15
|
async function generateCustomInstructions(providers, context) {
|
|
12
16
|
try {
|
|
13
|
-
// Sort by priority (lower priority = earlier in output)
|
|
14
|
-
const sortedProviders = [...providers].sort((a, b) => a.priority - b.priority);
|
|
15
17
|
const sections = [];
|
|
16
|
-
for (const provider of
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
sections.push(instructions.trim());
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
catch (error) {
|
|
24
|
-
logger.error(`Failed to get instructions from provider ${provider.name}:`, error);
|
|
18
|
+
for (const provider of [...providers].sort((a, b) => a.priority - b.priority)) {
|
|
19
|
+
const instructions = await provider.getInstructions(context);
|
|
20
|
+
if (instructions?.trim()) {
|
|
21
|
+
sections.push(instructions.trim());
|
|
25
22
|
}
|
|
26
23
|
}
|
|
27
24
|
const instructions = sections.join("\n\n");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/instructions/builder.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/instructions/builder.ts"],"names":[],"mappings":";;AAiBA,gEA2BC;AA5CD,qCAIoB;AAEpB,MAAM,MAAM,GAAG,IAAA,mBAAY,EAAC,uBAAuB,CAAC,CAAC;AAErD;;;;;;;;GAQG;AACI,KAAK,UAAU,0BAA0B,CAC9C,SAAgC,EAChC,OAA2B;IAE3B,IAAI,CAAC;QACH,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,KAAK,MAAM,QAAQ,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,CACxC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAClC,EAAE,CAAC;YACF,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAC7D,IAAI,YAAY,EAAE,IAAI,EAAE,EAAE,CAAC;gBACzB,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;QAED,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,CAAC,IAAI,CACT,mCAAmC,YAAY,CAAC,MAAM,oBAAoB,SAAS,CAAC,MAAM,kBAAkB,CAC7G,CAAC;QACF,MAAM,CAAC,KAAK,CAAC,2BAA2B,YAAY,EAAE,CAAC,CAAC;QACxD,OAAO,YAAY,CAAC;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,yCAAyC,EAAE,KAAK,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAAG,uCAAuC,OAAO,CAAC,MAAM,GAAG,CAAC;QAC1E,MAAM,CAAC,IAAI,CAAC,yCAAyC,QAAQ,EAAE,CAAC,CAAC;QACjE,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Instruction providers for worker
|
|
3
3
|
*/
|
|
4
|
-
import
|
|
4
|
+
import { BaseInstructionProvider, type InstructionContext } from "@lobu/core";
|
|
5
5
|
/**
|
|
6
6
|
* Provides information about available projects in the workspace
|
|
7
7
|
*/
|
|
8
|
-
export declare class ProjectsInstructionProvider
|
|
9
|
-
name
|
|
10
|
-
priority
|
|
11
|
-
|
|
8
|
+
export declare class ProjectsInstructionProvider extends BaseInstructionProvider {
|
|
9
|
+
readonly name = "projects";
|
|
10
|
+
readonly priority = 30;
|
|
11
|
+
protected buildInstructions(context: InstructionContext): string;
|
|
12
12
|
}
|
|
13
13
|
//# sourceMappingURL=providers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/instructions/providers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/instructions/providers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,uBAAuB,EAAE,KAAK,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAE9E;;GAEG;AACH,qBAAa,2BAA4B,SAAQ,uBAAuB;IACtE,QAAQ,CAAC,IAAI,cAAc;IAC3B,QAAQ,CAAC,QAAQ,MAAM;IAEvB,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM;CAajE"}
|
|
@@ -4,13 +4,14 @@
|
|
|
4
4
|
*/
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.ProjectsInstructionProvider = void 0;
|
|
7
|
+
const core_1 = require("@lobu/core");
|
|
7
8
|
/**
|
|
8
9
|
* Provides information about available projects in the workspace
|
|
9
10
|
*/
|
|
10
|
-
class ProjectsInstructionProvider {
|
|
11
|
+
class ProjectsInstructionProvider extends core_1.BaseInstructionProvider {
|
|
11
12
|
name = "projects";
|
|
12
13
|
priority = 30;
|
|
13
|
-
|
|
14
|
+
buildInstructions(context) {
|
|
14
15
|
if (!context.availableProjects || context.availableProjects.length === 0) {
|
|
15
16
|
return `**Available projects:**
|
|
16
17
|
- none`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/instructions/providers.ts"],"names":[],"mappings":";AAAA;;GAEG;;;
|
|
1
|
+
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/instructions/providers.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,qCAA8E;AAE9E;;GAEG;AACH,MAAa,2BAA4B,SAAQ,8BAAuB;IAC7D,IAAI,GAAG,UAAU,CAAC;IAClB,QAAQ,GAAG,EAAE,CAAC;IAEb,iBAAiB,CAAC,OAA2B;QACrD,IAAI,CAAC,OAAO,CAAC,iBAAiB,IAAI,OAAO,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzE,OAAO;SACJ,CAAC;QACN,CAAC;QAED,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB;aAC1C,GAAG,CAAC,CAAC,OAAe,EAAE,EAAE,CAAC,OAAO,OAAO,EAAE,CAAC;aAC1C,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,OAAO;EACT,WAAW,EAAE,CAAC;IACd,CAAC;CACF;AAjBD,kEAiBC"}
|
|
@@ -14,7 +14,7 @@ export declare function createOpenClawCustomTools(params: {
|
|
|
14
14
|
/**
|
|
15
15
|
* Convert MCP tool definitions from session context into first-class
|
|
16
16
|
* OpenClaw ToolDefinition objects that call the MCP proxy directly.
|
|
17
|
-
* Tools are dynamically discovered from each MCP server (e.g.
|
|
17
|
+
* Tools are dynamically discovered from each MCP server (e.g. lobu).
|
|
18
18
|
*/
|
|
19
19
|
export declare function createMcpToolDefinitions(mcpTools: Record<string, McpToolDef[]>, gw: GatewayParams, mcpContext?: Record<string, string>): ToolDefinition[];
|
|
20
20
|
export declare function createMcpAuthToolDefinitions(mcpStatus: Array<{
|
|
@@ -133,7 +133,7 @@ function createOpenClawCustomTools(params) {
|
|
|
133
133
|
/**
|
|
134
134
|
* Convert MCP tool definitions from session context into first-class
|
|
135
135
|
* OpenClaw ToolDefinition objects that call the MCP proxy directly.
|
|
136
|
-
* Tools are dynamically discovered from each MCP server (e.g.
|
|
136
|
+
* Tools are dynamically discovered from each MCP server (e.g. lobu).
|
|
137
137
|
*/
|
|
138
138
|
function createMcpToolDefinitions(mcpTools, gw, mcpContext) {
|
|
139
139
|
const tools = [];
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BaseInstructionProvider, type InstructionContext } from "@lobu/core";
|
|
2
2
|
/**
|
|
3
3
|
* OpenClaw core instructions
|
|
4
4
|
*/
|
|
5
|
-
export declare class OpenClawCoreInstructionProvider
|
|
6
|
-
name
|
|
7
|
-
priority
|
|
8
|
-
|
|
5
|
+
export declare class OpenClawCoreInstructionProvider extends BaseInstructionProvider {
|
|
6
|
+
readonly name = "core";
|
|
7
|
+
readonly priority = 10;
|
|
8
|
+
protected buildInstructions(context: InstructionContext): string;
|
|
9
9
|
}
|
|
10
|
-
export declare class OpenClawPromptIntentInstructionProvider
|
|
11
|
-
name
|
|
12
|
-
priority
|
|
13
|
-
|
|
10
|
+
export declare class OpenClawPromptIntentInstructionProvider extends BaseInstructionProvider {
|
|
11
|
+
readonly name = "prompt-intent";
|
|
12
|
+
readonly priority = 15;
|
|
13
|
+
protected buildInstructions(context: InstructionContext): string;
|
|
14
14
|
}
|
|
15
15
|
//# sourceMappingURL=instructions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instructions.d.ts","sourceRoot":"","sources":["../../src/openclaw/instructions.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"instructions.d.ts","sourceRoot":"","sources":["../../src/openclaw/instructions.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,KAAK,kBAAkB,EAIxB,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,qBAAa,+BAAgC,SAAQ,uBAAuB;IAC1E,QAAQ,CAAC,IAAI,UAAU;IACvB,QAAQ,CAAC,QAAQ,MAAM;IAEvB,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM;CAWjE;AAED,qBAAa,uCAAwC,SAAQ,uBAAuB;IAClF,QAAQ,CAAC,IAAI,mBAAmB;IAChC,QAAQ,CAAC,QAAQ,MAAM;IAEvB,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM;CAGjE"}
|
|
@@ -5,10 +5,10 @@ const core_1 = require("@lobu/core");
|
|
|
5
5
|
/**
|
|
6
6
|
* OpenClaw core instructions
|
|
7
7
|
*/
|
|
8
|
-
class OpenClawCoreInstructionProvider {
|
|
8
|
+
class OpenClawCoreInstructionProvider extends core_1.BaseInstructionProvider {
|
|
9
9
|
name = "core";
|
|
10
10
|
priority = 10;
|
|
11
|
-
|
|
11
|
+
buildInstructions(context) {
|
|
12
12
|
return [
|
|
13
13
|
`You are a Lobu agent for user ${context.userId}.`,
|
|
14
14
|
`Working directory: ${context.workingDirectory}`,
|
|
@@ -21,10 +21,10 @@ If the user asks to analyze an uploaded image, use the image content already att
|
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
23
|
exports.OpenClawCoreInstructionProvider = OpenClawCoreInstructionProvider;
|
|
24
|
-
class OpenClawPromptIntentInstructionProvider {
|
|
24
|
+
class OpenClawPromptIntentInstructionProvider extends core_1.BaseInstructionProvider {
|
|
25
25
|
name = "prompt-intent";
|
|
26
26
|
priority = 15;
|
|
27
|
-
|
|
27
|
+
buildInstructions(context) {
|
|
28
28
|
return (0, core_1.renderDetectedToolIntentRules)(context.userPrompt || "");
|
|
29
29
|
}
|
|
30
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instructions.js","sourceRoot":"","sources":["../../src/openclaw/instructions.ts"],"names":[],"mappings":";;;AAAA,qCAMoB;AAEpB;;GAEG;AACH,MAAa,+
|
|
1
|
+
{"version":3,"file":"instructions.js","sourceRoot":"","sources":["../../src/openclaw/instructions.ts"],"names":[],"mappings":";;;AAAA,qCAMoB;AAEpB;;GAEG;AACH,MAAa,+BAAgC,SAAQ,8BAAuB;IACjE,IAAI,GAAG,MAAM,CAAC;IACd,QAAQ,GAAG,EAAE,CAAC;IAEb,iBAAiB,CAAC,OAA2B;QACrD,OAAO;YACL,iCAAiC,OAAO,CAAC,MAAM,GAAG;YAClD,sBAAsB,OAAO,CAAC,gBAAgB,EAAE;YAChD,IAAA,gCAAyB,GAAE;YAC3B,IAAA,oCAA6B,GAAE;YAC/B;;iIAE2H;SAC5H,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjB,CAAC;CACF;AAfD,0EAeC;AAED,MAAa,uCAAwC,SAAQ,8BAAuB;IACzE,IAAI,GAAG,eAAe,CAAC;IACvB,QAAQ,GAAG,EAAE,CAAC;IAEb,iBAAiB,CAAC,OAA2B;QACrD,OAAO,IAAA,oCAA6B,EAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;IACjE,CAAC;CACF;AAPD,0FAOC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/openclaw/tools.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/openclaw/tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,7 +22,6 @@ export declare class OpenClawWorker implements WorkerExecutor {
|
|
|
22
22
|
execute(): Promise<void>;
|
|
23
23
|
cleanup(): Promise<void>;
|
|
24
24
|
getWorkerTransport(): WorkerTransport | null;
|
|
25
|
-
private getWorkingDirectory;
|
|
26
25
|
private maybeRunPreCompactionMemoryFlush;
|
|
27
26
|
private runAISession;
|
|
28
27
|
private setupIODirectories;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/openclaw/worker.ts"],"names":[],"mappings":";AAMA,OAAO,EAKL,KAAK,eAAe,EACrB,MAAM,YAAY,CAAC;AAWpB,OAAO,KAAK,EAGV,YAAY,EACZ,cAAc,EACf,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/openclaw/worker.ts"],"names":[],"mappings":";AAMA,OAAO,EAKL,KAAK,eAAe,EACrB,MAAM,YAAY,CAAC;AAWpB,OAAO,KAAK,EAGV,YAAY,EACZ,cAAc,EACf,MAAM,eAAe,CAAC;AAgDvB,UAAU,yBAAyB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB;AAiCD,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,MAAM,CAOR;AA4GD,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,MAAM,CAIR;AAED,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,yBAAyB,CA2B3B;AAED,qBAAa,cAAe,YAAW,cAAc;IACnD,OAAO,CAAC,gBAAgB,CAAmB;IACpC,eAAe,EAAE,eAAe,CAAC;IACxC,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,iBAAiB,CAA4B;gBAEzC,MAAM,EAAE,YAAY;IAmChC;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAuPxB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B,kBAAkB,IAAI,eAAe,GAAG,IAAI;YAI9B,gCAAgC;YAqFhC,YAAY;YA+5BZ,kBAAkB;YA0BlB,kBAAkB;IAmEhC,OAAO,KAAK,aAAa,GAOxB;IAED,OAAO,CAAC,MAAM,CAAC,OAAO;IAItB,OAAO,CAAC,qBAAqB;IA4D7B,2EAA2E;IAC3E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAoB;YAE7C,oBAAoB;IAgDlC,OAAO,CAAC,yBAAyB;YAanB,oCAAoC;CAiCnD"}
|
package/dist/openclaw/worker.js
CHANGED
|
@@ -54,7 +54,6 @@ const builder_1 = require("../instructions/builder");
|
|
|
54
54
|
const providers_1 = require("../instructions/providers");
|
|
55
55
|
const audio_provider_suggestions_1 = require("../shared/audio-provider-suggestions");
|
|
56
56
|
const provider_auth_hints_1 = require("../shared/provider-auth-hints");
|
|
57
|
-
const tool_implementations_1 = require("../shared/tool-implementations");
|
|
58
57
|
const custom_tools_1 = require("./custom-tools");
|
|
59
58
|
const instructions_1 = require("./instructions");
|
|
60
59
|
const model_resolver_1 = require("./model-resolver");
|
|
@@ -109,21 +108,6 @@ function isRealOpenAIBaseUrl(baseUrl) {
|
|
|
109
108
|
return false;
|
|
110
109
|
}
|
|
111
110
|
}
|
|
112
|
-
function isLikelyImageGenerationRequest(prompt) {
|
|
113
|
-
const lower = prompt.toLowerCase();
|
|
114
|
-
const explicitToolInstruction = lower.includes("generateimage tool") || lower.includes("use generateimage");
|
|
115
|
-
const directShortcutEnabled = process.env.WORKER_ENABLE_DIRECT_IMAGE_SHORTCUT === "true";
|
|
116
|
-
return directShortcutEnabled && explicitToolInstruction;
|
|
117
|
-
}
|
|
118
|
-
function extractToolTextContent(result) {
|
|
119
|
-
if (!Array.isArray(result.content))
|
|
120
|
-
return "";
|
|
121
|
-
return result.content
|
|
122
|
-
.filter((item) => item?.type === "text" && typeof item.text === "string")
|
|
123
|
-
.map((item) => item.text)
|
|
124
|
-
.join("\n")
|
|
125
|
-
.trim();
|
|
126
|
-
}
|
|
127
111
|
function isRecord(value) {
|
|
128
112
|
return typeof value === "object" && value !== null;
|
|
129
113
|
}
|
|
@@ -329,29 +313,6 @@ class OpenClawWorker {
|
|
|
329
313
|
logger.info(`[TIMING] Starting OpenClaw session at: ${new Date().toISOString()}`);
|
|
330
314
|
const aiStartTime = Date.now();
|
|
331
315
|
logger.info(`[TIMING] Total worker startup time: ${aiStartTime - executeStartTime}ms`);
|
|
332
|
-
if (isLikelyImageGenerationRequest(userPrompt)) {
|
|
333
|
-
logger.info("Direct image-generation shortcut triggered");
|
|
334
|
-
const gatewayUrl = process.env.DISPATCHER_URL;
|
|
335
|
-
const workerToken = process.env.WORKER_TOKEN;
|
|
336
|
-
if (!gatewayUrl || !workerToken) {
|
|
337
|
-
throw new Error("DISPATCHER_URL and WORKER_TOKEN are required for image generation");
|
|
338
|
-
}
|
|
339
|
-
const gatewayParams = {
|
|
340
|
-
gatewayUrl,
|
|
341
|
-
workerToken,
|
|
342
|
-
channelId: this.config.channelId,
|
|
343
|
-
conversationId: this.config.conversationId,
|
|
344
|
-
platform: this.config.platform,
|
|
345
|
-
};
|
|
346
|
-
const toolResult = await (0, tool_implementations_1.generateImage)(gatewayParams, {
|
|
347
|
-
prompt: userPrompt,
|
|
348
|
-
});
|
|
349
|
-
const toolText = extractToolTextContent(toolResult) || "Image request processed.";
|
|
350
|
-
await this.workerTransport.sendStreamDelta(toolText, false, true);
|
|
351
|
-
await this.workerTransport.signalDone();
|
|
352
|
-
logger.info("Direct image-generation shortcut completed");
|
|
353
|
-
return;
|
|
354
|
-
}
|
|
355
316
|
let firstOutputLogged = false;
|
|
356
317
|
let sawUploadedFileEvent = false;
|
|
357
318
|
const result = await Sentry.startSpan({
|
|
@@ -454,15 +415,11 @@ class OpenClawWorker {
|
|
|
454
415
|
}
|
|
455
416
|
}
|
|
456
417
|
async cleanup() {
|
|
457
|
-
logger.info("Cleaning up worker resources...");
|
|
458
418
|
logger.info("Worker cleanup completed");
|
|
459
419
|
}
|
|
460
420
|
getWorkerTransport() {
|
|
461
421
|
return this.workerTransport;
|
|
462
422
|
}
|
|
463
|
-
getWorkingDirectory() {
|
|
464
|
-
return this.workspaceManager.getCurrentWorkingDirectory();
|
|
465
|
-
}
|
|
466
423
|
async maybeRunPreCompactionMemoryFlush(params) {
|
|
467
424
|
const { session, sessionManager, settingsManager, memoryFlushConfig, incomingPromptText, incomingImageCount, runSilentPrompt, } = params;
|
|
468
425
|
if (!memoryFlushConfig.enabled) {
|
|
@@ -525,17 +482,16 @@ class OpenClawWorker {
|
|
|
525
482
|
// per-server just-bash CLIs (keeps the tool list lean).
|
|
526
483
|
const configuredMcpExposure = rawOptions.toolsConfig?.mcpExposure;
|
|
527
484
|
const envMcpExposure = process.env.LOBU_MCP_EXPOSURE;
|
|
528
|
-
const
|
|
485
|
+
const mcpExposure = configuredMcpExposure === "cli" || envMcpExposure === "cli"
|
|
529
486
|
? "cli"
|
|
530
487
|
: "tools";
|
|
531
|
-
const mcpExposure = requestedMcpExposure;
|
|
532
488
|
// Fetch session context BEFORE model resolution so AGENT_DEFAULT_PROVIDER
|
|
533
489
|
// is available when resolveModelRef() needs a fallback provider. Pass
|
|
534
490
|
// `mcpExposure` so MCP setup instructions use the right call syntax.
|
|
535
491
|
const context = await (0, session_context_1.getOpenClawSessionContext)({ mcpExposure });
|
|
536
492
|
// Sync enabled skills to workspace filesystem so the agent can `cat` them.
|
|
537
493
|
// Remove stale skill directories to avoid serving removed/disabled skills.
|
|
538
|
-
const skillsWorkspaceDir = this.
|
|
494
|
+
const skillsWorkspaceDir = this.workspaceManager.getCurrentWorkingDirectory();
|
|
539
495
|
const skillsRoot = path.join(skillsWorkspaceDir, ".skills");
|
|
540
496
|
await fs.mkdir(skillsRoot, { recursive: true });
|
|
541
497
|
const nextSkillNames = new Set(context.skillsConfig
|
|
@@ -671,7 +627,7 @@ class OpenClawWorker {
|
|
|
671
627
|
compat: { ...(resolvedModel.compat ?? {}), supportsStore: false },
|
|
672
628
|
}
|
|
673
629
|
: resolvedModel;
|
|
674
|
-
const workspaceDir = this.
|
|
630
|
+
const workspaceDir = this.workspaceManager.getCurrentWorkingDirectory();
|
|
675
631
|
await fs.mkdir(path.join(workspaceDir, ".openclaw"), { recursive: true });
|
|
676
632
|
const sessionFile = path.join(workspaceDir, ".openclaw", "session.jsonl");
|
|
677
633
|
const providerStateFile = path.join(workspaceDir, ".openclaw", "provider.json");
|
|
@@ -785,8 +741,6 @@ class OpenClawWorker {
|
|
|
785
741
|
};
|
|
786
742
|
});
|
|
787
743
|
}
|
|
788
|
-
const gatewayUrl = (0, core_1.getOptionalEnv)("DISPATCHER_URL", "");
|
|
789
|
-
const workerToken = (0, core_1.getOptionalEnv)("WORKER_TOKEN", "");
|
|
790
744
|
// Credential injection — resolve API key from the in-memory credential store,
|
|
791
745
|
// falling back to process.env only for values that were present at startup.
|
|
792
746
|
const authStorage = new pi_coding_agent_1.AuthStorage();
|
|
@@ -1076,6 +1030,11 @@ Use it when the user references past discussions or you need context.`);
|
|
|
1076
1030
|
clearInterval(heartbeatTimer);
|
|
1077
1031
|
heartbeatTimer = null;
|
|
1078
1032
|
}
|
|
1033
|
+
// Unblock any in-flight prompt turn FIRST — disposing the session
|
|
1034
|
+
// without resolving `turnDone` leaves `runPromptTurn` (and the
|
|
1035
|
+
// outer `runAISession`) wedged on `await turnDone` until the
|
|
1036
|
+
// deployment manager force-kills the worker.
|
|
1037
|
+
resolveTurnDone?.();
|
|
1079
1038
|
if (session) {
|
|
1080
1039
|
session.dispose();
|
|
1081
1040
|
}
|
|
@@ -1182,7 +1141,7 @@ Use it when the user references past discussions or you need context.`);
|
|
|
1182
1141
|
},
|
|
1183
1142
|
ctx: pluginHookContext,
|
|
1184
1143
|
});
|
|
1185
|
-
const errorWithHint =
|
|
1144
|
+
const errorWithHint = this.maybeBuildAuthHintMessage(sessionError, rawProvider, modelId);
|
|
1186
1145
|
return {
|
|
1187
1146
|
success: false,
|
|
1188
1147
|
exitCode: 1,
|
|
@@ -1221,7 +1180,7 @@ Use it when the user references past discussions or you need context.`);
|
|
|
1221
1180
|
ctx: pluginHookContext,
|
|
1222
1181
|
});
|
|
1223
1182
|
}
|
|
1224
|
-
const errorWithHint =
|
|
1183
|
+
const errorWithHint = this.maybeBuildAuthHintMessage(errorMsg, provider, modelId);
|
|
1225
1184
|
return {
|
|
1226
1185
|
success: false,
|
|
1227
1186
|
exitCode: 1,
|
|
@@ -1261,11 +1220,9 @@ Use it when the user references past discussions or you need context.`);
|
|
|
1261
1220
|
await fs.mkdir(tempDir, { recursive: true });
|
|
1262
1221
|
try {
|
|
1263
1222
|
const files = await fs.readdir(outputDir);
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
});
|
|
1268
|
-
}
|
|
1223
|
+
await Promise.all(files.map((file) => fs.unlink(path.join(outputDir, file)).catch(() => {
|
|
1224
|
+
/* intentionally empty */
|
|
1225
|
+
})));
|
|
1269
1226
|
}
|
|
1270
1227
|
catch (error) {
|
|
1271
1228
|
logger.debug("Could not clear output directory:", error);
|
|
@@ -1338,8 +1295,7 @@ Use it when the user references past discussions or you need context.`);
|
|
|
1338
1295
|
3. Confirm delivery ONLY after \`UploadUserFile\` succeeds.
|
|
1339
1296
|
|
|
1340
1297
|
**Workspace paths are not accessible to users.** Paths like \`/workspace/...\` or \`/app/workspaces/...\` are internal sandbox paths. Never show them as file locations, download links, or "saved at" references. The user cannot reach them. Always use \`UploadUserFile\` instead.`;
|
|
1341
|
-
|
|
1342
|
-
return `
|
|
1298
|
+
const common = `
|
|
1343
1299
|
|
|
1344
1300
|
## File Generation & Output
|
|
1345
1301
|
|
|
@@ -1353,6 +1309,8 @@ Create and show files for any output that helps answer the user's request:
|
|
|
1353
1309
|
- **Code files**: scripts, configurations, examples
|
|
1354
1310
|
- **Images**: generated images, processed photos, screenshots.
|
|
1355
1311
|
`;
|
|
1312
|
+
if (files.length === 0) {
|
|
1313
|
+
return common;
|
|
1356
1314
|
}
|
|
1357
1315
|
const fileListing = files
|
|
1358
1316
|
.map((f) => `- \`${workspaceDir}/input/${f.name}\` (${f.mimetype || "unknown type"})`)
|
|
@@ -1368,20 +1326,7 @@ Create and show files for any output that helps answer the user's request:
|
|
|
1368
1326
|
hints +=
|
|
1369
1327
|
"\nYou can read non-image files with standard commands like `cat`, `less`, or `head`.";
|
|
1370
1328
|
}
|
|
1371
|
-
return
|
|
1372
|
-
|
|
1373
|
-
## File Generation & Output
|
|
1374
|
-
|
|
1375
|
-
${fileOutputRules}
|
|
1376
|
-
|
|
1377
|
-
**When to Create Files:**
|
|
1378
|
-
Create and show files for any output that helps answer the user's request:
|
|
1379
|
-
- **Charts & visualizations**: pie charts, bar graphs, plots, diagrams via \`matplotlib\`
|
|
1380
|
-
- **Reports & documents**: analysis reports, summaries, PDFs
|
|
1381
|
-
- **Data files**: CSV exports, JSON data, spreadsheets
|
|
1382
|
-
- **Code files**: scripts, configurations, examples
|
|
1383
|
-
- **Images**: generated images, processed photos, screenshots.
|
|
1384
|
-
|
|
1329
|
+
return `${common}
|
|
1385
1330
|
### User-Uploaded Files
|
|
1386
1331
|
The user has uploaded ${files.length} file(s) for you to analyze:
|
|
1387
1332
|
${fileListing}
|
|
@@ -1426,9 +1371,7 @@ ${fileListing}
|
|
|
1426
1371
|
}
|
|
1427
1372
|
return results;
|
|
1428
1373
|
}
|
|
1429
|
-
|
|
1430
|
-
void gatewayUrl;
|
|
1431
|
-
void workerToken;
|
|
1374
|
+
maybeBuildAuthHintMessage(errorMessage, provider, modelId) {
|
|
1432
1375
|
const authHint = (0, provider_auth_hints_1.getProviderAuthHintFromError)(errorMessage, provider);
|
|
1433
1376
|
if (!authHint) {
|
|
1434
1377
|
return errorMessage;
|