@clappstore/connect 0.7.28 ā 0.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/defaults.d.ts.map +1 -1
- package/dist/defaults.js +212 -9
- package/dist/defaults.js.map +1 -1
- package/dist/index.js +84 -5
- package/dist/index.js.map +1 -1
- package/dist/server.d.ts +2 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +193 -11
- package/dist/server.js.map +1 -1
- package/dist/settings-handler.d.ts +10 -2
- package/dist/settings-handler.d.ts.map +1 -1
- package/dist/settings-handler.js +126 -57
- package/dist/settings-handler.js.map +1 -1
- package/dist/slack-handler.d.ts +1 -0
- package/dist/slack-handler.d.ts.map +1 -1
- package/dist/slack-handler.js +1 -1
- package/dist/slack-handler.js.map +1 -1
- package/package.json +7 -2
- package/web-app/assets/index-BF3hBHjp.css +1 -0
- package/web-app/assets/{index-CTMPu3bz.js ā index-DoakjYY6.js} +1 -1
- package/web-app/index.html +2 -2
- package/web-app/assets/index-Nvc15t2m.css +0 -1
package/dist/defaults.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"AA8WA,sCAAsC;AACtC,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,8DAA8D;AAC9D,wBAAgB,mBAAmB,IAAI,MAAM,CAG5C;AA6BD,8DAA8D;AAC9D,wBAAgB,oBAAoB,IAAI,IAAI,CAwB3C;AAED,2CAA2C;AAC3C,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CA4CrE;AAED,8EAA8E;AAC9E,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAyDjF"}
|
package/dist/defaults.js
CHANGED
|
@@ -95,6 +95,193 @@ Column(gap=5):
|
|
|
95
95
|
| settings.resetSessionModel | \`{ sessionKey: string }\` | Reset a session to use the system default |
|
|
96
96
|
| settings.applyDefaultToAll | \`{}\` | Apply system default to all sessions |
|
|
97
97
|
`;
|
|
98
|
+
const DEFAULT_SLACK_APP_MD = `---
|
|
99
|
+
name: Slack
|
|
100
|
+
domain: default
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## Modules
|
|
104
|
+
- default/slack-connections
|
|
105
|
+
- default/slack-channels
|
|
106
|
+
- default/slack-settings
|
|
107
|
+
- default/slack-status
|
|
108
|
+
|
|
109
|
+
## Layout
|
|
110
|
+
\`\`\`clapp-layout
|
|
111
|
+
Module(ref=default/slack-connections):
|
|
112
|
+
\`\`\`
|
|
113
|
+
`;
|
|
114
|
+
const DEFAULT_SLACK_CONNECTIONS_VIEW = `---
|
|
115
|
+
name: slack-connections
|
|
116
|
+
domain: default
|
|
117
|
+
version: 0.1.0
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## State Bindings
|
|
121
|
+
- \`slack.accounts\` -> array
|
|
122
|
+
- \`slack.loading\` -> boolean
|
|
123
|
+
- \`slack.error\` -> string
|
|
124
|
+
- \`slack.editingAccount\` -> object
|
|
125
|
+
- \`slack.saving\` -> boolean
|
|
126
|
+
- \`slack.saveError\` -> string
|
|
127
|
+
|
|
128
|
+
## Layout
|
|
129
|
+
\`\`\`clapp-layout
|
|
130
|
+
Column(gap=5):
|
|
131
|
+
Card(title=Add or Update Slack Account):
|
|
132
|
+
AccountEditor(account=slack.editingAccount, saving=slack.saving, saveError=slack.saveError):
|
|
133
|
+
|
|
134
|
+
Card(title=Configured Slack Accounts):
|
|
135
|
+
Column(gap=4):
|
|
136
|
+
Conditional(when=slack.loading):
|
|
137
|
+
Skeleton():
|
|
138
|
+
Conditional(when=!slack.loading):
|
|
139
|
+
Conditional(when=slack.accounts.length):
|
|
140
|
+
List(data=slack.accounts):
|
|
141
|
+
AccountCard():
|
|
142
|
+
Conditional(when=!slack.accounts.length):
|
|
143
|
+
Heading(level=4): "No Slack accounts configured"
|
|
144
|
+
|
|
145
|
+
Conditional(when=slack.error):
|
|
146
|
+
Card(variant=destructive):
|
|
147
|
+
Heading(level=4): "Error"
|
|
148
|
+
MarkdownContent(content=slack.error):
|
|
149
|
+
\`\`\`
|
|
150
|
+
|
|
151
|
+
## Intents
|
|
152
|
+
| Name | Payload | Description |
|
|
153
|
+
|------|---------|-------------|
|
|
154
|
+
| slack.init | \`{}\` | Load Slack accounts |
|
|
155
|
+
| slack.editAccount | \`{ accountId: string }\` | Load account into editor |
|
|
156
|
+
| slack.deleteAccount | \`{ accountId: string }\` | Remove account |
|
|
157
|
+
| slack.testAccount | \`{ accountId: string }\` | Test connection |
|
|
158
|
+
| slack.saveAccount | \`{ accountId: string, mode: string, botToken: string, appToken?: string, signingSecret?: string, webhookPath?: string }\` | Save account config |
|
|
159
|
+
`;
|
|
160
|
+
const DEFAULT_SLACK_CHANNELS_VIEW = `---
|
|
161
|
+
name: slack-channels
|
|
162
|
+
domain: default
|
|
163
|
+
version: 0.1.0
|
|
164
|
+
---
|
|
165
|
+
|
|
166
|
+
## State Bindings
|
|
167
|
+
- \`slack.dmPolicy\` -> string
|
|
168
|
+
- \`slack.groupPolicy\` -> string
|
|
169
|
+
- \`slack.channels\` -> array
|
|
170
|
+
- \`slack.loading\` -> boolean
|
|
171
|
+
|
|
172
|
+
## Layout
|
|
173
|
+
\`\`\`clapp-layout
|
|
174
|
+
Column(gap=5):
|
|
175
|
+
Card(title=Access Control):
|
|
176
|
+
Column(gap=4):
|
|
177
|
+
Heading(level=4): "DM Policy"
|
|
178
|
+
PolicySelector(value=slack.dmPolicy, type=dm):
|
|
179
|
+
Heading(level=4): "Channel Policy"
|
|
180
|
+
PolicySelector(value=slack.groupPolicy, type=group):
|
|
181
|
+
|
|
182
|
+
Card(title=Allowed Channels):
|
|
183
|
+
Column(gap=4):
|
|
184
|
+
Conditional(when=slack.loading):
|
|
185
|
+
Skeleton():
|
|
186
|
+
Conditional(when=!slack.loading):
|
|
187
|
+
Conditional(when=slack.channels.length):
|
|
188
|
+
ChannelList(channels=slack.channels):
|
|
189
|
+
Conditional(when=!slack.channels.length):
|
|
190
|
+
Heading(level=4): "No channels configured"
|
|
191
|
+
IntentButton(intent=slack.addChannel, label="Add Channel", variant=primary):
|
|
192
|
+
\`\`\`
|
|
193
|
+
|
|
194
|
+
## Intents
|
|
195
|
+
| Name | Payload | Description |
|
|
196
|
+
|------|---------|-------------|
|
|
197
|
+
| slack.init | \`{}\` | Load channel config |
|
|
198
|
+
| slack.setDmPolicy | \`{ policy: string }\` | Set DM access policy |
|
|
199
|
+
| slack.setGroupPolicy | \`{ policy: string }\` | Set channel access policy |
|
|
200
|
+
| slack.addChannel | \`{}\` | Add channel to allowlist |
|
|
201
|
+
| slack.editChannel | \`{ channelId: string }\` | Edit channel settings |
|
|
202
|
+
| slack.removeChannel | \`{ channelId: string }\` | Remove channel from allowlist |
|
|
203
|
+
| slack.saveChannel | \`{ channelId: string, requireMention?: boolean, users?: string[], skills?: string[] }\` | Save channel config |
|
|
204
|
+
`;
|
|
205
|
+
const DEFAULT_SLACK_SETTINGS_VIEW = `---
|
|
206
|
+
name: slack-settings
|
|
207
|
+
domain: default
|
|
208
|
+
version: 0.1.0
|
|
209
|
+
---
|
|
210
|
+
|
|
211
|
+
## State Bindings
|
|
212
|
+
- \`slack.streaming\` -> string
|
|
213
|
+
- \`slack.replyToMode\` -> string
|
|
214
|
+
- \`slack.actions\` -> object
|
|
215
|
+
- \`slack.slashCommand\` -> object
|
|
216
|
+
- \`slack.loading\` -> boolean
|
|
217
|
+
|
|
218
|
+
## Layout
|
|
219
|
+
\`\`\`clapp-layout
|
|
220
|
+
Column(gap=5):
|
|
221
|
+
Card(title=Threading & Streaming):
|
|
222
|
+
Column(gap=4):
|
|
223
|
+
Heading(level=4): "Reply Mode"
|
|
224
|
+
TextInput(value=slack.replyToMode, placeholder="off"):
|
|
225
|
+
Heading(level=4): "Streaming Mode"
|
|
226
|
+
TextInput(value=slack.streaming, placeholder="partial"):
|
|
227
|
+
|
|
228
|
+
Card(title=Slash Commands):
|
|
229
|
+
SlashCommandConfig(config=slack.slashCommand):
|
|
230
|
+
|
|
231
|
+
Card(title=Actions):
|
|
232
|
+
FeatureToggles(actions=slack.actions):
|
|
233
|
+
\`\`\`
|
|
234
|
+
|
|
235
|
+
## Intents
|
|
236
|
+
| Name | Payload | Description |
|
|
237
|
+
|------|---------|-------------|
|
|
238
|
+
| slack.init | \`{}\` | Load settings |
|
|
239
|
+
| slack.setReplyMode | \`{ mode: string }\` | Set reply threading mode |
|
|
240
|
+
| slack.setStreaming | \`{ mode: string }\` | Set streaming mode |
|
|
241
|
+
| slack.toggleAction | \`{ group: string, enabled: boolean }\` | Enable/disable action group |
|
|
242
|
+
| slack.setSlashCommand | \`{ enabled: boolean, name?: string }\` | Configure slash command |
|
|
243
|
+
`;
|
|
244
|
+
const DEFAULT_SLACK_STATUS_VIEW = `---
|
|
245
|
+
name: slack-status
|
|
246
|
+
domain: default
|
|
247
|
+
version: 0.1.0
|
|
248
|
+
---
|
|
249
|
+
|
|
250
|
+
## State Bindings
|
|
251
|
+
- \`slack.status\` -> object
|
|
252
|
+
- \`slack.pairings\` -> array
|
|
253
|
+
- \`slack.loading\` -> boolean
|
|
254
|
+
|
|
255
|
+
## Layout
|
|
256
|
+
\`\`\`clapp-layout
|
|
257
|
+
Column(gap=5):
|
|
258
|
+
Card(title=Connection Status):
|
|
259
|
+
Conditional(when=slack.loading):
|
|
260
|
+
Skeleton():
|
|
261
|
+
Conditional(when=!slack.loading):
|
|
262
|
+
ConnectionStatus(status=slack.status):
|
|
263
|
+
|
|
264
|
+
Card(title=Pending Pairings):
|
|
265
|
+
Conditional(when=slack.pairings.length):
|
|
266
|
+
List(data=slack.pairings):
|
|
267
|
+
Row(gap=3):
|
|
268
|
+
Column(flex=1):
|
|
269
|
+
Heading(level=4): "{item.code}"
|
|
270
|
+
MarkdownContent(content="{item.user}"):
|
|
271
|
+
IntentButton(intent=slack.approvePairing, payload={code: item.code}, label="Approve", variant=primary):
|
|
272
|
+
IntentButton(intent=slack.rejectPairing, payload={code: item.code}, label="Reject", variant=destructive):
|
|
273
|
+
Conditional(when=!slack.pairings.length):
|
|
274
|
+
Heading(level=4): "No pending pairings"
|
|
275
|
+
\`\`\`
|
|
276
|
+
|
|
277
|
+
## Intents
|
|
278
|
+
| Name | Payload | Description |
|
|
279
|
+
|------|---------|-------------|
|
|
280
|
+
| slack.init | \`{}\` | Load status and pairings |
|
|
281
|
+
| slack.approvePairing | \`{ code: string }\` | Approve pairing request |
|
|
282
|
+
| slack.rejectPairing | \`{ code: string }\` | Reject pairing request |
|
|
283
|
+
| slack.refreshStatus | \`{}\` | Refresh connection status |
|
|
284
|
+
`;
|
|
98
285
|
const DEFAULT_APP_ENTRIES = [
|
|
99
286
|
{
|
|
100
287
|
id: "chat",
|
|
@@ -110,21 +297,36 @@ const DEFAULT_APP_ENTRIES = [
|
|
|
110
297
|
description: "Configure your agent",
|
|
111
298
|
pinned: true,
|
|
112
299
|
},
|
|
300
|
+
{
|
|
301
|
+
id: "slack",
|
|
302
|
+
name: "Slack",
|
|
303
|
+
emoji: "\u{1F4AC}",
|
|
304
|
+
description: "Manage Slack integration",
|
|
305
|
+
},
|
|
113
306
|
];
|
|
114
307
|
const BUNDLED_CLAPPS = [
|
|
115
308
|
{
|
|
116
309
|
id: "chat",
|
|
117
310
|
appPath: "chat.app.md",
|
|
118
|
-
viewPath: "default.chat.view.md",
|
|
119
311
|
appMd: DEFAULT_CHAT_APP_MD,
|
|
120
|
-
|
|
312
|
+
views: [{ path: "default.chat.view.md", md: DEFAULT_CHAT_VIEW }],
|
|
121
313
|
},
|
|
122
314
|
{
|
|
123
315
|
id: "settings",
|
|
124
316
|
appPath: "settings.app.md",
|
|
125
|
-
viewPath: "default.settings.view.md",
|
|
126
317
|
appMd: DEFAULT_SETTINGS_APP_MD,
|
|
127
|
-
|
|
318
|
+
views: [{ path: "default.settings.view.md", md: DEFAULT_SETTINGS_VIEW }],
|
|
319
|
+
},
|
|
320
|
+
{
|
|
321
|
+
id: "slack",
|
|
322
|
+
appPath: "slack.app.md",
|
|
323
|
+
appMd: DEFAULT_SLACK_APP_MD,
|
|
324
|
+
views: [
|
|
325
|
+
{ path: "default.slack-connections.view.md", md: DEFAULT_SLACK_CONNECTIONS_VIEW },
|
|
326
|
+
{ path: "default.slack-channels.view.md", md: DEFAULT_SLACK_CHANNELS_VIEW },
|
|
327
|
+
{ path: "default.slack-settings.view.md", md: DEFAULT_SLACK_SETTINGS_VIEW },
|
|
328
|
+
{ path: "default.slack-status.view.md", md: DEFAULT_SLACK_STATUS_VIEW },
|
|
329
|
+
],
|
|
128
330
|
},
|
|
129
331
|
];
|
|
130
332
|
// === Clapp loading ===
|
|
@@ -190,15 +392,16 @@ export function seedDefaults(viewsDir, stateDir) {
|
|
|
190
392
|
// Seed app definitions and view modules
|
|
191
393
|
for (const clapp of BUNDLED_CLAPPS) {
|
|
192
394
|
const fullAppPath = resolve(viewsDir, clapp.appPath);
|
|
193
|
-
const appContent = loadView(clapp.id, clapp.appPath
|
|
395
|
+
const appContent = loadView(clapp.id, clapp.appPath, clapp.appMd);
|
|
194
396
|
if (!existsSync(fullAppPath)) {
|
|
195
397
|
writeFileSync(fullAppPath, appContent, "utf-8");
|
|
196
398
|
console.log(`š Created app: ${fullAppPath}`);
|
|
197
399
|
}
|
|
198
|
-
const
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
400
|
+
for (const view of clapp.views) {
|
|
401
|
+
const fullViewPath = resolve(viewsDir, view.path);
|
|
402
|
+
const viewContent = loadView(clapp.id, view.path, view.md);
|
|
403
|
+
writeFileSync(fullViewPath, viewContent, "utf-8");
|
|
404
|
+
}
|
|
202
405
|
}
|
|
203
406
|
// Seed or merge _apps.json
|
|
204
407
|
const appsPath = resolve(stateDir, "_apps.json");
|
package/dist/defaults.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACrF,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAUzC,gEAAgE;AAEhE,MAAM,mBAAmB,GAAG;;;;;;;;;;;;CAY3B,CAAC;AAEF,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BzB,CAAC;AAEF,MAAM,uBAAuB,GAAG;;;;;;;;;;;;CAY/B,CAAC;AAEF,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsC7B,CAAC;AAEF,MAAM,mBAAmB,GAAe;IACtC;QACE,EAAE,EAAE,MAAM;QACV,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,WAAW;QAClB,WAAW,EAAE,qBAAqB;QAClC,MAAM,EAAE,IAAI;KACb;IACD;QACE,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,cAAc;QACrB,WAAW,EAAE,sBAAsB;QACnC,MAAM,EAAE,IAAI;KACb;CACF,CAAC;
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { resolve, dirname } from "node:path";
|
|
3
|
-
import { homedir } from "node:os";
|
|
4
|
-
import
|
|
3
|
+
import { homedir, networkInterfaces } from "node:os";
|
|
4
|
+
import QRCode from "qrcode";
|
|
5
|
+
import { mkdirSync, existsSync, statSync, chownSync, writeFileSync } from "node:fs";
|
|
6
|
+
import { spawnSync } from "node:child_process";
|
|
5
7
|
import { fileURLToPath } from "node:url";
|
|
6
8
|
import { AgentClient } from "./agent-client.js";
|
|
7
9
|
import { AgentHandler } from "./agent-handler.js";
|
|
@@ -13,6 +15,7 @@ import { ChatHandler } from "./chat-handler.js";
|
|
|
13
15
|
import { SlackHandler } from "./slack-handler.js";
|
|
14
16
|
import { OAuthHandler } from "./oauth-handler.js";
|
|
15
17
|
import { initAccessToken, formatToken } from "./auth.js";
|
|
18
|
+
import { loadClappHandlers } from "./clapp-loader.js";
|
|
16
19
|
function parseArgs(args) {
|
|
17
20
|
const opts = {};
|
|
18
21
|
const flags = {};
|
|
@@ -45,15 +48,42 @@ async function main() {
|
|
|
45
48
|
resolve(openclawHome, ".openclaw", "workspace", "ui", "state");
|
|
46
49
|
const viewsDir = opts["views-dir"] ??
|
|
47
50
|
resolve(openclawHome, ".openclaw", "workspace", "ui", "views");
|
|
51
|
+
const templatesDir = resolve(openclawHome, ".openclaw", "workspace", "ui", "templates");
|
|
48
52
|
// Ensure directories exist
|
|
49
53
|
mkdirSync(stateDir, { recursive: true });
|
|
50
54
|
mkdirSync(viewsDir, { recursive: true });
|
|
55
|
+
mkdirSync(templatesDir, { recursive: true });
|
|
51
56
|
// 1. Create in-memory state store
|
|
52
57
|
const store = new StateStore();
|
|
53
58
|
// 2. Seed defaults to disk
|
|
54
59
|
seedDefaults(viewsDir, stateDir);
|
|
55
60
|
checkAuthStatus(stateDir, resolve(openclawHome, ".openclaw", "agents", "main", "agent", "auth-profiles.json"));
|
|
56
|
-
const
|
|
61
|
+
const needsOwnershipFix = openclawHome !== homedir();
|
|
62
|
+
const configPath = resolve(openclawHome, ".openclaw", "openclaw.json");
|
|
63
|
+
const authPath = resolve(openclawHome, ".openclaw", "agents", "main", "agent", "auth-profiles.json");
|
|
64
|
+
const settingsHandler = new SettingsHandler({
|
|
65
|
+
stateDir,
|
|
66
|
+
store,
|
|
67
|
+
openclawHome,
|
|
68
|
+
onConfigChanged: needsOwnershipFix ? () => {
|
|
69
|
+
try {
|
|
70
|
+
const { uid, gid } = statSync(openclawHome);
|
|
71
|
+
for (const p of [configPath, authPath]) {
|
|
72
|
+
if (existsSync(p))
|
|
73
|
+
chownSync(p, uid, gid);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
catch { /* best effort */ }
|
|
77
|
+
} : undefined,
|
|
78
|
+
onModelDefaultChanged: needsOwnershipFix ? () => {
|
|
79
|
+
spawnSync("systemctl", ["restart", "openclaw"], {
|
|
80
|
+
encoding: "utf-8",
|
|
81
|
+
timeout: 15_000,
|
|
82
|
+
});
|
|
83
|
+
// Wait for gateway to come back
|
|
84
|
+
spawnSync("sleep", ["3"]);
|
|
85
|
+
} : undefined,
|
|
86
|
+
});
|
|
57
87
|
settingsHandler.writeSettingsState();
|
|
58
88
|
// 3. Start ACP subprocess for intents
|
|
59
89
|
const agentClient = new AgentClient({
|
|
@@ -92,6 +122,7 @@ async function main() {
|
|
|
92
122
|
const slackHandler = new SlackHandler({
|
|
93
123
|
stateDir,
|
|
94
124
|
store,
|
|
125
|
+
openclawHome,
|
|
95
126
|
});
|
|
96
127
|
// Create OAuth handler (uses openclawHome for auth-profiles.json)
|
|
97
128
|
const oauthHandler = new OAuthHandler(resolve(openclawHome, ".openclaw", "agents", "main", "agent", "auth-profiles.json"));
|
|
@@ -104,10 +135,21 @@ async function main() {
|
|
|
104
135
|
});
|
|
105
136
|
// 5. Initial sync: load all disk state into the store
|
|
106
137
|
await agentHandler.syncToStore();
|
|
107
|
-
// 6.
|
|
138
|
+
// 6. Load clapp handlers
|
|
139
|
+
const clappsDir = resolve(openclawHome, ".openclaw", "clapps");
|
|
140
|
+
const clappHandlerCtx = {
|
|
141
|
+
stateDir,
|
|
142
|
+
setState: (clappId, state) => {
|
|
143
|
+
writeFileSync(resolve(stateDir, `${clappId}.json`), JSON.stringify(state, null, 2));
|
|
144
|
+
store.setState(clappId, state);
|
|
145
|
+
},
|
|
146
|
+
checkAuthStatus: () => checkAuthStatus(stateDir, authPath),
|
|
147
|
+
};
|
|
148
|
+
let clappHandlers = await loadClappHandlers(clappsDir, clappHandlerCtx);
|
|
149
|
+
// 7. Resolve static SPA directory
|
|
108
150
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
109
151
|
const staticDir = resolve(__dirname, "..", "web-app");
|
|
110
|
-
//
|
|
152
|
+
// 8. Start HTTP + WebSocket server
|
|
111
153
|
const server = startServer({
|
|
112
154
|
port,
|
|
113
155
|
store,
|
|
@@ -115,6 +157,8 @@ async function main() {
|
|
|
115
157
|
accessToken,
|
|
116
158
|
oauthHandler,
|
|
117
159
|
openclawHome,
|
|
160
|
+
templatesDir,
|
|
161
|
+
stateDir,
|
|
118
162
|
agentConnected: () => agentStarted,
|
|
119
163
|
onConnect: () => {
|
|
120
164
|
// Refresh settings state when a client connects (catches external changes)
|
|
@@ -128,6 +172,19 @@ async function main() {
|
|
|
128
172
|
return;
|
|
129
173
|
if (slackHandler.handleIntent(intent))
|
|
130
174
|
return;
|
|
175
|
+
// Handle handler reload
|
|
176
|
+
if (intent.intent === "system.reloadHandlers") {
|
|
177
|
+
loadClappHandlers(clappsDir, clappHandlerCtx).then((handlers) => {
|
|
178
|
+
clappHandlers = handlers;
|
|
179
|
+
console.log(`[clapp-loader] Reloaded ${handlers.length} handler(s)`);
|
|
180
|
+
});
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
183
|
+
// Try clapp handlers
|
|
184
|
+
for (const handler of clappHandlers) {
|
|
185
|
+
if (handler.handleIntent(intent))
|
|
186
|
+
return;
|
|
187
|
+
}
|
|
131
188
|
// Forward to agent
|
|
132
189
|
agentHandler.handleIntent(intent).catch((err) => {
|
|
133
190
|
console.error(`[intent] ${err.message}`);
|
|
@@ -140,6 +197,7 @@ async function main() {
|
|
|
140
197
|
}, 60_000);
|
|
141
198
|
console.log(`š State dir: ${stateDir}`);
|
|
142
199
|
console.log(`š Views dir: ${viewsDir}`);
|
|
200
|
+
console.log(`š¦ Templates dir: ${templatesDir}`);
|
|
143
201
|
if (openclawHome !== homedir()) {
|
|
144
202
|
console.log(`š OpenClaw home: ${openclawHome}`);
|
|
145
203
|
}
|
|
@@ -150,6 +208,16 @@ async function main() {
|
|
|
150
208
|
else {
|
|
151
209
|
console.log(`ā ļø Auth disabled (--no-auth). Server is open to all.`);
|
|
152
210
|
}
|
|
211
|
+
// Print QR code for mobile app setup
|
|
212
|
+
const localIP = getLocalIP();
|
|
213
|
+
const serverURL = `http://${localIP}:${port}`;
|
|
214
|
+
const qrPayload = JSON.stringify({ url: serverURL, token: accessToken ?? "" });
|
|
215
|
+
try {
|
|
216
|
+
const qr = await QRCode.toString(qrPayload, { type: "terminal", small: true });
|
|
217
|
+
console.log(`\nš± Scan to connect the Clapps app:\n${qr}`);
|
|
218
|
+
console.log(` Or visit ${serverURL}/connect in a browser\n`);
|
|
219
|
+
}
|
|
220
|
+
catch { /* qr generation failed, not critical */ }
|
|
153
221
|
// Graceful shutdown
|
|
154
222
|
process.on("SIGINT", () => {
|
|
155
223
|
console.log("\nShutting down...");
|
|
@@ -161,6 +229,17 @@ async function main() {
|
|
|
161
229
|
process.exit(0);
|
|
162
230
|
});
|
|
163
231
|
}
|
|
232
|
+
function getLocalIP() {
|
|
233
|
+
const nets = networkInterfaces();
|
|
234
|
+
for (const name of Object.keys(nets)) {
|
|
235
|
+
for (const net of nets[name] ?? []) {
|
|
236
|
+
if (net.family === "IPv4" && !net.internal) {
|
|
237
|
+
return net.address;
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
return "localhost";
|
|
242
|
+
}
|
|
164
243
|
main().catch((err) => {
|
|
165
244
|
console.error(err);
|
|
166
245
|
process.exit(1);
|
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;
|
|
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,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACpF,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,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,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGtD,SAAS,SAAS,CAAC,IAAc;IAC/B,MAAM,IAAI,GAA2B,EAAE,CAAC;IACxC,MAAM,KAAK,GAA4B,EAAE,CAAC;IAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YACxB,KAAK,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;QAC1B,CAAC;aAAM,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACvD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACjC,CAAC,EAAE,CAAC;QACN,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AACzB,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,iBAAiB,CAAC;IAElD,8EAA8E;IAC9E,6EAA6E;IAC7E,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,OAAO,EAAE,CAAC;IAErF,mCAAmC;IACnC,MAAM,WAAW,GAAG,eAAe,CAAC;QAClC,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC;KACzB,CAAC,CAAC;IACH,MAAM,QAAQ,GACZ,IAAI,CAAC,WAAW,CAAC;QACjB,OAAO,CAAC,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACjE,MAAM,QAAQ,GACZ,IAAI,CAAC,WAAW,CAAC;QACjB,OAAO,CAAC,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACjE,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;IAExF,2BAA2B;IAC3B,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,SAAS,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE7C,kCAAkC;IAClC,MAAM,KAAK,GAAG,IAAI,UAAU,EAAE,CAAC;IAE/B,2BAA2B;IAC3B,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACjC,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAE/G,MAAM,iBAAiB,GAAG,YAAY,KAAK,OAAO,EAAE,CAAC;IACrD,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;IACvE,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,CAAC,CAAC;IAErG,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC;QAC1C,QAAQ;QACR,KAAK;QACL,YAAY;QACZ,eAAe,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,EAAE;YACxC,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;gBAC5C,KAAK,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC;oBACvC,IAAI,UAAU,CAAC,CAAC,CAAC;wBAAE,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC,CAAC,SAAS;QACb,qBAAqB,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,EAAE;YAC9C,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE;gBAC9C,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,MAAM;aAChB,CAAC,CAAC;YACH,gCAAgC;YAChC,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC,CAAC,SAAS;KACd,CAAC,CAAC;IACH,eAAe,CAAC,kBAAkB,EAAE,CAAC;IAErC,sCAAsC;IACtC,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC;QAClC,OAAO;QACP,UAAU;QACV,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC;KACtD,CAAC,CAAC;IAEH,gEAAgE;IAChE,MAAM,WAAW,GAAG,wBAAwB,CAAC;IAC7C,MAAM,eAAe,GAAG,IAAI,WAAW,CAAC;QACtC,OAAO,EAAE,WAAW;QACpB,UAAU;QACV,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,OAAO,CAAC;KAC3D,CAAC,CAAC;IAEH,2EAA2E;IAC3E,MAAM,YAAY,GAAG,yBAAyB,CAAC;IAC/C,MAAM,gBAAgB,GAAG,IAAI,WAAW,CAAC;QACvC,OAAO,EAAE,YAAY;QACrB,UAAU;QACV,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,GAAG,CAAC,OAAO,CAAC;KAC5D,CAAC,CAAC;IAEH,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,IAAI,CAAC;QACH,MAAM,WAAW,CAAC,KAAK,EAAE,CAAC;QAC1B,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC;QAC9B,MAAM,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC/B,YAAY,GAAG,IAAI,CAAC;IACtB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,4BAA4B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACtF,OAAO,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAC9E,CAAC;IAED,+DAA+D;IAC/D,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAEzG,uBAAuB;IACvB,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC;QACpC,QAAQ;QACR,KAAK;QACL,YAAY;KACb,CAAC,CAAC;IAEH,kEAAkE;IAClE,MAAM,YAAY,GAAG,IAAI,YAAY,CACnC,OAAO,CAAC,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,CAAC,CACpF,CAAC;IAEF,6DAA6D;IAC7D,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC;QACpC,WAAW;QACX,KAAK;QACL,QAAQ;QACR,QAAQ;KACT,CAAC,CAAC;IAEH,sDAAsD;IACtD,MAAM,YAAY,CAAC,WAAW,EAAE,CAAC;IAEjC,yBAAyB;IACzB,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC/D,MAAM,eAAe,GAAG;QACtB,QAAQ;QACR,QAAQ,EAAE,CAAC,OAAe,EAAE,KAAc,EAAE,EAAE;YAC5C,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,OAAO,OAAO,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACpF,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,KAA6C,CAAC,CAAC;QACzE,CAAC;QACD,eAAe,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC;KAC3D,CAAC;IACF,IAAI,aAAa,GAAmB,MAAM,iBAAiB,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IAExF,kCAAkC;IAClC,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IAEtD,mCAAmC;IACnC,MAAM,MAAM,GAAG,WAAW,CAAC;QACzB,IAAI;QACJ,KAAK;QACL,SAAS;QACT,WAAW;QACX,YAAY;QACZ,YAAY;QACZ,YAAY;QACZ,QAAQ;QACR,cAAc,EAAE,GAAG,EAAE,CAAC,YAAY;QAClC,SAAS,EAAE,GAAG,EAAE;YACd,2EAA2E;YAC3E,eAAe,CAAC,oBAAoB,EAAE,CAAC;QACzC,CAAC;QACD,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;YAC7B,+BAA+B;YAC/B,IAAI,eAAe,CAAC,YAAY,CAAC,MAAM,CAAC;gBAAE,OAAO;YACjD,IAAI,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC;gBAAE,OAAO;YAC7C,IAAI,YAAY,CAAC,YAAY,CAAC,MAAM,CAAC;gBAAE,OAAO;YAE9C,wBAAwB;YACxB,IAAI,MAAM,CAAC,MAAM,KAAK,uBAAuB,EAAE,CAAC;gBAC9C,iBAAiB,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;oBAC9D,aAAa,GAAG,QAAQ,CAAC;oBACzB,OAAO,CAAC,GAAG,CAAC,2BAA2B,QAAQ,CAAC,MAAM,aAAa,CAAC,CAAC;gBACvE,CAAC,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,qBAAqB;YACrB,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;gBACpC,IAAI,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC;oBAAE,OAAO;YAC3C,CAAC;YAED,mBAAmB;YACnB,YAAY,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC9C,OAAO,CAAC,KAAK,CAAC,YAAa,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YACtD,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC;IAEH,oEAAoE;IACpE,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;QACvC,eAAe,CAAC,oBAAoB,EAAE,CAAC;IACzC,CAAC,EAAE,MAAM,CAAC,CAAC;IAEX,OAAO,CAAC,GAAG,CAAC,iBAAiB,QAAQ,EAAE,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,iBAAiB,QAAQ,EAAE,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,qBAAqB,YAAY,EAAE,CAAC,CAAC;IACjD,IAAI,YAAY,KAAK,OAAO,EAAE,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,qBAAqB,YAAY,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,mBAAmB,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;IACpE,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;IACvE,CAAC;IAED,qCAAqC;IACrC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,SAAS,GAAG,UAAU,OAAO,IAAI,IAAI,EAAE,CAAC;IAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,IAAI,EAAE,EAAE,CAAC,CAAC;IAC/E,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/E,OAAO,CAAC,GAAG,CAAC,yCAAyC,EAAE,EAAE,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,eAAe,SAAS,yBAAyB,CAAC,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC,CAAC,wCAAwC,CAAC,CAAC;IAEpD,oBAAoB;IACpB,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QACxB,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAClC,aAAa,CAAC,eAAe,CAAC,CAAC;QAC/B,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,YAAY,CAAC,IAAI,EAAE,CAAC;QACpB,WAAW,CAAC,IAAI,EAAE,CAAC;QACnB,eAAe,CAAC,IAAI,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,UAAU;IACjB,MAAM,IAAI,GAAG,iBAAiB,EAAE,CAAC;IACjC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACnC,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;gBAC3C,OAAO,GAAG,CAAC,OAAO,CAAC;YACrB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
package/dist/server.d.ts
CHANGED
|
@@ -11,6 +11,8 @@ export interface ServerOptions {
|
|
|
11
11
|
accessToken?: string | null;
|
|
12
12
|
oauthHandler?: OAuthHandler;
|
|
13
13
|
openclawHome?: string;
|
|
14
|
+
templatesDir?: string;
|
|
15
|
+
stateDir?: string;
|
|
14
16
|
}
|
|
15
17
|
export declare function startServer(options: ServerOptions): {
|
|
16
18
|
close: () => void;
|
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;AAQlF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,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;AAQlF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,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;IAC5B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAsBD,wBAAgB,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG;IAAE,KAAK,EAAE,MAAM,IAAI,CAAA;CAAE,CAmDzE"}
|