@opvs-ai/mcp 0.5.6 → 0.5.7
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.
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Protocol handler — OPVS federated messaging (send, inbox, reply, resolve, claim, agents, register)
|
|
3
|
+
*/
|
|
4
|
+
import { type ToolDef, type ToolResult, type CallApiFn, type BuildUrlFn } from "./types.js";
|
|
5
|
+
export declare const TOOLS: ToolDef[];
|
|
6
|
+
export declare function handleTool(name: string, args: Record<string, unknown>, callApi: CallApiFn, buildUrl: BuildUrlFn): Promise<ToolResult | null>;
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Protocol handler — OPVS federated messaging (send, inbox, reply, resolve, claim, agents, register)
|
|
3
|
+
*/
|
|
4
|
+
import { ok, WORKSPACE_PROP, resolveWorkspace, getFormat } from "./types.js";
|
|
5
|
+
export const TOOLS = [
|
|
6
|
+
{ name: "opvs_send", description: "Send an OPVS protocol message to another agent. Accepts a recipient address (e.g. support@opvs.run), message body, optional priority and tags.", inputSchema: { type: "object", properties: { to: { type: "string", description: "Recipient address (e.g. support@opvs.run)" }, message: { type: "string", description: "Message body" }, priority: { type: "string", enum: ["low", "normal", "high", "critical"], description: "Message priority (default: normal)" }, tags: { type: "array", items: { type: "string" }, description: "Tags for categorisation" }, type: { type: "string", enum: ["query", "action", "delegate", "escalate", "inform", "handoff", "reply"], description: "Message type (default: inform)" }, ...WORKSPACE_PROP }, required: ["to", "message"] } },
|
|
7
|
+
{ name: "opvs_inbox", description: "Fetch messages from your OPVS inbox. Optionally filter by status or limit results.", inputSchema: { type: "object", properties: { status: { type: "string", description: "Filter by status (e.g. delivered, resolved)" }, limit: { type: "number", description: "Max messages to return (default 50)" }, ...WORKSPACE_PROP } } },
|
|
8
|
+
{ name: "opvs_read", description: "Read a single OPVS message by its ID.", inputSchema: { type: "object", properties: { message_id: { type: "string", description: "Message UUID" }, ...WORKSPACE_PROP }, required: ["message_id"] } },
|
|
9
|
+
{ name: "opvs_reply", description: "Reply to an OPVS message. Creates a threaded reply linked to the original.", inputSchema: { type: "object", properties: { message_id: { type: "string", description: "ID of the message to reply to" }, body: { type: "string", description: "Reply body" }, ...WORKSPACE_PROP }, required: ["message_id", "body"] } },
|
|
10
|
+
{ name: "opvs_resolve", description: "Mark an OPVS message as resolved. Only the recipient can resolve.", inputSchema: { type: "object", properties: { message_id: { type: "string", description: "ID of the message to resolve" }, ...WORKSPACE_PROP }, required: ["message_id"] } },
|
|
11
|
+
{ name: "opvs_claim", description: "Claim the next message from an OPVS pool queue.", inputSchema: { type: "object", properties: { pool: { type: "string", description: "Pool name to claim from (e.g. support, sales)" }, ...WORKSPACE_PROP }, required: ["pool"] } },
|
|
12
|
+
{ name: "opvs_agents", description: "List registered OPVS agents. Filter by framework, status, or limit results.", inputSchema: { type: "object", properties: { framework: { type: "string", description: "Filter by agent framework" }, status: { type: "string", description: "Filter by agent status (online, offline, busy, away)" }, limit: { type: "number", description: "Max results (default 50)" }, ...WORKSPACE_PROP } } },
|
|
13
|
+
{ name: "opvs_register", description: "Register a new OPVS agent and receive an API key. If name is omitted, a contextual name is auto-generated.", inputSchema: { type: "object", properties: { name: { type: "string", description: "Agent address (3-30 chars, lowercase alphanumeric + hyphens). Omit for auto-generated name." }, mode: { type: "string", enum: ["public", "paired_only", "hybrid"], description: "Agent mode (default: public)" }, domain: { type: "string", enum: ["opvs.run", "opvs.pub"], description: "Domain (default: opvs.run)" }, framework: { type: "string", description: "Agent framework identifier" }, display_name: { type: "string", description: "Human-readable display name" }, bio: { type: "string", description: "Agent bio/description" }, ...WORKSPACE_PROP } } },
|
|
14
|
+
];
|
|
15
|
+
/** Map user-facing type names to OPVS wire symbols */
|
|
16
|
+
const TYPE_SYMBOLS = {
|
|
17
|
+
query: "?",
|
|
18
|
+
action: "!",
|
|
19
|
+
delegate: "~",
|
|
20
|
+
escalate: "^",
|
|
21
|
+
inform: ".",
|
|
22
|
+
handoff: ">",
|
|
23
|
+
reply: "<",
|
|
24
|
+
};
|
|
25
|
+
/** Map user-facing priority names to OPVS wire symbols */
|
|
26
|
+
const PRIORITY_SYMBOLS = {
|
|
27
|
+
critical: "!!!",
|
|
28
|
+
high: "!!",
|
|
29
|
+
normal: "!",
|
|
30
|
+
low: "",
|
|
31
|
+
};
|
|
32
|
+
export async function handleTool(name, args, callApi, buildUrl) {
|
|
33
|
+
const fmt = getFormat();
|
|
34
|
+
const ws = resolveWorkspace(args);
|
|
35
|
+
switch (name) {
|
|
36
|
+
case "opvs_send": {
|
|
37
|
+
const to = String(args.to);
|
|
38
|
+
const message = String(args.message);
|
|
39
|
+
const typeSym = TYPE_SYMBOLS[String(args.type || "inform")] || ".";
|
|
40
|
+
const priSym = PRIORITY_SYMBOLS[String(args.priority || "normal")] || "!";
|
|
41
|
+
const tags = args.tags || [];
|
|
42
|
+
const tagStr = tags.map(t => `#${t}`).join(" ");
|
|
43
|
+
// Build OPVS wire format body
|
|
44
|
+
const header = `@agent>${to} ${typeSym} ${priSym} ${tagStr}`.trimEnd();
|
|
45
|
+
const body = `${header}\n\n${message}`;
|
|
46
|
+
return ok(await callApi("POST", "/api/v1/opvs/send", ws, body, { "Content-Type": "text/opvs" }));
|
|
47
|
+
}
|
|
48
|
+
case "opvs_inbox": {
|
|
49
|
+
const params = {};
|
|
50
|
+
if (args.status)
|
|
51
|
+
params.status = String(args.status);
|
|
52
|
+
if (args.limit)
|
|
53
|
+
params.limit = String(args.limit);
|
|
54
|
+
return ok(await callApi("GET", buildUrl("/api/v1/opvs/inbox", params, fmt), ws));
|
|
55
|
+
}
|
|
56
|
+
case "opvs_read": {
|
|
57
|
+
return ok(await callApi("GET", buildUrl(`/api/v1/opvs/messages/${args.message_id}`, undefined, fmt), ws));
|
|
58
|
+
}
|
|
59
|
+
case "opvs_reply": {
|
|
60
|
+
const body = { message_id: String(args.message_id), body: String(args.body) };
|
|
61
|
+
return ok(await callApi("POST", "/api/v1/opvs/reply", ws, body));
|
|
62
|
+
}
|
|
63
|
+
case "opvs_resolve": {
|
|
64
|
+
const body = { message_id: String(args.message_id) };
|
|
65
|
+
return ok(await callApi("POST", "/api/v1/opvs/resolve", ws, body));
|
|
66
|
+
}
|
|
67
|
+
case "opvs_claim": {
|
|
68
|
+
const body = { pool: String(args.pool) };
|
|
69
|
+
return ok(await callApi("POST", "/api/v1/opvs/claim", ws, body));
|
|
70
|
+
}
|
|
71
|
+
case "opvs_agents": {
|
|
72
|
+
const params = {};
|
|
73
|
+
if (args.framework)
|
|
74
|
+
params.framework = String(args.framework);
|
|
75
|
+
if (args.status)
|
|
76
|
+
params.status = String(args.status);
|
|
77
|
+
if (args.limit)
|
|
78
|
+
params.limit = String(args.limit);
|
|
79
|
+
return ok(await callApi("GET", buildUrl("/api/v1/opvs/agents", params, fmt), ws));
|
|
80
|
+
}
|
|
81
|
+
case "opvs_register": {
|
|
82
|
+
const body = {};
|
|
83
|
+
if (args.name)
|
|
84
|
+
body.name = args.name;
|
|
85
|
+
if (args.mode)
|
|
86
|
+
body.mode = args.mode;
|
|
87
|
+
if (args.domain)
|
|
88
|
+
body.domain = args.domain;
|
|
89
|
+
if (args.framework)
|
|
90
|
+
body.framework = args.framework;
|
|
91
|
+
if (args.display_name)
|
|
92
|
+
body.display_name = args.display_name;
|
|
93
|
+
if (args.bio)
|
|
94
|
+
body.bio = args.bio;
|
|
95
|
+
return ok(await callApi("POST", "/api/v1/opvs/agents/register", ws, body));
|
|
96
|
+
}
|
|
97
|
+
default: return null;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=protocol.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/handlers/protocol.ts"],"names":[],"mappings":"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"}
|
package/dist/handlers/types.d.ts
CHANGED
|
@@ -17,7 +17,7 @@ export type ToolDef = {
|
|
|
17
17
|
required?: string[];
|
|
18
18
|
};
|
|
19
19
|
};
|
|
20
|
-
export type CallApiFn = (method: "GET" | "POST" | "PATCH" | "PUT" | "DELETE", path: string, wsSlug?: string, body?: unknown) => Promise<string>;
|
|
20
|
+
export type CallApiFn = (method: "GET" | "POST" | "PATCH" | "PUT" | "DELETE", path: string, wsSlug?: string, body?: unknown, headers?: Record<string, string>) => Promise<string>;
|
|
21
21
|
export type BuildUrlFn = typeof import("@opvs-ai/core").buildUrl;
|
|
22
22
|
export declare function ok(text: string): ToolResult;
|
|
23
23
|
export declare function err(msg: string): ToolResult;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/handlers/types.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/handlers/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AA2BH,MAAM,UAAU,EAAE,CAAC,IAAY;IAC7B,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,GAAW;IAC7B,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,UAAU,GAAG,EAAE,EAAE,CAAC;QAC3D,OAAO,EAAE,IAAa;KACvB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,SAAS,EAAE;QACT,IAAI,EAAE,QAAQ;QACd,WAAW,EACT,iHAAiH;KACpH;CACF,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,IAA6B;IAC5D,OAAQ,IAAI,CAAC,SAAoB,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,SAAS,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -25,27 +25,28 @@ import { TOOLS as DOCS_TOOLS, handleTool as handleDocs } from "./handlers/docs.j
|
|
|
25
25
|
import { TOOLS as VIEWS_TOOLS, handleTool as handleViews } from "./handlers/views.js";
|
|
26
26
|
import { TOOLS as STAGES_TOOLS, handleTool as handleStages } from "./handlers/stages.js";
|
|
27
27
|
import { TOOLS as AUTH_TOOLS, handleTool as handleAuth } from "./handlers/auth.js";
|
|
28
|
+
import { TOOLS as PROTOCOL_TOOLS, handleTool as handleProtocol } from "./handlers/protocol.js";
|
|
28
29
|
import { GENERATED_TOOLS, handleGeneratedTool } from "./generated-tools.js";
|
|
29
30
|
import { err } from "./handlers/types.js";
|
|
30
31
|
// ── API client ──────────────────────────────────────────────────
|
|
31
|
-
async function callApi(method, path, wsSlug, body) {
|
|
32
|
+
async function callApi(method, path, wsSlug, body, headers) {
|
|
32
33
|
const client = createClient(wsSlug);
|
|
33
34
|
let res;
|
|
34
35
|
switch (method) {
|
|
35
36
|
case "GET":
|
|
36
|
-
res = await client.get(path);
|
|
37
|
+
res = await client.get(path, headers);
|
|
37
38
|
break;
|
|
38
39
|
case "POST":
|
|
39
|
-
res = await client.post(path, body);
|
|
40
|
+
res = await client.post(path, body, headers);
|
|
40
41
|
break;
|
|
41
42
|
case "PATCH":
|
|
42
|
-
res = await client.patch(path, body);
|
|
43
|
+
res = await client.patch(path, body, headers);
|
|
43
44
|
break;
|
|
44
45
|
case "PUT":
|
|
45
|
-
res = await client.put(path, body);
|
|
46
|
+
res = await client.put(path, body, headers);
|
|
46
47
|
break;
|
|
47
48
|
case "DELETE":
|
|
48
|
-
res = await client.delete(path);
|
|
49
|
+
res = await client.delete(path, headers);
|
|
49
50
|
break;
|
|
50
51
|
}
|
|
51
52
|
return getResponseText(res);
|
|
@@ -61,9 +62,10 @@ const TOOLS = [
|
|
|
61
62
|
...VIEWS_TOOLS,
|
|
62
63
|
...STAGES_TOOLS,
|
|
63
64
|
...AUTH_TOOLS,
|
|
65
|
+
...PROTOCOL_TOOLS,
|
|
64
66
|
];
|
|
65
67
|
// ── Handler router ──────────────────────────────────────────────
|
|
66
|
-
const handlers = [handleBoard, handleAgent, handleDocs, handleViews, handleStages];
|
|
68
|
+
const handlers = [handleBoard, handleAgent, handleDocs, handleViews, handleStages, handleProtocol];
|
|
67
69
|
async function handleTool(name, args) {
|
|
68
70
|
// Try each domain handler
|
|
69
71
|
for (const handler of handlers) {
|
|
@@ -78,7 +80,7 @@ async function handleTool(name, args) {
|
|
|
78
80
|
return err(`Unknown tool: ${name}`);
|
|
79
81
|
}
|
|
80
82
|
// ── Server setup ────────────────────────────────────────────────
|
|
81
|
-
const server = new Server({ name: "opvs", version: "0.5.
|
|
83
|
+
const server = new Server({ name: "opvs", version: "0.5.7" }, { capabilities: { tools: {} } });
|
|
82
84
|
server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
83
85
|
tools: [...TOOLS, ...GENERATED_TOOLS],
|
|
84
86
|
}));
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAExE,mEAAmE;AACnE,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,UAAU,IAAI,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,UAAU,IAAI,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAE,KAAK,IAAI,UAAU,EAAE,UAAU,IAAI,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,UAAU,IAAI,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAE,KAAK,IAAI,YAAY,EAAE,UAAU,IAAI,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzF,OAAO,EAAE,KAAK,IAAI,UAAU,EAAE,UAAU,IAAI,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE5E,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAE1C,mEAAmE;AAEnE,KAAK,UAAU,OAAO,CACpB,MAAmD,EACnD,IAAY,EACZ,MAAe,EACf,IAAc;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAExE,mEAAmE;AACnE,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,UAAU,IAAI,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,UAAU,IAAI,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAE,KAAK,IAAI,UAAU,EAAE,UAAU,IAAI,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,UAAU,IAAI,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAE,KAAK,IAAI,YAAY,EAAE,UAAU,IAAI,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzF,OAAO,EAAE,KAAK,IAAI,UAAU,EAAE,UAAU,IAAI,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,KAAK,IAAI,cAAc,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC/F,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE5E,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAE1C,mEAAmE;AAEnE,KAAK,UAAU,OAAO,CACpB,MAAmD,EACnD,IAAY,EACZ,MAAe,EACf,IAAc,EACd,OAAgC;IAEhC,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACpC,IAAI,GAAa,CAAC;IAClB,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,KAAK;YAAE,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAAC,MAAM;QACzD,KAAK,MAAM;YAAE,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;YAAC,MAAM;QACjE,KAAK,OAAO;YAAE,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;YAAC,MAAM;QACnE,KAAK,KAAK;YAAE,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;YAAC,MAAM;QAC/D,KAAK,QAAQ;YAAE,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAAC,MAAM;IACjE,CAAC;IACD,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,EAAE,CAAC,IAAY;IACtB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AACxD,CAAC;AAED,mEAAmE;AAEnE,MAAM,KAAK,GAAG;IACZ,GAAG,WAAW;IACd,GAAG,WAAW;IACd,GAAG,UAAU;IACb,GAAG,WAAW;IACd,GAAG,YAAY;IACf,GAAG,UAAU;IACb,GAAG,cAAc;CAClB,CAAC;AAEF,mEAAmE;AAEnE,MAAM,QAAQ,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;AAEnG,KAAK,UAAU,UAAU,CAAC,IAAY,EAAE,IAA6B;IACnE,0BAA0B;IAC1B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC5D,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,MAAM,CAAC;IACrC,CAAC;IACD,uDAAuD;IACvD,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACzD,IAAI,UAAU,KAAK,IAAI;QAAE,OAAO,UAAU,CAAC;IAE3C,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;AACtC,CAAC;AAED,mEAAmE;AAEnE,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,EAClC,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAChC,CAAC;AAEF,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IAC5D,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,GAAG,eAAe,CAAC;CACtC,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAChE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IACjD,IAAI,CAAC;QACH,6CAA6C;QAC7C,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC,IAAI,EAAE,CAAC,IAAI,IAAI,EAAE,CAA4B,EAAE,OAAyF,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC1M,IAAI,eAAe,KAAK,IAAI;YAAE,OAAO,eAAe,CAAC;QACrD,kCAAkC;QAClC,OAAO,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC,IAAI,IAAI,EAAE,CAA4B,CAAC,CAAC;IACzE,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QACpB,MAAM,KAAK,GAAG,CAA0C,CAAC;QACzD,OAAO,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,eAAe,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;AAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC"}
|