@clappstore/connect 0.7.29 → 0.8.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"AA2JA,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,CA2CrE;AAED,8EAA8E;AAC9E,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAyDjF"}
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
- viewMd: DEFAULT_CHAT_VIEW,
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
- viewMd: DEFAULT_SETTINGS_VIEW,
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.replace(".app.md", ".app.md"), clapp.appMd);
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 fullViewPath = resolve(viewsDir, clapp.viewPath);
199
- const viewFile = clapp.viewPath.replace("default.", "").replace(".view.md", ".view.md");
200
- const viewContent = loadView(clapp.id, `default.${clapp.id}.view.md`, clapp.viewMd);
201
- writeFileSync(fullViewPath, viewContent, "utf-8");
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");
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"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"}
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 { mkdirSync } from "node:fs";
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 settingsHandler = new SettingsHandler({ stateDir, store, openclawHome });
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. Resolve static SPA directory
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
- // 7. Start HTTP + WebSocket server
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,28 @@ async function main() {
150
208
  else {
151
209
  console.log(`āš ļø Auth disabled (--no-auth). Server is open to all.`);
152
210
  }
211
+ // Generate 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
+ // Print terminal QR
217
+ const qr = await QRCode.toString(qrPayload, { type: "terminal", small: true });
218
+ console.log(`\nšŸ“± Scan to connect the Clapps app:\n${qr}`);
219
+ console.log(` Or visit ${serverURL}/connect in a browser\n`);
220
+ // Save QR code as PNG + connection info for the agent to send
221
+ const uiDir = resolve(openclawHome, ".openclaw", "workspace", "ui");
222
+ const qrPngPath = resolve(uiDir, "connect-qr.png");
223
+ await QRCode.toFile(qrPngPath, qrPayload, { width: 400, margin: 2 });
224
+ const { writeFile: writeFileAsync } = await import("node:fs/promises");
225
+ await writeFileAsync(resolve(uiDir, "connect-info.json"), JSON.stringify({
226
+ url: serverURL,
227
+ token: accessToken ? formatToken(accessToken) : null,
228
+ connectPage: `${serverURL}/connect`,
229
+ qrCodePath: qrPngPath,
230
+ }, null, 2));
231
+ }
232
+ catch { /* qr generation failed, not critical */ }
153
233
  // Graceful shutdown
154
234
  process.on("SIGINT", () => {
155
235
  console.log("\nShutting down...");
@@ -161,6 +241,17 @@ async function main() {
161
241
  process.exit(0);
162
242
  });
163
243
  }
244
+ function getLocalIP() {
245
+ const nets = networkInterfaces();
246
+ for (const name of Object.keys(nets)) {
247
+ for (const net of nets[name] ?? []) {
248
+ if (net.family === "IPv4" && !net.internal) {
249
+ return net.address;
250
+ }
251
+ }
252
+ }
253
+ return "localhost";
254
+ }
164
255
  main().catch((err) => {
165
256
  console.error(err);
166
257
  process.exit(1);
package/dist/index.js.map CHANGED
@@ -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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"}
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;
@@ -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;AAElD,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;CACvB;AAsBD,wBAAgB,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG;IAAE,KAAK,EAAE,MAAM,IAAI,CAAA;CAAE,CAmDzE"}
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"}