libre-webui 0.11.0 → 0.12.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.
Files changed (103) hide show
  1. package/README.md +24 -28
  2. package/backend/dist/index.d.ts.map +1 -1
  3. package/backend/dist/index.js +13 -0
  4. package/backend/dist/index.js.map +1 -1
  5. package/backend/dist/routes/libreClaw.d.ts +3 -0
  6. package/backend/dist/routes/libreClaw.d.ts.map +1 -0
  7. package/backend/dist/routes/libreClaw.js +156 -0
  8. package/backend/dist/routes/libreClaw.js.map +1 -0
  9. package/backend/dist/services/libreClawService.d.ts +105 -0
  10. package/backend/dist/services/libreClawService.d.ts.map +1 -0
  11. package/backend/dist/services/libreClawService.js +169 -0
  12. package/backend/dist/services/libreClawService.js.map +1 -0
  13. package/backend/dist/services/pluginCapabilityRegistryService.d.ts.map +1 -1
  14. package/backend/dist/services/pluginCapabilityRegistryService.js.map +1 -1
  15. package/backend/dist/services/pluginService.d.ts.map +1 -1
  16. package/backend/dist/services/pluginService.js +1 -3
  17. package/backend/dist/services/pluginService.js.map +1 -1
  18. package/backend/dist/services/pluginTTSService.d.ts.map +1 -1
  19. package/backend/dist/services/pluginTTSService.js.map +1 -1
  20. package/backend/dist/storage.d.ts.map +1 -1
  21. package/backend/dist/storage.js.map +1 -1
  22. package/backend/dist/types/index.d.ts.map +1 -1
  23. package/backend/dist/types/index.js.map +1 -1
  24. package/backend/dist/utils/pluginValidation.d.ts +0 -1
  25. package/backend/dist/utils/pluginValidation.d.ts.map +1 -1
  26. package/backend/dist/utils/pluginValidation.js +0 -10
  27. package/backend/dist/utils/pluginValidation.js.map +1 -1
  28. package/backend/package.json +2 -2
  29. package/frontend/dist/assets/index-Dc8Q4dJZ.css +1 -0
  30. package/frontend/dist/assets/index-ONn9VIq7.js +5 -0
  31. package/frontend/dist/index.html +10 -10
  32. package/frontend/dist/js/{ArtifactContainer-CA523BOS.js → ArtifactContainer-CqKsiKz0.js} +1 -1
  33. package/frontend/dist/js/{ArtifactDemoPage-C0p2-ccP.js → ArtifactDemoPage-Dd5BjIu2.js} +1 -1
  34. package/frontend/dist/js/ArtifactSlideOutPanel-Yc7ttIaY.js +1 -0
  35. package/frontend/dist/js/{Button-BmZQkAPD.js → Button-BUjLpHmR.js} +1 -1
  36. package/frontend/dist/js/ChatPage-Cpy7lQ0D.js +16 -0
  37. package/frontend/dist/js/{FirstTimeSetup-pi-S4VU-.js → FirstTimeSetup-DcGhm0H0.js} +1 -1
  38. package/frontend/dist/js/GalleryPage-DNI2Evvf.js +1 -0
  39. package/frontend/dist/js/LibreClawPage-CmTiROsJ.js +1 -0
  40. package/frontend/dist/js/ModelManagerModals-CfvSeNsT.js +1 -0
  41. package/frontend/dist/js/ModelsPage-CeTGqx4q.js +2 -0
  42. package/frontend/dist/js/{OptimizedSyntaxHighlighter-DlI4omE2.js → OptimizedSyntaxHighlighter-CNjLqj1Z.js} +1 -1
  43. package/frontend/dist/js/PersonasPage-BUqu7gJ3.js +13 -0
  44. package/frontend/dist/js/{RichMessageContent-Darvuw8F.js → RichMessageContent-B0JO8vkR.js} +3 -3
  45. package/frontend/dist/js/SettingsModal-B5aJ5vfV.js +1 -0
  46. package/frontend/dist/js/UserManagementPage-BqIIWX2M.js +1 -0
  47. package/frontend/dist/js/api-CbmZzKBu.js +15 -0
  48. package/frontend/dist/js/{ar-BIL8U_dv.js → ar-BAOdgn6O.js} +2 -2
  49. package/frontend/dist/js/{artifactHtml-CRdkOCnz.js → artifactHtml-B7Oy2e__.js} +16 -16
  50. package/frontend/dist/js/{bn-BWQoWPn6.js → bn-Bp2KS5mx.js} +2 -2
  51. package/frontend/dist/js/{cs-DOD1vscE.js → cs-DOgJ0c5p.js} +2 -2
  52. package/frontend/dist/js/{da-DYPzSzX4.js → da-BCKTkC35.js} +2 -2
  53. package/frontend/dist/js/{de-CHd4b2Xf.js → de-BXyECph5.js} +2 -2
  54. package/frontend/dist/js/{es-BmDO6uNe.js → es-Db4bDYIF.js} +2 -2
  55. package/frontend/dist/js/fr-BPIkf6zH.js +2 -0
  56. package/frontend/dist/js/{hi-BRDq_y1B.js → hi-Bm8D_Aux.js} +2 -2
  57. package/frontend/dist/js/{id-I_F2nstV.js → id-DiWaH74_.js} +2 -2
  58. package/frontend/dist/js/{is-Boj7-J12.js → is-DLgJywtZ.js} +2 -2
  59. package/frontend/dist/js/{it-CNeHl9Fh.js → it-lldrM8pE.js} +2 -2
  60. package/frontend/dist/js/{ja-DrVG6G8s.js → ja-Cfe9uZmQ.js} +2 -2
  61. package/frontend/dist/js/{ko-BtKRwlHW.js → ko-BhChO3MQ.js} +2 -2
  62. package/frontend/dist/js/logger-BmpKNkls.js +1 -0
  63. package/frontend/dist/js/markdown-core-fkbHPd-g.js +16 -0
  64. package/frontend/dist/js/markdown-math-Ci4QOsf-.js +261 -0
  65. package/frontend/dist/js/{ms-Dp9MigoU.js → ms-SWtmetXo.js} +2 -2
  66. package/frontend/dist/js/{nl-Bk9pGoCF.js → nl-CUO6I3nO.js} +2 -2
  67. package/frontend/dist/js/{pl-seE8_lLS.js → pl-BUAu96P6.js} +2 -2
  68. package/frontend/dist/js/{pt-BAeBtldI.js → pt-DCHwoWiE.js} +2 -2
  69. package/frontend/dist/js/{react-vendor-DtQrJICq.js → react-vendor-Co1u1rWb.js} +2 -2
  70. package/frontend/dist/js/{ru-CkCpWFNb.js → ru-Ciz053N7.js} +2 -2
  71. package/frontend/dist/js/{sv-BM7nqxmA.js → sv-D38ZHjv-.js} +2 -2
  72. package/frontend/dist/js/{syntax-highlight-B758xPeo.js → syntax-highlight-D5wpTVgr.js} +2 -2
  73. package/frontend/dist/js/{th-vDIZbpa4.js → th-D2cAucvn.js} +2 -2
  74. package/frontend/dist/js/{tr-G2-XodhW.js → tr-Go355oDu.js} +2 -2
  75. package/frontend/dist/js/ui-vendor-BJAeWL11.js +177 -0
  76. package/frontend/dist/js/{uk-DfVfZcBQ.js → uk-cdzjhgya.js} +2 -2
  77. package/frontend/dist/js/useBaseQuery-6OJiOiyu.js +1 -0
  78. package/frontend/dist/js/useQuery-DfkI6VAv.js +1 -0
  79. package/frontend/dist/js/{utils-es0n-47H.js → utils-BaPYjs_z.js} +1 -1
  80. package/frontend/dist/js/utils-vendor-BX3ZwoIK.js +9 -0
  81. package/frontend/dist/js/{vi-Yp9yjb06.js → vi-BSOpE423.js} +2 -2
  82. package/frontend/dist/js/{zh-DtRb97we.js → zh-BFh6sHZG.js} +2 -2
  83. package/package.json +2 -2
  84. package/frontend/dist/assets/index-BxHDVIti.css +0 -1
  85. package/frontend/dist/assets/index-CDA2f43l.js +0 -5
  86. package/frontend/dist/js/ArtifactSlideOutPanel-BBYuYyr_.js +0 -1
  87. package/frontend/dist/js/ChatPage-QSOhIynr.js +0 -16
  88. package/frontend/dist/js/GalleryPage-BPXB-D4f.js +0 -1
  89. package/frontend/dist/js/ModelManagerModals-D3SZV7CU.js +0 -1
  90. package/frontend/dist/js/ModelsPage-Fmqc1Zxb.js +0 -2
  91. package/frontend/dist/js/PersonasPage-BuLOCG1Y.js +0 -13
  92. package/frontend/dist/js/SettingsModal-CQhAeaia.js +0 -1
  93. package/frontend/dist/js/UserManagementPage-yX9vOase.js +0 -1
  94. package/frontend/dist/js/api-d05r9G59.js +0 -15
  95. package/frontend/dist/js/fr-DW24sUV7.js +0 -2
  96. package/frontend/dist/js/logger-1THq8-96.js +0 -1
  97. package/frontend/dist/js/markdown-core-CEpaJrKd.js +0 -16
  98. package/frontend/dist/js/markdown-math-DAmpvM9y.js +0 -261
  99. package/frontend/dist/js/ui-vendor-MCs1MDmN.js +0 -177
  100. package/frontend/dist/js/useBaseQuery-CrdrLcmR.js +0 -1
  101. package/frontend/dist/js/useQuery-DaEnYfWR.js +0 -1
  102. package/frontend/dist/js/utils-vendor-B2ZBL57Y.js +0 -9
  103. package/plugins/openclaw-agent.json +0 -69
package/README.md CHANGED
@@ -62,7 +62,7 @@ Libre WebUI is a **self-hosted AI workspace** that connects to [Ollama](https://
62
62
  | 🔐 | **Auth & Signup Safety** | Local accounts, GitHub/Hugging Face OAuth, roles, and optional Turnstile |
63
63
  | 🌍 | **25+ Languages** | Full i18n coverage from Arabic to Vietnamese |
64
64
  | 🖥️ | **Desktop App** | Electron builds for macOS, Windows, and Linux |
65
- | 🤖 | **AI Agent Support** | OpenClaw sessions with memory, tools, and workspace access |
65
+ | 🤖 | **AI Agent Support** | Libre Claw runs, approvals, tools, schedules, memory, and usage |
66
66
  | 🏢 | **Self-Hosted Ops** | Docker, Kubernetes, SQLite storage, encrypted credentials, and backups |
67
67
 
68
68
  ---
@@ -215,41 +215,37 @@ Plugins support **multi-capability** (chat + TTS + image gen in one config), **p
215
215
 
216
216
  ---
217
217
 
218
- ## 🤖 AI Agent Support (OpenClaw)
218
+ ## 🤖 AI Agent Support (Libre Claw)
219
219
 
220
- Libre WebUI supports **AI agents** via the [OpenClaw](https://openclaw.dev) plugin — turning your chat interface into a persistent agent session.
220
+ Libre WebUI supports **AI agents** through
221
+ [Libre Claw](https://github.com/kroonen-ai/libre-claw), a local agent daemon
222
+ for durable runs, permissioned tools, memory, skills, schedules, Telegram, and
223
+ provider routing.
221
224
 
222
225
  **What agents can do:**
223
226
 
224
- - 🧠 **Persistent memory** — agents remember across sessions
225
- - 🔧 **Tool use** — file operations, web search, browser work, and code execution
226
- - 🧰 **Workspace access** — route chat through the same agent workspace
227
- - 🔄 **Session routing** — pick a session key such as `main`, `work`, or `research`
228
- - 🧭 **Streaming events** — tool calls and assistant output stream back into chat
229
- - 🔌 **Plugin-powered** — configure via JSON, no code required
227
+ - 🧠 **Persistent memory** — durable local memory, run archives, and project summaries
228
+ - 🔧 **Tool use** — file operations, shell, git, browser work, HTTP, MCP, schedules, and web search
229
+ - 🧰 **Workspace access** — run agent work in the configured local workspace
230
+ - ✅ **Approvals** — review and approve tool calls from WebUI before side effects
231
+ - 🧭 **Run timeline** — inspect assistant deltas, tool calls, tool results, errors, and artifacts
232
+ - 📅 **Automations** — create, pause, resume, run, and delete Libre Claw schedules
233
+ - 📊 **Usage** — inspect provider usage and fallback behavior
230
234
 
231
- ```json
232
- {
233
- "id": "openclaw-agent",
234
- "name": "OpenClaw Agent",
235
- "type": "completion",
236
- "endpoint": "http://127.0.0.1:18789/v1/chat/completions",
237
- "auth": {
238
- "header": "Authorization",
239
- "prefix": "Bearer ",
240
- "key_env": "OPENCLAW_API_KEY"
241
- },
242
- "model_map": [
243
- "anthropic/claude-opus-4-6",
244
- "anthropic/claude-sonnet-4-20250514",
245
- "anthropic/claude-haiku-3-5-20241022"
246
- ]
247
- }
235
+ Start Libre Claw locally:
236
+
237
+ ```bash
238
+ libre-claw start
248
239
  ```
249
240
 
250
- > **Your agent, your workspace, your data.** Libre WebUI routes messages through the OpenClaw gateway while keeping the chat experience in the same self-hosted interface.
241
+ Then open **Libre WebUI → Libre Claw**. The backend talks to
242
+ `http://127.0.0.1:8766` by default, or to `LIBRE_CLAW_BASE_URL` when configured.
243
+
244
+ > **Your agent, your workspace, your data.** Libre WebUI provides the browser
245
+ > control surface while Libre Claw keeps the local agent runtime, safety model,
246
+ > memory, tools, and schedules.
251
247
 
252
- 📖 [OpenClaw integration docs →](./docs/31-OPENCLAW_INTEGRATION.md)
248
+ 📖 [Libre Claw integration docs →](./docs/31-LIBRE_CLAW_INTEGRATION.md)
253
249
 
254
250
  ---
255
251
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAkBA,OAAO,UAAU,CAAC;AAqDlB,QAAA,MAAM,GAAG,6CAAY,CAAC;AA+atB,eAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAkBA,OAAO,UAAU,CAAC;AAsDlB,QAAA,MAAM,GAAG,6CAAY,CAAC;AA4btB,eAAe,GAAG,CAAC"}
@@ -52,6 +52,7 @@ import ttsRoutes from './routes/tts.js';
52
52
  import imageGenRoutes from './routes/imageGen.js';
53
53
  import embeddingsRoutes from './routes/embeddings.js';
54
54
  import huggingfaceHubRoutes from './routes/huggingfaceHub.js';
55
+ import libreClawRoutes from './routes/libreClaw.js';
55
56
  import ollamaService from './services/ollamaService.js';
56
57
  import { GitHubOAuthService } from './services/simpleGitHubOAuth.js';
57
58
  import { HuggingFaceOAuthService } from './services/simpleHuggingFaceOAuth.js';
@@ -316,6 +317,17 @@ const imageGenRateLimiter = rateLimit({
316
317
  standardHeaders: true,
317
318
  legacyHeaders: false,
318
319
  });
320
+ // Rate limiter for Libre Claw agent routes
321
+ const libreClawRateLimiter = rateLimit({
322
+ windowMs: 15 * 60 * 1000, // 15 minutes
323
+ max: 500, // agent dashboards poll run/event state while active
324
+ message: {
325
+ success: false,
326
+ error: 'Too many Libre Claw requests from this IP, please try again later.',
327
+ },
328
+ standardHeaders: true,
329
+ legacyHeaders: false,
330
+ });
319
331
  // API routes
320
332
  app.use('/api/auth', authRateLimiter, optionalAuth, authRoutes);
321
333
  app.use('/api/users', usersRateLimiter, optionalAuth, usersRoutes);
@@ -329,6 +341,7 @@ app.use('/api/personas', personasRateLimiter, optionalAuth, personaRoutes);
329
341
  app.use('/api/tts', ttsRateLimiter, optionalAuth, ttsRoutes);
330
342
  app.use('/api/image-gen', imageGenRateLimiter, optionalAuth, imageGenRoutes);
331
343
  app.use('/api/huggingface-hub', huggingfaceHubRoutes);
344
+ app.use('/api/libre-claw', libreClawRateLimiter, libreClawRoutes);
332
345
  // Serve frontend static files in production (for npx libre-webui)
333
346
  if (process.env.NODE_ENV === 'production' ||
334
347
  process.env.SERVE_FRONTEND === 'true') {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ declare const router: import("express-serve-static-core").Router;
2
+ export default router;
3
+ //# sourceMappingURL=libreClaw.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"libreClaw.d.ts","sourceRoot":"","sources":["../../src/routes/libreClaw.ts"],"names":[],"mappings":"AA0BA,QAAA,MAAM,MAAM,4CAAmB,CAAC;AA8RhC,eAAe,MAAM,CAAC"}
@@ -0,0 +1,156 @@
1
+ /*
2
+ * Libre WebUI
3
+ * Copyright (C) 2025 Kroonen AI, Inc.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at:
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import express from 'express';
18
+ import { authenticate, requireAdmin } from '../middleware/auth.js';
19
+ import libreClawService, { LibreClawServiceError, } from '../services/libreClawService.js';
20
+ const router = express.Router();
21
+ router.use(authenticate, requireAdmin);
22
+ router.get('/status', async (_req, res) => {
23
+ const status = await libreClawService.status();
24
+ sendSuccess(res, status);
25
+ });
26
+ router.get('/health', async (_req, res) => {
27
+ await sendLibreClaw(res, () => libreClawService.health());
28
+ });
29
+ router.get('/dashboard', (_req, res) => {
30
+ sendSuccess(res, { url: libreClawService.dashboardUrl() });
31
+ });
32
+ router.get('/config/model', async (_req, res) => {
33
+ await sendLibreClaw(res, () => libreClawService.currentModel());
34
+ });
35
+ router.patch('/config/model', async (req, res) => {
36
+ await sendLibreClaw(res, () => libreClawService.updateModel({
37
+ provider: String(req.body?.provider || '').trim(),
38
+ model: String(req.body?.model || '').trim(),
39
+ persist_global: Boolean(req.body?.persist_global),
40
+ }));
41
+ });
42
+ router.get('/config/fallback', async (_req, res) => {
43
+ await sendLibreClaw(res, () => libreClawService.currentFallback());
44
+ });
45
+ router.patch('/config/fallback', async (req, res) => {
46
+ await sendLibreClaw(res, () => libreClawService.updateFallback(req.body || {}));
47
+ });
48
+ router.patch('/config/theme', async (req, res) => {
49
+ await sendLibreClaw(res, () => libreClawService.updateTheme({
50
+ theme: String(req.body?.theme || '').trim(),
51
+ persist_global: req.body?.persist_global !== false,
52
+ }));
53
+ });
54
+ router.get('/runs', async (req, res) => {
55
+ await sendLibreClaw(res, () => libreClawService.listRuns(readLimit(req, 20, 100)));
56
+ });
57
+ router.post('/runs', async (req, res) => {
58
+ const payload = req.body;
59
+ await sendLibreClaw(res, () => libreClawService.startRun({
60
+ message: String(payload?.message || '').trim(),
61
+ kind: payload?.kind === 'goal' ? 'goal' : 'chat',
62
+ provider: cleanOptionalString(payload?.provider),
63
+ model: cleanOptionalString(payload?.model),
64
+ surface: 'libre-webui',
65
+ session: payload?.session,
66
+ attachments: payload?.attachments,
67
+ }), 202);
68
+ });
69
+ router.get('/runs/:runId', async (req, res) => {
70
+ await sendLibreClaw(res, () => libreClawService.getRun(readParam(req, 'runId')));
71
+ });
72
+ router.get('/runs/:runId/events', async (req, res) => {
73
+ await sendLibreClaw(res, () => libreClawService.getEvents(readParam(req, 'runId'), readAfter(req)));
74
+ });
75
+ router.post('/runs/:runId/cancel', async (req, res) => {
76
+ await sendLibreClaw(res, () => libreClawService.cancelRun(readParam(req, 'runId')));
77
+ });
78
+ router.post('/runs/:runId/permissions/:toolCallId', async (req, res) => {
79
+ const resolution = String(req.body?.resolution || 'deny');
80
+ const payload = {
81
+ resolution: isPermissionResolution(resolution) ? resolution : 'deny',
82
+ };
83
+ await sendLibreClaw(res, () => libreClawService.resolvePermission(readParam(req, 'runId'), readParam(req, 'toolCallId'), payload));
84
+ });
85
+ router.get('/usage', async (req, res) => {
86
+ await sendLibreClaw(res, () => libreClawService.usage(String(req.query.provider || '').trim(), readLimit(req, 250, 1000)));
87
+ });
88
+ router.get('/automations', async (req, res) => {
89
+ await sendLibreClaw(res, () => libreClawService.listAutomations(readLimit(req, 50, 200)));
90
+ });
91
+ router.post('/automations', async (req, res) => {
92
+ await sendLibreClaw(res, () => libreClawService.createAutomation(req.body || {}), 201);
93
+ });
94
+ router.get('/automations/:automationId', async (req, res) => {
95
+ await sendLibreClaw(res, () => libreClawService.getAutomation(readParam(req, 'automationId')));
96
+ });
97
+ router.patch('/automations/:automationId', async (req, res) => {
98
+ await sendLibreClaw(res, () => libreClawService.updateAutomation(readParam(req, 'automationId'), req.body || {}));
99
+ });
100
+ router.put('/automations/:automationId', async (req, res) => {
101
+ await sendLibreClaw(res, () => libreClawService.updateAutomation(readParam(req, 'automationId'), req.body || {}));
102
+ });
103
+ router.post('/automations/:automationId/pause', async (req, res) => {
104
+ await sendLibreClaw(res, () => libreClawService.pauseAutomation(readParam(req, 'automationId')));
105
+ });
106
+ router.post('/automations/:automationId/resume', async (req, res) => {
107
+ await sendLibreClaw(res, () => libreClawService.resumeAutomation(readParam(req, 'automationId')));
108
+ });
109
+ router.post('/automations/:automationId/run', async (req, res) => {
110
+ await sendLibreClaw(res, () => libreClawService.runAutomationNow(readParam(req, 'automationId')));
111
+ });
112
+ router.delete('/automations/:automationId', async (req, res) => {
113
+ await sendLibreClaw(res, () => libreClawService.deleteAutomation(readParam(req, 'automationId')));
114
+ });
115
+ const sendLibreClaw = async (res, action, successStatus = 200) => {
116
+ try {
117
+ const data = await action();
118
+ res.status(successStatus).json({ success: true, data });
119
+ }
120
+ catch (error) {
121
+ const status = error instanceof LibreClawServiceError ? error.status : 500;
122
+ const message = error instanceof Error ? error.message : 'Libre Claw request failed';
123
+ res.status(status).json({
124
+ success: false,
125
+ error: message,
126
+ });
127
+ }
128
+ };
129
+ const sendSuccess = (res, data) => {
130
+ res.json({ success: true, data });
131
+ };
132
+ const readLimit = (req, fallback, max) => {
133
+ const raw = Number(req.query.limit);
134
+ if (!Number.isFinite(raw)) {
135
+ return fallback;
136
+ }
137
+ return Math.max(1, Math.min(max, Math.floor(raw)));
138
+ };
139
+ const readAfter = (req) => {
140
+ const raw = Number(req.query.after);
141
+ if (!Number.isFinite(raw)) {
142
+ return 0;
143
+ }
144
+ return Math.max(0, Math.floor(raw));
145
+ };
146
+ const readParam = (req, name) => String(req.params[name] || '').trim();
147
+ const cleanOptionalString = (value) => {
148
+ const cleaned = String(value || '').trim();
149
+ return cleaned || undefined;
150
+ };
151
+ const isPermissionResolution = (value) => value === 'allow_once' ||
152
+ value === 'deny' ||
153
+ value === 'always_allow_tool' ||
154
+ value === 'always_allow_call';
155
+ export default router;
156
+ //# sourceMappingURL=libreClaw.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"libreClaw.js","sourceRoot":"","sources":["../../src/routes/libreClaw.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,105 @@
1
+ export type LibreClawRunState = 'queued' | 'running' | 'blocked' | 'done' | 'failed' | 'cancelled';
2
+ export interface LibreClawRun {
3
+ run_id: string;
4
+ state: LibreClawRunState;
5
+ title: string;
6
+ kind: string;
7
+ provider: string;
8
+ model: string;
9
+ working_directory: string;
10
+ created_at: string;
11
+ updated_at: string;
12
+ path?: string;
13
+ }
14
+ export interface LibreClawEvent {
15
+ event_id: number;
16
+ timestamp: string;
17
+ type: string;
18
+ data: Record<string, unknown>;
19
+ }
20
+ export interface LibreClawAutomation {
21
+ automation_id: string;
22
+ name: string;
23
+ prompt: string;
24
+ schedule: string;
25
+ route: string;
26
+ provider: string;
27
+ model: string;
28
+ status: 'active' | 'paused' | string;
29
+ last_run_id?: string | null;
30
+ next_run_at?: string | null;
31
+ telegram_chat_id?: number | null;
32
+ [key: string]: unknown;
33
+ }
34
+ export interface LibreClawStatus {
35
+ connected: boolean;
36
+ baseUrl: string;
37
+ dashboardUrl: string;
38
+ health?: Record<string, unknown>;
39
+ error?: string;
40
+ }
41
+ export interface LibreClawRunRequest {
42
+ message: string;
43
+ kind?: 'chat' | 'goal';
44
+ provider?: string;
45
+ model?: string;
46
+ surface?: string;
47
+ session?: unknown;
48
+ attachments?: unknown;
49
+ }
50
+ export interface LibreClawModelUpdate {
51
+ provider: string;
52
+ model: string;
53
+ persist_global?: boolean;
54
+ }
55
+ export interface LibreClawPermissionResolution {
56
+ resolution: 'allow_once' | 'deny' | 'always_allow_tool' | 'always_allow_call';
57
+ }
58
+ export declare class LibreClawServiceError extends Error {
59
+ status: number;
60
+ details?: unknown;
61
+ constructor(message: string, status?: number, details?: unknown);
62
+ }
63
+ export declare class LibreClawService {
64
+ private client;
65
+ readonly baseUrl: string;
66
+ constructor(baseUrl?: string);
67
+ dashboardUrl(): string;
68
+ status(): Promise<LibreClawStatus>;
69
+ health(): Promise<Record<string, unknown>>;
70
+ currentModel(): Promise<Record<string, unknown>>;
71
+ updateModel(payload: LibreClawModelUpdate): Promise<Record<string, unknown>>;
72
+ currentFallback(): Promise<Record<string, unknown>>;
73
+ updateFallback(payload: Record<string, unknown>): Promise<Record<string, unknown>>;
74
+ updateTheme(payload: {
75
+ theme: string;
76
+ persist_global?: boolean;
77
+ }): Promise<Record<string, unknown>>;
78
+ listRuns(limit?: number): Promise<{
79
+ runs: LibreClawRun[];
80
+ }>;
81
+ getRun(runId: string): Promise<Record<string, unknown>>;
82
+ getEvents(runId: string, after?: number): Promise<{
83
+ events: LibreClawEvent[];
84
+ }>;
85
+ startRun(payload: LibreClawRunRequest): Promise<{
86
+ run: LibreClawRun;
87
+ }>;
88
+ cancelRun(runId: string): Promise<Record<string, unknown>>;
89
+ resolvePermission(runId: string, toolCallId: string, payload: LibreClawPermissionResolution): Promise<Record<string, unknown>>;
90
+ usage(provider?: string, limit?: number): Promise<Record<string, unknown>>;
91
+ listAutomations(limit?: number): Promise<{
92
+ automations: LibreClawAutomation[];
93
+ }>;
94
+ getAutomation(automationId: string): Promise<Record<string, unknown>>;
95
+ createAutomation(payload: Record<string, unknown>): Promise<Record<string, unknown>>;
96
+ updateAutomation(automationId: string, payload: Record<string, unknown>): Promise<Record<string, unknown>>;
97
+ pauseAutomation(automationId: string): Promise<Record<string, unknown>>;
98
+ resumeAutomation(automationId: string): Promise<Record<string, unknown>>;
99
+ runAutomationNow(automationId: string): Promise<Record<string, unknown>>;
100
+ deleteAutomation(automationId: string): Promise<Record<string, unknown>>;
101
+ private request;
102
+ }
103
+ export declare const libreClawService: LibreClawService;
104
+ export default libreClawService;
105
+ //# sourceMappingURL=libreClawService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"libreClawService.d.ts","sourceRoot":"","sources":["../../src/services/libreClawService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,169 @@
1
+ /*
2
+ * Libre WebUI
3
+ * Copyright (C) 2025 Kroonen AI, Inc.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at:
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import axios from 'axios';
18
+ import { createLogger } from '../utils/logger.js';
19
+ const logger = createLogger('services:libre-claw');
20
+ const DEFAULT_BASE_URL = 'http://127.0.0.1:8766';
21
+ export class LibreClawServiceError extends Error {
22
+ constructor(message, status = 502, details) {
23
+ super(message);
24
+ this.name = 'LibreClawServiceError';
25
+ this.status = status;
26
+ this.details = details;
27
+ }
28
+ }
29
+ export class LibreClawService {
30
+ constructor(baseUrl = process.env.LIBRE_CLAW_BASE_URL || DEFAULT_BASE_URL) {
31
+ this.baseUrl = baseUrl.replace(/\/+$/, '');
32
+ this.client = axios.create({
33
+ baseURL: this.baseUrl,
34
+ timeout: Number(process.env.LIBRE_CLAW_TIMEOUT_MS || 30000),
35
+ headers: { Accept: 'application/json' },
36
+ });
37
+ }
38
+ dashboardUrl() {
39
+ return `${this.baseUrl}/dashboard`;
40
+ }
41
+ async status() {
42
+ try {
43
+ const health = await this.health();
44
+ return {
45
+ connected: true,
46
+ baseUrl: this.baseUrl,
47
+ dashboardUrl: this.dashboardUrl(),
48
+ health,
49
+ };
50
+ }
51
+ catch (error) {
52
+ const message = getLibreClawErrorMessage(error);
53
+ logger.debug('Libre Claw status check failed:', message);
54
+ return {
55
+ connected: false,
56
+ baseUrl: this.baseUrl,
57
+ dashboardUrl: this.dashboardUrl(),
58
+ error: message,
59
+ };
60
+ }
61
+ }
62
+ async health() {
63
+ return this.request('GET', '/health');
64
+ }
65
+ async currentModel() {
66
+ return this.request('GET', '/config/model');
67
+ }
68
+ async updateModel(payload) {
69
+ return this.request('PATCH', '/config/model', payload);
70
+ }
71
+ async currentFallback() {
72
+ return this.request('GET', '/config/fallback');
73
+ }
74
+ async updateFallback(payload) {
75
+ return this.request('PATCH', '/config/fallback', payload);
76
+ }
77
+ async updateTheme(payload) {
78
+ return this.request('PATCH', '/config/theme', payload);
79
+ }
80
+ async listRuns(limit = 20) {
81
+ return this.request('GET', `/runs?limit=${encodeURIComponent(String(limit))}`);
82
+ }
83
+ async getRun(runId) {
84
+ return this.request('GET', `/runs/${encodeURIComponent(runId)}`);
85
+ }
86
+ async getEvents(runId, after = 0) {
87
+ return this.request('GET', `/runs/${encodeURIComponent(runId)}/events?after=${encodeURIComponent(String(after))}`);
88
+ }
89
+ async startRun(payload) {
90
+ return this.request('POST', '/runs', {
91
+ ...payload,
92
+ surface: payload.surface || 'libre-webui',
93
+ });
94
+ }
95
+ async cancelRun(runId) {
96
+ return this.request('POST', `/runs/${encodeURIComponent(runId)}/cancel`);
97
+ }
98
+ async resolvePermission(runId, toolCallId, payload) {
99
+ return this.request('POST', `/runs/${encodeURIComponent(runId)}/permissions/${encodeURIComponent(toolCallId)}`, payload);
100
+ }
101
+ async usage(provider = '', limit = 250) {
102
+ const params = new URLSearchParams({ limit: String(limit) });
103
+ if (provider) {
104
+ params.set('provider', provider);
105
+ }
106
+ return this.request('GET', `/usage?${params.toString()}`);
107
+ }
108
+ async listAutomations(limit = 50) {
109
+ return this.request('GET', `/automations?limit=${encodeURIComponent(String(limit))}`);
110
+ }
111
+ async getAutomation(automationId) {
112
+ return this.request('GET', `/automations/${encodeURIComponent(automationId)}`);
113
+ }
114
+ async createAutomation(payload) {
115
+ return this.request('POST', '/automations', payload);
116
+ }
117
+ async updateAutomation(automationId, payload) {
118
+ return this.request('PATCH', `/automations/${encodeURIComponent(automationId)}`, payload);
119
+ }
120
+ async pauseAutomation(automationId) {
121
+ return this.request('POST', `/automations/${encodeURIComponent(automationId)}/pause`);
122
+ }
123
+ async resumeAutomation(automationId) {
124
+ return this.request('POST', `/automations/${encodeURIComponent(automationId)}/resume`);
125
+ }
126
+ async runAutomationNow(automationId) {
127
+ return this.request('POST', `/automations/${encodeURIComponent(automationId)}/run`);
128
+ }
129
+ async deleteAutomation(automationId) {
130
+ return this.request('DELETE', `/automations/${encodeURIComponent(automationId)}`);
131
+ }
132
+ async request(method, path, data) {
133
+ try {
134
+ const response = await this.client.request({
135
+ method,
136
+ url: path,
137
+ data,
138
+ });
139
+ return response.data;
140
+ }
141
+ catch (error) {
142
+ throw normalizeLibreClawError(error);
143
+ }
144
+ }
145
+ }
146
+ const normalizeLibreClawError = (error) => {
147
+ if (axios.isAxiosError(error)) {
148
+ const axiosError = error;
149
+ const status = axiosError.response?.status || 502;
150
+ const message = axiosError.response?.data?.error ||
151
+ axiosError.response?.data?.message ||
152
+ axiosError.message ||
153
+ 'Libre Claw daemon request failed';
154
+ return new LibreClawServiceError(message, status, axiosError.response?.data);
155
+ }
156
+ if (error instanceof LibreClawServiceError) {
157
+ return error;
158
+ }
159
+ return new LibreClawServiceError(getLibreClawErrorMessage(error));
160
+ };
161
+ const getLibreClawErrorMessage = (error) => {
162
+ if (error instanceof Error) {
163
+ return error.message;
164
+ }
165
+ return 'Libre Claw daemon is not reachable';
166
+ };
167
+ export const libreClawService = new LibreClawService();
168
+ export default libreClawService;
169
+ //# sourceMappingURL=libreClawService.js.map