@lobu/worker 2.8.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 +7 -0
- package/dist/core/error-handler.d.ts.map +1 -0
- package/dist/core/error-handler.js +58 -0
- package/dist/core/error-handler.js.map +1 -0
- package/dist/core/project-scanner.d.ts +9 -0
- package/dist/core/project-scanner.d.ts.map +1 -0
- package/dist/core/project-scanner.js +64 -0
- package/dist/core/project-scanner.js.map +1 -0
- package/dist/core/types.d.ts +102 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +8 -0
- package/dist/core/types.js.map +1 -0
- package/dist/core/url-utils.d.ts +5 -0
- package/dist/core/url-utils.d.ts.map +1 -0
- package/dist/core/url-utils.js +13 -0
- package/dist/core/url-utils.js.map +1 -0
- package/dist/core/workspace.d.ts +29 -0
- package/dist/core/workspace.d.ts.map +1 -0
- package/dist/core/workspace.js +104 -0
- package/dist/core/workspace.js.map +1 -0
- package/dist/embedded/just-bash-bootstrap.d.ts +21 -0
- package/dist/embedded/just-bash-bootstrap.d.ts.map +1 -0
- package/dist/embedded/just-bash-bootstrap.js +215 -0
- package/dist/embedded/just-bash-bootstrap.js.map +1 -0
- package/dist/gateway/gateway-integration.d.ts +57 -0
- package/dist/gateway/gateway-integration.d.ts.map +1 -0
- package/dist/gateway/gateway-integration.js +209 -0
- package/dist/gateway/gateway-integration.js.map +1 -0
- package/dist/gateway/message-batcher.d.ts +27 -0
- package/dist/gateway/message-batcher.d.ts.map +1 -0
- package/dist/gateway/message-batcher.js +102 -0
- package/dist/gateway/message-batcher.js.map +1 -0
- package/dist/gateway/sse-client.d.ts +74 -0
- package/dist/gateway/sse-client.d.ts.map +1 -0
- package/dist/gateway/sse-client.js +748 -0
- package/dist/gateway/sse-client.js.map +1 -0
- package/dist/gateway/types.d.ts +60 -0
- package/dist/gateway/types.d.ts.map +1 -0
- package/dist/gateway/types.js +6 -0
- package/dist/gateway/types.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +112 -0
- package/dist/index.js.map +1 -0
- package/dist/instructions/builder.d.ts +8 -0
- package/dist/instructions/builder.d.ts.map +1 -0
- package/dist/instructions/builder.js +53 -0
- package/dist/instructions/builder.js.map +1 -0
- package/dist/instructions/providers.d.ts +13 -0
- package/dist/instructions/providers.d.ts.map +1 -0
- package/dist/instructions/providers.js +26 -0
- package/dist/instructions/providers.js.map +1 -0
- package/dist/modules/lifecycle.d.ts +18 -0
- package/dist/modules/lifecycle.d.ts.map +1 -0
- package/dist/modules/lifecycle.js +56 -0
- package/dist/modules/lifecycle.js.map +1 -0
- package/dist/openclaw/custom-tools.d.ts +17 -0
- package/dist/openclaw/custom-tools.d.ts.map +1 -0
- package/dist/openclaw/custom-tools.js +195 -0
- package/dist/openclaw/custom-tools.js.map +1 -0
- package/dist/openclaw/instructions.d.ts +15 -0
- package/dist/openclaw/instructions.d.ts.map +1 -0
- package/dist/openclaw/instructions.js +32 -0
- package/dist/openclaw/instructions.js.map +1 -0
- package/dist/openclaw/model-resolver.d.ts +30 -0
- package/dist/openclaw/model-resolver.d.ts.map +1 -0
- package/dist/openclaw/model-resolver.js +147 -0
- package/dist/openclaw/model-resolver.js.map +1 -0
- package/dist/openclaw/plugin-loader.d.ts +39 -0
- package/dist/openclaw/plugin-loader.d.ts.map +1 -0
- package/dist/openclaw/plugin-loader.js +347 -0
- package/dist/openclaw/plugin-loader.js.map +1 -0
- package/dist/openclaw/processor.d.ts +38 -0
- package/dist/openclaw/processor.d.ts.map +1 -0
- package/dist/openclaw/processor.js +182 -0
- package/dist/openclaw/processor.js.map +1 -0
- package/dist/openclaw/session-context.d.ts +44 -0
- package/dist/openclaw/session-context.d.ts.map +1 -0
- package/dist/openclaw/session-context.js +151 -0
- package/dist/openclaw/session-context.js.map +1 -0
- package/dist/openclaw/tool-policy.d.ts +23 -0
- package/dist/openclaw/tool-policy.d.ts.map +1 -0
- package/dist/openclaw/tool-policy.js +151 -0
- package/dist/openclaw/tool-policy.js.map +1 -0
- package/dist/openclaw/tools.d.ts +6 -0
- package/dist/openclaw/tools.d.ts.map +1 -0
- package/dist/openclaw/tools.js +158 -0
- package/dist/openclaw/tools.js.map +1 -0
- package/dist/openclaw/worker.d.ts +39 -0
- package/dist/openclaw/worker.d.ts.map +1 -0
- package/dist/openclaw/worker.js +1340 -0
- package/dist/openclaw/worker.js.map +1 -0
- package/dist/server.d.ts +7 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +304 -0
- package/dist/server.js.map +1 -0
- package/dist/shared/audio-provider-suggestions.d.ts +13 -0
- package/dist/shared/audio-provider-suggestions.d.ts.map +1 -0
- package/dist/shared/audio-provider-suggestions.js +105 -0
- package/dist/shared/audio-provider-suggestions.js.map +1 -0
- package/dist/shared/processor-utils.d.ts +6 -0
- package/dist/shared/processor-utils.d.ts.map +1 -0
- package/dist/shared/processor-utils.js +30 -0
- package/dist/shared/processor-utils.js.map +1 -0
- package/dist/shared/provider-auth-hints.d.ts +6 -0
- package/dist/shared/provider-auth-hints.d.ts.map +1 -0
- package/dist/shared/provider-auth-hints.js +51 -0
- package/dist/shared/provider-auth-hints.js.map +1 -0
- package/dist/shared/tool-display-config.d.ts +16 -0
- package/dist/shared/tool-display-config.d.ts.map +1 -0
- package/dist/shared/tool-display-config.js +67 -0
- package/dist/shared/tool-display-config.js.map +1 -0
- package/dist/shared/tool-implementations.d.ts +55 -0
- package/dist/shared/tool-implementations.d.ts.map +1 -0
- package/dist/shared/tool-implementations.js +519 -0
- package/dist/shared/tool-implementations.js.map +1 -0
- package/package.json +55 -0
|
@@ -0,0 +1,347 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* OpenClaw plugin loader.
|
|
4
|
+
*
|
|
5
|
+
* Loads plugin modules by dynamic import and provides a compatibility shim.
|
|
6
|
+
* Supports both legacy function-style plugins and object-style plugins with
|
|
7
|
+
* a `register(api)` method.
|
|
8
|
+
*/
|
|
9
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
12
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
13
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
14
|
+
}
|
|
15
|
+
Object.defineProperty(o, k2, desc);
|
|
16
|
+
}) : (function(o, m, k, k2) {
|
|
17
|
+
if (k2 === undefined) k2 = k;
|
|
18
|
+
o[k2] = m[k];
|
|
19
|
+
}));
|
|
20
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
21
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
22
|
+
}) : function(o, v) {
|
|
23
|
+
o["default"] = v;
|
|
24
|
+
});
|
|
25
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
26
|
+
var ownKeys = function(o) {
|
|
27
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
28
|
+
var ar = [];
|
|
29
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
30
|
+
return ar;
|
|
31
|
+
};
|
|
32
|
+
return ownKeys(o);
|
|
33
|
+
};
|
|
34
|
+
return function (mod) {
|
|
35
|
+
if (mod && mod.__esModule) return mod;
|
|
36
|
+
var result = {};
|
|
37
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
38
|
+
__setModuleDefault(result, mod);
|
|
39
|
+
return result;
|
|
40
|
+
};
|
|
41
|
+
})();
|
|
42
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
|
+
exports.loadPlugins = loadPlugins;
|
|
44
|
+
exports.runPluginHooks = runPluginHooks;
|
|
45
|
+
exports.startPluginServices = startPluginServices;
|
|
46
|
+
exports.stopPluginServices = stopPluginServices;
|
|
47
|
+
const core_1 = require("@lobu/core");
|
|
48
|
+
const logger = (0, core_1.createLogger)("openclaw-plugin-loader");
|
|
49
|
+
/**
|
|
50
|
+
* Load all enabled plugins from config.
|
|
51
|
+
*/
|
|
52
|
+
async function loadPlugins(config, cwd) {
|
|
53
|
+
if (!config?.plugins?.length) {
|
|
54
|
+
return [];
|
|
55
|
+
}
|
|
56
|
+
const enabledPlugins = config.plugins.filter((p) => p.enabled !== false);
|
|
57
|
+
if (enabledPlugins.length === 0) {
|
|
58
|
+
return [];
|
|
59
|
+
}
|
|
60
|
+
logger.info(`Loading ${enabledPlugins.length} plugin(s)`);
|
|
61
|
+
const results = [];
|
|
62
|
+
for (const pluginConfig of enabledPlugins) {
|
|
63
|
+
try {
|
|
64
|
+
const loaded = await loadSinglePlugin(pluginConfig, cwd);
|
|
65
|
+
if (loaded) {
|
|
66
|
+
results.push(loaded);
|
|
67
|
+
const parts = [];
|
|
68
|
+
if (loaded.tools.length > 0)
|
|
69
|
+
parts.push(`${loaded.tools.length} tool(s)`);
|
|
70
|
+
if (loaded.providers.length > 0)
|
|
71
|
+
parts.push(`${loaded.providers.length} provider(s)`);
|
|
72
|
+
const hookCount = loaded.hooks.before_agent_start.length +
|
|
73
|
+
loaded.hooks.agent_end.length;
|
|
74
|
+
if (hookCount > 0)
|
|
75
|
+
parts.push(`${hookCount} hook(s)`);
|
|
76
|
+
if (loaded.services.length > 0)
|
|
77
|
+
parts.push(`${loaded.services.length} service(s)`);
|
|
78
|
+
logger.info(`Loaded plugin "${loaded.manifest.name}" with ${parts.join(", ") || "no registrations"}`);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
catch (err) {
|
|
82
|
+
logger.error(`Failed to load plugin "${pluginConfig.source}": ${err instanceof Error ? err.message : String(err)}`);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
return results;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Load a single plugin by resolving its module and invoking its factory.
|
|
89
|
+
*/
|
|
90
|
+
async function loadSinglePlugin(config, cwd) {
|
|
91
|
+
const { source, slot, config: pluginConfig } = config;
|
|
92
|
+
let mod;
|
|
93
|
+
try {
|
|
94
|
+
mod = (await Promise.resolve(`${source}`).then(s => __importStar(require(s))));
|
|
95
|
+
}
|
|
96
|
+
catch (err) {
|
|
97
|
+
throw new Error(`Cannot import "${source}": ${err instanceof Error ? err.message : String(err)}`);
|
|
98
|
+
}
|
|
99
|
+
const pluginEntrypoint = resolvePluginEntrypoint(mod);
|
|
100
|
+
if (!pluginEntrypoint) {
|
|
101
|
+
logger.warn(`Plugin "${source}" has no registerable entrypoint - skipping`);
|
|
102
|
+
return null;
|
|
103
|
+
}
|
|
104
|
+
const capturedTools = [];
|
|
105
|
+
const capturedProviders = [];
|
|
106
|
+
const capturedHooks = {
|
|
107
|
+
before_agent_start: [],
|
|
108
|
+
agent_end: [],
|
|
109
|
+
};
|
|
110
|
+
const capturedServices = [];
|
|
111
|
+
const shimApi = createShimApi({
|
|
112
|
+
source,
|
|
113
|
+
pluginConfig: pluginConfig ?? {},
|
|
114
|
+
capturedTools,
|
|
115
|
+
capturedProviders,
|
|
116
|
+
capturedHooks,
|
|
117
|
+
capturedServices,
|
|
118
|
+
cwd,
|
|
119
|
+
});
|
|
120
|
+
await Promise.resolve(pluginEntrypoint.register(shimApi));
|
|
121
|
+
const pluginName = readStringProperty(pluginEntrypoint.metadata, "name") ||
|
|
122
|
+
extractPluginName(source);
|
|
123
|
+
return {
|
|
124
|
+
manifest: {
|
|
125
|
+
source,
|
|
126
|
+
slot,
|
|
127
|
+
name: pluginName,
|
|
128
|
+
},
|
|
129
|
+
tools: capturedTools,
|
|
130
|
+
providers: capturedProviders,
|
|
131
|
+
hooks: capturedHooks,
|
|
132
|
+
services: capturedServices,
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Resolve plugin entrypoint from module exports.
|
|
137
|
+
* Supports:
|
|
138
|
+
* - default export function (legacy)
|
|
139
|
+
* - default export object with register(api)
|
|
140
|
+
* - named register/init functions
|
|
141
|
+
*/
|
|
142
|
+
function resolvePluginEntrypoint(mod) {
|
|
143
|
+
const defaultExport = mod.default;
|
|
144
|
+
if (typeof defaultExport === "function") {
|
|
145
|
+
return {
|
|
146
|
+
register: defaultExport,
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
if (isRecord(defaultExport) && typeof defaultExport.register === "function") {
|
|
150
|
+
return {
|
|
151
|
+
register: defaultExport.register,
|
|
152
|
+
metadata: defaultExport,
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
for (const name of ["register", "init"]) {
|
|
156
|
+
const fn = mod[name];
|
|
157
|
+
if (typeof fn === "function") {
|
|
158
|
+
return {
|
|
159
|
+
register: fn,
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
return null;
|
|
164
|
+
}
|
|
165
|
+
function isRecord(value) {
|
|
166
|
+
return typeof value === "object" && value !== null;
|
|
167
|
+
}
|
|
168
|
+
function readStringProperty(obj, key) {
|
|
169
|
+
if (!obj)
|
|
170
|
+
return undefined;
|
|
171
|
+
const value = obj[key];
|
|
172
|
+
return typeof value === "string" && value.trim() ? value.trim() : undefined;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Create a shim API that captures tool/provider/hook/service registrations.
|
|
176
|
+
* Non-worker capabilities are no-oped for compatibility.
|
|
177
|
+
*/
|
|
178
|
+
function createShimApi(params) {
|
|
179
|
+
const { source, pluginConfig, capturedTools, capturedProviders, capturedHooks, capturedServices, cwd, } = params;
|
|
180
|
+
const noop = () => {
|
|
181
|
+
/* intentional no-op */
|
|
182
|
+
};
|
|
183
|
+
const shimLogger = {
|
|
184
|
+
info(message, ...args) {
|
|
185
|
+
logger.info(`[plugin:${extractPluginName(source)}] ${message}`, ...args);
|
|
186
|
+
},
|
|
187
|
+
warn(message, ...args) {
|
|
188
|
+
logger.warn(`[plugin:${extractPluginName(source)}] ${message}`, ...args);
|
|
189
|
+
},
|
|
190
|
+
error(message, ...args) {
|
|
191
|
+
logger.error(`[plugin:${extractPluginName(source)}] ${message}`, ...args);
|
|
192
|
+
},
|
|
193
|
+
debug(message, ...args) {
|
|
194
|
+
logger.debug(`[plugin:${extractPluginName(source)}] ${message}`, ...args);
|
|
195
|
+
},
|
|
196
|
+
};
|
|
197
|
+
return {
|
|
198
|
+
pluginConfig,
|
|
199
|
+
logger: shimLogger,
|
|
200
|
+
on(eventName, handler) {
|
|
201
|
+
if ((eventName === "before_agent_start" || eventName === "agent_end") &&
|
|
202
|
+
typeof handler === "function") {
|
|
203
|
+
capturedHooks[eventName].push(handler);
|
|
204
|
+
return;
|
|
205
|
+
}
|
|
206
|
+
logger.debug(`Plugin "${source}" registered unsupported hook "${String(eventName)}"`);
|
|
207
|
+
},
|
|
208
|
+
// Capture tool registrations as-is (full ToolDefinition passthrough)
|
|
209
|
+
registerTool(toolDef) {
|
|
210
|
+
if (typeof toolDef.name !== "string" ||
|
|
211
|
+
typeof toolDef.description !== "string" ||
|
|
212
|
+
typeof toolDef.execute !== "function") {
|
|
213
|
+
logger.warn("Plugin registered invalid tool - missing name, description, or execute");
|
|
214
|
+
return;
|
|
215
|
+
}
|
|
216
|
+
// Store the full ToolDefinition object — name, label, description,
|
|
217
|
+
// parameters, execute, renderCall, renderResult all preserved.
|
|
218
|
+
capturedTools.push(toolDef);
|
|
219
|
+
},
|
|
220
|
+
// Capture provider registrations (passed through to ModelRegistry)
|
|
221
|
+
registerProvider(name, config) {
|
|
222
|
+
if (typeof name !== "string" || !name.trim()) {
|
|
223
|
+
logger.warn("Plugin registered provider with invalid name");
|
|
224
|
+
return;
|
|
225
|
+
}
|
|
226
|
+
if (typeof config !== "object" || config === null) {
|
|
227
|
+
logger.warn(`Plugin registered provider "${name}" with invalid config`);
|
|
228
|
+
return;
|
|
229
|
+
}
|
|
230
|
+
capturedProviders.push({
|
|
231
|
+
name: name.trim(),
|
|
232
|
+
config: config,
|
|
233
|
+
});
|
|
234
|
+
},
|
|
235
|
+
registerService(service) {
|
|
236
|
+
if (!isRecord(service)) {
|
|
237
|
+
logger.warn(`Plugin "${source}" registered invalid service`);
|
|
238
|
+
return;
|
|
239
|
+
}
|
|
240
|
+
const id = readStringProperty(service, "id");
|
|
241
|
+
if (!id) {
|
|
242
|
+
logger.warn(`Plugin "${source}" registered service without valid id`);
|
|
243
|
+
return;
|
|
244
|
+
}
|
|
245
|
+
const start = typeof service.start === "function"
|
|
246
|
+
? service.start
|
|
247
|
+
: undefined;
|
|
248
|
+
const stop = typeof service.stop === "function"
|
|
249
|
+
? service.stop
|
|
250
|
+
: undefined;
|
|
251
|
+
capturedServices.push({ id, start, stop });
|
|
252
|
+
},
|
|
253
|
+
// No-op compatibility methods (worker runtime does not expose these surfaces)
|
|
254
|
+
registerCli: noop,
|
|
255
|
+
registerCommand: noop,
|
|
256
|
+
registerShortcut: noop,
|
|
257
|
+
registerFlag: noop,
|
|
258
|
+
registerChannel: noop,
|
|
259
|
+
registerMessageRenderer: noop,
|
|
260
|
+
sendMessage: noop,
|
|
261
|
+
sendUserMessage: noop,
|
|
262
|
+
appendEntry: noop,
|
|
263
|
+
setSessionName: noop,
|
|
264
|
+
getSessionName: () => undefined,
|
|
265
|
+
setLabel: noop,
|
|
266
|
+
exec: async () => ({
|
|
267
|
+
exitCode: 1,
|
|
268
|
+
stdout: "",
|
|
269
|
+
stderr: "exec is not supported in Lobu worker plugin shim",
|
|
270
|
+
}),
|
|
271
|
+
getActiveTools: () => [],
|
|
272
|
+
getAllTools: () => [],
|
|
273
|
+
setActiveTools: noop,
|
|
274
|
+
getCommands: () => [],
|
|
275
|
+
setModel: async () => false,
|
|
276
|
+
getThinkingLevel: () => "medium",
|
|
277
|
+
setThinkingLevel: noop,
|
|
278
|
+
events: {
|
|
279
|
+
on: noop,
|
|
280
|
+
off: noop,
|
|
281
|
+
emit: noop,
|
|
282
|
+
},
|
|
283
|
+
// Expose minimal context that plugins might read
|
|
284
|
+
cwd: cwd || process.cwd(),
|
|
285
|
+
};
|
|
286
|
+
}
|
|
287
|
+
async function runPluginHooks(params) {
|
|
288
|
+
const { plugins, hook, event, ctx } = params;
|
|
289
|
+
const results = [];
|
|
290
|
+
for (const plugin of plugins) {
|
|
291
|
+
const handlers = plugin.hooks[hook];
|
|
292
|
+
if (handlers.length === 0)
|
|
293
|
+
continue;
|
|
294
|
+
for (const handler of handlers) {
|
|
295
|
+
try {
|
|
296
|
+
const result = await Promise.resolve(handler(event, ctx));
|
|
297
|
+
results.push(result);
|
|
298
|
+
}
|
|
299
|
+
catch (err) {
|
|
300
|
+
logger.error(`Plugin hook "${hook}" failed for "${plugin.manifest.name}": ${err instanceof Error ? err.message : String(err)}`);
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
return results;
|
|
305
|
+
}
|
|
306
|
+
async function startPluginServices(plugins) {
|
|
307
|
+
for (const plugin of plugins) {
|
|
308
|
+
for (const service of plugin.services) {
|
|
309
|
+
if (!service.start)
|
|
310
|
+
continue;
|
|
311
|
+
try {
|
|
312
|
+
await Promise.resolve(service.start());
|
|
313
|
+
}
|
|
314
|
+
catch (err) {
|
|
315
|
+
logger.error(`Plugin service "${service.id}" failed to start (${plugin.manifest.name}): ${err instanceof Error ? err.message : String(err)}`);
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
async function stopPluginServices(plugins) {
|
|
321
|
+
for (const plugin of [...plugins].reverse()) {
|
|
322
|
+
for (const service of [...plugin.services].reverse()) {
|
|
323
|
+
if (!service.stop)
|
|
324
|
+
continue;
|
|
325
|
+
try {
|
|
326
|
+
await Promise.resolve(service.stop());
|
|
327
|
+
}
|
|
328
|
+
catch (err) {
|
|
329
|
+
logger.error(`Plugin service "${service.id}" failed to stop (${plugin.manifest.name}): ${err instanceof Error ? err.message : String(err)}`);
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
/**
|
|
335
|
+
* Extract a display name from a plugin source string.
|
|
336
|
+
* "@openclaw/voice-call" -> "voice-call"
|
|
337
|
+
* "./my-plugin" -> "my-plugin"
|
|
338
|
+
*/
|
|
339
|
+
function extractPluginName(source) {
|
|
340
|
+
const scopeMatch = source.match(/^@[^/]+\/(.+)$/);
|
|
341
|
+
if (scopeMatch?.[1]) {
|
|
342
|
+
return scopeMatch[1];
|
|
343
|
+
}
|
|
344
|
+
const parts = source.split("/");
|
|
345
|
+
return parts[parts.length - 1] || source;
|
|
346
|
+
}
|
|
347
|
+
//# sourceMappingURL=plugin-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-loader.js","sourceRoot":"","sources":["../../src/openclaw/plugin-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { AgentSessionEvent } from "@mariozechner/pi-coding-agent";
|
|
2
|
+
/**
|
|
3
|
+
* Processes Pi agent streaming events and extracts user-friendly content.
|
|
4
|
+
* Implements chronological display with tool progress and mixed text/tool output.
|
|
5
|
+
*/
|
|
6
|
+
export declare class OpenClawProgressProcessor {
|
|
7
|
+
private chronologicalOutput;
|
|
8
|
+
private lastSentContent;
|
|
9
|
+
private currentThinking;
|
|
10
|
+
private verboseLogging;
|
|
11
|
+
private finalResult;
|
|
12
|
+
private hasStreamedText;
|
|
13
|
+
private fatalErrorMessage;
|
|
14
|
+
setVerboseLogging(enabled: boolean): void;
|
|
15
|
+
/**
|
|
16
|
+
* Process a Pi agent session event and append to chronological output.
|
|
17
|
+
* Returns true if new content was appended.
|
|
18
|
+
*/
|
|
19
|
+
processEvent(event: AgentSessionEvent): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Get delta since last sent content.
|
|
22
|
+
* Returns null if no new content.
|
|
23
|
+
*/
|
|
24
|
+
getDelta(): string | null;
|
|
25
|
+
setFinalResult(result: {
|
|
26
|
+
text: string;
|
|
27
|
+
isFinal: boolean;
|
|
28
|
+
}): void;
|
|
29
|
+
getFinalResult(): {
|
|
30
|
+
text: string;
|
|
31
|
+
isFinal: boolean;
|
|
32
|
+
} | null;
|
|
33
|
+
consumeFatalErrorMessage(): string | null;
|
|
34
|
+
getCurrentThinking(): string | null;
|
|
35
|
+
getOutputSnapshot(): string;
|
|
36
|
+
reset(): void;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=processor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processor.d.ts","sourceRoot":"","sources":["../../src/openclaw/processor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAKvE;;;GAGG;AACH,qBAAa,yBAAyB;IACpC,OAAO,CAAC,mBAAmB,CAAM;IACjC,OAAO,CAAC,eAAe,CAAM;IAC7B,OAAO,CAAC,eAAe,CAAM;IAC7B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,WAAW,CAAmD;IACtE,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,iBAAiB,CAAuB;IAEhD,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAKzC;;;OAGG;IACH,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO;IAkI/C;;;OAGG;IACH,QAAQ,IAAI,MAAM,GAAG,IAAI;IAqBzB,cAAc,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI;IAIhE,cAAc,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI;IAM3D,wBAAwB,IAAI,MAAM,GAAG,IAAI;IAMzC,kBAAkB,IAAI,MAAM,GAAG,IAAI;IAInC,iBAAiB,IAAI,MAAM;IAI3B,KAAK,IAAI,IAAI;CAQd"}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OpenClawProgressProcessor = void 0;
|
|
4
|
+
const core_1 = require("@lobu/core");
|
|
5
|
+
const processor_utils_1 = require("../shared/processor-utils");
|
|
6
|
+
const logger = (0, core_1.createLogger)("openclaw-processor");
|
|
7
|
+
/**
|
|
8
|
+
* Processes Pi agent streaming events and extracts user-friendly content.
|
|
9
|
+
* Implements chronological display with tool progress and mixed text/tool output.
|
|
10
|
+
*/
|
|
11
|
+
class OpenClawProgressProcessor {
|
|
12
|
+
chronologicalOutput = "";
|
|
13
|
+
lastSentContent = "";
|
|
14
|
+
currentThinking = "";
|
|
15
|
+
verboseLogging = false;
|
|
16
|
+
finalResult = null;
|
|
17
|
+
hasStreamedText = false;
|
|
18
|
+
fatalErrorMessage = null;
|
|
19
|
+
setVerboseLogging(enabled) {
|
|
20
|
+
this.verboseLogging = enabled;
|
|
21
|
+
logger.info(`Verbose logging ${enabled ? "enabled" : "disabled"}`);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Process a Pi agent session event and append to chronological output.
|
|
25
|
+
* Returns true if new content was appended.
|
|
26
|
+
*/
|
|
27
|
+
processEvent(event) {
|
|
28
|
+
switch (event.type) {
|
|
29
|
+
case "message_update": {
|
|
30
|
+
if (event.message.role !== "assistant") {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
const assistantEvent = event.assistantMessageEvent;
|
|
34
|
+
if (assistantEvent.type === "text_delta") {
|
|
35
|
+
this.hasStreamedText = true;
|
|
36
|
+
this.chronologicalOutput += assistantEvent.delta;
|
|
37
|
+
return true;
|
|
38
|
+
}
|
|
39
|
+
if (assistantEvent.type === "thinking_delta") {
|
|
40
|
+
this.currentThinking += assistantEvent.delta;
|
|
41
|
+
if (this.verboseLogging) {
|
|
42
|
+
this.chronologicalOutput += assistantEvent.delta;
|
|
43
|
+
return true;
|
|
44
|
+
}
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
47
|
+
if (assistantEvent.type === "thinking_start" && this.verboseLogging) {
|
|
48
|
+
this.chronologicalOutput += "\n💭 *Reasoning:*\n";
|
|
49
|
+
return true;
|
|
50
|
+
}
|
|
51
|
+
if (assistantEvent.type === "thinking_end" && this.verboseLogging) {
|
|
52
|
+
this.chronologicalOutput += "\n\n";
|
|
53
|
+
return true;
|
|
54
|
+
}
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
57
|
+
case "message_end": {
|
|
58
|
+
if (event.message.role !== "assistant") {
|
|
59
|
+
return false;
|
|
60
|
+
}
|
|
61
|
+
const assistantMessage = event.message;
|
|
62
|
+
if (assistantMessage.stopReason === "error" &&
|
|
63
|
+
typeof assistantMessage.errorMessage === "string" &&
|
|
64
|
+
assistantMessage.errorMessage.trim()) {
|
|
65
|
+
this.fatalErrorMessage = assistantMessage.errorMessage.trim();
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
// If text was already streamed via deltas, skip extraction
|
|
69
|
+
if (this.hasStreamedText) {
|
|
70
|
+
return false;
|
|
71
|
+
}
|
|
72
|
+
// Fallback: extract text from final message content
|
|
73
|
+
const content = event.message.content;
|
|
74
|
+
if (!Array.isArray(content)) {
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
77
|
+
let extracted = false;
|
|
78
|
+
for (const block of content) {
|
|
79
|
+
if (block &&
|
|
80
|
+
typeof block === "object" &&
|
|
81
|
+
"type" in block &&
|
|
82
|
+
block.type === "text" &&
|
|
83
|
+
"text" in block &&
|
|
84
|
+
typeof block.text === "string") {
|
|
85
|
+
const text = block.text;
|
|
86
|
+
if (text.trim()) {
|
|
87
|
+
this.chronologicalOutput += text;
|
|
88
|
+
extracted = true;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return extracted;
|
|
93
|
+
}
|
|
94
|
+
case "tool_execution_start": {
|
|
95
|
+
const params = event.args && typeof event.args === "object"
|
|
96
|
+
? event.args
|
|
97
|
+
: {};
|
|
98
|
+
const formatted = (0, processor_utils_1.formatToolExecution)(event.toolName, params, this.verboseLogging);
|
|
99
|
+
if (formatted) {
|
|
100
|
+
this.chronologicalOutput += `${formatted}\n`;
|
|
101
|
+
return true;
|
|
102
|
+
}
|
|
103
|
+
return false;
|
|
104
|
+
}
|
|
105
|
+
case "auto_compaction_start": {
|
|
106
|
+
this.chronologicalOutput += "🗜️ *Compacting context...*\n";
|
|
107
|
+
return true;
|
|
108
|
+
}
|
|
109
|
+
case "auto_compaction_end": {
|
|
110
|
+
if (event.aborted) {
|
|
111
|
+
this.chronologicalOutput += "🗜️ *Compaction aborted*\n";
|
|
112
|
+
}
|
|
113
|
+
else if (event.result) {
|
|
114
|
+
this.chronologicalOutput += "🗜️ *Context compacted*\n";
|
|
115
|
+
}
|
|
116
|
+
return true;
|
|
117
|
+
}
|
|
118
|
+
case "auto_retry_start": {
|
|
119
|
+
this.chronologicalOutput += `🔄 *Retrying (attempt ${event.attempt}/${event.maxAttempts})...*\n`;
|
|
120
|
+
return true;
|
|
121
|
+
}
|
|
122
|
+
case "auto_retry_end": {
|
|
123
|
+
if (!event.success && event.finalError) {
|
|
124
|
+
this.chronologicalOutput += `🔄 *Retry failed: ${event.finalError}*\n`;
|
|
125
|
+
return true;
|
|
126
|
+
}
|
|
127
|
+
return false;
|
|
128
|
+
}
|
|
129
|
+
default:
|
|
130
|
+
return false;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Get delta since last sent content.
|
|
135
|
+
* Returns null if no new content.
|
|
136
|
+
*/
|
|
137
|
+
getDelta() {
|
|
138
|
+
const fullContent = this.chronologicalOutput.trim();
|
|
139
|
+
if (!fullContent) {
|
|
140
|
+
return null;
|
|
141
|
+
}
|
|
142
|
+
if (fullContent === this.lastSentContent) {
|
|
143
|
+
return null;
|
|
144
|
+
}
|
|
145
|
+
if (this.lastSentContent && fullContent.startsWith(this.lastSentContent)) {
|
|
146
|
+
const delta = fullContent.slice(this.lastSentContent.length);
|
|
147
|
+
this.lastSentContent = fullContent;
|
|
148
|
+
return delta;
|
|
149
|
+
}
|
|
150
|
+
this.lastSentContent = fullContent;
|
|
151
|
+
return fullContent;
|
|
152
|
+
}
|
|
153
|
+
setFinalResult(result) {
|
|
154
|
+
this.finalResult = result;
|
|
155
|
+
}
|
|
156
|
+
getFinalResult() {
|
|
157
|
+
const result = this.finalResult;
|
|
158
|
+
this.finalResult = null;
|
|
159
|
+
return result;
|
|
160
|
+
}
|
|
161
|
+
consumeFatalErrorMessage() {
|
|
162
|
+
const result = this.fatalErrorMessage;
|
|
163
|
+
this.fatalErrorMessage = null;
|
|
164
|
+
return result;
|
|
165
|
+
}
|
|
166
|
+
getCurrentThinking() {
|
|
167
|
+
return this.currentThinking || null;
|
|
168
|
+
}
|
|
169
|
+
getOutputSnapshot() {
|
|
170
|
+
return this.chronologicalOutput.trim();
|
|
171
|
+
}
|
|
172
|
+
reset() {
|
|
173
|
+
this.lastSentContent = "";
|
|
174
|
+
this.chronologicalOutput = "";
|
|
175
|
+
this.currentThinking = "";
|
|
176
|
+
this.finalResult = null;
|
|
177
|
+
this.hasStreamedText = false;
|
|
178
|
+
this.fatalErrorMessage = null;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
exports.OpenClawProgressProcessor = OpenClawProgressProcessor;
|
|
182
|
+
//# sourceMappingURL=processor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processor.js","sourceRoot":"","sources":["../../src/openclaw/processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { type ConfigProviderMeta, type McpToolDef } from "@lobu/core";
|
|
2
|
+
export interface ProviderConfig {
|
|
3
|
+
credentialEnvVarName?: string;
|
|
4
|
+
defaultProvider?: string;
|
|
5
|
+
defaultModel?: string;
|
|
6
|
+
cliBackends?: Array<{
|
|
7
|
+
providerId: string;
|
|
8
|
+
name: string;
|
|
9
|
+
command: string;
|
|
10
|
+
args?: string[];
|
|
11
|
+
env?: Record<string, string>;
|
|
12
|
+
modelArg?: string;
|
|
13
|
+
sessionArg?: string;
|
|
14
|
+
}>;
|
|
15
|
+
providerBaseUrlMappings?: Record<string, string>;
|
|
16
|
+
/** Dynamic provider metadata from config-driven providers */
|
|
17
|
+
configProviders?: Record<string, ConfigProviderMeta>;
|
|
18
|
+
/** Credential env var placeholders for proxy mode (e.g. Z_AI_API_KEY → "lobu-proxy") */
|
|
19
|
+
credentialPlaceholders?: Record<string, string>;
|
|
20
|
+
}
|
|
21
|
+
interface SkillContent {
|
|
22
|
+
name: string;
|
|
23
|
+
content: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Invalidate the session context cache.
|
|
27
|
+
* Called by the SSE client when a config_changed event is received.
|
|
28
|
+
*/
|
|
29
|
+
export declare function invalidateSessionContextCache(): void;
|
|
30
|
+
/**
|
|
31
|
+
* Fetch session context from gateway for OpenClaw worker.
|
|
32
|
+
* Returns gateway instructions and dynamic provider configuration.
|
|
33
|
+
* Caches the result until invalidated by a config_changed SSE event.
|
|
34
|
+
* Skips MCP server config (OpenClaw doesn't use Claude SDK's MCP format).
|
|
35
|
+
*/
|
|
36
|
+
export declare function getOpenClawSessionContext(): Promise<{
|
|
37
|
+
gatewayInstructions: string;
|
|
38
|
+
providerConfig: ProviderConfig;
|
|
39
|
+
skillsConfig: SkillContent[];
|
|
40
|
+
mcpTools: Record<string, McpToolDef[]>;
|
|
41
|
+
mcpContext: Record<string, string>;
|
|
42
|
+
}>;
|
|
43
|
+
export {};
|
|
44
|
+
//# sourceMappingURL=session-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-context.d.ts","sourceRoot":"","sources":["../../src/openclaw/session-context.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EAEvB,KAAK,UAAU,EAChB,MAAM,YAAY,CAAC;AAcpB,MAAM,WAAW,cAAc;IAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,KAAK,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,6DAA6D;IAC7D,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IACrD,wFAAwF;IACxF,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjD;AAED,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAmCD;;;GAGG;AACH,wBAAgB,6BAA6B,IAAI,IAAI,CAGpD;AAiFD;;;;;GAKG;AACH,wBAAsB,yBAAyB,IAAI,OAAO,CAAC;IACzD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,cAAc,EAAE,cAAc,CAAC;IAC/B,YAAY,EAAE,YAAY,EAAE,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;IACvC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC,CAAC,CAoGD"}
|