@clappstore/connect 0.7.7 → 0.7.8
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/agent-client.d.ts +6 -0
- package/dist/agent-client.d.ts.map +1 -1
- package/dist/agent-client.js +109 -18
- package/dist/agent-client.js.map +1 -1
- package/dist/auth.d.ts +18 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +248 -0
- package/dist/auth.js.map +1 -0
- package/dist/chat-handler.d.ts +52 -0
- package/dist/chat-handler.d.ts.map +1 -0
- package/dist/chat-handler.js +453 -0
- package/dist/chat-handler.js.map +1 -0
- package/dist/defaults.d.ts +1 -1
- package/dist/defaults.d.ts.map +1 -1
- package/dist/defaults.js +36 -23
- package/dist/defaults.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +53 -30
- package/dist/index.js.map +1 -1
- package/dist/server.d.ts +1 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +88 -7
- package/dist/server.js.map +1 -1
- package/dist/settings-handler.d.ts +76 -0
- package/dist/settings-handler.d.ts.map +1 -0
- package/dist/settings-handler.js +848 -0
- package/dist/settings-handler.js.map +1 -0
- package/package.json +4 -8
- package/web-app/assets/{index-CEpgiIwf.js → index-CWzlxjUK.js} +86 -56
- package/web-app/assets/index-Cic64hbc.css +1 -0
- package/web-app/index.html +2 -2
- package/clapps/settings/README.md +0 -74
- package/clapps/settings/clapp.json +0 -25
- package/clapps/settings/components/ProviderEditor.tsx +0 -512
- package/clapps/settings/components/ProviderList.tsx +0 -300
- package/clapps/settings/components/SessionList.tsx +0 -189
- package/clapps/settings/handlers/settings-handler.js +0 -742
- package/clapps/settings/views/default.settings.view.md +0 -35
- package/clapps/settings/views/settings.app.md +0 -12
- package/web-app/assets/index-BsI5PEAv.css +0 -1
package/dist/index.js
CHANGED
|
@@ -7,23 +7,35 @@ import { AgentClient } from "./agent-client.js";
|
|
|
7
7
|
import { AgentHandler } from "./agent-handler.js";
|
|
8
8
|
import { StateStore } from "./state-store.js";
|
|
9
9
|
import { startServer } from "./server.js";
|
|
10
|
-
import { seedDefaults, checkAuthStatus
|
|
11
|
-
import {
|
|
10
|
+
import { seedDefaults, checkAuthStatus } from "./defaults.js";
|
|
11
|
+
import { SettingsHandler } from "./settings-handler.js";
|
|
12
|
+
import { ChatHandler } from "./chat-handler.js";
|
|
13
|
+
import { initAccessToken, formatToken } from "./auth.js";
|
|
12
14
|
function parseArgs(args) {
|
|
13
15
|
const opts = {};
|
|
16
|
+
const flags = {};
|
|
14
17
|
for (let i = 0; i < args.length; i++) {
|
|
15
|
-
|
|
16
|
-
|
|
18
|
+
const arg = args[i];
|
|
19
|
+
if (arg === "--no-auth") {
|
|
20
|
+
flags["no-auth"] = true;
|
|
21
|
+
}
|
|
22
|
+
else if (arg.startsWith("--") && i + 1 < args.length) {
|
|
23
|
+
opts[arg.slice(2)] = args[i + 1];
|
|
17
24
|
i++;
|
|
18
25
|
}
|
|
19
26
|
}
|
|
20
|
-
return opts;
|
|
27
|
+
return { opts, flags };
|
|
21
28
|
}
|
|
22
29
|
async function main() {
|
|
23
|
-
const opts = parseArgs(process.argv.slice(2));
|
|
30
|
+
const { opts, flags } = parseArgs(process.argv.slice(2));
|
|
24
31
|
const port = parseInt(opts.port ?? "3080", 10);
|
|
25
32
|
const agentToken = opts["agent-token"];
|
|
26
33
|
const session = opts.session ?? "agent:main:main";
|
|
34
|
+
// Initialize access token for auth
|
|
35
|
+
const accessToken = initAccessToken({
|
|
36
|
+
token: opts.token,
|
|
37
|
+
noAuth: flags["no-auth"],
|
|
38
|
+
});
|
|
27
39
|
const stateDir = opts["state-dir"] ??
|
|
28
40
|
resolve(homedir(), ".openclaw", "workspace", "ui", "state");
|
|
29
41
|
const viewsDir = opts["views-dir"] ??
|
|
@@ -36,77 +48,88 @@ async function main() {
|
|
|
36
48
|
// 2. Seed defaults to disk
|
|
37
49
|
seedDefaults(viewsDir, stateDir);
|
|
38
50
|
checkAuthStatus(stateDir);
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
setState: (id, state) => store.setState(id, state),
|
|
43
|
-
checkAuthStatus: () => checkAuthStatus(stateDir),
|
|
44
|
-
};
|
|
45
|
-
const handlers = await loadClappHandlers(getBundledClappsDir(), handlerContext);
|
|
46
|
-
for (const h of handlers)
|
|
47
|
-
h.init?.();
|
|
48
|
-
// 4. Start ACP subprocess
|
|
51
|
+
const settingsHandler = new SettingsHandler({ stateDir, store });
|
|
52
|
+
settingsHandler.writeSettingsState();
|
|
53
|
+
// 3. Start ACP subprocess for intents
|
|
49
54
|
const agentClient = new AgentClient({
|
|
50
55
|
session,
|
|
51
56
|
agentToken,
|
|
52
57
|
onError: (err) => console.error("[acp]", err.message),
|
|
53
58
|
});
|
|
59
|
+
// 4. Start separate ACP subprocess for chat (dedicated session)
|
|
60
|
+
const chatSession = "agent:main:clapps-chat";
|
|
61
|
+
const chatAgentClient = new AgentClient({
|
|
62
|
+
session: chatSession,
|
|
63
|
+
agentToken,
|
|
64
|
+
onError: (err) => console.error("[acp:chat]", err.message),
|
|
65
|
+
});
|
|
54
66
|
let agentStarted = false;
|
|
55
67
|
try {
|
|
56
68
|
await agentClient.start();
|
|
69
|
+
await chatAgentClient.start();
|
|
57
70
|
agentStarted = true;
|
|
58
71
|
}
|
|
59
72
|
catch (err) {
|
|
60
73
|
console.error(`⚠️ ACP failed to start: ${err instanceof Error ? err.message : err}`);
|
|
61
74
|
console.error(" Intent processing will not work until ACP is available.");
|
|
62
75
|
}
|
|
63
|
-
//
|
|
76
|
+
// Create chat handler (uses dedicated chat session)
|
|
77
|
+
const chatHandler = new ChatHandler({ stateDir, store, agentClient: chatAgentClient });
|
|
78
|
+
// 4. Create agent handler (syncs disk → store after intents)
|
|
64
79
|
const agentHandler = new AgentHandler({
|
|
65
80
|
agentClient,
|
|
66
81
|
store,
|
|
67
82
|
stateDir,
|
|
68
83
|
viewsDir,
|
|
69
84
|
});
|
|
70
|
-
//
|
|
85
|
+
// 5. Initial sync: load all disk state into the store
|
|
71
86
|
await agentHandler.syncToStore();
|
|
72
|
-
//
|
|
87
|
+
// 6. Resolve static SPA directory
|
|
73
88
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
74
89
|
const staticDir = resolve(__dirname, "..", "web-app");
|
|
75
|
-
//
|
|
90
|
+
// 7. Start HTTP + WebSocket server
|
|
76
91
|
const server = startServer({
|
|
77
92
|
port,
|
|
78
93
|
store,
|
|
79
94
|
staticDir,
|
|
95
|
+
accessToken,
|
|
80
96
|
agentConnected: () => agentStarted,
|
|
81
97
|
onConnect: () => {
|
|
82
|
-
|
|
83
|
-
|
|
98
|
+
// Refresh settings state when a client connects (catches external changes)
|
|
99
|
+
settingsHandler.refreshSettingsState();
|
|
84
100
|
},
|
|
85
101
|
onIntent: (intent, _context) => {
|
|
86
|
-
// Let
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
102
|
+
// Let handlers intercept first
|
|
103
|
+
if (settingsHandler.handleIntent(intent))
|
|
104
|
+
return;
|
|
105
|
+
if (chatHandler.handleIntent(intent))
|
|
106
|
+
return;
|
|
91
107
|
// Forward to agent
|
|
92
108
|
agentHandler.handleIntent(intent).catch((err) => {
|
|
93
109
|
console.error(`[intent] ${err.message}`);
|
|
94
110
|
});
|
|
95
111
|
},
|
|
96
112
|
});
|
|
97
|
-
//
|
|
113
|
+
// 8. Periodic refresh to detect external config changes (every 10s)
|
|
98
114
|
const refreshInterval = setInterval(() => {
|
|
99
|
-
|
|
100
|
-
h.refresh?.();
|
|
115
|
+
settingsHandler.refreshSettingsState();
|
|
101
116
|
}, 10_000);
|
|
102
117
|
console.log(`📁 State dir: ${stateDir}`);
|
|
103
118
|
console.log(`📄 Views dir: ${viewsDir}`);
|
|
119
|
+
if (accessToken) {
|
|
120
|
+
console.log(`🔐 Access code: ${formatToken(accessToken)}`);
|
|
121
|
+
console.log(` Saved to ~/.openclaw/workspace/ui/.access-token`);
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
console.log(`⚠️ Auth disabled (--no-auth). Server is open to all.`);
|
|
125
|
+
}
|
|
104
126
|
// Graceful shutdown
|
|
105
127
|
process.on("SIGINT", () => {
|
|
106
128
|
console.log("\nShutting down...");
|
|
107
129
|
clearInterval(refreshInterval);
|
|
108
130
|
server.close();
|
|
109
131
|
agentClient.stop();
|
|
132
|
+
chatAgentClient.stop();
|
|
110
133
|
process.exit(0);
|
|
111
134
|
});
|
|
112
135
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts
CHANGED
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,KAAK,aAAa,EAAkB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,KAAK,aAAa,EAAkB,MAAM,kBAAkB,CAAC;AASlF,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;IACnE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAcD,wBAAgB,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG;IAAE,KAAK,EAAE,MAAM,IAAI,CAAA;CAAE,CAmDzE"}
|
package/dist/server.js
CHANGED
|
@@ -4,6 +4,7 @@ import { resolve, extname } from "node:path";
|
|
|
4
4
|
import { existsSync } from "node:fs";
|
|
5
5
|
import { WebSocketServer } from "ws";
|
|
6
6
|
import { StateStore } from "./state-store.js";
|
|
7
|
+
import { authenticateRequest, authenticateWsUpgrade, checkRateLimit, setSessionCookie, getLoginPageHtml, } from "./auth.js";
|
|
7
8
|
const MIME_TYPES = {
|
|
8
9
|
".html": "text/html",
|
|
9
10
|
".js": "text/javascript",
|
|
@@ -16,11 +17,22 @@ const MIME_TYPES = {
|
|
|
16
17
|
".woff2": "font/woff2",
|
|
17
18
|
};
|
|
18
19
|
export function startServer(options) {
|
|
19
|
-
const { port, store, onIntent, staticDir, agentConnected, onConnect } = options;
|
|
20
|
+
const { port, store, onIntent, staticDir, agentConnected, onConnect, accessToken } = options;
|
|
20
21
|
const server = createServer((req, res) => {
|
|
21
|
-
handleRequest(req, res, store, onIntent, staticDir, agentConnected);
|
|
22
|
+
handleRequest(req, res, store, onIntent, staticDir, agentConnected, accessToken ?? null);
|
|
23
|
+
});
|
|
24
|
+
// Use noServer mode so we can authenticate WS upgrades
|
|
25
|
+
const wss = new WebSocketServer({ noServer: true });
|
|
26
|
+
server.on("upgrade", (req, socket, head) => {
|
|
27
|
+
if (!authenticateWsUpgrade(req, accessToken ?? null)) {
|
|
28
|
+
socket.write("HTTP/1.1 401 Unauthorized\r\n\r\n");
|
|
29
|
+
socket.destroy();
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
wss.handleUpgrade(req, socket, head, (ws) => {
|
|
33
|
+
wss.emit("connection", ws, req);
|
|
34
|
+
});
|
|
22
35
|
});
|
|
23
|
-
const wss = new WebSocketServer({ server });
|
|
24
36
|
wss.on("connection", (ws) => {
|
|
25
37
|
const client = store.addClient(ws);
|
|
26
38
|
// Notify that a client connected (for state refresh)
|
|
@@ -75,18 +87,57 @@ function handleWsMessage(msg, client, store, onIntent) {
|
|
|
75
87
|
}
|
|
76
88
|
}
|
|
77
89
|
}
|
|
78
|
-
async function handleRequest(req, res, store, onIntent, staticDir, agentConnected) {
|
|
90
|
+
async function handleRequest(req, res, store, onIntent, staticDir, agentConnected, accessToken) {
|
|
79
91
|
const url = new URL(req.url ?? "/", `http://${req.headers.host}`);
|
|
80
92
|
const path = url.pathname;
|
|
81
|
-
// CORS headers
|
|
82
|
-
|
|
93
|
+
// CORS headers
|
|
94
|
+
if (accessToken != null) {
|
|
95
|
+
// With auth: reflect origin and allow credentials
|
|
96
|
+
const origin = req.headers.origin;
|
|
97
|
+
if (origin)
|
|
98
|
+
res.setHeader("Access-Control-Allow-Origin", origin);
|
|
99
|
+
res.setHeader("Access-Control-Allow-Credentials", "true");
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
res.setHeader("Access-Control-Allow-Origin", "*");
|
|
103
|
+
}
|
|
83
104
|
res.setHeader("Access-Control-Allow-Methods", "GET, POST, OPTIONS");
|
|
84
|
-
res.setHeader("Access-Control-Allow-Headers", "Content-Type");
|
|
105
|
+
res.setHeader("Access-Control-Allow-Headers", "Content-Type, Authorization");
|
|
85
106
|
if (req.method === "OPTIONS") {
|
|
86
107
|
res.writeHead(204);
|
|
87
108
|
res.end();
|
|
88
109
|
return;
|
|
89
110
|
}
|
|
111
|
+
// Auth-exempt routes
|
|
112
|
+
if (path === "/api/health") {
|
|
113
|
+
return handleApi(req, res, path, store, onIntent, agentConnected);
|
|
114
|
+
}
|
|
115
|
+
// Login routes
|
|
116
|
+
if (path === "/auth/login") {
|
|
117
|
+
if (req.method === "GET") {
|
|
118
|
+
res.writeHead(200, { "Content-Type": "text/html" });
|
|
119
|
+
res.end(getLoginPageHtml());
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
if (req.method === "POST") {
|
|
123
|
+
return handleLogin(req, res, accessToken);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
// Auth check for everything else
|
|
127
|
+
if (accessToken != null) {
|
|
128
|
+
const { authenticated } = authenticateRequest(req, accessToken);
|
|
129
|
+
if (!authenticated) {
|
|
130
|
+
if (path.startsWith("/api/")) {
|
|
131
|
+
res.writeHead(401, { "Content-Type": "application/json" });
|
|
132
|
+
res.end(JSON.stringify({ error: "unauthorized" }));
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
// Browser routes → show login page
|
|
136
|
+
res.writeHead(401, { "Content-Type": "text/html" });
|
|
137
|
+
res.end(getLoginPageHtml());
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
90
141
|
// API routes
|
|
91
142
|
if (path.startsWith("/api/")) {
|
|
92
143
|
return handleApi(req, res, path, store, onIntent, agentConnected);
|
|
@@ -98,6 +149,36 @@ async function handleRequest(req, res, store, onIntent, staticDir, agentConnecte
|
|
|
98
149
|
res.writeHead(404, { "Content-Type": "text/plain" });
|
|
99
150
|
res.end("Not Found");
|
|
100
151
|
}
|
|
152
|
+
async function handleLogin(req, res, accessToken) {
|
|
153
|
+
// If no auth, just redirect
|
|
154
|
+
if (accessToken === null) {
|
|
155
|
+
res.writeHead(302, { Location: "/" });
|
|
156
|
+
res.end();
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
159
|
+
const ip = req.headers["x-forwarded-for"]?.split(",")[0]?.trim() ??
|
|
160
|
+
req.socket.remoteAddress ??
|
|
161
|
+
"unknown";
|
|
162
|
+
if (!checkRateLimit(ip)) {
|
|
163
|
+
res.writeHead(429, { "Content-Type": "text/html" });
|
|
164
|
+
res.end(getLoginPageHtml("Too many attempts. Please wait a minute."));
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
const body = await readBody(req);
|
|
168
|
+
const params = new URLSearchParams(body);
|
|
169
|
+
const password = params.get("password")?.trim() ?? "";
|
|
170
|
+
const remember = params.get("remember") === "1";
|
|
171
|
+
// Normalize: strip dashes for comparison (user may paste formatted code)
|
|
172
|
+
const normalized = password.replace(/-/g, "");
|
|
173
|
+
if (normalized !== accessToken) {
|
|
174
|
+
res.writeHead(401, { "Content-Type": "text/html" });
|
|
175
|
+
res.end(getLoginPageHtml("Invalid access code."));
|
|
176
|
+
return;
|
|
177
|
+
}
|
|
178
|
+
setSessionCookie(res, accessToken, req, remember);
|
|
179
|
+
res.writeHead(302, { Location: "/" });
|
|
180
|
+
res.end();
|
|
181
|
+
}
|
|
101
182
|
async function handleApi(req, res, path, store, onIntent, agentConnected) {
|
|
102
183
|
// GET /api/apps
|
|
103
184
|
if (path === "/api/apps" && req.method === "GET") {
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA6C,MAAM,WAAW,CAAC;AACpF,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,eAAe,EAAkB,MAAM,IAAI,CAAC;AAErD,OAAO,EAAE,UAAU,EAAsC,MAAM,kBAAkB,CAAC;AAClF,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,WAAW,CAAC;AAYnB,MAAM,UAAU,GAA2B;IACzC,OAAO,EAAE,WAAW;IACpB,KAAK,EAAE,iBAAiB;IACxB,MAAM,EAAE,UAAU;IAClB,OAAO,EAAE,kBAAkB;IAC3B,MAAM,EAAE,WAAW;IACnB,MAAM,EAAE,eAAe;IACvB,MAAM,EAAE,cAAc;IACtB,OAAO,EAAE,WAAW;IACpB,QAAQ,EAAE,YAAY;CACvB,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,OAAsB;IAChD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAE7F,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACvC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW,IAAI,IAAI,CAAC,CAAC;IAC3F,CAAC,CAAC,CAAC;IAEH,uDAAuD;IACvD,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAEpD,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;QACzC,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,WAAW,IAAI,IAAI,CAAC,EAAE,CAAC;YACrD,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;YAClD,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QACD,GAAG,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE;YAC1C,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAa,EAAE,EAAE;QACrC,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAEnC,qDAAqD;QACrD,SAAS,EAAE,EAAE,CAAC;QAEd,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE;YACvB,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAc,CAAC;gBACjD,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;YAChD,CAAC;YAAC,MAAM,CAAC;gBACP,4BAA4B;YAC9B,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAClB,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;QACvB,OAAO,CAAC,GAAG,CAAC,2CAA2C,IAAI,EAAE,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,KAAK,EAAE,GAAG,EAAE;YACV,GAAG,CAAC,KAAK,EAAE,CAAC;YACZ,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CACtB,GAAc,EACd,MAA2C,EAC3C,KAAiB,EACjB,QAAmC;IAEnC,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC,OAAoC,CAAC;YAC1D,MAAM;QACR,CAAC;QACD,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAgC,CAAC;YACtD,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACpC,CAAC;YACD,MAAM;QACR,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,MAAM,GAAkB;gBAC5B,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE;gBACvB,OAAO,EAAE,OAAO;gBAChB,OAAO,EAAG,GAAG,CAAC,OAAkB,IAAI,EAAE;gBACtC,MAAM,EAAE,GAAG,CAAC,MAAgB;gBAC5B,OAAO,EAAG,GAAG,CAAC,OAAmC,IAAI,EAAE;gBACvD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC;YACF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;YACjC,MAAM;QACR,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,GAAoB,EACpB,GAAmB,EACnB,KAAiB,EACjB,QAAmC,EACnC,SAA6B,EAC7B,cAA2C,EAC3C,WAA0B;IAE1B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,UAAU,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAClE,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC;IAE1B,eAAe;IACf,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;QACxB,kDAAkD;QAClD,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;QAClC,IAAI,MAAM;YAAE,GAAG,CAAC,SAAS,CAAC,6BAA6B,EAAE,MAAM,CAAC,CAAC;QACjE,GAAG,CAAC,SAAS,CAAC,kCAAkC,EAAE,MAAM,CAAC,CAAC;IAC5D,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,SAAS,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;IACpD,CAAC;IACD,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,oBAAoB,CAAC,CAAC;IACpE,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,6BAA6B,CAAC,CAAC;IAE7E,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC7B,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACnB,GAAG,CAAC,GAAG,EAAE,CAAC;QACV,OAAO;IACT,CAAC;IAED,qBAAqB;IACrB,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;QAC3B,OAAO,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;IACpE,CAAC;IAED,eAAe;IACf,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;QAC3B,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YACzB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC;YACpD,GAAG,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC1B,OAAO,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,iCAAiC;IACjC,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,EAAE,aAAa,EAAE,GAAG,mBAAmB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAChE,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC7B,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;gBACnD,OAAO;YACT,CAAC;YACD,mCAAmC;YACnC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC;YACpD,GAAG,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;IACH,CAAC;IAED,aAAa;IACb,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,OAAO,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;IACpE,CAAC;IAED,yBAAyB;IACzB,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IAChD,CAAC;IAED,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,CAAC;IACrD,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AACvB,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,GAAoB,EACpB,GAAmB,EACnB,WAA0B;IAE1B,4BAA4B;IAC5B,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;QACzB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;QACtC,GAAG,CAAC,GAAG,EAAE,CAAC;QACV,OAAO;IACT,CAAC;IAED,MAAM,EAAE,GACL,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAY,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE;QACjE,GAAG,CAAC,MAAM,CAAC,aAAa;QACxB,SAAS,CAAC;IAEZ,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC;QACxB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC;QACpD,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,0CAA0C,CAAC,CAAC,CAAC;QACtE,OAAO;IACT,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC;IAEhD,yEAAyE;IACzE,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAE9C,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;QAC/B,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC;QACpD,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAClD,OAAO;IACT,CAAC;IAED,gBAAgB,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IAClD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;IACtC,GAAG,CAAC,GAAG,EAAE,CAAC;AACZ,CAAC;AAED,KAAK,UAAU,SAAS,CACtB,GAAoB,EACpB,GAAmB,EACnB,IAAY,EACZ,KAAiB,EACjB,QAAmC,EACnC,cAA2C;IAE3C,gBAAgB;IAChB,IAAI,IAAI,KAAK,WAAW,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QACjD,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3B,OAAO;IACT,CAAC;IAED,0BAA0B;IAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACzD,IAAI,UAAU,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;YAChD,OAAO;QACT,CAAC;QACD,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACjB,OAAO;IACT,CAAC;IAED,yBAAyB;IACzB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACxD,IAAI,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,CAAC;YACrD,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QACD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,CAAC;QACrD,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACjB,OAAO;IACT,CAAC;IAED,mBAAmB;IACnB,IAAI,IAAI,KAAK,aAAa,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QACpD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9B,MAAM,MAAM,GAAkB;gBAC5B,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,UAAU,EAAE;gBAClC,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,OAAO;gBAChC,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;gBAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;gBAC3B,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACtD,CAAC;YACF,QAAQ,CAAC,MAAM,CAAC,CAAC;YACjB,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;QACrD,CAAC;QACD,OAAO;IACT,CAAC;IAED,kBAAkB;IAClB,IAAI,IAAI,KAAK,aAAa,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QACnD,IAAI,CAAC,GAAG,EAAE;YACR,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,KAAK;SACjD,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,IAAqB,EACrB,GAAmB,EACnB,IAAY,EACZ,SAAiB;IAEjB,iBAAiB;IACjB,IAAI,QAAQ,GAAG,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;IAEnD,wCAAwC;IACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QAC7C,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACnB,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,iEAAiE;IACjE,IAAI,MAAM,GAAG,QAAQ,CAAC;IACtB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,0BAA0B,CAAC;QAC3D,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;IAAC,MAAM,CAAC;QACP,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,CAAC;QACrD,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED,SAAS,IAAI,CAAC,GAAmB,EAAE,IAAa;IAC9C,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,QAAQ,CAAC,GAAoB;IACpC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9C,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC/D,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import type { IntentMessage } from "@clapps/core";
|
|
2
|
+
import type { StateStore } from "./state-store.js";
|
|
3
|
+
export interface SettingsHandlerOptions {
|
|
4
|
+
stateDir: string;
|
|
5
|
+
store: StateStore;
|
|
6
|
+
authProfilesPath?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare class SettingsHandler {
|
|
9
|
+
private stateDir;
|
|
10
|
+
private store;
|
|
11
|
+
private authProfilesPath;
|
|
12
|
+
constructor(options: SettingsHandlerOptions);
|
|
13
|
+
/** Returns true if the intent was handled locally (should not be forwarded to ACP) */
|
|
14
|
+
handleIntent: (intent: IntentMessage) => boolean;
|
|
15
|
+
/** Generate a unique profile ID */
|
|
16
|
+
private generateProfileId;
|
|
17
|
+
/** Write auth-profiles.json with the Anthropic API key */
|
|
18
|
+
private setAnthropicKey;
|
|
19
|
+
/** Set Claude subscription token via openclaw CLI */
|
|
20
|
+
private setClaudeToken;
|
|
21
|
+
/** Write auth-profiles.json with the OpenAI API key */
|
|
22
|
+
private setOpenAIKey;
|
|
23
|
+
/** Write auth-profiles.json with the Kimi Coding API key */
|
|
24
|
+
private setKimiCodingKey;
|
|
25
|
+
/** Start OAuth flow for a provider */
|
|
26
|
+
private startOAuth;
|
|
27
|
+
/** Delete a provider profile */
|
|
28
|
+
private deleteProvider;
|
|
29
|
+
/** Set an environment variable in openclaw.json */
|
|
30
|
+
private setEnvVar;
|
|
31
|
+
/** Set the active AI provider by choosing its first configured model */
|
|
32
|
+
private setActiveProvider;
|
|
33
|
+
/** Set the active model system-wide */
|
|
34
|
+
private setActiveModel;
|
|
35
|
+
/** Clear per-agent model overrides so all agents use the system default */
|
|
36
|
+
private clearAgentModelOverrides;
|
|
37
|
+
/** Set model override for all active sessions via /model command */
|
|
38
|
+
private patchAllSessionModels;
|
|
39
|
+
/** Get the active model from OpenClaw config */
|
|
40
|
+
private getActiveModel;
|
|
41
|
+
/** Read available models grouped by provider from OpenClaw config */
|
|
42
|
+
private getModelCatalogByProvider;
|
|
43
|
+
/** Return first available model id for a provider */
|
|
44
|
+
private getFirstModelForProvider;
|
|
45
|
+
/** Build a human-readable model label */
|
|
46
|
+
private formatModelLabel;
|
|
47
|
+
/** Read OpenClaw auth-profiles.json and extract configured providers */
|
|
48
|
+
private getConfiguredProviders;
|
|
49
|
+
/** Detect whether a profile uses API key or subscription auth */
|
|
50
|
+
private detectAuthType;
|
|
51
|
+
/** Mask a credential for display */
|
|
52
|
+
private maskCredential;
|
|
53
|
+
/** Format provider name for display */
|
|
54
|
+
private formatProviderName;
|
|
55
|
+
/** Refresh settings state from disk (call periodically to detect external changes) */
|
|
56
|
+
refreshSettingsState(): void;
|
|
57
|
+
/** List all active sessions with their current model */
|
|
58
|
+
private listSessions;
|
|
59
|
+
/** Format a session key into a human-readable label */
|
|
60
|
+
private formatSessionLabel;
|
|
61
|
+
/** Format a model ID into a human-readable label */
|
|
62
|
+
private formatModelLabelFromId;
|
|
63
|
+
/** Reset a session's model override to use the global default */
|
|
64
|
+
private resetSessionModel;
|
|
65
|
+
/** Apply the global default model to all active sessions */
|
|
66
|
+
private applyDefaultToAllSessions;
|
|
67
|
+
/** Write settings.json state with provider status */
|
|
68
|
+
writeSettingsState(): void;
|
|
69
|
+
/** Get sessions data without writing to separate file */
|
|
70
|
+
private getSessionsData;
|
|
71
|
+
/** Push settings state to in-memory store */
|
|
72
|
+
private pushSettingsState;
|
|
73
|
+
/** Push _status state to in-memory store */
|
|
74
|
+
private pushStatusState;
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=settings-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings-handler.d.ts","sourceRoot":"","sources":["../src/settings-handler.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,UAAU,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAmCD,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,gBAAgB,CAAS;gBAErB,OAAO,EAAE,sBAAsB;IAQ3C,sFAAsF;IACtF,YAAY,GAAI,QAAQ,aAAa,KAAG,OAAO,CAuG7C;IAEF,mCAAmC;IACnC,OAAO,CAAC,iBAAiB;IAOzB,0DAA0D;IAC1D,OAAO,CAAC,eAAe;IA8BvB,qDAAqD;IACrD,OAAO,CAAC,cAAc;IAyCtB,uDAAuD;IACvD,OAAO,CAAC,YAAY;IAiCpB,4DAA4D;IAC5D,OAAO,CAAC,gBAAgB;IAiCxB,sCAAsC;IACtC,OAAO,CAAC,UAAU;IAuClB,gCAAgC;IAChC,OAAO,CAAC,cAAc;IA4BtB,mDAAmD;IACnD,OAAO,CAAC,SAAS;IAyBjB,wEAAwE;IACxE,OAAO,CAAC,iBAAiB;IAazB,uCAAuC;IACvC,OAAO,CAAC,cAAc;IAqBtB,2EAA2E;IAC3E,OAAO,CAAC,wBAAwB;IAqChC,oEAAoE;IACpE,OAAO,CAAC,qBAAqB;IAoD7B,gDAAgD;IAChD,OAAO,CAAC,cAAc;IAkBtB,qEAAqE;IACrE,OAAO,CAAC,yBAAyB;IA+BjC,qDAAqD;IACrD,OAAO,CAAC,wBAAwB;IAgBhC,yCAAyC;IACzC,OAAO,CAAC,gBAAgB;IAOxB,wEAAwE;IACxE,OAAO,CAAC,sBAAsB;IAwE9B,iEAAiE;IACjE,OAAO,CAAC,cAAc;IAqCtB,oCAAoC;IACpC,OAAO,CAAC,cAAc;IAKtB,uCAAuC;IACvC,OAAO,CAAC,kBAAkB;IAc1B,sFAAsF;IACtF,oBAAoB,IAAI,IAAI;IAO5B,wDAAwD;IACxD,OAAO,CAAC,YAAY;IAiFpB,uDAAuD;IACvD,OAAO,CAAC,kBAAkB;IAwC1B,oDAAoD;IACpD,OAAO,CAAC,sBAAsB;IAe9B,iEAAiE;IACjE,OAAO,CAAC,iBAAiB;IAgCzB,4DAA4D;IAC5D,OAAO,CAAC,yBAAyB;IAcjC,qDAAqD;IACrD,kBAAkB,IAAI,IAAI;IA8B1B,yDAAyD;IACzD,OAAO,CAAC,eAAe;IAgEvB,6CAA6C;IAC7C,OAAO,CAAC,iBAAiB;IAMzB,4CAA4C;IAC5C,OAAO,CAAC,eAAe;CAOxB"}
|