@burdenoff/vibe-agent 2.7.0 → 2.7.2

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.
@@ -17,7 +17,7 @@ import {
17
17
  } from "./index-g8dczzvv.js";
18
18
  import {
19
19
  PluginManager
20
- } from "./plugin-system-sm1qhmj0.js";
20
+ } from "./plugin-system-4h7vtge8.js";
21
21
 
22
22
  // node_modules/@elysiajs/cors/dist/index.mjs
23
23
  var isBun = typeof new Headers()?.toJSON === "function";
@@ -1068,20 +1068,20 @@ async function createApp(options) {
1068
1068
  });
1069
1069
  }
1070
1070
  const storageProvider = {
1071
- async get(key) {
1072
- return db.getPluginState("_host", key) ?? null;
1071
+ async get(namespace, key) {
1072
+ return db.getPluginState(namespace, key) ?? null;
1073
1073
  },
1074
- async set(key, value) {
1075
- db.setPluginState("_host", key, value);
1074
+ async set(namespace, key, value) {
1075
+ db.setPluginState(namespace, key, value);
1076
1076
  },
1077
- async delete(key) {
1078
- return db.deletePluginState("_host", key);
1077
+ async delete(namespace, key) {
1078
+ return db.deletePluginState(namespace, key);
1079
1079
  },
1080
- async list() {
1081
- return db.getAllPluginState("_host");
1080
+ async list(namespace) {
1081
+ return db.getAllPluginState(namespace);
1082
1082
  },
1083
- async deleteAll() {
1084
- return db.deleteAllPluginState("_host");
1083
+ async deleteAll(namespace) {
1084
+ return db.deleteAllPluginState(namespace);
1085
1085
  }
1086
1086
  };
1087
1087
  const packageVersion = await getPackageVersion();
@@ -1161,5 +1161,5 @@ async function getPackageVersion() {
1161
1161
 
1162
1162
  export { createApp };
1163
1163
 
1164
- //# debugId=09014DBE5BA56E4964756E2164756E21
1165
- //# sourceMappingURL=app-xz1nde08.js.map
1164
+ //# debugId=F2C6BFB8F350A48F64756E2164756E21
1165
+ //# sourceMappingURL=app-fr7b9dpr.js.map
@@ -11,9 +11,9 @@
11
11
  "/**\n * Events WebSocket\n *\n * General event stream for real-time updates. Replaces Socket.IO.\n * Clients connect to /ws/events and receive JSON-encoded events.\n *\n * Protocol:\n * Client → Server: { type: \"subscribe\", channel: string }\n * { type: \"unsubscribe\", channel: string }\n * { type: \"ping\" }\n * Server → Client: { type: WsEventType, payload: unknown, timestamp: string }\n * { type: \"pong\" }\n */\n\nimport { Elysia } from \"elysia\";\nimport { EventEmitter } from \"node:events\";\n\nimport type { WsEvent, WsEventType } from \"../core/types.js\";\nimport { logger } from \"../services/logger.js\";\n\n// ── Event Bus ───────────────────────────────────────────────────────────\n\n/**\n * Global event bus. Routes, services, and plugins emit events here.\n * The WebSocket handler subscribes and forwards to connected clients.\n */\nexport const eventBus = new EventEmitter();\neventBus.setMaxListeners(100);\n\n/**\n * Emit a typed event to all connected WebSocket clients.\n */\nexport function broadcast(type: WsEventType, payload: unknown): void {\n const event: WsEvent = {\n type,\n payload,\n timestamp: new Date().toISOString(),\n };\n eventBus.emit(\"ws:event\", event);\n}\n\n// ── WebSocket Route ─────────────────────────────────────────────────────\n\nexport function createEventsWs() {\n // Track connected clients\n const clients = new Set<{\n ws: unknown;\n channels: Set<string>;\n send: (data: string) => void;\n }>();\n\n // Forward events from the bus to all connected clients\n eventBus.on(\"ws:event\", (event: WsEvent) => {\n const json = JSON.stringify(event);\n for (const client of clients) {\n try {\n client.send(json);\n } catch {\n /* client may have disconnected */\n }\n }\n });\n\n return new Elysia().ws(\"/ws/events\", {\n open(ws) {\n const client = {\n ws,\n channels: new Set<string>(),\n send: (data: string) => ws.send(data),\n };\n clients.add(client);\n (ws as Record<string, unknown>)._client = client;\n\n logger.info(\"ws-events\", \"Client connected\", {\n id: String(ws.id || \"unknown\"),\n });\n\n // Send initial connected event\n ws.send(\n JSON.stringify({\n type: \"connected\",\n timestamp: new Date().toISOString(),\n }),\n );\n },\n\n message(ws, message) {\n try {\n const data =\n typeof message === \"string\" ? JSON.parse(message) : message;\n\n switch (data.type) {\n case \"subscribe\": {\n const client = (ws as Record<string, unknown>)\n ._client as typeof clients extends Set<infer T> ? T : never;\n if (client) client.channels.add(data.channel);\n logger.debug(\"ws-events\", `Subscribed to ${data.channel}`);\n break;\n }\n case \"unsubscribe\": {\n const client = (ws as Record<string, unknown>)\n ._client as typeof clients extends Set<infer T> ? T : never;\n if (client) client.channels.delete(data.channel);\n logger.debug(\"ws-events\", `Unsubscribed from ${data.channel}`);\n break;\n }\n case \"ping\":\n ws.send(\n JSON.stringify({\n type: \"pong\",\n timestamp: new Date().toISOString(),\n }),\n );\n break;\n default:\n logger.debug(\"ws-events\", `Unknown message type: ${data.type}`);\n }\n } catch {\n logger.warn(\"ws-events\", \"Failed to parse incoming message\");\n }\n },\n\n close(ws) {\n const client = (ws as Record<string, unknown>)\n ._client as typeof clients extends Set<infer T> ? T : never;\n if (client) clients.delete(client);\n logger.info(\"ws-events\", \"Client disconnected\");\n },\n });\n}\n",
12
12
  "/**\n * Terminal WebSocket Proxy\n *\n * Proxies WebSocket connections from /terminal/:sessionId/ws to the local\n * ttyd instance running for that session. This allows a single agent tunnel\n * to proxy all terminal sessions (no per-session cloudflared tunnels needed).\n *\n * Protocol: ttyd uses the 'tty' sub-protocol.\n * The proxy bridges client WS ↔ upstream ttyd WS bidirectionally.\n *\n * HTTP proxy for terminal assets (/terminal/:sessionId/*) is also included.\n */\n\nimport { Elysia } from \"elysia\";\n\nimport type { ServiceRegistry } from \"../core/service-registry.js\";\nimport type { SessionProvider } from \"../core/providers/session.provider.js\";\nimport { logger } from \"../services/logger.js\";\n\n// ── Terminal HTTP Proxy ─────────────────────────────────────────────────\n\nasync function proxyToTtyd(\n port: number,\n upstreamPath: string,\n method: string,\n headers: Record<string, string | undefined>,\n body?: unknown,\n): Promise<Response> {\n const fetchHeaders: Record<string, string> = {};\n for (const [k, v] of Object.entries(headers)) {\n if (v && ![\"host\", \"connection\"].includes(k.toLowerCase())) {\n fetchHeaders[k] = v;\n }\n }\n\n const init: RequestInit = { method, headers: fetchHeaders };\n if (method !== \"GET\" && method !== \"HEAD\" && body) {\n init.body = typeof body === \"string\" ? body : JSON.stringify(body);\n }\n\n return fetch(`http://127.0.0.1:${port}${upstreamPath}`, init);\n}\n\n// ── Helper ──────────────────────────────────────────────────────────────\n\nasync function resolveTtydPort(\n serviceRegistry: ServiceRegistry,\n sessionId: string,\n): Promise<number | null> {\n const provider = serviceRegistry.getProvider<SessionProvider>(\"session\");\n if (!provider) return null;\n\n const terminal = await provider.getTerminalInfo(sessionId);\n if (!terminal) return null;\n\n // Verify process is alive\n try {\n process.kill(terminal.pid, 0);\n return terminal.port;\n } catch {\n return null;\n }\n}\n\n// ── Routes & WebSocket ──────────────────────────────────────────────────\n\nexport function createTerminalProxy(serviceRegistry: ServiceRegistry) {\n return (\n new Elysia()\n // HTTP proxy: /terminal/:sessionId (root)\n .all(\"/terminal/:sessionId\", async ({ params, request, set }) => {\n const port = await resolveTtydPort(serviceRegistry, params.sessionId);\n if (!port) {\n set.status = 502;\n return { error: \"Terminal not running for this session\" };\n }\n\n const upstream = await proxyToTtyd(\n port,\n \"/\",\n request.method,\n Object.fromEntries(\n Object.entries(request.headers).map(([k, v]) => [k, v as string]),\n ),\n );\n\n // Forward response status and headers\n set.status = upstream.status;\n const buf = await upstream.arrayBuffer();\n return new Response(buf, {\n status: upstream.status,\n headers: upstream.headers,\n });\n })\n\n // HTTP proxy: /terminal/:sessionId/* (all subpaths)\n .all(\"/terminal/:sessionId/*\", async ({ params, request, set }) => {\n const sessionId = params.sessionId;\n const wildcardPath = (params as Record<string, string>)[\"*\"] || \"\";\n const port = await resolveTtydPort(serviceRegistry, sessionId);\n if (!port) {\n set.status = 502;\n return { error: \"Terminal not running for this session\" };\n }\n\n const upstream = await proxyToTtyd(\n port,\n `/${wildcardPath}`,\n request.method,\n Object.fromEntries(\n Object.entries(request.headers).map(([k, v]) => [k, v as string]),\n ),\n );\n\n set.status = upstream.status;\n const buf = await upstream.arrayBuffer();\n return new Response(buf, {\n status: upstream.status,\n headers: upstream.headers,\n });\n })\n\n // WebSocket proxy: /terminal/:sessionId/ws\n // Bridges client WS ↔ upstream ttyd WS\n .ws(\"/terminal/:sessionId/ws\", {\n open(ws) {\n const wsData = ws.data as unknown as {\n params?: { sessionId?: string };\n };\n const sessionId = wsData.params?.sessionId;\n if (!sessionId) {\n ws.close(1008, \"Missing sessionId\");\n return;\n }\n\n logger.info(\n \"terminal-ws\",\n `Client connected for session ${sessionId}`,\n );\n\n // Resolve ttyd port and establish upstream connection\n resolveTtydPort(serviceRegistry, sessionId).then((port) => {\n if (!port) {\n logger.warn(\n \"terminal-ws\",\n `No ttyd running for session ${sessionId}`,\n );\n ws.close(1011, \"No terminal running\");\n return;\n }\n\n // Connect to upstream ttyd WS\n // Note: In Bun, we use the native WebSocket\n const upstreamUrl = `ws://127.0.0.1:${port}/ws`;\n const upstreamWs = new WebSocket(upstreamUrl, [\"tty\"]);\n\n const upstreamBuffer: Array<string | ArrayBuffer> = [];\n let upstreamReady = false;\n\n upstreamWs.addEventListener(\"open\", () => {\n upstreamReady = true;\n logger.info(\"terminal-ws\", `Bridge established → port ${port}`, {\n sessionId,\n });\n\n // Flush buffered messages\n for (const msg of upstreamBuffer) {\n upstreamWs.send(msg);\n }\n upstreamBuffer.length = 0;\n });\n\n // Forward: upstream ttyd → client browser\n upstreamWs.addEventListener(\"message\", (event) => {\n try {\n ws.send(event.data);\n } catch {\n /* client disconnected */\n }\n });\n\n upstreamWs.addEventListener(\"close\", (event) => {\n logger.info(\n \"terminal-ws\",\n `Upstream closed (code=${event.code})`,\n { sessionId },\n );\n try {\n ws.close(1000, \"Upstream closed\");\n } catch {\n /* already closed */\n }\n });\n\n upstreamWs.addEventListener(\"error\", (_event) => {\n logger.error(\"terminal-ws\", `Upstream error`, { sessionId });\n try {\n ws.close(1011, \"Upstream error\");\n } catch {\n /* already closed */\n }\n });\n\n // Store upstream connection on the ws object for the message handler\n (ws as Record<string, unknown>)._upstream = upstreamWs;\n (ws as Record<string, unknown>)._upstreamReady = () =>\n upstreamReady;\n (ws as Record<string, unknown>)._upstreamBuffer = upstreamBuffer;\n });\n },\n\n message(ws, message) {\n const upstreamWs = (ws as Record<string, unknown>)._upstream as\n | WebSocket\n | undefined;\n const isReady = (\n (ws as Record<string, unknown>)._upstreamReady as\n | (() => boolean)\n | undefined\n )?.();\n const buffer = (ws as Record<string, unknown>)._upstreamBuffer as\n | Array<string | ArrayBuffer>\n | undefined;\n\n if (\n upstreamWs &&\n isReady &&\n upstreamWs.readyState === WebSocket.OPEN\n ) {\n upstreamWs.send(message as string | ArrayBufferLike);\n } else if (buffer) {\n // Buffer until upstream is ready\n buffer.push(message as string | ArrayBuffer);\n }\n },\n\n close(ws) {\n const sessionId = (\n ws.data as unknown as { params?: { sessionId?: string } }\n ).params?.sessionId;\n logger.info(\"terminal-ws\", `Client disconnected`, { sessionId });\n\n const upstreamWs = (ws as Record<string, unknown>)._upstream as\n | WebSocket\n | undefined;\n if (upstreamWs && upstreamWs.readyState === WebSocket.OPEN) {\n upstreamWs.close(1000, \"Client disconnected\");\n }\n },\n })\n );\n}\n",
13
13
  "/**\n * Logs WebSocket & SSE\n *\n * Real-time log streaming. Provides both:\n * - GET /api/logs — Paginated historical log entries\n * - GET /api/logs/stream — Server-Sent Events (SSE) real-time log stream\n * - /ws/logs — WebSocket real-time log stream (replaces SSE for WS clients)\n *\n * The SSE endpoint is kept for backwards compatibility and curl-friendly access.\n * The WS endpoint is preferred for the MFE.\n */\n\nimport { Elysia } from \"elysia\";\n\nimport { logger } from \"../services/logger.js\";\nimport type { LogLevel, LogEntry } from \"../core/types.js\";\n\n// ── Level Priority ──────────────────────────────────────────────────────\n\nconst LEVEL_PRIORITY: Record<LogLevel, number> = {\n debug: 0,\n info: 1,\n warn: 2,\n error: 3,\n};\n\n// ── Routes ──────────────────────────────────────────────────────────────\n\nexport function createLogRoutes() {\n return (\n new Elysia({ prefix: \"/api/logs\" })\n // Historical log entries\n .get(\"/\", async ({ query }) => {\n const q = query as Record<string, string>;\n const entries = await logger.readHistory({\n level: q.level as LogLevel | undefined,\n source: q.source,\n from: q.from,\n to: q.to,\n limit: q.limit ? parseInt(q.limit, 10) : 200,\n offset: q.offset ? parseInt(q.offset, 10) : 0,\n });\n return { entries, count: entries.length };\n })\n\n // SSE stream for real-time logs (backwards-compatible)\n .get(\"/stream\", ({ query, set }) => {\n const q = query as Record<string, string>;\n const minLevel = (q.level ?? \"info\") as LogLevel;\n const sourceFilter = q.source ?? \"\";\n\n // Return an SSE stream using Elysia's generator pattern\n set.headers[\"Content-Type\"] = \"text/event-stream\";\n set.headers[\"Cache-Control\"] = \"no-cache\";\n set.headers[\"Connection\"] = \"keep-alive\";\n set.headers[\"X-Accel-Buffering\"] = \"no\";\n\n return new ReadableStream({\n start(controller) {\n const encoder = new TextEncoder();\n\n // Initial comment to establish connection\n controller.enqueue(encoder.encode(\": connected\\n\\n\"));\n\n // Heartbeat\n const heartbeat = setInterval(() => {\n try {\n controller.enqueue(encoder.encode(\": heartbeat\\n\\n\"));\n } catch {\n cleanup();\n }\n }, 15_000);\n\n // Log event handler\n const onLog = (entry: LogEntry) => {\n if (LEVEL_PRIORITY[entry.level] < LEVEL_PRIORITY[minLevel])\n return;\n if (sourceFilter && !entry.source.includes(sourceFilter)) return;\n\n try {\n controller.enqueue(\n encoder.encode(\n `event: log\\ndata: ${JSON.stringify(entry)}\\n\\n`,\n ),\n );\n } catch {\n cleanup();\n }\n };\n\n const cleanup = () => {\n clearInterval(heartbeat);\n logger.removeListener(\"log\", onLog);\n try {\n controller.close();\n } catch {\n /* already closed */\n }\n };\n\n logger.on(\"log\", onLog);\n\n // Note: ReadableStream cancel callback handles client disconnect\n return () => cleanup();\n },\n\n cancel() {\n // Client disconnected — cleanup is handled by the start's return\n },\n });\n })\n );\n}\n\n// ── WebSocket Log Stream ────────────────────────────────────────────────\n\nexport function createLogWs() {\n return new Elysia().ws(\"/ws/logs\", {\n open(ws) {\n logger.info(\"ws-logs\", \"Log stream client connected\");\n\n // Default filters\n const filters = {\n minLevel: \"info\" as LogLevel,\n source: \"\",\n };\n (ws as Record<string, unknown>)._filters = filters;\n\n const onLog = (entry: LogEntry) => {\n const f = (ws as Record<string, unknown>)._filters as typeof filters;\n if (LEVEL_PRIORITY[entry.level] < LEVEL_PRIORITY[f.minLevel]) return;\n if (f.source && !entry.source.includes(f.source)) return;\n\n try {\n ws.send(JSON.stringify(entry));\n } catch {\n /* disconnected */\n }\n };\n\n logger.on(\"log\", onLog);\n (ws as Record<string, unknown>)._logHandler = onLog;\n\n // Send initial acknowledgment\n ws.send(\n JSON.stringify({\n type: \"connected\",\n timestamp: new Date().toISOString(),\n }),\n );\n },\n\n message(ws, message) {\n try {\n const data =\n typeof message === \"string\" ? JSON.parse(message) : message;\n\n // Allow client to update filters\n if (data.type === \"filter\") {\n const filters = (ws as Record<string, unknown>)._filters as {\n minLevel: LogLevel;\n source: string;\n };\n if (data.level) filters.minLevel = data.level as LogLevel;\n if (data.source !== undefined) filters.source = data.source;\n\n ws.send(JSON.stringify({ type: \"filter-updated\", filters }));\n }\n } catch {\n /* ignore malformed messages */\n }\n },\n\n close(ws) {\n const handler = (ws as Record<string, unknown>)._logHandler as\n | ((...args: unknown[]) => void)\n | undefined;\n if (handler) {\n logger.removeListener(\"log\", handler);\n }\n logger.info(\"ws-logs\", \"Log stream client disconnected\");\n },\n });\n}\n",
14
- "/**\n * App Factory — Plugin-First Architecture\n *\n * Creates and configures the Elysia application using the plugin system.\n * All routes are contributed by plugins via createPluginRouter().\n * Only health routes remain outside the plugin system.\n *\n * Lifecycle:\n * 1. Initialize database, service registry, plugin manager\n * 2. Load core + external plugins\n * 3. Mount CORS, auth (with dynamic public paths), logging\n * 4. Mount health routes (always available, non-overridable)\n * 5. Mount plugin routes via plugin-router\n * 6. Mount plugin UI server (/ui/*)\n * 7. Mount WebSocket handlers (events, logs, terminal proxy)\n * 8. Dispatch plugin lifecycle events\n */\n\nimport { Elysia } from \"elysia\";\nimport { cors } from \"@elysiajs/cors\";\n\nimport type { AppOptions } from \"./core/types.js\";\nimport type { StorageEntry } from \"./core/types.js\";\nimport type { StorageProvider } from \"./core/providers/storage.provider.js\";\nimport { AgentDatabase } from \"./db/database.js\";\nimport { ServiceRegistry } from \"./core/service-registry.js\";\nimport { PluginManager } from \"./core/plugin-system.js\";\nimport type { HostServices } from \"./core/plugin-system.js\";\nimport { createPluginRouter } from \"./core/plugin-router.js\";\nimport { createUIServer } from \"./core/ui-server.js\";\nimport { createAuthPlugin } from \"./middleware/auth.js\";\nimport { logger } from \"./services/logger.js\";\nimport { gatewayClient } from \"./services/gateway-client.js\";\n\n// Health routes (outside plugin system)\nimport { createHealthRoutes } from \"./routes/health.routes.js\";\n\n// WebSocket handlers\nimport {\n createEventsWs,\n createTerminalProxy,\n createLogWs,\n} from \"./ws/index.js\";\n\n// ── Create App ──────────────────────────────────────────────────────────\n\nexport async function createApp(options: AppOptions) {\n const { port, host, dbPath, logLevel, corsOrigin } = options;\n\n // ── Set log level ──────────────────────────────────────────────────\n if (logLevel) {\n logger.setLevel(logLevel);\n }\n\n // ── Database ────────────────────────────────────────────────────────\n const db = new AgentDatabase(dbPath);\n\n // ── Service Registry ────────────────────────────────────────────────\n const serviceRegistry = new ServiceRegistry(db);\n\n // ── Plugin Manager ──────────────────────────────────────────────────\n const pluginManager = new PluginManager(db);\n\n // Load core plugins first\n await pluginManager.loadCorePlugins();\n\n // Load external plugins\n try {\n await pluginManager.loadAll();\n } catch (err) {\n logger.warn(\"app\", \"Failed to load some external plugins\", {\n error: String(err),\n });\n }\n\n logger.info(\n \"app\",\n `Plugins loaded: ${pluginManager.getPluginDetails().length} total (${pluginManager.getPluginDetails().filter((p) => p.isCore).length} core)`,\n );\n\n // ── Restore Gateway Client Config ───────────────────────────────────\n try {\n const gwGlobalUrl = db.getConfig(\"gateway-auth:globalGatewayUrl\");\n const gwClientId = db.getConfig(\"gateway-auth:clientId\");\n const gwClientSecret = db.getConfig(\"gateway-auth:clientSecret\");\n\n if (gwGlobalUrl && gwClientId && gwClientSecret) {\n const gwWorkspaceUrl = db.getConfig(\"gateway-auth:workspaceGatewayUrl\");\n gatewayClient.configure({\n globalGatewayUrl: gwGlobalUrl,\n workspaceGatewayUrl: gwWorkspaceUrl,\n clientId: gwClientId,\n clientSecret: gwClientSecret,\n });\n logger.info(\"app\", \"Restored gateway client config from database\");\n }\n } catch (err) {\n logger.warn(\"app\", \"Failed to restore gateway client config\", {\n error: String(err),\n });\n }\n\n // ── Host Services (passed to plugins) ───────────────────────────────\n const storageProvider: StorageProvider = {\n async get(key: string) {\n return db.getPluginState(\"_host\", key) ?? null;\n },\n async set(key: string, value: string) {\n db.setPluginState(\"_host\", key, value);\n },\n async delete(key: string) {\n return db.deletePluginState(\"_host\", key);\n },\n async list() {\n return db.getAllPluginState(\"_host\") as StorageEntry[];\n },\n async deleteAll() {\n return db.deleteAllPluginState(\"_host\");\n },\n };\n\n const packageVersion = await getPackageVersion();\n\n const hostServices: HostServices = {\n storage: storageProvider,\n logger,\n serviceRegistry,\n getProvider: (<T>(type: \"tunnel\" | \"session\") =>\n serviceRegistry.getProvider<T>(type)) as HostServices[\"getProvider\"],\n getAgentBaseUrl: () => process.env.AGENT_URL || `http://localhost:${port}`,\n getAgentVersion: () => packageVersion,\n };\n\n // ── Build Plugin Router ─────────────────────────────────────────────\n const { routes: pluginRoutes, getPublicPaths } = createPluginRouter(\n pluginManager,\n { db, serviceRegistry, pluginManager },\n );\n\n // ── Build UI Server ─────────────────────────────────────────────────\n const uiServer = createUIServer(pluginManager);\n\n // ── Elysia App ──────────────────────────────────────────────────────\n const app = new Elysia()\n // CORS\n .use(\n cors({\n origin: corsOrigin || true,\n credentials: true,\n }),\n )\n\n // Auth middleware (with dynamic public paths from plugins)\n .use(createAuthPlugin(getPublicPaths))\n\n // Request/Response logging\n .onAfterHandle(({ request, set }) => {\n const url = new URL(request.url).pathname;\n const isNoisy =\n url === \"/health\" ||\n url.startsWith(\"/api/logs/stream\") ||\n url.startsWith(\"/ui/\");\n const status = typeof set.status === \"number\" ? set.status : 200;\n const level = isNoisy ? \"debug\" : status >= 400 ? \"warn\" : \"info\";\n logger[level](\"http\", `${request.method} ${url} → ${status}`, {\n method: request.method,\n path: url,\n statusCode: status,\n });\n })\n\n // ── Health Routes (auth-exempt, outside plugin system) ──────────\n .use(createHealthRoutes(serviceRegistry))\n\n // ── Plugin Routes (all REST APIs) ───────────────────────────────\n .use(pluginRoutes)\n\n // ── Plugin UI Server ────────────────────────────────────────────\n .use(uiServer)\n\n // ── WebSocket: Events ───────────────────────────────────────────\n .use(createEventsWs())\n\n // ── WebSocket: Logs ─────────────────────────────────────────────\n .use(createLogWs())\n\n // ── Terminal Proxy (HTTP + WS) ──────────────────────────────────\n .use(createTerminalProxy(serviceRegistry));\n\n // ── Plugin Lifecycle: onServerStart ─────────────────────────────────\n try {\n // Cast to Elysia to satisfy the generic type constraint —\n // the concrete app type carries decorator metadata that the plugin\n // lifecycle interface doesn't need.\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n await pluginManager.dispatchServerStart(app as any, hostServices);\n } catch (err) {\n logger.warn(\"app\", \"Error during plugin onServerStart dispatch\", {\n error: String(err),\n });\n }\n\n return {\n app,\n db,\n serviceRegistry,\n pluginManager,\n hostServices,\n async start() {\n app.listen({ port, hostname: host });\n logger.info(\"app\", `Agent server listening on ${host}:${port}`);\n\n // Dispatch onServerReady\n try {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n await pluginManager.dispatchServerReady(app as any, hostServices);\n } catch (err) {\n logger.warn(\"app\", \"Error during plugin onServerReady dispatch\", {\n error: String(err),\n });\n }\n\n return app;\n },\n async stop() {\n try {\n await pluginManager.dispatchServerStop();\n } catch (err) {\n logger.warn(\"app\", \"Error stopping plugins\", { error: String(err) });\n }\n db.close();\n logger.close();\n logger.info(\"app\", \"Agent server stopped\");\n },\n };\n}\n\n// ── Helpers ──────────────────────────────────────────────────────────────\n\nasync function getPackageVersion(): Promise<string> {\n try {\n const { readFileSync } = await import(\"node:fs\");\n const { join, dirname } = await import(\"node:path\");\n const { fileURLToPath } = await import(\"node:url\");\n const __dirname = dirname(fileURLToPath(import.meta.url));\n const packageJson = JSON.parse(\n readFileSync(join(__dirname, \"..\", \"package.json\"), \"utf8\"),\n );\n return packageJson.version || \"1.0.0\";\n } catch {\n return \"1.0.0\";\n }\n}\n"
14
+ "/**\n * App Factory — Plugin-First Architecture\n *\n * Creates and configures the Elysia application using the plugin system.\n * All routes are contributed by plugins via createPluginRouter().\n * Only health routes remain outside the plugin system.\n *\n * Lifecycle:\n * 1. Initialize database, service registry, plugin manager\n * 2. Load core + external plugins\n * 3. Mount CORS, auth (with dynamic public paths), logging\n * 4. Mount health routes (always available, non-overridable)\n * 5. Mount plugin routes via plugin-router\n * 6. Mount plugin UI server (/ui/*)\n * 7. Mount WebSocket handlers (events, logs, terminal proxy)\n * 8. Dispatch plugin lifecycle events\n */\n\nimport { Elysia } from \"elysia\";\nimport { cors } from \"@elysiajs/cors\";\n\nimport type { AppOptions } from \"./core/types.js\";\nimport type { StorageEntry } from \"./core/types.js\";\nimport type { StorageProvider } from \"./core/providers/storage.provider.js\";\nimport { AgentDatabase } from \"./db/database.js\";\nimport { ServiceRegistry } from \"./core/service-registry.js\";\nimport { PluginManager } from \"./core/plugin-system.js\";\nimport type { HostServices } from \"./core/plugin-system.js\";\nimport { createPluginRouter } from \"./core/plugin-router.js\";\nimport { createUIServer } from \"./core/ui-server.js\";\nimport { createAuthPlugin } from \"./middleware/auth.js\";\nimport { logger } from \"./services/logger.js\";\nimport { gatewayClient } from \"./services/gateway-client.js\";\n\n// Health routes (outside plugin system)\nimport { createHealthRoutes } from \"./routes/health.routes.js\";\n\n// WebSocket handlers\nimport {\n createEventsWs,\n createTerminalProxy,\n createLogWs,\n} from \"./ws/index.js\";\n\n// ── Create App ──────────────────────────────────────────────────────────\n\nexport async function createApp(options: AppOptions) {\n const { port, host, dbPath, logLevel, corsOrigin } = options;\n\n // ── Set log level ──────────────────────────────────────────────────\n if (logLevel) {\n logger.setLevel(logLevel);\n }\n\n // ── Database ────────────────────────────────────────────────────────\n const db = new AgentDatabase(dbPath);\n\n // ── Service Registry ────────────────────────────────────────────────\n const serviceRegistry = new ServiceRegistry(db);\n\n // ── Plugin Manager ──────────────────────────────────────────────────\n const pluginManager = new PluginManager(db);\n\n // Load core plugins first\n await pluginManager.loadCorePlugins();\n\n // Load external plugins\n try {\n await pluginManager.loadAll();\n } catch (err) {\n logger.warn(\"app\", \"Failed to load some external plugins\", {\n error: String(err),\n });\n }\n\n logger.info(\n \"app\",\n `Plugins loaded: ${pluginManager.getPluginDetails().length} total (${pluginManager.getPluginDetails().filter((p) => p.isCore).length} core)`,\n );\n\n // ── Restore Gateway Client Config ───────────────────────────────────\n try {\n const gwGlobalUrl = db.getConfig(\"gateway-auth:globalGatewayUrl\");\n const gwClientId = db.getConfig(\"gateway-auth:clientId\");\n const gwClientSecret = db.getConfig(\"gateway-auth:clientSecret\");\n\n if (gwGlobalUrl && gwClientId && gwClientSecret) {\n const gwWorkspaceUrl = db.getConfig(\"gateway-auth:workspaceGatewayUrl\");\n gatewayClient.configure({\n globalGatewayUrl: gwGlobalUrl,\n workspaceGatewayUrl: gwWorkspaceUrl,\n clientId: gwClientId,\n clientSecret: gwClientSecret,\n });\n logger.info(\"app\", \"Restored gateway client config from database\");\n }\n } catch (err) {\n logger.warn(\"app\", \"Failed to restore gateway client config\", {\n error: String(err),\n });\n }\n\n // ── Host Services (passed to plugins) ───────────────────────────────\n const storageProvider: StorageProvider = {\n async get(namespace: string, key: string) {\n return db.getPluginState(namespace, key) ?? null;\n },\n async set(namespace: string, key: string, value: string) {\n db.setPluginState(namespace, key, value);\n },\n async delete(namespace: string, key: string) {\n return db.deletePluginState(namespace, key);\n },\n async list(namespace: string) {\n return db.getAllPluginState(namespace) as StorageEntry[];\n },\n async deleteAll(namespace: string) {\n return db.deleteAllPluginState(namespace);\n },\n };\n\n const packageVersion = await getPackageVersion();\n\n const hostServices: HostServices = {\n storage: storageProvider,\n logger,\n serviceRegistry,\n getProvider: (<T>(type: \"tunnel\" | \"session\") =>\n serviceRegistry.getProvider<T>(type)) as HostServices[\"getProvider\"],\n getAgentBaseUrl: () => process.env.AGENT_URL || `http://localhost:${port}`,\n getAgentVersion: () => packageVersion,\n };\n\n // ── Build Plugin Router ─────────────────────────────────────────────\n const { routes: pluginRoutes, getPublicPaths } = createPluginRouter(\n pluginManager,\n { db, serviceRegistry, pluginManager },\n );\n\n // ── Build UI Server ─────────────────────────────────────────────────\n const uiServer = createUIServer(pluginManager);\n\n // ── Elysia App ──────────────────────────────────────────────────────\n const app = new Elysia()\n // CORS\n .use(\n cors({\n origin: corsOrigin || true,\n credentials: true,\n }),\n )\n\n // Auth middleware (with dynamic public paths from plugins)\n .use(createAuthPlugin(getPublicPaths))\n\n // Request/Response logging\n .onAfterHandle(({ request, set }) => {\n const url = new URL(request.url).pathname;\n const isNoisy =\n url === \"/health\" ||\n url.startsWith(\"/api/logs/stream\") ||\n url.startsWith(\"/ui/\");\n const status = typeof set.status === \"number\" ? set.status : 200;\n const level = isNoisy ? \"debug\" : status >= 400 ? \"warn\" : \"info\";\n logger[level](\"http\", `${request.method} ${url} → ${status}`, {\n method: request.method,\n path: url,\n statusCode: status,\n });\n })\n\n // ── Health Routes (auth-exempt, outside plugin system) ──────────\n .use(createHealthRoutes(serviceRegistry))\n\n // ── Plugin Routes (all REST APIs) ───────────────────────────────\n .use(pluginRoutes)\n\n // ── Plugin UI Server ────────────────────────────────────────────\n .use(uiServer)\n\n // ── WebSocket: Events ───────────────────────────────────────────\n .use(createEventsWs())\n\n // ── WebSocket: Logs ─────────────────────────────────────────────\n .use(createLogWs())\n\n // ── Terminal Proxy (HTTP + WS) ──────────────────────────────────\n .use(createTerminalProxy(serviceRegistry));\n\n // ── Plugin Lifecycle: onServerStart ─────────────────────────────────\n try {\n // Cast to Elysia to satisfy the generic type constraint —\n // the concrete app type carries decorator metadata that the plugin\n // lifecycle interface doesn't need.\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n await pluginManager.dispatchServerStart(app as any, hostServices);\n } catch (err) {\n logger.warn(\"app\", \"Error during plugin onServerStart dispatch\", {\n error: String(err),\n });\n }\n\n return {\n app,\n db,\n serviceRegistry,\n pluginManager,\n hostServices,\n async start() {\n app.listen({ port, hostname: host });\n logger.info(\"app\", `Agent server listening on ${host}:${port}`);\n\n // Dispatch onServerReady\n try {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n await pluginManager.dispatchServerReady(app as any, hostServices);\n } catch (err) {\n logger.warn(\"app\", \"Error during plugin onServerReady dispatch\", {\n error: String(err),\n });\n }\n\n return app;\n },\n async stop() {\n try {\n await pluginManager.dispatchServerStop();\n } catch (err) {\n logger.warn(\"app\", \"Error stopping plugins\", { error: String(err) });\n }\n db.close();\n logger.close();\n logger.info(\"app\", \"Agent server stopped\");\n },\n };\n}\n\n// ── Helpers ──────────────────────────────────────────────────────────────\n\nasync function getPackageVersion(): Promise<string> {\n try {\n const { readFileSync } = await import(\"node:fs\");\n const { join, dirname } = await import(\"node:path\");\n const { fileURLToPath } = await import(\"node:url\");\n const __dirname = dirname(fileURLToPath(import.meta.url));\n const packageJson = JSON.parse(\n readFileSync(join(__dirname, \"..\", \"package.json\"), \"utf8\"),\n );\n return packageJson.version || \"1.0.0\";\n } catch {\n return \"1.0.0\";\n }\n}\n"
15
15
  ],
16
- "mappings": "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",
17
- "debugId": "09014DBE5BA56E4964756E2164756E21",
16
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAEA,IAAI,QAAQ,OAAO,IAAI,QAAQ,GAAG,WAAW;AAC7C,IAAI,iBAAiB,CAAC,YAAY;AAAA,EAChC,IAAI;AAAA,IAAO,OAAO,OAAO,KAAK,QAAQ,OAAO,CAAC,EAAE,KAAK,IAAI;AAAA,EACzD,IAAI,OAAO;AAAA,EACX,IAAI,IAAI;AAAA,EACR,QAAQ,QAAQ,CAAC,GAAG,QAAQ;AAAA,IAC1B,IAAI;AAAA,MAAG,OAAO,OAAO,OAAO;AAAA,IACvB;AAAA,aAAO;AAAA,IACZ;AAAA,GACD;AAAA,EACD,OAAO;AAAA;AAET,IAAI,OAAO,CAAC,WAAW;AAAA,EACrB;AAAA,IACE,MAAM;AAAA,IACN,SAAS;AAAA,IACT,UAAU;AAAA,IACV,iBAAiB;AAAA,IACjB,gBAAgB;AAAA,IAChB,cAAc;AAAA,IACd,SAAS;AAAA,IACT,YAAY;AAAA,MACV,UAAU,CAAC;AAAA,EACf,IAAI,MAAM,QAAQ,cAAc;AAAA,IAC9B,iBAAiB,eAAe,KAAK,IAAI;AAAA,EAC3C,IAAI,MAAM,QAAQ,aAAa;AAAA,IAAG,gBAAgB,cAAc,KAAK,IAAI;AAAA,EACzE,MAAM,UAAU,OAAO,WAAW,YAAiB,YAAI,MAAM,QAAQ,MAAM,IAAI,SAAS,CAAC,MAAM;AAAA,EAC/F,MAAM,MAAM,IAAI,OAAO;AAAA,IACrB,MAAM;AAAA,IACN,MAAM;AAAA,IACN;AAAA,EACF,CAAC;AAAA,EACD,MAAM,YAAY,SAAS,KAAK,CAAC,MAAM,MAAM,GAAG;AAAA,EAChD,MAAM,YAAY,CAAC;AAAA,EACnB,IAAI,SAAS;AAAA,IACX,WAAW,WAAW;AAAA,MACpB,IAAI,OAAO,YAAY;AAAA,QAAU,UAAU,WAAW;AAAA,EAC1D;AAAA,EACA,MAAM,gBAAgB,CAAC,SAAS,SAAS,SAAS;AAAA,IAChD,IAAI,MAAM,QAAQ,OAAO;AAAA,MACvB,OAAO,QAAQ,KAAK,CAAC,MAAM,cAAc,GAAG,SAAS,IAAI,CAAC;AAAA,IAC5D,QAAQ,OAAO;AAAA,WACR;AAAA,QACH,IAAI,QAAQ;AAAA,UAAW,OAAO;AAAA,QAC9B,MAAM,eAAe,KAAK,QAAQ,KAAK;AAAA,QACvC,IAAI,iBAAiB;AAAA,UAAI,OAAO,KAAK,MAAM,eAAe,CAAC;AAAA,QAC3D,OAAO,YAAY;AAAA,WAChB;AAAA,QACH,OAAO,QAAQ,OAAO,MAAM;AAAA,WACzB;AAAA,QACH,IAAI,mBAAmB;AAAA,UAAQ,OAAO,QAAQ,KAAK,IAAI;AAAA;AAAA,IAE3D,OAAO;AAAA;AAAA,EAET,MAAM,eAAe,CAAC,KAAK,YAAY;AAAA,IACrC,IAAI,WAAW,MAAM;AAAA,MACnB,IAAI,QAAQ,OAAO;AAAA,MACnB,IAAI,QAAQ,iCAAiC,QAAQ,QAAQ,IAAI,QAAQ,KAAK;AAAA,MAC9E;AAAA,IACF;AAAA,IACA,IAAI,WAAW;AAAA,MACb,IAAI,QAAQ,OAAO;AAAA,MACnB,IAAI,QAAQ,iCAAiC;AAAA,MAC7C;AAAA,IACF;AAAA,IACA,IAAI,CAAC,SAAS;AAAA,MAAQ;AAAA,IACtB,IAAI,QAAQ,QAAQ;AAAA,MAClB,MAAM,OAAO,QAAQ,QAAQ,IAAI,QAAQ,KAAK;AAAA,MAC9C,SAAS,IAAI,EAAG,IAAI,QAAQ,QAAQ,KAAK;AAAA,QACvC,MAAM,QAAQ,cAAc,QAAQ,IAAI,SAAS,IAAI;AAAA,QACrD,IAAI,UAAU,MAAM;AAAA,UAClB,IAAI,QAAQ,OAAO,SAAS,WAAW;AAAA,UACvC,IAAI,QAAQ,iCAAiC,QAAQ;AAAA,UACrD;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA,IAAI,QAAQ,OAAO;AAAA;AAAA,EAErB,MAAM,eAAe,CAAC,KAAK,WAAW;AAAA,IACpC,IAAI,CAAC;AAAA,MAAQ;AAAA,IACb,IAAI,YAAY;AAAA,MACd,OAAO,IAAI,QAAQ,kCAAkC,UAAU;AAAA,IACjE,IAAI,YAAY,SAAS,CAAC,SAAS;AAAA,MAAQ;AAAA,IAC3C,IAAI,YAAY;AAAA,MACd,OAAO,IAAI,QAAQ,kCAAkC;AAAA,IACvD,IAAI,CAAC,MAAM,QAAQ,OAAO;AAAA,MACxB,OAAO,IAAI,QAAQ,kCAAkC;AAAA,IACvD,IAAI,QAAQ,kCAAkC,QAAQ,KAAK,IAAI;AAAA;AAAA,EAEjE,MAAM,iBAAiB,CAAC;AAAA,EACxB,IAAI,OAAO,kBAAkB;AAAA,IAC3B,eAAe,mCAAmC;AAAA,EACpD,IAAI,OAAO,mBAAmB;AAAA,IAC5B,eAAe,kCAAkC;AAAA,EACnD,IAAI,gBAAgB;AAAA,IAClB,eAAe,sCAAsC;AAAA,EACvD,IAAI,QAAQ,cAAc;AAAA,EAC1B,SAAS,YAAY,GAAG,KAAK,SAAS,WAAW;AAAA,IAC/C,aAAa,KAAK,OAAO;AAAA,IACzB,aAAa,KAAK,QAAQ,QAAQ,IAAI,+BAA+B,CAAC;AAAA,IACtE,IAAI,mBAAmB,QAAQ,kBAAkB,MAAM;AAAA,MACrD,IAAI,mBAAmB;AAAA,QACrB,IAAI,QAAQ,kCAAkC,QAAQ;AAAA,MACxD,IAAI,kBAAkB;AAAA,QACpB,IAAI,QAAQ,mCAAmC,OAAO,KAAK,OAAO,EAAE,KAAK,GAAG;AAAA,IAChF;AAAA,IACA,IAAI;AAAA,MAAQ,IAAI,QAAQ,4BAA4B,OAAO,SAAS;AAAA,IACpE,OAAO,IAAI,SAAS,MAAM;AAAA,MACxB,QAAQ;AAAA,IACV,CAAC;AAAA;AAAA,EAEH,IAAI;AAAA,IAAW,IAAI,QAAQ,KAAK,YAAY,EAAE,QAAQ,MAAM,YAAY;AAAA,EACxE,OAAO,IAAI,UAAU,SAAS,WAAW,GAAG,KAAK,WAAW;AAAA,IAC1D,aAAa,KAAK,OAAO;AAAA,IACzB,IAAI,aAAa,QAAQ,WAAW,WAAW;AAAA,MAC7C,OAAO,aAAa;AAAA,QAClB;AAAA,QACA;AAAA,QACA,SAAS,QAAQ,QAAQ,QAAQ,OAAO,IAEtC,OAAO,YAAY,QAAQ,QAAQ,QAAQ,CAAC;AAAA,MAEhD,CAAC;AAAA,IACH;AAAA,IACA,aAAa,KAAK,QAAQ,MAAM;AAAA,IAChC,IAAI,mBAAmB,QAAQ,kBAAkB,MAAM;AAAA,MACrD,MAAM,UAAU,eAAe,QAAQ,OAAO;AAAA,MAC9C,IAAI,mBAAmB;AAAA,QACrB,IAAI,QAAQ,kCAAkC;AAAA,MAChD,IAAI,kBAAkB;AAAA,QACpB,IAAI,QAAQ,mCAAmC;AAAA,IACnD;AAAA,GACD;AAAA;;;ACvHH;AACA;AACA;AACA;AAYA,IAAM,mBAAmB,KAAK,GAAG,QAAQ,GAAG,eAAe;AAC3D,IAAM,kBAAkB,KAAK,kBAAkB,UAAU;AAAA;AAIlD,MAAM,cAAc;AAAA,EACjB;AAAA,EAER,WAAW,CAAC,SAAiB,iBAAiB;AAAA,IAE5C,MAAM,MAAM,KAAK,QAAQ,IAAI;AAAA,IAC7B,IAAI,CAAC,WAAW,GAAG,GAAG;AAAA,MACpB,UAAU,KAAK,EAAE,WAAW,KAAK,CAAC;AAAA,IACpC;AAAA,IAEA,KAAK,KAAK,IAAI,SAAS,MAAM;AAAA,IAC7B,KAAK,GAAG,KAAK,2BAA2B;AAAA,IACxC,KAAK,GAAG,KAAK,4BAA4B;AAAA,IACzC,KAAK,GAAG,KAAK,6BAA6B;AAAA,IAC1C,KAAK,GAAG,KAAK,0BAA0B;AAAA,IACvC,KAAK,iBAAiB;AAAA;AAAA,EAKhB,gBAAgB,GAAS;AAAA,IAC/B,KAAK,GAAG,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAqEZ;AAAA;AAAA,EAKH,UAAU,CAAC,MAAmD;AAAA,IAC5D,MAAM,OAAO,KAAK,GAAG,QAAQ;AAAA;AAAA;AAAA,KAG5B;AAAA,IACD,KAAK,IAAI;AAAA,MACP,KAAK,KAAK;AAAA,MACV,OAAO,KAAK;AAAA,MACZ,SAAS,KAAK;AAAA,MACd,UAAU,KAAK;AAAA,MACf,SAAS,KAAK,UAAU;AAAA,MACxB,QAAQ,KAAK,SAAS;AAAA,IACxB,CAAC;AAAA,IACD,OAAO,KAAK,QAAQ,KAAK,EAAE;AAAA;AAAA,EAG7B,OAAO,CAAC,IAA8B;AAAA,IACpC,OAAO,KAAK,GAAG,QAAQ,kCAAkC,EAAE,IAAI,EAAE;AAAA;AAAA,EAKnE,WAAW,GAAW;AAAA,IACpB,OAAO,KAAK,GACT,QAAQ,6CAA6C,EACrD,IAAI;AAAA;AAAA,EAGT,eAAe,GAAW;AAAA,IACxB,OAAO,KAAK,GACT,QACC,iEACF,EACC,IAAI;AAAA;AAAA,EAGT,UAAU,CAAC,IAAY,SAA8B;AAAA,IACnD,MAAM,SAAS,OAAO,KAAK,OAAO,EAC/B,OAAO,CAAC,MAAM,MAAM,QAAQ,MAAM,WAAW,EAC7C,IAAI,CAAC,MAAM,GAAG,QAAQ,GAAG,EACzB,KAAK,IAAI;AAAA,IACZ,IAAI,CAAC;AAAA,MAAQ;AAAA,IAEb,MAAM,OAAO,KAAK,GAAG,QACnB,oBAAoB,oDACtB;AAAA,IACA,MAAM,SAAkC,EAAE,KAAK,GAAG;AAAA,IAClD,YAAY,GAAG,MAAM,OAAO,QAAQ,OAAO,GAAG;AAAA,MAC5C,OAAO,IAAI,OAAO,KAAK;AAAA,IACzB;AAAA,IAEA,KAAK,IAAI,MAAa;AAAA;AAAA,EAGxB,UAAU,CAAC,IAAqB;AAAA,IAC9B,MAAM,SAAS,KAAK,GACjB,QACC,wIACF,EACC,IAAI,EAAE;AAAA,IACT,OAAO,OAAO,UAAU;AAAA;AAAA,EAK1B,SAAS,CAAC,KAAiC;AAAA,IACzC,MAAM,MAAM,KAAK,GACd,QAAQ,8CAA8C,EACtD,IAAI,GAAG;AAAA,IACV,IAAI,KAAK,UAAU;AAAA,MAAe;AAAA,IAClC,OAAO,KAAK;AAAA;AAAA,EAGd,SAAS,CAAC,KAAa,OAAqB;AAAA,IAC1C,KAAK,GACF,QACC;AAAA;AAAA;AAAA;AAAA,KAKF,EACC,IAAI,EAAE,KAAK,KAAK,MAAM,KAAK,QAAQ,MAAM,CAAC;AAAA;AAAA,EAG/C,YAAY,CAAC,KAAsB;AAAA,IACjC,MAAM,SAAS,KAAK,GACjB,QAAQ,wCAAwC,EAChD,IAAI,GAAG;AAAA,IACV,OAAO,OAAO,UAAU;AAAA;AAAA,EAG1B,YAAY,GAA2B;AAAA,IACrC,MAAM,OAAO,KAAK,GACf,QAAQ,qCAAqC,EAC7C,IAAI;AAAA,IACP,OAAO,KAAK,OACV,CAAC,KAAK,QAAQ;AAAA,MACZ,IAAI,IAAI,UAAU,eAAe;AAAA,QAC/B,IAAI,IAAI,OAAO,IAAI;AAAA,MACrB;AAAA,MACA,OAAO;AAAA,OAET,CAAC,CACH;AAAA;AAAA,EAGF,aAAa,CAAC,SAAuC;AAAA,IACnD,MAAM,OAAO,KAAK,GAAG,QAAQ;AAAA;AAAA;AAAA;AAAA,KAI5B;AAAA,IACD,MAAM,cAAc,KAAK,GAAG,YAC1B,CAAC,aAAqC;AAAA,MACpC,YAAY,KAAK,UAAU,UAAS;AAAA,QAClC,KAAK,IAAI,EAAE,KAAK,KAAK,MAAM,KAAK,QAAQ,MAAM,CAAC;AAAA,MACjD;AAAA,KAEJ;AAAA,IACA,YAAY,OAAO,QAAQ,OAAO,CAAC;AAAA;AAAA,EAGrC,eAAe,GAAsD;AAAA,IACnE,MAAM,QAAQ,KAAK,GAChB,QAAQ,4CAA4C,EACpD,IAAI;AAAA,IACP,MAAM,SAAS,KAAK,GACjB,QAAQ,mDAAmD,EAC3D,IAAI;AAAA,IACP,OAAO,EAAE,WAAW,MAAM,OAAO,aAAa,OAAO,OAAO;AAAA;AAAA,EAK9D,mBAAmB,CACjB,MACe;AAAA,IACf,KAAK,GACF,QACC;AAAA;AAAA;AAAA,KAIF,EACC,IAAI;AAAA,MACH,KAAK,KAAK;AAAA,MACV,OAAO,KAAK;AAAA,MACZ,OAAO,KAAK;AAAA,MACZ,aAAa,KAAK,cAAc;AAAA,MAChC,cAAc,KAAK,cAAc,IAAI;AAAA,MACrC,cAAc,KAAK,eAAe;AAAA,MAClC,WAAW,KAAK,YAAY;AAAA,IAC9B,CAAC;AAAA,IACH,OAAO,KAAK,iBAAiB,KAAK,EAAE;AAAA;AAAA,EAGtC,gBAAgB,CAAC,IAAuC;AAAA,IACtD,MAAM,MAAM,KAAK,GACd,QAAQ,6CAA6C,EACrD,IAAI,EAAE;AAAA,IACT,IAAI;AAAA,MAAK,IAAI,cAAc,QAAQ,IAAI,WAAW;AAAA,IAClD,OAAO,OAAO;AAAA;AAAA,EAGhB,sBAAsB,CAAC,MAAyC;AAAA,IAC9D,MAAM,MAAM,KAAK,GACd,QAAQ,+CAA+C,EACvD,IAAI,IAAI;AAAA,IACX,IAAI;AAAA,MAAK,IAAI,cAAc,QAAQ,IAAI,WAAW;AAAA,IAClD,OAAO,OAAO;AAAA;AAAA,EAGhB,qBAAqB,GAAoB;AAAA,IACvC,MAAM,OAAO,KAAK,GACf,QAAQ,8CAA8C,EACtD,IAAI;AAAA,IACP,OAAO,KAAK,IAAI,CAAC,OAAO,KAAK,GAAG,aAAa,QAAQ,EAAE,WAAW,EAAE,EAAE;AAAA;AAAA,EAGxE,mBAAmB,CAAC,IAAY,SAAuC;AAAA,IACrE,MAAM,SAAS,OAAO,KAAK,OAAO,EAC/B,OAAO,CAAC,MAAM,MAAM,QAAQ,MAAM,WAAW,EAC7C,IAAI,CAAC,MAAM,GAAG,QAAQ,GAAG,EACzB,KAAK,IAAI;AAAA,IACZ,IAAI,CAAC;AAAA,MAAQ;AAAA,IAEb,MAAM,SAAkC,EAAE,KAAK,GAAG;AAAA,IAClD,YAAY,GAAG,MAAM,OAAO,QAAQ,OAAO,GAAG;AAAA,MAC5C,IAAI,MAAM;AAAA,QAAe,OAAO,IAAI,OAAO,IAAI,IAAI;AAAA,MAC9C;AAAA,eAAO,IAAI,OAAO,KAAK;AAAA,IAC9B;AAAA,IAEA,KAAK,GACF,QACC,+BAA+B,sDACjC,EACC,IAAI,MAAa;AAAA;AAAA,EAGtB,mBAAmB,CAAC,IAAqB;AAAA,IACvC,MAAM,SAAS,KAAK,GACjB,QAAQ,2CAA2C,EACnD,IAAI,EAAE;AAAA,IACT,OAAO,OAAO,UAAU;AAAA;AAAA,EAG1B,eAAe,GAAsB;AAAA,IAEnC,MAAM,QAAQ,KAAK,sBAAsB;AAAA,IACzC,IAAI,QAAQ;AAAA,IACZ,WAAW,QAAQ,OAAO;AAAA,MACxB,IAAI,KAAK;AAAA,QAAa;AAAA,MAEtB,MAAM,SAAS,MAAM,KACnB,CAAC,MACC,EAAE,OAAO,KAAK,MACd,KAAK,KAAK,WAAW,EAAE,OAAO,GAAG,KACjC,CAAC,EAAE,WACP;AAAA,MACA,IAAI,UAAU,KAAK,eAAe,OAAO,MAAM;AAAA,QAC7C,KAAK,oBAAoB,KAAK,IAAI,EAAE,YAAY,OAAO,KAAK,CAAC;AAAA,QAC7D;AAAA,MACF;AAAA,IACF;AAAA,IACA,OAAO,EAAE,MAAM;AAAA;AAAA,EAKjB,uBAAuB,CACrB,KACmB;AAAA,IACnB,KAAK,GACF,QACC;AAAA;AAAA;AAAA,KAIF,EACC,IAAI;AAAA,MACH,KAAK,IAAI;AAAA,MACT,YAAY,IAAI,aAAa;AAAA,MAC7B,UAAU,IAAI;AAAA,MACd,cAAc,IAAI,eAAe;AAAA,MACjC,WAAW,IAAI,YAAY;AAAA,IAC7B,CAAC;AAAA,IACH,OAAO,KAAK,qBAAqB,IAAI,EAAE;AAAA;AAAA,EAGzC,oBAAoB,CAAC,IAA2C;AAAA,IAC9D,OAAO,KAAK,GACT,QAAQ,gDAAgD,EACxD,IAAI,EAAE;AAAA;AAAA,EAGX,wBAAwB,GAAwB;AAAA,IAC9C,OAAO,KAAK,GACT,QAAQ,2DAA2D,EACnE,IAAI;AAAA;AAAA,EAGT,8BAA8B,CAC5B,WACqB;AAAA,IACrB,IAAI,cAAc,MAAM;AAAA,MACtB,OAAO,KAAK,GACT,QACC,mFACF,EACC,IAAI;AAAA,IACT;AAAA,IACA,OAAO,KAAK,GACT,QACC,+EACF,EACC,IAAI,SAAS;AAAA;AAAA,EAGlB,+BAA+B,CAAC,UAAuC;AAAA,IACrE,OAAO,KAAK,GACT,QACC,8EACF,EACC,IAAI,QAAQ;AAAA;AAAA,EAGjB,uBAAuB,CACrB,IACA,SACM;AAAA,IACN,MAAM,SAAS,OAAO,KAAK,OAAO,EAC/B,OAAO,CAAC,MAAM,MAAM,QAAQ,MAAM,WAAW,EAC7C,IAAI,CAAC,MAAM,GAAG,QAAQ,GAAG,EACzB,KAAK,IAAI;AAAA,IACZ,IAAI,CAAC;AAAA,MAAQ;AAAA,IAEb,MAAM,SAAkC,EAAE,KAAK,GAAG;AAAA,IAClD,YAAY,GAAG,MAAM,OAAO,QAAQ,OAAO,GAAG;AAAA,MAC5C,OAAO,IAAI,OAAO,KAAK;AAAA,IACzB;AAAA,IAEA,KAAK,GACF,QAAQ,kCAAkC,uBAAuB,EACjE,IAAI,MAAa;AAAA;AAAA,EAGtB,uBAAuB,CAAC,IAAqB;AAAA,IAC3C,MAAM,SAAS,KAAK,GACjB,QAAQ,8CAA8C,EACtD,IAAI,EAAE;AAAA,IACT,OAAO,OAAO,UAAU;AAAA;AAAA,EAG1B,wBAAwB,CAAC,IAA2C;AAAA,IAClE,OAAO,KAAK,qBAAqB,EAAE;AAAA;AAAA,EAKrC,kBAAkB,CAChB,cACc;AAAA,IACd,KAAK,GACF,QACC;AAAA;AAAA;AAAA,KAIF,EACC,IAAI;AAAA,MACH,KAAK,aAAa;AAAA,MAClB,cAAc,aAAa,eAAe;AAAA,MAC1C,YAAY,aAAa,aAAa;AAAA,MACtC,OAAO,aAAa;AAAA,MACpB,QAAQ,aAAa;AAAA,MACrB,UAAU,aAAa;AAAA,MACvB,SAAS,aAAa;AAAA,IACxB,CAAC;AAAA,IACH,OAAO,KAAK,gBAAgB,aAAa,EAAE;AAAA;AAAA,EAG7C,eAAe,CAAC,IAAsC;AAAA,IACpD,OAAO,KAAK,GACT,QAAQ,0CAA0C,EAClD,IAAI,EAAE;AAAA;AAAA,EAGX,mBAAmB,GAAmB;AAAA,IACpC,OAAO,KAAK,GACT,QAAQ,qDAAqD,EAC7D,IAAI;AAAA;AAAA,EAGT,yBAAyB,CAAC,WAA0C;AAAA,IAClE,IAAI,cAAc,MAAM;AAAA,MACtB,OAAO,KAAK,GACT,QACC,6EACF,EACC,IAAI;AAAA,IACT;AAAA,IACA,OAAO,KAAK,GACT,QACC,yEACF,EACC,IAAI,SAAS;AAAA;AAAA,EAGlB,sBAAsB,GAAmB;AAAA,IACvC,OAAO,KAAK,GACT,QACC,6EACF,EACC,IAAI;AAAA;AAAA,EAGT,sBAAsB,GAAmB;AAAA,IACvC,OAAO,KAAK,GACT,QACC,6EACF,EACC,IAAI;AAAA;AAAA,EAGT,wBAAwB,CAAC,IAAY,QAAiC;AAAA,IACpE,KAAK,GACF,QAAQ,kDAAkD,EAC1D,IAAI,QAAQ,EAAE;AAAA;AAAA,EAGnB,wBAAwB,GAAW;AAAA,IACjC,MAAM,SAAS,KAAK,GACjB,QACC,kEACF,EACC,IAAI;AAAA,IACP,OAAO,OAAO;AAAA;AAAA,EAGhB,kBAAkB,CAAC,IAAqB;AAAA,IACtC,MAAM,SAAS,KAAK,GACjB,QAAQ,wCAAwC,EAChD,IAAI,EAAE;AAAA,IACT,OAAO,OAAO,UAAU;AAAA;AAAA,EAG1B,qBAAqB,CAAC,gBAAwB,IAAY;AAAA,IACxD,MAAM,SAAS,KAAK,GACjB,QACC,kFACF,EACC,IAAI,aAAa;AAAA,IACpB,OAAO,OAAO;AAAA;AAAA,EAKhB,cAAc,CAAC,YAAoB,KAAiC;AAAA,IAClE,MAAM,MAAM,KAAK,GACd,QACC,iEACF,EACC,IAAI,YAAY,GAAG;AAAA,IACtB,OAAO,KAAK;AAAA;AAAA,EAGd,cAAc,CAAC,YAAoB,KAAa,OAAqB;AAAA,IACnE,KAAK,GACF,QACC;AAAA;AAAA;AAAA;AAAA,KAKF,EACC,IAAI,EAAE,aAAa,YAAY,MAAM,KAAK,QAAQ,MAAM,CAAC;AAAA;AAAA,EAG9D,iBAAiB,CAAC,YAAoB,KAAsB;AAAA,IAC1D,MAAM,SAAS,KAAK,GACjB,QAAQ,2DAA2D,EACnE,IAAI,YAAY,GAAG;AAAA,IACtB,OAAO,OAAO,UAAU;AAAA;AAAA,EAG1B,iBAAiB,CAAC,YAAoC;AAAA,IACpD,OAAO,KAAK,GACT,QACC,kFACF,EACC,IAAI,UAAU;AAAA;AAAA,EAGnB,oBAAoB,CAAC,YAA4B;AAAA,IAC/C,MAAM,SAAS,KAAK,GACjB,QAAQ,+CAA+C,EACvD,IAAI,UAAU;AAAA,IACjB,OAAO,OAAO;AAAA;AAAA,EAKhB,KAAK,GAAS;AAAA,IACZ,KAAK,GAAG,MAAM;AAAA;AAElB;;;AClkBO,SAAS,kBAAkB,CAChC,eACA,MACoB;AAAA,EACpB,MAAM,SAAS,IAAI;AAAA,EACnB,MAAM,cAAwB,CAAC;AAAA,EAE/B,WAAW,UAAU,cAAc,cAAc,GAAG;AAAA,IAClD,IAAI,CAAC,OAAO;AAAA,MAAc;AAAA,IAG1B,MAAM,SAAS,OAAO,aAAa,QAAQ,OAAO;AAAA,IAElD,IAAI;AAAA,MACF,MAAM,eAAe,OAAO,aAAa,IAAI;AAAA,MAG7C,OAAO,IACL,IAAI,OAAO,EAAE,OAAO,CAAC,EAClB,OAAO,OAAO;AAAA,QACb,eAAe;AAAA,UACb,OAAO,CAAC,OAAO,IAAI;AAAA,UACnB,cAAc;AAAA,UACd,cAAc,OAAO;AAAA,QACvB;AAAA,MACF,EAAE,EACD,IAAI,YAAY,CACrB;AAAA,MAGA,IAAI,OAAO,aAAa;AAAA,QACtB,WAAW,KAAK,OAAO,aAAa;AAAA,UAClC,YAAY,KAAK,GAAG,SAAS,GAAG;AAAA,QAClC;AAAA,MACF;AAAA,MACA,OAAO,KAAK;AAAA,MACZ,QAAQ,MACN,sDAAsD,OAAO,UAC7D,GACF;AAAA;AAAA,EAEJ;AAAA,EAEA,OAAO;AAAA,IACL,QAAQ;AAAA,IACR,gBAAgB,MAAM,CAAC,GAAG,WAAW;AAAA,EACvC;AAAA;;;AChDF,iBAAS;AAIT,IAAM,aAAqC;AAAA,EACzC,SAAS;AAAA,EACT,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,SAAS;AACX;AAEA,SAAS,WAAW,CAAC,UAA0B;AAAA,EAC7C,OACE,WAAW,QAAQ,QAAQ,EAAE,YAAY,MAAM;AAAA;AAKnD,IAAM,qBAAqB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAc3B,SAAS,gBAAgB,CAAC,MAAsB;AAAA,EAE9C,IAAI,KAAK,SAAS,SAAS,GAAG;AAAA,IAC5B,OAAO,KAAK,QAAQ,WAAW,qBAAqB,SAAS;AAAA,EAC/D;AAAA,EACA,IAAI,KAAK,SAAS,SAAS,GAAG;AAAA,IAC5B,OAAO,KAAK,QAAQ,WAAW,qBAAqB,SAAS;AAAA,EAC/D;AAAA,EACA,OAAO,OAAO;AAAA;AAGhB,SAAS,aAAa,CACpB,SACQ;AAAA,EACR,MAAM,QAAQ,QACX,IAAI,CAAC,MAAM;AAAA,IACV,MAAM,QAAQ,EAAE,QAAQ,CAAC,GACtB,IAAI,CAAC,MAAM,qBAAqB,UAAU,EAC1C,KAAK,GAAG;AAAA,IACX,OAAO,oBAAoB,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY;AAAA,GAChE,EACA,KAAK;AAAA,CAAI;AAAA,EAEZ,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAeL,QAAQ,SAAS,IAAI,OAAO,eAAe;AAAA;AAAA;AAAA;AAKxC,SAAS,cAAc,CAAC,eAA8B;AAAA,EAC3D,OACE,IAAI,OAAO,EAAE,QAAQ,MAAM,CAAC,EAEzB,IAAI,KAAK,MAAM;AAAA,IACd,MAAM,UAAU,cACb,cAAc,EACd,OAAO,CAAC,MAAM,EAAE,EAAE,EAClB,IAAI,CAAC,OAAO;AAAA,MACX,MAAM,EAAE;AAAA,MACR,OAAO,EAAE,IAAI,SAAS,EAAE;AAAA,MACxB,MAAM,EAAE;AAAA,IACV,EAAE;AAAA,IAEJ,OAAO,IAAI,SAAS,cAAc,OAAO,GAAG;AAAA,MAC1C,SAAS,EAAE,gBAAgB,2BAA2B;AAAA,IACxD,CAAC;AAAA,GACF,EAGA,IAAI,MAAM,SAAS,QAAQ,UAAU;AAAA,IACpC,MAAM,WAAY,OAAkC,QAAQ;AAAA,IAC5D,MAAM,QAAQ,SAAS,MAAM,GAAG,EAAE,OAAO,OAAO;AAAA,IAEhD,IAAI,MAAM,WAAW,GAAG;AAAA,MACtB,IAAI,SAAS;AAAA,MACb,OAAO,EAAE,OAAO,uBAAuB;AAAA,IACzC;AAAA,IAGA,MAAM,YAAY,MAAM;AAAA,IACxB,IAAI,SAAS,cAAc,eAAe,SAAS;AAAA,IACnD,IAAI,UAAU,MAAM,MAAM,CAAC,EAAE,KAAK,GAAG;AAAA,IAGrC,IAAI,UAAU,MAAM,UAAU,GAAG;AAAA,MAC/B,MAAM,cAAc,cAAc,eAAe,MAAM,EAAE;AAAA,MACzD,IAAI,aAAa,IAAI;AAAA,QACnB,SAAS;AAAA,QACT,UAAU,MAAM,MAAM,CAAC,EAAE,KAAK,GAAG;AAAA,MACnC;AAAA,IACF;AAAA,IAEA,IAAI,CAAC,QAAQ,IAAI;AAAA,MACf,IAAI,SAAS;AAAA,MACb,OAAO,EAAE,OAAO,+BAA+B,aAAa;AAAA,IAC9D;AAAA,IAGA,IAAI,OAAO,GAAG,QAAQ;AAAA,MACpB,IAAI;AAAA,QACF,MAAM,YAAY,IAAI,IACpB,WAAW,KACX,OAAO,GAAG,MACZ,EAAE,SAAS;AAAA,QACX,MAAM,OAAO,MAAM,MAAM,SAAS;AAAA,QAClC,MAAM,OAAO,MAAM,KAAK,YAAY;AAAA,QACpC,MAAM,UAAU,IAAI;AAAA,QACpB,KAAK,QAAQ,QAAQ,CAAC,GAAG,MAAM,QAAQ,IAAI,GAAG,CAAC,CAAC;AAAA,QAChD,OAAO,IAAI,SAAS,MAAM,EAAE,QAAQ,KAAK,QAAQ,QAAQ,CAAC;AAAA,QAC1D,MAAM;AAAA,QACN,IAAI,SAAS;AAAA,QACb,OAAO;AAAA,UACL,OAAO,oCAAoC,OAAO,GAAG;AAAA,QACvD;AAAA;AAAA,IAEJ;AAAA,IAGA,IAAI,OAAO,GAAG,WAAW;AAAA,MACvB,MAAM,UAAU,OAAO,GAAG;AAAA,MAC1B,MAAM,gBAAgB,WAAW;AAAA,MACjC,MAAM,WAAW,MAAK,SAAS,aAAa;AAAA,MAG5C,IAAI,CAAC,SAAS,WAAW,OAAO,GAAG;AAAA,QACjC,IAAI,SAAS;AAAA,QACb,OAAO,EAAE,OAAO,gBAAgB;AAAA,MAClC;AAAA,MAEA,MAAM,OAAO,IAAI,KAAK,QAAQ;AAAA,MAC9B,IAAI,MAAM,KAAK,OAAO,GAAG;AAAA,QACvB,MAAM,cAAc,YAAY,QAAQ;AAAA,QAGxC,IAAI,gBAAgB,aAAa;AAAA,UAC/B,MAAM,OAAO,MAAM,KAAK,KAAK;AAAA,UAC7B,OAAO,IAAI,SAAS,iBAAiB,IAAI,GAAG;AAAA,YAC1C,SAAS,EAAE,gBAAgB,2BAA2B;AAAA,UACxD,CAAC;AAAA,QACH;AAAA,QAEA,OAAO,IAAI,SAAS,MAAM;AAAA,UACxB,SAAS,EAAE,gBAAgB,YAAY;AAAA,QACzC,CAAC;AAAA,MACH;AAAA,MAGA,MAAM,YAAY,IAAI,KAAK,MAAK,SAAS,YAAY,CAAC;AAAA,MACtD,IAAI,MAAM,UAAU,OAAO,GAAG;AAAA,QAC5B,MAAM,OAAO,MAAM,UAAU,KAAK;AAAA,QAClC,OAAO,IAAI,SAAS,iBAAiB,IAAI,GAAG;AAAA,UAC1C,SAAS,EAAE,gBAAgB,2BAA2B;AAAA,QACxD,CAAC;AAAA,MACH;AAAA,MAEA,IAAI,SAAS;AAAA,MACb,OAAO,EAAE,OAAO,iBAAiB;AAAA,IACnC;AAAA,IAEA,IAAI,SAAS;AAAA,IACb,OAAO,EAAE,OAAO,qDAAqD;AAAA,GACtE;AAAA;;;AC3MP,iBAAS;AACT;AACA,uBAAS;AAMT,IAAM,yBAAyB;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAMA,SAAS,QAAQ,CAAC,MAAc,cAAiC;AAAA,EAE/D,IAAI,uBAAuB,KAAK,CAAC,WAAW,KAAK,WAAW,MAAM,CAAC,GAAG;AAAA,IACpE,OAAO;AAAA,EACT;AAAA,EAGA,OAAO,aAAa,KAAK,CAAC,WAAW,KAAK,WAAW,MAAM,CAAC;AAAA;AAK9D,SAAS,cAAc,GAAW;AAAA,EAChC,MAAM,QAAQ,IAAI,WAAW,EAAE;AAAA,EAC/B,OAAO,gBAAgB,KAAK;AAAA,EAC5B,OAAO,QAAQ,OAAO,KAAK,KAAK,EAAE,SAAS,WAAW;AAAA;AAGxD,SAAS,gBAAgB,GAAuB;AAAA,EAC9C,MAAM,aAAa,MAAK,QAAQ,GAAG,iBAAiB,aAAa;AAAA,EACjE,IAAI,CAAC,YAAW,UAAU;AAAA,IAAG;AAAA,EAC7B,IAAI;AAAA,IACF,MAAM,SAAS,KAAK,MAAM,aAAa,YAAY,MAAM,CAAC;AAAA,IAC1D,OAAO,OAAO,qBAAqB;AAAA,IACnC,MAAM;AAAA,IACN;AAAA;AAAA;AAcG,SAAS,gBAAgB,CAAC,sBAAuC;AAAA,EAEtE,MAAM,SAAS,QAAQ,IAAI;AAAA,EAC3B,MAAM,YAAY,iBAAiB;AAAA,EACnC,MAAM,SAAS,UAAU,aAAa,eAAe;AAAA,EAErD,OAAO,KAAK,QAAQ,kBAAkB,OAAO,UAAU,GAAG,EAAE,MAAM;AAAA,EAElE,OAAO,IAAI,OAAO,EAAE,MAAM,cAAc,CAAC,EACtC,SAAS,UAAU,MAAM,EACzB,OAAO,GAAG,SAAS,WAAW;AAAA,IAC7B,MAAM,eAAe,uBAAuB,KAAK,CAAC;AAAA,IAClD,OAAO;AAAA,MACL,kBAAkB,MAAM;AAAA,QACtB,IAAI,SAAS,MAAM,YAAY;AAAA,UAAG,OAAO;AAAA,QACzC,MAAM,cAAc,QAAQ;AAAA,QAC5B,OAAO,gBAAgB;AAAA,SACtB;AAAA,IACL;AAAA,GACD,EACA,eAAe,GAAG,iBAAiB,MAAM,UAAU;AAAA,IAClD,MAAM,eAAe,uBAAuB,KAAK,CAAC;AAAA,IAClD,IAAI,CAAC,mBAAmB,CAAC,SAAS,MAAM,YAAY,GAAG;AAAA,MACrD,IAAI,SAAS;AAAA,MACb,OAAO,EAAE,OAAO,gBAAgB,SAAS,6BAA6B;AAAA,IACxE;AAAA,GACD;AAAA;;;ACzFE,SAAS,kBAAkB,CAAC,kBAA4B;AAAA,EAC7D,OAAO,IAAI,OAAO,EAAE,QAAQ,UAAU,CAAC,EACpC,IAAI,KAAK,OAAO;AAAA,IACf,QAAQ;AAAA,IACR,WAAW,IAAI,KAAK,EAAE,YAAY;AAAA,IAClC,QAAQ,QAAQ,OAAO;AAAA,EACzB,EAAE,EACD,IAAI,SAAS,OAAO,EAAE,QAAQ,KAAK,EAAE,EACrC,IAAI,UAAU,OAAO,EAAE,QAAQ,KAAK,EAAE;AAAA;;;ACJ3C;AAWO,IAAM,WAAW,IAAI;AAC5B,SAAS,gBAAgB,GAAG;AAgBrB,SAAS,cAAc,GAAG;AAAA,EAE/B,MAAM,UAAU,IAAI;AAAA,EAOpB,SAAS,GAAG,YAAY,CAAC,UAAmB;AAAA,IAC1C,MAAM,OAAO,KAAK,UAAU,KAAK;AAAA,IACjC,WAAW,UAAU,SAAS;AAAA,MAC5B,IAAI;AAAA,QACF,OAAO,KAAK,IAAI;AAAA,QAChB,MAAM;AAAA,IAGV;AAAA,GACD;AAAA,EAED,OAAO,IAAI,OAAO,EAAE,GAAG,cAAc;AAAA,IACnC,IAAI,CAAC,IAAI;AAAA,MACP,MAAM,SAAS;AAAA,QACb;AAAA,QACA,UAAU,IAAI;AAAA,QACd,MAAM,CAAC,SAAiB,GAAG,KAAK,IAAI;AAAA,MACtC;AAAA,MACA,QAAQ,IAAI,MAAM;AAAA,MACjB,GAA+B,UAAU;AAAA,MAE1C,OAAO,KAAK,aAAa,oBAAoB;AAAA,QAC3C,IAAI,OAAO,GAAG,MAAM,SAAS;AAAA,MAC/B,CAAC;AAAA,MAGD,GAAG,KACD,KAAK,UAAU;AAAA,QACb,MAAM;AAAA,QACN,WAAW,IAAI,KAAK,EAAE,YAAY;AAAA,MACpC,CAAC,CACH;AAAA;AAAA,IAGF,OAAO,CAAC,IAAI,SAAS;AAAA,MACnB,IAAI;AAAA,QACF,MAAM,OACJ,OAAO,YAAY,WAAW,KAAK,MAAM,OAAO,IAAI;AAAA,QAEtD,QAAQ,KAAK;AAAA,eACN,aAAa;AAAA,YAChB,MAAM,SAAU,GACb;AAAA,YACH,IAAI;AAAA,cAAQ,OAAO,SAAS,IAAI,KAAK,OAAO;AAAA,YAC5C,OAAO,MAAM,aAAa,iBAAiB,KAAK,SAAS;AAAA,YACzD;AAAA,UACF;AAAA,eACK,eAAe;AAAA,YAClB,MAAM,SAAU,GACb;AAAA,YACH,IAAI;AAAA,cAAQ,OAAO,SAAS,OAAO,KAAK,OAAO;AAAA,YAC/C,OAAO,MAAM,aAAa,qBAAqB,KAAK,SAAS;AAAA,YAC7D;AAAA,UACF;AAAA,eACK;AAAA,YACH,GAAG,KACD,KAAK,UAAU;AAAA,cACb,MAAM;AAAA,cACN,WAAW,IAAI,KAAK,EAAE,YAAY;AAAA,YACpC,CAAC,CACH;AAAA,YACA;AAAA;AAAA,YAEA,OAAO,MAAM,aAAa,yBAAyB,KAAK,MAAM;AAAA;AAAA,QAElE,MAAM;AAAA,QACN,OAAO,KAAK,aAAa,kCAAkC;AAAA;AAAA;AAAA,IAI/D,KAAK,CAAC,IAAI;AAAA,MACR,MAAM,SAAU,GACb;AAAA,MACH,IAAI;AAAA,QAAQ,QAAQ,OAAO,MAAM;AAAA,MACjC,OAAO,KAAK,aAAa,qBAAqB;AAAA;AAAA,EAElD,CAAC;AAAA;;AC3GH,eAAe,WAAW,CACxB,MACA,cACA,QACA,SACA,MACmB;AAAA,EACnB,MAAM,eAAuC,CAAC;AAAA,EAC9C,YAAY,GAAG,MAAM,OAAO,QAAQ,OAAO,GAAG;AAAA,IAC5C,IAAI,KAAK,CAAC,CAAC,QAAQ,YAAY,EAAE,SAAS,EAAE,YAAY,CAAC,GAAG;AAAA,MAC1D,aAAa,KAAK;AAAA,IACpB;AAAA,EACF;AAAA,EAEA,MAAM,OAAoB,EAAE,QAAQ,SAAS,aAAa;AAAA,EAC1D,IAAI,WAAW,SAAS,WAAW,UAAU,MAAM;AAAA,IACjD,KAAK,OAAO,OAAO,SAAS,WAAW,OAAO,KAAK,UAAU,IAAI;AAAA,EACnE;AAAA,EAEA,OAAO,MAAM,oBAAoB,OAAO,gBAAgB,IAAI;AAAA;AAK9D,eAAe,eAAe,CAC5B,iBACA,WACwB;AAAA,EACxB,MAAM,WAAW,gBAAgB,YAA6B,SAAS;AAAA,EACvE,IAAI,CAAC;AAAA,IAAU,OAAO;AAAA,EAEtB,MAAM,WAAW,MAAM,SAAS,gBAAgB,SAAS;AAAA,EACzD,IAAI,CAAC;AAAA,IAAU,OAAO;AAAA,EAGtB,IAAI;AAAA,IACF,QAAQ,KAAK,SAAS,KAAK,CAAC;AAAA,IAC5B,OAAO,SAAS;AAAA,IAChB,MAAM;AAAA,IACN,OAAO;AAAA;AAAA;AAMJ,SAAS,mBAAmB,CAAC,iBAAkC;AAAA,EACpE,OACE,IAAI,OAAO,EAER,IAAI,wBAAwB,SAAS,QAAQ,SAAS,UAAU;AAAA,IAC/D,MAAM,OAAO,MAAM,gBAAgB,iBAAiB,OAAO,SAAS;AAAA,IACpE,IAAI,CAAC,MAAM;AAAA,MACT,IAAI,SAAS;AAAA,MACb,OAAO,EAAE,OAAO,wCAAwC;AAAA,IAC1D;AAAA,IAEA,MAAM,WAAW,MAAM,YACrB,MACA,KACA,QAAQ,QACR,OAAO,YACL,OAAO,QAAQ,QAAQ,OAAO,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,GAAG,CAAW,CAAC,CAClE,CACF;AAAA,IAGA,IAAI,SAAS,SAAS;AAAA,IACtB,MAAM,MAAM,MAAM,SAAS,YAAY;AAAA,IACvC,OAAO,IAAI,SAAS,KAAK;AAAA,MACvB,QAAQ,SAAS;AAAA,MACjB,SAAS,SAAS;AAAA,IACpB,CAAC;AAAA,GACF,EAGA,IAAI,0BAA0B,SAAS,QAAQ,SAAS,UAAU;AAAA,IACjE,MAAM,YAAY,OAAO;AAAA,IACzB,MAAM,eAAgB,OAAkC,QAAQ;AAAA,IAChE,MAAM,OAAO,MAAM,gBAAgB,iBAAiB,SAAS;AAAA,IAC7D,IAAI,CAAC,MAAM;AAAA,MACT,IAAI,SAAS;AAAA,MACb,OAAO,EAAE,OAAO,wCAAwC;AAAA,IAC1D;AAAA,IAEA,MAAM,WAAW,MAAM,YACrB,MACA,IAAI,gBACJ,QAAQ,QACR,OAAO,YACL,OAAO,QAAQ,QAAQ,OAAO,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,GAAG,CAAW,CAAC,CAClE,CACF;AAAA,IAEA,IAAI,SAAS,SAAS;AAAA,IACtB,MAAM,MAAM,MAAM,SAAS,YAAY;AAAA,IACvC,OAAO,IAAI,SAAS,KAAK;AAAA,MACvB,QAAQ,SAAS;AAAA,MACjB,SAAS,SAAS;AAAA,IACpB,CAAC;AAAA,GACF,EAIA,GAAG,2BAA2B;AAAA,IAC7B,IAAI,CAAC,IAAI;AAAA,MACP,MAAM,SAAS,GAAG;AAAA,MAGlB,MAAM,YAAY,OAAO,QAAQ;AAAA,MACjC,IAAI,CAAC,WAAW;AAAA,QACd,GAAG,MAAM,MAAM,mBAAmB;AAAA,QAClC;AAAA,MACF;AAAA,MAEA,OAAO,KACL,eACA,gCAAgC,WAClC;AAAA,MAGA,gBAAgB,iBAAiB,SAAS,EAAE,KAAK,CAAC,SAAS;AAAA,QACzD,IAAI,CAAC,MAAM;AAAA,UACT,OAAO,KACL,eACA,+BAA+B,WACjC;AAAA,UACA,GAAG,MAAM,MAAM,qBAAqB;AAAA,UACpC;AAAA,QACF;AAAA,QAIA,MAAM,cAAc,kBAAkB;AAAA,QACtC,MAAM,aAAa,IAAI,UAAU,aAAa,CAAC,KAAK,CAAC;AAAA,QAErD,MAAM,iBAA8C,CAAC;AAAA,QACrD,IAAI,gBAAgB;AAAA,QAEpB,WAAW,iBAAiB,QAAQ,MAAM;AAAA,UACxC,gBAAgB;AAAA,UAChB,OAAO,KAAK,eAAe,kCAA4B,QAAQ;AAAA,YAC7D;AAAA,UACF,CAAC;AAAA,UAGD,WAAW,OAAO,gBAAgB;AAAA,YAChC,WAAW,KAAK,GAAG;AAAA,UACrB;AAAA,UACA,eAAe,SAAS;AAAA,SACzB;AAAA,QAGD,WAAW,iBAAiB,WAAW,CAAC,UAAU;AAAA,UAChD,IAAI;AAAA,YACF,GAAG,KAAK,MAAM,IAAI;AAAA,YAClB,MAAM;AAAA,SAGT;AAAA,QAED,WAAW,iBAAiB,SAAS,CAAC,UAAU;AAAA,UAC9C,OAAO,KACL,eACA,yBAAyB,MAAM,SAC/B,EAAE,UAAU,CACd;AAAA,UACA,IAAI;AAAA,YACF,GAAG,MAAM,MAAM,iBAAiB;AAAA,YAChC,MAAM;AAAA,SAGT;AAAA,QAED,WAAW,iBAAiB,SAAS,CAAC,WAAW;AAAA,UAC/C,OAAO,MAAM,eAAe,kBAAkB,EAAE,UAAU,CAAC;AAAA,UAC3D,IAAI;AAAA,YACF,GAAG,MAAM,MAAM,gBAAgB;AAAA,YAC/B,MAAM;AAAA,SAGT;AAAA,QAGA,GAA+B,YAAY;AAAA,QAC3C,GAA+B,iBAAiB,MAC/C;AAAA,QACD,GAA+B,kBAAkB;AAAA,OACnD;AAAA;AAAA,IAGH,OAAO,CAAC,IAAI,SAAS;AAAA,MACnB,MAAM,aAAc,GAA+B;AAAA,MAGnD,MAAM,UACH,GAA+B,iBAG9B;AAAA,MACJ,MAAM,SAAU,GAA+B;AAAA,MAI/C,IACE,cACA,WACA,WAAW,eAAe,UAAU,MACpC;AAAA,QACA,WAAW,KAAK,OAAmC;AAAA,MACrD,EAAO,SAAI,QAAQ;AAAA,QAEjB,OAAO,KAAK,OAA+B;AAAA,MAC7C;AAAA;AAAA,IAGF,KAAK,CAAC,IAAI;AAAA,MACR,MAAM,YACJ,GAAG,KACH,QAAQ;AAAA,MACV,OAAO,KAAK,eAAe,uBAAuB,EAAE,UAAU,CAAC;AAAA,MAE/D,MAAM,aAAc,GAA+B;AAAA,MAGnD,IAAI,cAAc,WAAW,eAAe,UAAU,MAAM;AAAA,QAC1D,WAAW,MAAM,MAAM,qBAAqB;AAAA,MAC9C;AAAA;AAAA,EAEJ,CAAC;AAAA;;ACtOP,IAAM,iBAA2C;AAAA,EAC/C,OAAO;AAAA,EACP,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AACT;AA4FO,SAAS,WAAW,GAAG;AAAA,EAC5B,OAAO,IAAI,OAAO,EAAE,GAAG,YAAY;AAAA,IACjC,IAAI,CAAC,IAAI;AAAA,MACP,OAAO,KAAK,WAAW,6BAA6B;AAAA,MAGpD,MAAM,UAAU;AAAA,QACd,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACC,GAA+B,WAAW;AAAA,MAE3C,MAAM,QAAQ,CAAC,UAAoB;AAAA,QACjC,MAAM,IAAK,GAA+B;AAAA,QAC1C,IAAI,eAAe,MAAM,SAAS,eAAe,EAAE;AAAA,UAAW;AAAA,QAC9D,IAAI,EAAE,UAAU,CAAC,MAAM,OAAO,SAAS,EAAE,MAAM;AAAA,UAAG;AAAA,QAElD,IAAI;AAAA,UACF,GAAG,KAAK,KAAK,UAAU,KAAK,CAAC;AAAA,UAC7B,MAAM;AAAA;AAAA,MAKV,OAAO,GAAG,OAAO,KAAK;AAAA,MACrB,GAA+B,cAAc;AAAA,MAG9C,GAAG,KACD,KAAK,UAAU;AAAA,QACb,MAAM;AAAA,QACN,WAAW,IAAI,KAAK,EAAE,YAAY;AAAA,MACpC,CAAC,CACH;AAAA;AAAA,IAGF,OAAO,CAAC,IAAI,SAAS;AAAA,MACnB,IAAI;AAAA,QACF,MAAM,OACJ,OAAO,YAAY,WAAW,KAAK,MAAM,OAAO,IAAI;AAAA,QAGtD,IAAI,KAAK,SAAS,UAAU;AAAA,UAC1B,MAAM,UAAW,GAA+B;AAAA,UAIhD,IAAI,KAAK;AAAA,YAAO,QAAQ,WAAW,KAAK;AAAA,UACxC,IAAI,KAAK,WAAW;AAAA,YAAW,QAAQ,SAAS,KAAK;AAAA,UAErD,GAAG,KAAK,KAAK,UAAU,EAAE,MAAM,kBAAkB,QAAQ,CAAC,CAAC;AAAA,QAC7D;AAAA,QACA,MAAM;AAAA;AAAA,IAKV,KAAK,CAAC,IAAI;AAAA,MACR,MAAM,UAAW,GAA+B;AAAA,MAGhD,IAAI,SAAS;AAAA,QACX,OAAO,eAAe,OAAO,OAAO;AAAA,MACtC;AAAA,MACA,OAAO,KAAK,WAAW,gCAAgC;AAAA;AAAA,EAE3D,CAAC;AAAA;;ACxIH,eAAsB,SAAS,CAAC,SAAqB;AAAA,EACnD,QAAQ,MAAM,MAAM,QAAQ,UAAU,eAAe;AAAA,EAGrD,IAAI,UAAU;AAAA,IACZ,OAAO,SAAS,QAAQ;AAAA,EAC1B;AAAA,EAGA,MAAM,KAAK,IAAI,cAAc,MAAM;AAAA,EAGnC,MAAM,kBAAkB,IAAI,gBAAgB,EAAE;AAAA,EAG9C,MAAM,gBAAgB,IAAI,cAAc,EAAE;AAAA,EAG1C,MAAM,cAAc,gBAAgB;AAAA,EAGpC,IAAI;AAAA,IACF,MAAM,cAAc,QAAQ;AAAA,IAC5B,OAAO,KAAK;AAAA,IACZ,OAAO,KAAK,OAAO,wCAAwC;AAAA,MACzD,OAAO,OAAO,GAAG;AAAA,IACnB,CAAC;AAAA;AAAA,EAGH,OAAO,KACL,OACA,mBAAmB,cAAc,iBAAiB,EAAE,iBAAiB,cAAc,iBAAiB,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,cAChI;AAAA,EAGA,IAAI;AAAA,IACF,MAAM,cAAc,GAAG,UAAU,+BAA+B;AAAA,IAChE,MAAM,aAAa,GAAG,UAAU,uBAAuB;AAAA,IACvD,MAAM,iBAAiB,GAAG,UAAU,2BAA2B;AAAA,IAE/D,IAAI,eAAe,cAAc,gBAAgB;AAAA,MAC/C,MAAM,iBAAiB,GAAG,UAAU,kCAAkC;AAAA,MACtE,cAAc,UAAU;AAAA,QACtB,kBAAkB;AAAA,QAClB,qBAAqB;AAAA,QACrB,UAAU;AAAA,QACV,cAAc;AAAA,MAChB,CAAC;AAAA,MACD,OAAO,KAAK,OAAO,8CAA8C;AAAA,IACnE;AAAA,IACA,OAAO,KAAK;AAAA,IACZ,OAAO,KAAK,OAAO,2CAA2C;AAAA,MAC5D,OAAO,OAAO,GAAG;AAAA,IACnB,CAAC;AAAA;AAAA,EAIH,MAAM,kBAAmC;AAAA,SACjC,IAAG,CAAC,WAAmB,KAAa;AAAA,MACxC,OAAO,GAAG,eAAe,WAAW,GAAG,KAAK;AAAA;AAAA,SAExC,IAAG,CAAC,WAAmB,KAAa,OAAe;AAAA,MACvD,GAAG,eAAe,WAAW,KAAK,KAAK;AAAA;AAAA,SAEnC,OAAM,CAAC,WAAmB,KAAa;AAAA,MAC3C,OAAO,GAAG,kBAAkB,WAAW,GAAG;AAAA;AAAA,SAEtC,KAAI,CAAC,WAAmB;AAAA,MAC5B,OAAO,GAAG,kBAAkB,SAAS;AAAA;AAAA,SAEjC,UAAS,CAAC,WAAmB;AAAA,MACjC,OAAO,GAAG,qBAAqB,SAAS;AAAA;AAAA,EAE5C;AAAA,EAEA,MAAM,iBAAiB,MAAM,kBAAkB;AAAA,EAE/C,MAAM,eAA6B;AAAA,IACjC,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA,aAAc,CAAI,SAChB,gBAAgB,YAAe,IAAI;AAAA,IACrC,iBAAiB,MAAM,QAAQ,IAAI,aAAa,oBAAoB;AAAA,IACpE,iBAAiB,MAAM;AAAA,EACzB;AAAA,EAGA,QAAQ,QAAQ,cAAc,mBAAmB,mBAC/C,eACA,EAAE,IAAI,iBAAiB,cAAc,CACvC;AAAA,EAGA,MAAM,WAAW,eAAe,aAAa;AAAA,EAG7C,MAAM,MAAM,IAAI,OAAO,EAEpB,IACC,KAAK;AAAA,IACH,QAAQ,cAAc;AAAA,IACtB,aAAa;AAAA,EACf,CAAC,CACH,EAGC,IAAI,iBAAiB,cAAc,CAAC,EAGpC,cAAc,GAAG,SAAS,UAAU;AAAA,IACnC,MAAM,MAAM,IAAI,IAAI,QAAQ,GAAG,EAAE;AAAA,IACjC,MAAM,UACJ,QAAQ,aACR,IAAI,WAAW,kBAAkB,KACjC,IAAI,WAAW,MAAM;AAAA,IACvB,MAAM,SAAS,OAAO,IAAI,WAAW,WAAW,IAAI,SAAS;AAAA,IAC7D,MAAM,QAAQ,UAAU,UAAU,UAAU,MAAM,SAAS;AAAA,IAC3D,OAAO,OAAO,QAAQ,GAAG,QAAQ,UAAU,cAAQ,UAAU;AAAA,MAC3D,QAAQ,QAAQ;AAAA,MAChB,MAAM;AAAA,MACN,YAAY;AAAA,IACd,CAAC;AAAA,GACF,EAGA,IAAI,mBAAmB,eAAe,CAAC,EAGvC,IAAI,YAAY,EAGhB,IAAI,QAAQ,EAGZ,IAAI,eAAe,CAAC,EAGpB,IAAI,YAAY,CAAC,EAGjB,IAAI,oBAAoB,eAAe,CAAC;AAAA,EAG3C,IAAI;AAAA,IAKF,MAAM,cAAc,oBAAoB,KAAY,YAAY;AAAA,IAChE,OAAO,KAAK;AAAA,IACZ,OAAO,KAAK,OAAO,8CAA8C;AAAA,MAC/D,OAAO,OAAO,GAAG;AAAA,IACnB,CAAC;AAAA;AAAA,EAGH,OAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,SACM,MAAK,GAAG;AAAA,MACZ,IAAI,OAAO,EAAE,MAAM,UAAU,KAAK,CAAC;AAAA,MACnC,OAAO,KAAK,OAAO,6BAA6B,QAAQ,MAAM;AAAA,MAG9D,IAAI;AAAA,QAEF,MAAM,cAAc,oBAAoB,KAAY,YAAY;AAAA,QAChE,OAAO,KAAK;AAAA,QACZ,OAAO,KAAK,OAAO,8CAA8C;AAAA,UAC/D,OAAO,OAAO,GAAG;AAAA,QACnB,CAAC;AAAA;AAAA,MAGH,OAAO;AAAA;AAAA,SAEH,KAAI,GAAG;AAAA,MACX,IAAI;AAAA,QACF,MAAM,cAAc,mBAAmB;AAAA,QACvC,OAAO,KAAK;AAAA,QACZ,OAAO,KAAK,OAAO,0BAA0B,EAAE,OAAO,OAAO,GAAG,EAAE,CAAC;AAAA;AAAA,MAErE,GAAG,MAAM;AAAA,MACT,OAAO,MAAM;AAAA,MACb,OAAO,KAAK,OAAO,sBAAsB;AAAA;AAAA,EAE7C;AAAA;AAKF,eAAe,iBAAiB,GAAoB;AAAA,EAClD,IAAI;AAAA,IACF,QAAQ,gCAAiB,MAAa;AAAA,IACtC,QAAQ,aAAM,YAAY,MAAa;AAAA,IACvC,QAAQ,kBAAkB,MAAa;AAAA,IACvC,MAAM,aAAY,QAAQ,cAAc,YAAY,GAAG,CAAC;AAAA,IACxD,MAAM,cAAc,KAAK,MACvB,cAAa,MAAK,YAAW,MAAM,cAAc,GAAG,MAAM,CAC5D;AAAA,IACA,OAAO,YAAY,WAAW;AAAA,IAC9B,MAAM;AAAA,IACN,OAAO;AAAA;AAAA;",
17
+ "debugId": "F2C6BFB8F350A48F64756E2164756E21",
18
18
  "names": []
19
19
  }
package/dist/cli.js CHANGED
@@ -7,7 +7,7 @@ import {
7
7
  ServiceManager,
8
8
  checkDependencies,
9
9
  installDependencies
10
- } from "./index-s7ff1fj1.js";
10
+ } from "./index-f6296kqk.js";
11
11
  import {
12
12
  logger
13
13
  } from "./index-88ym10cs.js";
@@ -33,7 +33,7 @@ import {
33
33
  } from "./index-g8dczzvv.js";
34
34
  import {
35
35
  PluginManager
36
- } from "./plugin-system-sm1qhmj0.js";
36
+ } from "./plugin-system-4h7vtge8.js";
37
37
 
38
38
  // node_modules/commander/lib/error.js
39
39
  var require_error = __commonJS((exports) => {
@@ -2228,7 +2228,7 @@ function register(program2) {
2228
2228
  kv("Host", host);
2229
2229
  kv("Database", dbPath);
2230
2230
  blank();
2231
- const { createApp } = await import("./app-xz1nde08.js");
2231
+ const { createApp } = await import("./app-fr7b9dpr.js");
2232
2232
  const appInstance = await createApp({
2233
2233
  port,
2234
2234
  host,
@@ -2502,7 +2502,7 @@ function register8(program2) {
2502
2502
  blank();
2503
2503
  let currentVersion;
2504
2504
  try {
2505
- const pkg = await import("./package-ah6tacg6.js", {
2505
+ const pkg = await import("./package-ma89np7x.js", {
2506
2506
  with: { type: "json" }
2507
2507
  });
2508
2508
  currentVersion = pkg.default.version || pkg.version;
@@ -2868,7 +2868,8 @@ function resolveBunPath() {
2868
2868
  throw new Error("Could not find bun binary. Ensure bun is installed and in PATH.");
2869
2869
  }
2870
2870
  function resolveAgentEntryPoint() {
2871
- return join3(import.meta.dir, "..", "index.js");
2871
+ const isDist = import.meta.dir.endsWith("/dist") || import.meta.dir.includes("/dist/");
2872
+ return isDist ? join3(import.meta.dir, "index.js") : join3(import.meta.dir, "..", "..", "index.ts");
2872
2873
  }
2873
2874
  function getSystemdUnitPath(name) {
2874
2875
  const dir = join3(homedir3(), ".config", "systemd", "user");
@@ -3218,5 +3219,5 @@ main().catch((err) => {
3218
3219
  process.exit(1);
3219
3220
  });
3220
3221
 
3221
- //# debugId=E4B4C6E0AF4D6D3B64756E2164756E21
3222
+ //# debugId=3C8CD05450C0190364756E2164756E21
3222
3223
  //# sourceMappingURL=cli.js.map