@secondlayer/mcp 0.3.5 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/bin-http.js CHANGED
@@ -809,16 +809,78 @@ function registerSubgraphTools(server) {
809
809
  });
810
810
  }
811
811
 
812
+ // src/tools/workflows.ts
813
+ import { z as z4 } from "zod/v4";
814
+ function registerWorkflowTools(server) {
815
+ defineTool(server, "workflows_list", "List all workflows. Returns summary fields only.", {}, async () => {
816
+ const { workflows } = await getClient().workflows.list();
817
+ return {
818
+ content: [
819
+ {
820
+ type: "text",
821
+ text: JSON.stringify(workflows, null, 2)
822
+ }
823
+ ]
824
+ };
825
+ });
826
+ defineTool(server, "workflows_get", "Get full details of a workflow by name.", { name: z4.string().describe("Workflow name") }, async ({ name }) => {
827
+ const detail = await getClient().workflows.get(name);
828
+ return {
829
+ content: [{ type: "text", text: JSON.stringify(detail, null, 2) }]
830
+ };
831
+ });
832
+ defineTool(server, "workflows_trigger", "Trigger a workflow run. Optionally pass input as a JSON string.", {
833
+ name: z4.string().describe("Workflow name"),
834
+ input: z4.string().optional().describe("Input as JSON string")
835
+ }, async ({ name, input }) => {
836
+ const parsed = input ? JSON.parse(input) : undefined;
837
+ const result = await getClient().workflows.trigger(name, parsed);
838
+ return {
839
+ content: [{ type: "text", text: JSON.stringify(result, null, 2) }]
840
+ };
841
+ });
842
+ defineTool(server, "workflows_pause", "Pause a running workflow.", { name: z4.string().describe("Workflow name") }, async ({ name }) => {
843
+ await getClient().workflows.pause(name);
844
+ return {
845
+ content: [{ type: "text", text: `Paused workflow "${name}"` }]
846
+ };
847
+ });
848
+ defineTool(server, "workflows_resume", "Resume a paused workflow.", { name: z4.string().describe("Workflow name") }, async ({ name }) => {
849
+ await getClient().workflows.resume(name);
850
+ return {
851
+ content: [{ type: "text", text: `Resumed workflow "${name}"` }]
852
+ };
853
+ });
854
+ defineTool(server, "workflows_runs", "List runs for a workflow. Optionally filter by status and limit results.", {
855
+ name: z4.string().describe("Workflow name"),
856
+ status: z4.enum(["running", "completed", "failed", "cancelled"]).optional().describe("Filter by run status"),
857
+ limit: z4.number().optional().describe("Max runs to return (default 20)")
858
+ }, async ({ name, status, limit }) => {
859
+ const { runs } = await getClient().workflows.listRuns(name, {
860
+ status,
861
+ limit
862
+ });
863
+ return {
864
+ content: [
865
+ {
866
+ type: "text",
867
+ text: JSON.stringify(runs, null, 2)
868
+ }
869
+ ]
870
+ };
871
+ });
872
+ }
873
+
812
874
  // src/tools/templates.ts
813
875
  import {
814
876
  getTemplateById,
815
877
  getTemplatesByCategory,
816
878
  templates as templates2
817
879
  } from "@secondlayer/subgraphs/templates";
818
- import { z as z4 } from "zod/v4";
880
+ import { z as z5 } from "zod/v4";
819
881
  function registerTemplateTools(server) {
820
882
  defineTool(server, "templates_list", "List available subgraph templates. Returns metadata only — use templates_get for full code.", {
821
- category: z4.enum(["defi", "nft", "token", "infrastructure"]).optional().describe("Filter by category")
883
+ category: z5.enum(["defi", "nft", "token", "infrastructure"]).optional().describe("Filter by category")
822
884
  }, async ({ category }) => {
823
885
  const list = category ? getTemplatesByCategory(category) : templates2;
824
886
  return {
@@ -835,7 +897,7 @@ function registerTemplateTools(server) {
835
897
  ]
836
898
  };
837
899
  });
838
- defineTool(server, "templates_get", "Get a template's full code and prompt by ID.", { id: z4.string().describe("Template ID (e.g. 'dex-swaps')") }, async ({ id }) => {
900
+ defineTool(server, "templates_get", "Get a template's full code and prompt by ID.", { id: z5.string().describe("Template ID (e.g. 'dex-swaps')") }, async ({ id }) => {
839
901
  const template = getTemplateById(id);
840
902
  if (!template) {
841
903
  return {
@@ -879,6 +941,7 @@ function createServer() {
879
941
  registerStreamTools(server);
880
942
  registerSubgraphTools(server);
881
943
  registerAccountTools(server);
944
+ registerWorkflowTools(server);
882
945
  registerResources(server);
883
946
  return server;
884
947
  }
@@ -969,5 +1032,5 @@ httpServer.listen(port, () => {
969
1032
  console.error("Warning: SECONDLAYER_MCP_SECRET not set, authentication disabled");
970
1033
  });
971
1034
 
972
- //# debugId=6A63F850EB36446564756E2164756E21
1035
+ //# debugId=080385D15A6EE15164756E2164756E21
973
1036
  //# sourceMappingURL=bin-http.js.map
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../src/bin-http.ts", "../src/server.ts", "../src/resources.ts", "../src/tools/streams.ts", "../src/lib/client.ts", "../src/lib/format.ts", "../src/lib/tool.ts", "../src/tools/account.ts", "../src/tools/scaffold.ts", "../src/lib/scaffold-generate.ts", "../src/tools/subgraphs.ts", "../src/lib/bundle.ts", "../src/tools/templates.ts"],
3
+ "sources": ["../src/bin-http.ts", "../src/server.ts", "../src/resources.ts", "../src/tools/streams.ts", "../src/lib/client.ts", "../src/lib/format.ts", "../src/lib/tool.ts", "../src/tools/account.ts", "../src/tools/scaffold.ts", "../src/lib/scaffold-generate.ts", "../src/tools/subgraphs.ts", "../src/lib/bundle.ts", "../src/tools/workflows.ts", "../src/tools/templates.ts"],
4
4
  "sourcesContent": [
5
5
  "#!/usr/bin/env node\nimport {\n\ttype IncomingMessage,\n\ttype ServerResponse,\n\tcreateServer as createHttpServer,\n} from \"node:http\";\nimport { StreamableHTTPServerTransport } from \"@modelcontextprotocol/sdk/server/streamableHttp.js\";\nimport { createServer } from \"./server.ts\";\n\nconst port = Number.parseInt(process.env.SECONDLAYER_MCP_PORT || \"3100\");\nconst secret = process.env.SECONDLAYER_MCP_SECRET;\nconst sessions = new Map<string, StreamableHTTPServerTransport>();\n\nfunction authenticate(req: IncomingMessage): boolean {\n\tif (!secret) return true;\n\treturn req.headers.authorization === `Bearer ${secret}`;\n}\n\nconst httpServer = createHttpServer(\n\tasync (req: IncomingMessage, res: ServerResponse) => {\n\t\t// Only handle /mcp endpoint\n\t\tconst url = new URL(req.url ?? \"/\", `http://localhost:${port}`);\n\t\tif (url.pathname !== \"/mcp\") {\n\t\t\tres.writeHead(404).end(JSON.stringify({ error: \"Not found\" }));\n\t\t\treturn;\n\t\t}\n\n\t\t// Auth check\n\t\tif (!authenticate(req)) {\n\t\t\tres.writeHead(401).end(JSON.stringify({ error: \"Unauthorized\" }));\n\t\t\treturn;\n\t\t}\n\n\t\tconst sessionId = req.headers[\"mcp-session-id\"] as string | undefined;\n\n\t\tif (req.method === \"POST\") {\n\t\t\t// Read body with 1MB limit\n\t\t\tconst MAX_BODY = 1_048_576;\n\t\t\tconst chunks: Buffer[] = [];\n\t\t\tlet totalSize = 0;\n\t\t\tfor await (const chunk of req) {\n\t\t\t\ttotalSize += (chunk as Buffer).length;\n\t\t\t\tif (totalSize > MAX_BODY) {\n\t\t\t\t\tres\n\t\t\t\t\t\t.writeHead(413)\n\t\t\t\t\t\t.end(JSON.stringify({ error: \"Request body too large\" }));\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tchunks.push(chunk as Buffer);\n\t\t\t}\n\t\t\tlet body: any;\n\t\t\ttry {\n\t\t\t\tbody = JSON.parse(Buffer.concat(chunks).toString());\n\t\t\t} catch {\n\t\t\t\tres.writeHead(400).end(JSON.stringify({ error: \"Invalid JSON\" }));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Check if this is an initialize request (new session)\n\t\t\tconst isInitialize = Array.isArray(body)\n\t\t\t\t? body.some((m: { method?: string }) => m.method === \"initialize\")\n\t\t\t\t: body.method === \"initialize\";\n\n\t\t\tif (isInitialize) {\n\t\t\t\t// Create new session\n\t\t\t\tconst transport = new StreamableHTTPServerTransport({\n\t\t\t\t\tsessionIdGenerator: () => crypto.randomUUID(),\n\t\t\t\t});\n\t\t\t\tconst server = createServer();\n\t\t\t\tawait server.connect(transport);\n\n\t\t\t\t// Store session after handling (sessionId is set after first request)\n\t\t\t\tawait transport.handleRequest(req, res, body);\n\n\t\t\t\tif (transport.sessionId) {\n\t\t\t\t\tsessions.set(transport.sessionId, transport);\n\t\t\t\t\ttransport.onclose = () => {\n\t\t\t\t\t\tif (transport.sessionId) sessions.delete(transport.sessionId);\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Existing session\n\t\t\tif (!sessionId || !sessions.has(sessionId)) {\n\t\t\t\tres\n\t\t\t\t\t.writeHead(400)\n\t\t\t\t\t.end(JSON.stringify({ error: \"Invalid or missing session ID\" }));\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tawait sessions.get(sessionId)!.handleRequest(req, res, body);\n\t\t} else if (req.method === \"GET\") {\n\t\t\t// SSE stream for existing session\n\t\t\tif (!sessionId || !sessions.has(sessionId)) {\n\t\t\t\tres\n\t\t\t\t\t.writeHead(400)\n\t\t\t\t\t.end(JSON.stringify({ error: \"Invalid or missing session ID\" }));\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tawait sessions.get(sessionId)!.handleRequest(req, res);\n\t\t} else if (req.method === \"DELETE\") {\n\t\t\t// Session teardown\n\t\t\tif (sessionId && sessions.has(sessionId)) {\n\t\t\t\tconst transport = sessions.get(sessionId)!;\n\t\t\t\tawait transport.handleRequest(req, res);\n\t\t\t\tawait transport.close();\n\t\t\t\tsessions.delete(sessionId);\n\t\t\t} else {\n\t\t\t\tres\n\t\t\t\t\t.writeHead(400)\n\t\t\t\t\t.end(JSON.stringify({ error: \"Invalid or missing session ID\" }));\n\t\t\t}\n\t\t} else {\n\t\t\tres.writeHead(405).end(JSON.stringify({ error: \"Method not allowed\" }));\n\t\t}\n\t},\n);\n\nhttpServer.listen(port, () => {\n\tconsole.error(`SecondLayer MCP HTTP server listening on port ${port}`);\n\tif (!secret)\n\t\tconsole.error(\n\t\t\t\"Warning: SECONDLAYER_MCP_SECRET not set, authentication disabled\",\n\t\t);\n});\n",
6
- "import { readFileSync } from \"node:fs\";\nimport { dirname, join } from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\nimport { McpServer } from \"@modelcontextprotocol/sdk/server/mcp.js\";\nimport { registerResources } from \"./resources.ts\";\nimport { registerAccountTools } from \"./tools/account.ts\";\nimport { registerScaffoldTools } from \"./tools/scaffold.ts\";\nimport { registerStreamTools } from \"./tools/streams.ts\";\nimport { registerSubgraphTools } from \"./tools/subgraphs.ts\";\nimport { registerTemplateTools } from \"./tools/templates.ts\";\n\nconst __dirname = dirname(fileURLToPath(import.meta.url));\nconst pkg = JSON.parse(\n\treadFileSync(join(__dirname, \"../package.json\"), \"utf-8\"),\n);\n\nexport function createServer(): McpServer {\n\tconst server = new McpServer({\n\t\tname: \"secondlayer\",\n\t\tversion: pkg.version,\n\t});\n\n\tregisterTemplateTools(server);\n\tregisterScaffoldTools(server);\n\tregisterStreamTools(server);\n\tregisterSubgraphTools(server);\n\tregisterAccountTools(server);\n\tregisterResources(server);\n\n\treturn server;\n}\n",
6
+ "import { readFileSync } from \"node:fs\";\nimport { dirname, join } from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\nimport { McpServer } from \"@modelcontextprotocol/sdk/server/mcp.js\";\nimport { registerResources } from \"./resources.ts\";\nimport { registerAccountTools } from \"./tools/account.ts\";\nimport { registerScaffoldTools } from \"./tools/scaffold.ts\";\nimport { registerStreamTools } from \"./tools/streams.ts\";\nimport { registerSubgraphTools } from \"./tools/subgraphs.ts\";\nimport { registerWorkflowTools } from \"./tools/workflows.ts\";\nimport { registerTemplateTools } from \"./tools/templates.ts\";\n\nconst __dirname = dirname(fileURLToPath(import.meta.url));\nconst pkg = JSON.parse(\n\treadFileSync(join(__dirname, \"../package.json\"), \"utf-8\"),\n);\n\nexport function createServer(): McpServer {\n\tconst server = new McpServer({\n\t\tname: \"secondlayer\",\n\t\tversion: pkg.version,\n\t});\n\n\tregisterTemplateTools(server);\n\tregisterScaffoldTools(server);\n\tregisterStreamTools(server);\n\tregisterSubgraphTools(server);\n\tregisterAccountTools(server);\n\tregisterWorkflowTools(server);\n\tregisterResources(server);\n\n\treturn server;\n}\n",
7
7
  "import type { McpServer } from \"@modelcontextprotocol/sdk/server/mcp.js\";\nimport { templates } from \"@secondlayer/subgraphs/templates\";\nimport { FilterSchema } from \"./tools/streams.ts\";\n\n/** Derived from FilterSchema — single source of truth for filter types and fields. */\nconst FILTERS_REFERENCE = FilterSchema.options.map((opt) => ({\n\ttype: opt.shape.type.def.values[0] as string,\n\tfields: Object.keys(opt.shape).filter((k) => k !== \"type\"),\n}));\n\nconst COLUMN_TYPES = [\n\t{\n\t\ttype: \"uint\",\n\t\tsqlType: \"bigint\",\n\t\tdescription: \"Unsigned integer (Clarity uint)\",\n\t},\n\t{\n\t\ttype: \"int\",\n\t\tsqlType: \"bigint\",\n\t\tdescription: \"Signed integer (Clarity int)\",\n\t},\n\t{ type: \"text\", sqlType: \"text\", description: \"UTF-8 string\" },\n\t{\n\t\ttype: \"principal\",\n\t\tsqlType: \"text\",\n\t\tdescription: \"Stacks address (standard or contract)\",\n\t},\n\t{ type: \"bool\", sqlType: \"boolean\", description: \"Boolean value\" },\n\t{ type: \"json\", sqlType: \"jsonb\", description: \"Arbitrary JSON data\" },\n\t{\n\t\toptions: [\"nullable\", \"indexed\", \"search\"],\n\t\tdescription:\n\t\t\t\"Column options: nullable allows NULL, indexed creates a B-tree index, search enables full-text search\",\n\t},\n];\n\nexport function registerResources(server: McpServer) {\n\tserver.resource(\n\t\t\"filters\",\n\t\t\"secondlayer://filters\",\n\t\t{ description: \"Stream filter types and their available fields\" },\n\t\tasync () => ({\n\t\t\tcontents: [\n\t\t\t\t{\n\t\t\t\t\turi: \"secondlayer://filters\",\n\t\t\t\t\tmimeType: \"application/json\",\n\t\t\t\t\ttext: JSON.stringify(FILTERS_REFERENCE, null, 2),\n\t\t\t\t},\n\t\t\t],\n\t\t}),\n\t);\n\n\tserver.resource(\n\t\t\"column-types\",\n\t\t\"secondlayer://column-types\",\n\t\t{ description: \"Subgraph column types, SQL mappings, and options\" },\n\t\tasync () => ({\n\t\t\tcontents: [\n\t\t\t\t{\n\t\t\t\t\turi: \"secondlayer://column-types\",\n\t\t\t\t\tmimeType: \"application/json\",\n\t\t\t\t\ttext: JSON.stringify(COLUMN_TYPES, null, 2),\n\t\t\t\t},\n\t\t\t],\n\t\t}),\n\t);\n\n\tserver.resource(\n\t\t\"templates\",\n\t\t\"secondlayer://templates\",\n\t\t{\n\t\t\tdescription:\n\t\t\t\t\"Available subgraph templates with descriptions and categories\",\n\t\t},\n\t\tasync () => ({\n\t\t\tcontents: [\n\t\t\t\t{\n\t\t\t\t\turi: \"secondlayer://templates\",\n\t\t\t\t\tmimeType: \"application/json\",\n\t\t\t\t\ttext: JSON.stringify(\n\t\t\t\t\t\ttemplates.map(({ id, name, description, category }) => ({\n\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\tname,\n\t\t\t\t\t\t\tdescription,\n\t\t\t\t\t\t\tcategory,\n\t\t\t\t\t\t})),\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\t2,\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t],\n\t\t}),\n\t);\n}\n",
8
8
  "import type { McpServer } from \"@modelcontextprotocol/sdk/server/mcp.js\";\nimport { z } from \"zod/v4\";\nimport { apiRequest, getClient } from \"../lib/client.ts\";\nimport {\n\tformatDeliverySummary,\n\tformatStreamSummary,\n\twithCap,\n} from \"../lib/format.ts\";\nimport { defineTool } from \"../lib/tool.ts\";\n\n/** Filter schema — full 13-type discriminated union for MCP JSON Schema generation. */\nexport const FilterSchema = z.discriminatedUnion(\"type\", [\n\tz.object({\n\t\ttype: z.literal(\"stx_transfer\"),\n\t\tsender: z.string().optional(),\n\t\trecipient: z.string().optional(),\n\t\tminAmount: z.number().optional(),\n\t\tmaxAmount: z.number().optional(),\n\t}),\n\tz.object({\n\t\ttype: z.literal(\"stx_mint\"),\n\t\trecipient: z.string().optional(),\n\t\tminAmount: z.number().optional(),\n\t}),\n\tz.object({\n\t\ttype: z.literal(\"stx_burn\"),\n\t\tsender: z.string().optional(),\n\t\tminAmount: z.number().optional(),\n\t}),\n\tz.object({\n\t\ttype: z.literal(\"stx_lock\"),\n\t\tlockedAddress: z.string().optional(),\n\t\tminAmount: z.number().optional(),\n\t}),\n\tz.object({\n\t\ttype: z.literal(\"ft_transfer\"),\n\t\tsender: z.string().optional(),\n\t\trecipient: z.string().optional(),\n\t\tassetIdentifier: z.string().optional(),\n\t\tminAmount: z.number().optional(),\n\t}),\n\tz.object({\n\t\ttype: z.literal(\"ft_mint\"),\n\t\trecipient: z.string().optional(),\n\t\tassetIdentifier: z.string().optional(),\n\t\tminAmount: z.number().optional(),\n\t}),\n\tz.object({\n\t\ttype: z.literal(\"ft_burn\"),\n\t\tsender: z.string().optional(),\n\t\tassetIdentifier: z.string().optional(),\n\t\tminAmount: z.number().optional(),\n\t}),\n\tz.object({\n\t\ttype: z.literal(\"nft_transfer\"),\n\t\tsender: z.string().optional(),\n\t\trecipient: z.string().optional(),\n\t\tassetIdentifier: z.string().optional(),\n\t\ttokenId: z.string().optional(),\n\t}),\n\tz.object({\n\t\ttype: z.literal(\"nft_mint\"),\n\t\trecipient: z.string().optional(),\n\t\tassetIdentifier: z.string().optional(),\n\t\ttokenId: z.string().optional(),\n\t}),\n\tz.object({\n\t\ttype: z.literal(\"nft_burn\"),\n\t\tsender: z.string().optional(),\n\t\tassetIdentifier: z.string().optional(),\n\t\ttokenId: z.string().optional(),\n\t}),\n\tz.object({\n\t\ttype: z.literal(\"contract_call\"),\n\t\tcontractId: z.string().optional(),\n\t\tfunctionName: z.string().optional(),\n\t\tcaller: z.string().optional(),\n\t}),\n\tz.object({\n\t\ttype: z.literal(\"contract_deploy\"),\n\t\tdeployer: z.string().optional(),\n\t\tcontractName: z.string().optional(),\n\t}),\n\tz.object({\n\t\ttype: z.literal(\"print_event\"),\n\t\tcontractId: z.string().optional(),\n\t\ttopic: z.string().optional(),\n\t\tcontains: z.string().optional(),\n\t}),\n]);\n\ntype Filter = z.infer<typeof FilterSchema>;\n\nexport function registerStreamTools(server: McpServer) {\n\tdefineTool<{ status?: string }>(\n\t\tserver,\n\t\t\"streams_list\",\n\t\t\"List all webhook streams. Returns summary fields only.\",\n\t\t{\n\t\t\tstatus: z\n\t\t\t\t.enum([\"active\", \"inactive\", \"paused\", \"failed\"])\n\t\t\t\t.optional()\n\t\t\t\t.describe(\"Filter by status\"),\n\t\t},\n\t\tasync ({ status }) => {\n\t\t\tconst { streams } = await getClient().streams.list(\n\t\t\t\tstatus ? { status } : undefined,\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tcontent: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\ttext: JSON.stringify(streams.map(formatStreamSummary), null, 2),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{ id: string }>(\n\t\tserver,\n\t\t\"streams_get\",\n\t\t\"Get full details of a stream by ID (accepts UUID prefix).\",\n\t\t{ id: z.string().describe(\"Stream UUID or prefix\") },\n\t\tasync ({ id }) => {\n\t\t\tconst stream = await getClient().streams.get(id);\n\t\t\treturn {\n\t\t\t\tcontent: [{ type: \"text\", text: JSON.stringify(stream, null, 2) }],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{ name: string; endpointUrl: string; filters: Filter[] }>(\n\t\tserver,\n\t\t\"streams_create\",\n\t\t\"Create a new webhook stream with filters.\",\n\t\t{\n\t\t\tname: z.string().describe(\"Stream name\"),\n\t\t\tendpointUrl: z.string().describe(\"Webhook endpoint URL\"),\n\t\t\tfilters: z\n\t\t\t\t.array(FilterSchema)\n\t\t\t\t.min(1)\n\t\t\t\t.describe(\"Event filters (at least one required)\"),\n\t\t},\n\t\tasync ({ name, endpointUrl, filters }) => {\n\t\t\tconst result = await getClient().streams.create({\n\t\t\t\tname,\n\t\t\t\tendpointUrl,\n\t\t\t\tfilters,\n\t\t\t});\n\t\t\treturn {\n\t\t\t\tcontent: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\ttext: JSON.stringify(\n\t\t\t\t\t\t\t{ id: result.stream.id, signingSecret: result.signingSecret },\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t2,\n\t\t\t\t\t\t),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{\n\t\tid: string;\n\t\tname?: string;\n\t\tendpointUrl?: string;\n\t\tfilters?: Filter[];\n\t}>(\n\t\tserver,\n\t\t\"streams_update\",\n\t\t\"Update a stream's name, endpoint, or filters.\",\n\t\t{\n\t\t\tid: z.string().describe(\"Stream UUID or prefix\"),\n\t\t\tname: z.string().optional().describe(\"New name\"),\n\t\t\tendpointUrl: z.string().optional().describe(\"New endpoint URL\"),\n\t\t\tfilters: z.array(FilterSchema).min(1).optional().describe(\"New filters\"),\n\t\t},\n\t\tasync ({ id, name, endpointUrl, filters }) => {\n\t\t\tconst data: Record<string, unknown> = {};\n\t\t\tif (name !== undefined) data.name = name;\n\t\t\tif (endpointUrl !== undefined) data.endpointUrl = endpointUrl;\n\t\t\tif (filters !== undefined) data.filters = filters;\n\t\t\tconst stream = await getClient().streams.update(id, data as any);\n\t\t\treturn {\n\t\t\t\tcontent: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\ttext: JSON.stringify(formatStreamSummary(stream), null, 2),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{ id: string }>(\n\t\tserver,\n\t\t\"streams_delete\",\n\t\t\"Delete a stream permanently.\",\n\t\t{ id: z.string().describe(\"Stream UUID or prefix\") },\n\t\tasync ({ id }) => {\n\t\t\tawait getClient().streams.delete(id);\n\t\t\treturn { content: [{ type: \"text\", text: `Stream ${id} deleted.` }] };\n\t\t},\n\t);\n\n\tdefineTool<{ id: string; enabled: boolean }>(\n\t\tserver,\n\t\t\"streams_toggle\",\n\t\t\"Enable or disable a stream.\",\n\t\t{\n\t\t\tid: z.string().describe(\"Stream UUID or prefix\"),\n\t\t\tenabled: z.boolean().describe(\"true to enable, false to disable\"),\n\t\t},\n\t\tasync ({ id, enabled }) => {\n\t\t\tconst stream = enabled\n\t\t\t\t? await getClient().streams.enable(id)\n\t\t\t\t: await getClient().streams.disable(id);\n\t\t\treturn {\n\t\t\t\tcontent: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\ttext: JSON.stringify(\n\t\t\t\t\t\t\t{ id: stream.id, status: stream.status },\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t2,\n\t\t\t\t\t\t),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{ id: string; limit?: number; status?: string }>(\n\t\tserver,\n\t\t\"streams_deliveries\",\n\t\t\"List recent deliveries for a stream (max 25).\",\n\t\t{\n\t\t\tid: z.string().describe(\"Stream UUID or prefix\"),\n\t\t\tlimit: z.number().max(25).optional().describe(\"Max results (default 25)\"),\n\t\t\tstatus: z.string().optional().describe(\"Filter by delivery status\"),\n\t\t},\n\t\tasync ({ id, limit, status }) => {\n\t\t\tconst { deliveries } = await getClient().streams.listDeliveries(id, {\n\t\t\t\tlimit: limit ?? 25,\n\t\t\t\tstatus,\n\t\t\t});\n\t\t\tconst result = withCap(deliveries.map(formatDeliverySummary), 25);\n\t\t\treturn {\n\t\t\t\tcontent: [{ type: \"text\", text: JSON.stringify(result, null, 2) }],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{ confirm?: boolean }>(\n\t\tserver,\n\t\t\"streams_pause_all\",\n\t\t\"Pause all active streams. Without confirm: true, returns a preview of streams that would be paused.\",\n\t\t{\n\t\t\tconfirm: z\n\t\t\t\t.boolean()\n\t\t\t\t.optional()\n\t\t\t\t.describe(\"Set to true to execute. Omit or false for preview only.\"),\n\t\t},\n\t\tasync ({ confirm }) => {\n\t\t\tif (!confirm) {\n\t\t\t\tconst { streams } = await getClient().streams.list({\n\t\t\t\t\tstatus: \"active\",\n\t\t\t\t});\n\t\t\t\tconst names = streams.map((s) => s.name);\n\t\t\t\treturn {\n\t\t\t\t\tcontent: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\ttext: JSON.stringify(\n\t\t\t\t\t\t\t\t{ preview: true, count: names.length, streams: names },\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t2,\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t};\n\t\t\t}\n\t\t\tconst result = await getClient().streams.pauseAll();\n\t\t\treturn {\n\t\t\t\tcontent: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\ttext: JSON.stringify(\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tpaused: result.paused,\n\t\t\t\t\t\t\t\tstreams: result.streams.map(formatStreamSummary),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t2,\n\t\t\t\t\t\t),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{ confirm?: boolean }>(\n\t\tserver,\n\t\t\"streams_resume_all\",\n\t\t\"Resume all paused streams. Without confirm: true, returns a preview of streams that would be resumed.\",\n\t\t{\n\t\t\tconfirm: z\n\t\t\t\t.boolean()\n\t\t\t\t.optional()\n\t\t\t\t.describe(\"Set to true to execute. Omit or false for preview only.\"),\n\t\t},\n\t\tasync ({ confirm }) => {\n\t\t\tif (!confirm) {\n\t\t\t\tconst { streams } = await getClient().streams.list({\n\t\t\t\t\tstatus: \"paused\",\n\t\t\t\t});\n\t\t\t\tconst names = streams.map((s) => s.name);\n\t\t\t\treturn {\n\t\t\t\t\tcontent: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\ttext: JSON.stringify(\n\t\t\t\t\t\t\t\t{ preview: true, count: names.length, streams: names },\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t2,\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t};\n\t\t\t}\n\t\t\tconst result = await getClient().streams.resumeAll();\n\t\t\treturn {\n\t\t\t\tcontent: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\ttext: JSON.stringify(\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tresumed: result.resumed,\n\t\t\t\t\t\t\t\tstreams: result.streams.map(formatStreamSummary),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t2,\n\t\t\t\t\t\t),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{ id: string; fromBlock: number; toBlock: number }>(\n\t\tserver,\n\t\t\"streams_replay\",\n\t\t\"Replay blocks through a stream, re-delivering events for a block range.\",\n\t\t{\n\t\t\tid: z.string().describe(\"Stream UUID or prefix\"),\n\t\t\tfromBlock: z.number().describe(\"Start block height (inclusive)\"),\n\t\t\ttoBlock: z.number().describe(\"End block height (inclusive)\"),\n\t\t},\n\t\tasync ({ id, fromBlock, toBlock }) => {\n\t\t\tconst result = await apiRequest<{\n\t\t\t\tstreamId: string;\n\t\t\t\tfromBlock: number;\n\t\t\t\ttoBlock: number;\n\t\t\t\tjobCount: number;\n\t\t\t\tmessage: string;\n\t\t\t}>(\"POST\", `/api/streams/${id}/replay`, { fromBlock, toBlock });\n\t\t\treturn {\n\t\t\t\tcontent: [{ type: \"text\", text: JSON.stringify(result, null, 2) }],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{ id: string }>(\n\t\tserver,\n\t\t\"streams_rotate_secret\",\n\t\t\"Rotate the signing secret for a stream. Returns the new secret.\",\n\t\t{ id: z.string().describe(\"Stream UUID or prefix\") },\n\t\tasync ({ id }) => {\n\t\t\tconst result = await getClient().streams.rotateSecret(id);\n\t\t\treturn {\n\t\t\t\tcontent: [{ type: \"text\", text: JSON.stringify(result, null, 2) }],\n\t\t\t};\n\t\t},\n\t);\n}\n",
9
9
  "import { SecondLayer } from \"@secondlayer/sdk\";\n\nlet instance: SecondLayer | null = null;\n\n/** Lazy SDK singleton from SECONDLAYER_API_KEY env var. */\nexport function getClient(): SecondLayer {\n\tif (!instance) {\n\t\tconst apiKey = process.env.SECONDLAYER_API_KEY;\n\t\tif (!apiKey) {\n\t\t\tthrow new Error(\n\t\t\t\t\"SECONDLAYER_API_KEY environment variable is required. \" +\n\t\t\t\t\t\"Get your key at https://app.secondlayer.tools/settings/api-keys\",\n\t\t\t);\n\t\t}\n\t\tinstance = new SecondLayer({ apiKey });\n\t}\n\treturn instance;\n}\n\n/** Raw fetch helper for API endpoints not covered by the SDK. */\nexport async function apiRequest<T>(\n\tmethod: string,\n\tpath: string,\n\tbody?: unknown,\n): Promise<T> {\n\tconst apiKey = process.env.SECONDLAYER_API_KEY;\n\tif (!apiKey) throw new Error(\"SECONDLAYER_API_KEY required\");\n\tconst baseUrl =\n\t\tprocess.env.SECONDLAYER_API_URL || \"https://api.secondlayer.tools\";\n\tconst res = await fetch(`${baseUrl}${path}`, {\n\t\tmethod,\n\t\theaders: {\n\t\t\t\"Content-Type\": \"application/json\",\n\t\t\tAuthorization: `Bearer ${apiKey}`,\n\t\t},\n\t\tbody: body ? JSON.stringify(body) : undefined,\n\t});\n\tif (!res.ok) {\n\t\tconst text = await res.text().catch(() => \"\");\n\t\tthrow Object.assign(new Error(text || `HTTP ${res.status}`), {\n\t\t\tstatus: res.status,\n\t\t});\n\t}\n\tif (res.status === 204) return undefined as T;\n\treturn res.json() as Promise<T>;\n}\n",
@@ -14,9 +14,10 @@
14
14
  "/**\n * Subgraph scaffold generator — copied from apps/web/src/lib/scaffold/generate.ts.\n * Browser-safe, pure string templating, no deps.\n */\n\ntype AbiType = string | Record<string, unknown>;\n\ninterface AbiFunction {\n\tname: string;\n\taccess: \"public\" | \"read-only\" | \"private\";\n\targs: ReadonlyArray<{ name: string; type: AbiType }>;\n\toutputs: AbiType;\n}\n\ninterface AbiMap {\n\tname: string;\n\tkey: AbiType;\n\tvalue: AbiType;\n}\n\ntype ColumnType =\n\t| \"uint\"\n\t| \"int\"\n\t| \"principal\"\n\t| \"boolean\"\n\t| \"text\"\n\t| \"jsonb\"\n\t| \"serial\";\n\ninterface MappedColumn {\n\ttype: ColumnType;\n\tnullable: boolean;\n}\n\nfunction isAbiBuffer(t: AbiType): t is { buff: { length: number } } {\n\treturn typeof t === \"object\" && t !== null && \"buff\" in t;\n}\nfunction isAbiStringAscii(\n\tt: AbiType,\n): t is { \"string-ascii\": { length: number } } {\n\treturn typeof t === \"object\" && t !== null && \"string-ascii\" in t;\n}\nfunction isAbiStringUtf8(\n\tt: AbiType,\n): t is { \"string-utf8\": { length: number } } {\n\treturn typeof t === \"object\" && t !== null && \"string-utf8\" in t;\n}\nfunction isAbiOptional(t: AbiType): t is { optional: AbiType } {\n\treturn typeof t === \"object\" && t !== null && \"optional\" in t;\n}\nfunction isAbiTuple(\n\tt: AbiType,\n): t is { tuple: ReadonlyArray<{ name: string; type: AbiType }> } {\n\treturn typeof t === \"object\" && t !== null && \"tuple\" in t;\n}\nfunction isAbiList(\n\tt: AbiType,\n): t is { list: { type: AbiType; length: number } } {\n\treturn typeof t === \"object\" && t !== null && \"list\" in t;\n}\nfunction isAbiResponse(\n\tt: AbiType,\n): t is { response: { ok: AbiType; error: AbiType } } {\n\treturn typeof t === \"object\" && t !== null && \"response\" in t;\n}\n\nfunction mapType(abiType: AbiType, nullable: boolean): MappedColumn {\n\tif (typeof abiType === \"string\") {\n\t\tswitch (abiType) {\n\t\t\tcase \"uint128\":\n\t\t\t\treturn { type: \"uint\", nullable };\n\t\t\tcase \"int128\":\n\t\t\t\treturn { type: \"int\", nullable };\n\t\t\tcase \"principal\":\n\t\t\tcase \"trait_reference\":\n\t\t\t\treturn { type: \"principal\", nullable };\n\t\t\tcase \"bool\":\n\t\t\t\treturn { type: \"boolean\", nullable };\n\t\t\tdefault: {\n\t\t\t\tconst s = abiType;\n\t\t\t\tif (s.includes(\"uint\")) return { type: \"uint\", nullable };\n\t\t\t\tif (s.includes(\"int\")) return { type: \"int\", nullable };\n\t\t\t\tif (s.includes(\"string\") || s.includes(\"ascii\") || s.includes(\"utf8\")) {\n\t\t\t\t\treturn { type: \"text\", nullable };\n\t\t\t\t}\n\t\t\t\tif (s.includes(\"buff\")) return { type: \"text\", nullable };\n\t\t\t\treturn { type: \"jsonb\", nullable };\n\t\t\t}\n\t\t}\n\t}\n\n\tif (isAbiBuffer(abiType)) return { type: \"text\", nullable };\n\tif (isAbiStringAscii(abiType) || isAbiStringUtf8(abiType)) {\n\t\treturn { type: \"text\", nullable };\n\t}\n\tif (isAbiOptional(abiType))\n\t\treturn mapType((abiType as { optional: AbiType }).optional, true);\n\tif (isAbiList(abiType) || isAbiTuple(abiType))\n\t\treturn { type: \"jsonb\", nullable };\n\tif (isAbiResponse(abiType)) {\n\t\treturn mapType(\n\t\t\t(abiType as { response: { ok: AbiType } }).response.ok,\n\t\t\tnullable,\n\t\t);\n\t}\n\n\treturn { type: \"jsonb\", nullable };\n}\n\nfunction clarityTypeToSubgraphColumn(abiType: AbiType): MappedColumn {\n\treturn mapType(abiType, false);\n}\n\nfunction toSnake(name: string): string {\n\treturn name.replace(/-/g, \"_\");\n}\n\nfunction toCamel(name: string): string {\n\treturn name.replace(/-([a-z])/g, (_, c) => c.toUpperCase());\n}\n\nfunction buildColumns(\n\targs: ReadonlyArray<{ name: string; type: AbiType }>,\n): string {\n\tif (args.length === 0) return \" _placeholder: { type: 'text' }\";\n\treturn args\n\t\t.map((arg) => {\n\t\t\tconst mapped = clarityTypeToSubgraphColumn(arg.type);\n\t\t\tconst nullable = mapped.nullable ? \", nullable: true\" : \"\";\n\t\t\treturn ` ${toSnake(arg.name)}: { type: '${mapped.type}'${nullable} }`;\n\t\t})\n\t\t.join(\",\\n\");\n}\n\nfunction buildInsertCall(\n\ttableName: string,\n\targs: ReadonlyArray<{ name: string; type: AbiType }>,\n): string {\n\tif (args.length === 0) {\n\t\treturn ` ctx.insert('${tableName}', {\\n sender: ctx.tx.sender,\\n });`;\n\t}\n\n\tconst mappings = args.map((arg) => {\n\t\treturn ` ${toSnake(arg.name)}: event.${toCamel(arg.name)}`;\n\t});\n\n\treturn ` ctx.insert('${tableName}', {\\n${mappings.join(\",\\n\")},\\n });`;\n}\n\nexport function generateSubgraphCode(\n\tcontractId: string,\n\tfunctions: readonly AbiFunction[],\n\tsubgraphName?: string,\n\tevents?: readonly AbiMap[],\n): string {\n\tconst contractParts = contractId.split(\".\");\n\tconst contractName = contractParts[contractParts.length - 1] ?? contractId;\n\tconst name = subgraphName ?? contractName;\n\n\tconst publicFunctions = functions.filter((f) => f.access === \"public\");\n\tconst hasEvents = events && events.length > 0;\n\n\tif (publicFunctions.length === 0 && !hasEvents) {\n\t\treturn `// No public functions or events selected for ${contractId}`;\n\t}\n\n\tconst tableDefs: string[] = [];\n\n\tif (hasEvents) {\n\t\tfor (const ev of events) {\n\t\t\tconst tableName = toSnake(ev.name);\n\t\t\tlet columns: string;\n\t\t\tif (isAbiTuple(ev.value)) {\n\t\t\t\tcolumns = buildColumns(ev.value.tuple);\n\t\t\t} else {\n\t\t\t\tcolumns = ` value: { type: '${clarityTypeToSubgraphColumn(ev.value).type}' }`;\n\t\t\t}\n\t\t\ttableDefs.push(\n\t\t\t\t` ${tableName}: {\\n columns: {\\n${columns}\\n }\\n }`,\n\t\t\t);\n\t\t}\n\t}\n\n\tfor (const fn of publicFunctions) {\n\t\tconst tableName = toSnake(fn.name);\n\t\tconst columns = buildColumns(fn.args);\n\t\ttableDefs.push(\n\t\t\t` ${tableName}: {\\n columns: {\\n${columns}\\n }\\n }`,\n\t\t);\n\t}\n\n\tconst schemaBlock = tableDefs.join(\",\\n\");\n\n\tconst sourceEntries: string[] = [`{ contract: '${contractId}' }`];\n\n\tconst handlerEntries: string[] = [];\n\n\tif (hasEvents) {\n\t\tfor (const ev of events) {\n\t\t\tconst tableName = toSnake(ev.name);\n\t\t\tlet insertCall: string;\n\t\t\tif (isAbiTuple(ev.value)) {\n\t\t\t\tinsertCall = buildInsertCall(tableName, ev.value.tuple);\n\t\t\t} else {\n\t\t\t\tinsertCall = ` ctx.insert('${tableName}', {\\n value: event.value,\\n });`;\n\t\t\t}\n\t\t\thandlerEntries.push(\n\t\t\t\t` '${contractId}::${ev.name}': async (event, ctx) => {\\n${insertCall}\\n }`,\n\t\t\t);\n\t\t}\n\t}\n\n\tfor (const fn of publicFunctions) {\n\t\tconst tableName = toSnake(fn.name);\n\t\tconst insertCall = buildInsertCall(tableName, fn.args);\n\t\thandlerEntries.push(\n\t\t\t` '${contractId}::${fn.name}': async (event, ctx) => {\\n${insertCall}\\n }`,\n\t\t);\n\t}\n\n\tconst handlersBlock = handlerEntries.join(\",\\n\\n\");\n\n\treturn `import { defineSubgraph } from '@secondlayer/subgraphs';\n\nexport default defineSubgraph({\n name: '${name}',\n sources: [${sourceEntries.join(\", \")}],\n schema: {\n${schemaBlock}\n },\n handlers: {\n${handlersBlock}\n }\n});\n`;\n}\n\nexport type { AbiFunction, AbiMap };\n",
15
15
  "import type { McpServer } from \"@modelcontextprotocol/sdk/server/mcp.js\";\nimport { z } from \"zod/v4\";\nimport { bundleSubgraphCode } from \"../lib/bundle.ts\";\nimport { getClient } from \"../lib/client.ts\";\nimport { formatSubgraphSummary, withCap } from \"../lib/format.ts\";\nimport { defineTool } from \"../lib/tool.ts\";\n\nexport function registerSubgraphTools(server: McpServer) {\n\tdefineTool<Record<string, never>>(\n\t\tserver,\n\t\t\"subgraphs_list\",\n\t\t\"List all deployed subgraphs. Returns summary fields only.\",\n\t\t{},\n\t\tasync () => {\n\t\t\tconst { data } = await getClient().subgraphs.list();\n\t\t\treturn {\n\t\t\t\tcontent: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\ttext: JSON.stringify(data.map(formatSubgraphSummary), null, 2),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{ name: string }>(\n\t\tserver,\n\t\t\"subgraphs_get\",\n\t\t\"Get full details of a subgraph including schema, health, and table columns.\",\n\t\t{ name: z.string().describe(\"Subgraph name\") },\n\t\tasync ({ name }) => {\n\t\t\tconst detail = await getClient().subgraphs.get(name);\n\t\t\treturn {\n\t\t\t\tcontent: [{ type: \"text\", text: JSON.stringify(detail, null, 2) }],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{\n\t\tname: string;\n\t\ttable: string;\n\t\tfilters?: Record<string, string>;\n\t\tsort?: string;\n\t\torder?: string;\n\t\tlimit?: number;\n\t\toffset?: number;\n\t\tfields?: string;\n\t\tcount?: boolean;\n\t}>(\n\t\tserver,\n\t\t\"subgraphs_query\",\n\t\t'Query rows from a subgraph table (max 200 rows). Filters support operators: \"amount.gte\": \"1000\", \"sender.neq\": \"SP...\", \"name.like\": \"%token%\". Available operators: eq, neq, gt, gte, lt, lte, like.',\n\t\t{\n\t\t\tname: z.string().describe(\"Subgraph name\"),\n\t\t\ttable: z.string().describe(\"Table name\"),\n\t\t\tfilters: z\n\t\t\t\t.record(z.string(), z.string())\n\t\t\t\t.optional()\n\t\t\t\t.describe(\n\t\t\t\t\t'Column filters — plain values or with operators (e.g. {\"amount.gte\": \"1000\", \"sender\": \"SP...\"})',\n\t\t\t\t),\n\t\t\tsort: z.string().optional().describe(\"Column to sort by\"),\n\t\t\torder: z.enum([\"asc\", \"desc\"]).optional().describe(\"Sort order\"),\n\t\t\tlimit: z\n\t\t\t\t.number()\n\t\t\t\t.max(200)\n\t\t\t\t.optional()\n\t\t\t\t.describe(\"Max rows (default 50, max 200)\"),\n\t\t\toffset: z.number().optional().describe(\"Offset for pagination\"),\n\t\t\tfields: z\n\t\t\t\t.string()\n\t\t\t\t.optional()\n\t\t\t\t.describe(\n\t\t\t\t\t'Comma-separated column list to return (e.g. \"sender,amount\")',\n\t\t\t\t),\n\t\t\tcount: z\n\t\t\t\t.boolean()\n\t\t\t\t.optional()\n\t\t\t\t.describe(\"If true, return row count instead of rows\"),\n\t\t},\n\t\tasync ({\n\t\t\tname,\n\t\t\ttable,\n\t\t\tfilters,\n\t\t\tsort,\n\t\t\torder,\n\t\t\tlimit,\n\t\t\toffset,\n\t\t\tfields,\n\t\t\tcount,\n\t\t}) => {\n\t\t\tif (count) {\n\t\t\t\tconst result = await getClient().subgraphs.queryTableCount(\n\t\t\t\t\tname,\n\t\t\t\t\ttable,\n\t\t\t\t\t{ filters, sort, order },\n\t\t\t\t);\n\t\t\t\treturn {\n\t\t\t\t\tcontent: [{ type: \"text\", text: JSON.stringify(result, null, 2) }],\n\t\t\t\t};\n\t\t\t}\n\t\t\tconst rows = await getClient().subgraphs.queryTable(name, table, {\n\t\t\t\tfilters,\n\t\t\t\tsort,\n\t\t\t\torder,\n\t\t\t\tlimit: limit ?? 50,\n\t\t\t\toffset,\n\t\t\t\tfields,\n\t\t\t});\n\t\t\tconst cap = limit ?? 50;\n\t\t\tconst result = withCap(\n\t\t\t\trows as Record<string, unknown>[],\n\t\t\t\tcap > 200 ? 200 : cap,\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tcontent: [{ type: \"text\", text: JSON.stringify(result, null, 2) }],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{ name: string; fromBlock?: number; toBlock?: number }>(\n\t\tserver,\n\t\t\"subgraphs_reindex\",\n\t\t\"Reindex a subgraph from a specific block range.\",\n\t\t{\n\t\t\tname: z.string().describe(\"Subgraph name\"),\n\t\t\tfromBlock: z\n\t\t\t\t.number()\n\t\t\t\t.optional()\n\t\t\t\t.describe(\"Start block (defaults to beginning)\"),\n\t\t\ttoBlock: z.number().optional().describe(\"End block (defaults to latest)\"),\n\t\t},\n\t\tasync ({ name, fromBlock, toBlock }) => {\n\t\t\tconst result = await getClient().subgraphs.reindex(name, {\n\t\t\t\tfromBlock,\n\t\t\t\ttoBlock,\n\t\t\t});\n\t\t\treturn {\n\t\t\t\tcontent: [{ type: \"text\", text: JSON.stringify(result, null, 2) }],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{ name: string }>(\n\t\tserver,\n\t\t\"subgraphs_delete\",\n\t\t\"Delete a subgraph permanently.\",\n\t\t{ name: z.string().describe(\"Subgraph name\") },\n\t\tasync ({ name }) => {\n\t\t\tconst result = await getClient().subgraphs.delete(name);\n\t\t\treturn { content: [{ type: \"text\", text: result.message }] };\n\t\t},\n\t);\n\n\tdefineTool<{ code: string; reindex?: boolean }>(\n\t\tserver,\n\t\t\"subgraphs_deploy\",\n\t\t\"Deploy a subgraph from TypeScript code. Pass the full defineSubgraph() source — it will be bundled, validated, and deployed.\",\n\t\t{\n\t\t\tcode: z\n\t\t\t\t.string()\n\t\t\t\t.describe(\"TypeScript source code containing a defineSubgraph() call\"),\n\t\t\treindex: z\n\t\t\t\t.boolean()\n\t\t\t\t.optional()\n\t\t\t\t.describe(\n\t\t\t\t\t\"Force reindex on breaking schema change (drops and rebuilds all data)\",\n\t\t\t\t),\n\t\t},\n\t\tasync ({ code, reindex }) => {\n\t\t\tconst bundled = await bundleSubgraphCode(code);\n\t\t\tconst result = await getClient().subgraphs.deploy({\n\t\t\t\tname: bundled.name,\n\t\t\t\tversion: bundled.version,\n\t\t\t\tdescription: bundled.description,\n\t\t\t\tsources: bundled.sources,\n\t\t\t\tschema: bundled.schema,\n\t\t\t\thandlerCode: bundled.handlerCode,\n\t\t\t\treindex,\n\t\t\t});\n\t\t\treturn {\n\t\t\t\tcontent: [{ type: \"text\", text: JSON.stringify(result, null, 2) }],\n\t\t\t};\n\t\t},\n\t);\n}\n",
16
16
  "import { validateSubgraphDefinition } from \"@secondlayer/subgraphs/validate\";\nimport esbuild from \"esbuild\";\n\ninterface BundleResult {\n\tname: string;\n\tversion?: string;\n\tdescription?: string;\n\tsources: Record<string, Record<string, unknown>>;\n\tschema: Record<string, unknown>;\n\thandlerCode: string;\n}\n\nexport async function bundleSubgraphCode(code: string): Promise<BundleResult> {\n\tlet result: esbuild.BuildResult;\n\ttry {\n\t\tresult = await esbuild.build({\n\t\t\tstdin: { contents: code, loader: \"ts\", resolveDir: process.cwd() },\n\t\t\tbundle: true,\n\t\t\tplatform: \"node\",\n\t\t\tformat: \"esm\",\n\t\t\texternal: [\"@secondlayer/subgraphs\"],\n\t\t\twrite: false,\n\t\t});\n\t} catch (err: unknown) {\n\t\tthrow new Error(\n\t\t\t`Bundle failed: ${err instanceof Error ? err.message : String(err)}`,\n\t\t);\n\t}\n\tconst handlerCode = new TextDecoder().decode(\n\t\tresult.outputFiles![0]!.contents,\n\t);\n\n\tlet mod: Record<string, unknown>;\n\ttry {\n\t\tconst dataUri = `data:text/javascript;base64,${Buffer.from(handlerCode).toString(\"base64\")}`;\n\t\tmod = await import(dataUri);\n\t} catch (err: unknown) {\n\t\tthrow new Error(\n\t\t\t`Module evaluation failed: ${err instanceof Error ? err.message : String(err)}`,\n\t\t);\n\t}\n\tconst def = mod.default ?? mod;\n\n\tlet validated: ReturnType<typeof validateSubgraphDefinition>;\n\ttry {\n\t\tvalidated = validateSubgraphDefinition(def);\n\t} catch (err: unknown) {\n\t\tthrow new Error(\n\t\t\t`Validation failed: ${err instanceof Error ? err.message : String(err)}`,\n\t\t);\n\t}\n\n\treturn {\n\t\tname: validated.name,\n\t\tversion: validated.version,\n\t\tdescription: validated.description,\n\t\tsources: validated.sources as unknown as Record<string, Record<string, unknown>>,\n\t\tschema: validated.schema,\n\t\thandlerCode,\n\t};\n}\n",
17
+ "import type { McpServer } from \"@modelcontextprotocol/sdk/server/mcp.js\";\nimport { z } from \"zod/v4\";\nimport { getClient } from \"../lib/client.ts\";\nimport { defineTool } from \"../lib/tool.ts\";\n\nexport function registerWorkflowTools(server: McpServer) {\n\tdefineTool<Record<string, never>>(\n\t\tserver,\n\t\t\"workflows_list\",\n\t\t\"List all workflows. Returns summary fields only.\",\n\t\t{},\n\t\tasync () => {\n\t\t\tconst { workflows } = await getClient().workflows.list();\n\t\t\treturn {\n\t\t\t\tcontent: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\ttext: JSON.stringify(workflows, null, 2),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{ name: string }>(\n\t\tserver,\n\t\t\"workflows_get\",\n\t\t\"Get full details of a workflow by name.\",\n\t\t{ name: z.string().describe(\"Workflow name\") },\n\t\tasync ({ name }) => {\n\t\t\tconst detail = await getClient().workflows.get(name);\n\t\t\treturn {\n\t\t\t\tcontent: [{ type: \"text\", text: JSON.stringify(detail, null, 2) }],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{ name: string; input?: string }>(\n\t\tserver,\n\t\t\"workflows_trigger\",\n\t\t\"Trigger a workflow run. Optionally pass input as a JSON string.\",\n\t\t{\n\t\t\tname: z.string().describe(\"Workflow name\"),\n\t\t\tinput: z\n\t\t\t\t.string()\n\t\t\t\t.optional()\n\t\t\t\t.describe(\"Input as JSON string\"),\n\t\t},\n\t\tasync ({ name, input }) => {\n\t\t\tconst parsed = input ? JSON.parse(input) : undefined;\n\t\t\tconst result = await getClient().workflows.trigger(name, parsed);\n\t\t\treturn {\n\t\t\t\tcontent: [{ type: \"text\", text: JSON.stringify(result, null, 2) }],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{ name: string }>(\n\t\tserver,\n\t\t\"workflows_pause\",\n\t\t\"Pause a running workflow.\",\n\t\t{ name: z.string().describe(\"Workflow name\") },\n\t\tasync ({ name }) => {\n\t\t\tawait getClient().workflows.pause(name);\n\t\t\treturn {\n\t\t\t\tcontent: [{ type: \"text\", text: `Paused workflow \"${name}\"` }],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{ name: string }>(\n\t\tserver,\n\t\t\"workflows_resume\",\n\t\t\"Resume a paused workflow.\",\n\t\t{ name: z.string().describe(\"Workflow name\") },\n\t\tasync ({ name }) => {\n\t\t\tawait getClient().workflows.resume(name);\n\t\t\treturn {\n\t\t\t\tcontent: [{ type: \"text\", text: `Resumed workflow \"${name}\"` }],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{ name: string; status?: string; limit?: number }>(\n\t\tserver,\n\t\t\"workflows_runs\",\n\t\t\"List runs for a workflow. Optionally filter by status and limit results.\",\n\t\t{\n\t\t\tname: z.string().describe(\"Workflow name\"),\n\t\t\tstatus: z\n\t\t\t\t.enum([\"running\", \"completed\", \"failed\", \"cancelled\"])\n\t\t\t\t.optional()\n\t\t\t\t.describe(\"Filter by run status\"),\n\t\t\tlimit: z\n\t\t\t\t.number()\n\t\t\t\t.optional()\n\t\t\t\t.describe(\"Max runs to return (default 20)\"),\n\t\t},\n\t\tasync ({ name, status, limit }) => {\n\t\t\tconst { runs } = await getClient().workflows.listRuns(name, {\n\t\t\t\tstatus: status as \"running\" | \"completed\" | \"failed\" | \"cancelled\" | undefined,\n\t\t\t\tlimit,\n\t\t\t});\n\t\t\treturn {\n\t\t\t\tcontent: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\ttext: JSON.stringify(runs, null, 2),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t};\n\t\t},\n\t);\n}\n",
17
18
  "import type { McpServer } from \"@modelcontextprotocol/sdk/server/mcp.js\";\nimport {\n\tgetTemplateById,\n\tgetTemplatesByCategory,\n\ttemplates,\n} from \"@secondlayer/subgraphs/templates\";\nimport { z } from \"zod/v4\";\nimport { defineTool } from \"../lib/tool.ts\";\n\nexport function registerTemplateTools(server: McpServer) {\n\tdefineTool<{ category?: string }>(\n\t\tserver,\n\t\t\"templates_list\",\n\t\t\"List available subgraph templates. Returns metadata only — use templates_get for full code.\",\n\t\t{\n\t\t\tcategory: z\n\t\t\t\t.enum([\"defi\", \"nft\", \"token\", \"infrastructure\"])\n\t\t\t\t.optional()\n\t\t\t\t.describe(\"Filter by category\"),\n\t\t},\n\t\tasync ({ category }) => {\n\t\t\tconst list = category ? getTemplatesByCategory(category) : templates;\n\t\t\treturn {\n\t\t\t\tcontent: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\ttext: JSON.stringify(\n\t\t\t\t\t\t\tlist.map((t) => ({\n\t\t\t\t\t\t\t\tid: t.id,\n\t\t\t\t\t\t\t\tname: t.name,\n\t\t\t\t\t\t\t\tdescription: t.description,\n\t\t\t\t\t\t\t\tcategory: t.category,\n\t\t\t\t\t\t\t})),\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t2,\n\t\t\t\t\t\t),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{ id: string }>(\n\t\tserver,\n\t\t\"templates_get\",\n\t\t\"Get a template's full code and prompt by ID.\",\n\t\t{ id: z.string().describe(\"Template ID (e.g. 'dex-swaps')\") },\n\t\tasync ({ id }) => {\n\t\t\tconst template = getTemplateById(id);\n\t\t\tif (!template) {\n\t\t\t\treturn {\n\t\t\t\t\tcontent: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\ttext: `Template \"${id}\" not found. Use templates_list to see available templates.`,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t\tisError: true,\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tcontent: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\ttext: JSON.stringify(\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: template.id,\n\t\t\t\t\t\t\t\tname: template.name,\n\t\t\t\t\t\t\t\tdescription: template.description,\n\t\t\t\t\t\t\t\tcategory: template.category,\n\t\t\t\t\t\t\t\tcode: template.code,\n\t\t\t\t\t\t\t\tprompt: template.prompt,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t2,\n\t\t\t\t\t\t),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t};\n\t\t},\n\t);\n}\n"
18
19
  ],
19
- "mappings": "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",
20
- "debugId": "6A63F850EB36446564756E2164756E21",
20
+ "mappings": "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",
21
+ "debugId": "080385D15A6EE15164756E2164756E21",
21
22
  "names": []
22
23
  }
package/dist/bin.js CHANGED
@@ -806,16 +806,78 @@ function registerSubgraphTools(server) {
806
806
  });
807
807
  }
808
808
 
809
+ // src/tools/workflows.ts
810
+ import { z as z4 } from "zod/v4";
811
+ function registerWorkflowTools(server) {
812
+ defineTool(server, "workflows_list", "List all workflows. Returns summary fields only.", {}, async () => {
813
+ const { workflows } = await getClient().workflows.list();
814
+ return {
815
+ content: [
816
+ {
817
+ type: "text",
818
+ text: JSON.stringify(workflows, null, 2)
819
+ }
820
+ ]
821
+ };
822
+ });
823
+ defineTool(server, "workflows_get", "Get full details of a workflow by name.", { name: z4.string().describe("Workflow name") }, async ({ name }) => {
824
+ const detail = await getClient().workflows.get(name);
825
+ return {
826
+ content: [{ type: "text", text: JSON.stringify(detail, null, 2) }]
827
+ };
828
+ });
829
+ defineTool(server, "workflows_trigger", "Trigger a workflow run. Optionally pass input as a JSON string.", {
830
+ name: z4.string().describe("Workflow name"),
831
+ input: z4.string().optional().describe("Input as JSON string")
832
+ }, async ({ name, input }) => {
833
+ const parsed = input ? JSON.parse(input) : undefined;
834
+ const result = await getClient().workflows.trigger(name, parsed);
835
+ return {
836
+ content: [{ type: "text", text: JSON.stringify(result, null, 2) }]
837
+ };
838
+ });
839
+ defineTool(server, "workflows_pause", "Pause a running workflow.", { name: z4.string().describe("Workflow name") }, async ({ name }) => {
840
+ await getClient().workflows.pause(name);
841
+ return {
842
+ content: [{ type: "text", text: `Paused workflow "${name}"` }]
843
+ };
844
+ });
845
+ defineTool(server, "workflows_resume", "Resume a paused workflow.", { name: z4.string().describe("Workflow name") }, async ({ name }) => {
846
+ await getClient().workflows.resume(name);
847
+ return {
848
+ content: [{ type: "text", text: `Resumed workflow "${name}"` }]
849
+ };
850
+ });
851
+ defineTool(server, "workflows_runs", "List runs for a workflow. Optionally filter by status and limit results.", {
852
+ name: z4.string().describe("Workflow name"),
853
+ status: z4.enum(["running", "completed", "failed", "cancelled"]).optional().describe("Filter by run status"),
854
+ limit: z4.number().optional().describe("Max runs to return (default 20)")
855
+ }, async ({ name, status, limit }) => {
856
+ const { runs } = await getClient().workflows.listRuns(name, {
857
+ status,
858
+ limit
859
+ });
860
+ return {
861
+ content: [
862
+ {
863
+ type: "text",
864
+ text: JSON.stringify(runs, null, 2)
865
+ }
866
+ ]
867
+ };
868
+ });
869
+ }
870
+
809
871
  // src/tools/templates.ts
810
872
  import {
811
873
  getTemplateById,
812
874
  getTemplatesByCategory,
813
875
  templates as templates2
814
876
  } from "@secondlayer/subgraphs/templates";
815
- import { z as z4 } from "zod/v4";
877
+ import { z as z5 } from "zod/v4";
816
878
  function registerTemplateTools(server) {
817
879
  defineTool(server, "templates_list", "List available subgraph templates. Returns metadata only — use templates_get for full code.", {
818
- category: z4.enum(["defi", "nft", "token", "infrastructure"]).optional().describe("Filter by category")
880
+ category: z5.enum(["defi", "nft", "token", "infrastructure"]).optional().describe("Filter by category")
819
881
  }, async ({ category }) => {
820
882
  const list = category ? getTemplatesByCategory(category) : templates2;
821
883
  return {
@@ -832,7 +894,7 @@ function registerTemplateTools(server) {
832
894
  ]
833
895
  };
834
896
  });
835
- defineTool(server, "templates_get", "Get a template's full code and prompt by ID.", { id: z4.string().describe("Template ID (e.g. 'dex-swaps')") }, async ({ id }) => {
897
+ defineTool(server, "templates_get", "Get a template's full code and prompt by ID.", { id: z5.string().describe("Template ID (e.g. 'dex-swaps')") }, async ({ id }) => {
836
898
  const template = getTemplateById(id);
837
899
  if (!template) {
838
900
  return {
@@ -876,6 +938,7 @@ function createServer() {
876
938
  registerStreamTools(server);
877
939
  registerSubgraphTools(server);
878
940
  registerAccountTools(server);
941
+ registerWorkflowTools(server);
879
942
  registerResources(server);
880
943
  return server;
881
944
  }
@@ -885,5 +948,5 @@ var server = createServer();
885
948
  var transport = new StdioServerTransport;
886
949
  await server.connect(transport);
887
950
 
888
- //# debugId=2081F58D33A0CA1B64756E2164756E21
951
+ //# debugId=1A3C1AC5F1DDC78164756E2164756E21
889
952
  //# sourceMappingURL=bin.js.map
package/dist/bin.js.map CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../src/bin.ts", "../src/server.ts", "../src/resources.ts", "../src/tools/streams.ts", "../src/lib/client.ts", "../src/lib/format.ts", "../src/lib/tool.ts", "../src/tools/account.ts", "../src/tools/scaffold.ts", "../src/lib/scaffold-generate.ts", "../src/tools/subgraphs.ts", "../src/lib/bundle.ts", "../src/tools/templates.ts"],
3
+ "sources": ["../src/bin.ts", "../src/server.ts", "../src/resources.ts", "../src/tools/streams.ts", "../src/lib/client.ts", "../src/lib/format.ts", "../src/lib/tool.ts", "../src/tools/account.ts", "../src/tools/scaffold.ts", "../src/lib/scaffold-generate.ts", "../src/tools/subgraphs.ts", "../src/lib/bundle.ts", "../src/tools/workflows.ts", "../src/tools/templates.ts"],
4
4
  "sourcesContent": [
5
5
  "#!/usr/bin/env node\nimport { StdioServerTransport } from \"@modelcontextprotocol/sdk/server/stdio.js\";\nimport { createServer } from \"./server.ts\";\n\nconst server = createServer();\nconst transport = new StdioServerTransport();\nawait server.connect(transport);\n",
6
- "import { readFileSync } from \"node:fs\";\nimport { dirname, join } from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\nimport { McpServer } from \"@modelcontextprotocol/sdk/server/mcp.js\";\nimport { registerResources } from \"./resources.ts\";\nimport { registerAccountTools } from \"./tools/account.ts\";\nimport { registerScaffoldTools } from \"./tools/scaffold.ts\";\nimport { registerStreamTools } from \"./tools/streams.ts\";\nimport { registerSubgraphTools } from \"./tools/subgraphs.ts\";\nimport { registerTemplateTools } from \"./tools/templates.ts\";\n\nconst __dirname = dirname(fileURLToPath(import.meta.url));\nconst pkg = JSON.parse(\n\treadFileSync(join(__dirname, \"../package.json\"), \"utf-8\"),\n);\n\nexport function createServer(): McpServer {\n\tconst server = new McpServer({\n\t\tname: \"secondlayer\",\n\t\tversion: pkg.version,\n\t});\n\n\tregisterTemplateTools(server);\n\tregisterScaffoldTools(server);\n\tregisterStreamTools(server);\n\tregisterSubgraphTools(server);\n\tregisterAccountTools(server);\n\tregisterResources(server);\n\n\treturn server;\n}\n",
6
+ "import { readFileSync } from \"node:fs\";\nimport { dirname, join } from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\nimport { McpServer } from \"@modelcontextprotocol/sdk/server/mcp.js\";\nimport { registerResources } from \"./resources.ts\";\nimport { registerAccountTools } from \"./tools/account.ts\";\nimport { registerScaffoldTools } from \"./tools/scaffold.ts\";\nimport { registerStreamTools } from \"./tools/streams.ts\";\nimport { registerSubgraphTools } from \"./tools/subgraphs.ts\";\nimport { registerWorkflowTools } from \"./tools/workflows.ts\";\nimport { registerTemplateTools } from \"./tools/templates.ts\";\n\nconst __dirname = dirname(fileURLToPath(import.meta.url));\nconst pkg = JSON.parse(\n\treadFileSync(join(__dirname, \"../package.json\"), \"utf-8\"),\n);\n\nexport function createServer(): McpServer {\n\tconst server = new McpServer({\n\t\tname: \"secondlayer\",\n\t\tversion: pkg.version,\n\t});\n\n\tregisterTemplateTools(server);\n\tregisterScaffoldTools(server);\n\tregisterStreamTools(server);\n\tregisterSubgraphTools(server);\n\tregisterAccountTools(server);\n\tregisterWorkflowTools(server);\n\tregisterResources(server);\n\n\treturn server;\n}\n",
7
7
  "import type { McpServer } from \"@modelcontextprotocol/sdk/server/mcp.js\";\nimport { templates } from \"@secondlayer/subgraphs/templates\";\nimport { FilterSchema } from \"./tools/streams.ts\";\n\n/** Derived from FilterSchema — single source of truth for filter types and fields. */\nconst FILTERS_REFERENCE = FilterSchema.options.map((opt) => ({\n\ttype: opt.shape.type.def.values[0] as string,\n\tfields: Object.keys(opt.shape).filter((k) => k !== \"type\"),\n}));\n\nconst COLUMN_TYPES = [\n\t{\n\t\ttype: \"uint\",\n\t\tsqlType: \"bigint\",\n\t\tdescription: \"Unsigned integer (Clarity uint)\",\n\t},\n\t{\n\t\ttype: \"int\",\n\t\tsqlType: \"bigint\",\n\t\tdescription: \"Signed integer (Clarity int)\",\n\t},\n\t{ type: \"text\", sqlType: \"text\", description: \"UTF-8 string\" },\n\t{\n\t\ttype: \"principal\",\n\t\tsqlType: \"text\",\n\t\tdescription: \"Stacks address (standard or contract)\",\n\t},\n\t{ type: \"bool\", sqlType: \"boolean\", description: \"Boolean value\" },\n\t{ type: \"json\", sqlType: \"jsonb\", description: \"Arbitrary JSON data\" },\n\t{\n\t\toptions: [\"nullable\", \"indexed\", \"search\"],\n\t\tdescription:\n\t\t\t\"Column options: nullable allows NULL, indexed creates a B-tree index, search enables full-text search\",\n\t},\n];\n\nexport function registerResources(server: McpServer) {\n\tserver.resource(\n\t\t\"filters\",\n\t\t\"secondlayer://filters\",\n\t\t{ description: \"Stream filter types and their available fields\" },\n\t\tasync () => ({\n\t\t\tcontents: [\n\t\t\t\t{\n\t\t\t\t\turi: \"secondlayer://filters\",\n\t\t\t\t\tmimeType: \"application/json\",\n\t\t\t\t\ttext: JSON.stringify(FILTERS_REFERENCE, null, 2),\n\t\t\t\t},\n\t\t\t],\n\t\t}),\n\t);\n\n\tserver.resource(\n\t\t\"column-types\",\n\t\t\"secondlayer://column-types\",\n\t\t{ description: \"Subgraph column types, SQL mappings, and options\" },\n\t\tasync () => ({\n\t\t\tcontents: [\n\t\t\t\t{\n\t\t\t\t\turi: \"secondlayer://column-types\",\n\t\t\t\t\tmimeType: \"application/json\",\n\t\t\t\t\ttext: JSON.stringify(COLUMN_TYPES, null, 2),\n\t\t\t\t},\n\t\t\t],\n\t\t}),\n\t);\n\n\tserver.resource(\n\t\t\"templates\",\n\t\t\"secondlayer://templates\",\n\t\t{\n\t\t\tdescription:\n\t\t\t\t\"Available subgraph templates with descriptions and categories\",\n\t\t},\n\t\tasync () => ({\n\t\t\tcontents: [\n\t\t\t\t{\n\t\t\t\t\turi: \"secondlayer://templates\",\n\t\t\t\t\tmimeType: \"application/json\",\n\t\t\t\t\ttext: JSON.stringify(\n\t\t\t\t\t\ttemplates.map(({ id, name, description, category }) => ({\n\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\tname,\n\t\t\t\t\t\t\tdescription,\n\t\t\t\t\t\t\tcategory,\n\t\t\t\t\t\t})),\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\t2,\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t],\n\t\t}),\n\t);\n}\n",
8
8
  "import type { McpServer } from \"@modelcontextprotocol/sdk/server/mcp.js\";\nimport { z } from \"zod/v4\";\nimport { apiRequest, getClient } from \"../lib/client.ts\";\nimport {\n\tformatDeliverySummary,\n\tformatStreamSummary,\n\twithCap,\n} from \"../lib/format.ts\";\nimport { defineTool } from \"../lib/tool.ts\";\n\n/** Filter schema — full 13-type discriminated union for MCP JSON Schema generation. */\nexport const FilterSchema = z.discriminatedUnion(\"type\", [\n\tz.object({\n\t\ttype: z.literal(\"stx_transfer\"),\n\t\tsender: z.string().optional(),\n\t\trecipient: z.string().optional(),\n\t\tminAmount: z.number().optional(),\n\t\tmaxAmount: z.number().optional(),\n\t}),\n\tz.object({\n\t\ttype: z.literal(\"stx_mint\"),\n\t\trecipient: z.string().optional(),\n\t\tminAmount: z.number().optional(),\n\t}),\n\tz.object({\n\t\ttype: z.literal(\"stx_burn\"),\n\t\tsender: z.string().optional(),\n\t\tminAmount: z.number().optional(),\n\t}),\n\tz.object({\n\t\ttype: z.literal(\"stx_lock\"),\n\t\tlockedAddress: z.string().optional(),\n\t\tminAmount: z.number().optional(),\n\t}),\n\tz.object({\n\t\ttype: z.literal(\"ft_transfer\"),\n\t\tsender: z.string().optional(),\n\t\trecipient: z.string().optional(),\n\t\tassetIdentifier: z.string().optional(),\n\t\tminAmount: z.number().optional(),\n\t}),\n\tz.object({\n\t\ttype: z.literal(\"ft_mint\"),\n\t\trecipient: z.string().optional(),\n\t\tassetIdentifier: z.string().optional(),\n\t\tminAmount: z.number().optional(),\n\t}),\n\tz.object({\n\t\ttype: z.literal(\"ft_burn\"),\n\t\tsender: z.string().optional(),\n\t\tassetIdentifier: z.string().optional(),\n\t\tminAmount: z.number().optional(),\n\t}),\n\tz.object({\n\t\ttype: z.literal(\"nft_transfer\"),\n\t\tsender: z.string().optional(),\n\t\trecipient: z.string().optional(),\n\t\tassetIdentifier: z.string().optional(),\n\t\ttokenId: z.string().optional(),\n\t}),\n\tz.object({\n\t\ttype: z.literal(\"nft_mint\"),\n\t\trecipient: z.string().optional(),\n\t\tassetIdentifier: z.string().optional(),\n\t\ttokenId: z.string().optional(),\n\t}),\n\tz.object({\n\t\ttype: z.literal(\"nft_burn\"),\n\t\tsender: z.string().optional(),\n\t\tassetIdentifier: z.string().optional(),\n\t\ttokenId: z.string().optional(),\n\t}),\n\tz.object({\n\t\ttype: z.literal(\"contract_call\"),\n\t\tcontractId: z.string().optional(),\n\t\tfunctionName: z.string().optional(),\n\t\tcaller: z.string().optional(),\n\t}),\n\tz.object({\n\t\ttype: z.literal(\"contract_deploy\"),\n\t\tdeployer: z.string().optional(),\n\t\tcontractName: z.string().optional(),\n\t}),\n\tz.object({\n\t\ttype: z.literal(\"print_event\"),\n\t\tcontractId: z.string().optional(),\n\t\ttopic: z.string().optional(),\n\t\tcontains: z.string().optional(),\n\t}),\n]);\n\ntype Filter = z.infer<typeof FilterSchema>;\n\nexport function registerStreamTools(server: McpServer) {\n\tdefineTool<{ status?: string }>(\n\t\tserver,\n\t\t\"streams_list\",\n\t\t\"List all webhook streams. Returns summary fields only.\",\n\t\t{\n\t\t\tstatus: z\n\t\t\t\t.enum([\"active\", \"inactive\", \"paused\", \"failed\"])\n\t\t\t\t.optional()\n\t\t\t\t.describe(\"Filter by status\"),\n\t\t},\n\t\tasync ({ status }) => {\n\t\t\tconst { streams } = await getClient().streams.list(\n\t\t\t\tstatus ? { status } : undefined,\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tcontent: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\ttext: JSON.stringify(streams.map(formatStreamSummary), null, 2),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{ id: string }>(\n\t\tserver,\n\t\t\"streams_get\",\n\t\t\"Get full details of a stream by ID (accepts UUID prefix).\",\n\t\t{ id: z.string().describe(\"Stream UUID or prefix\") },\n\t\tasync ({ id }) => {\n\t\t\tconst stream = await getClient().streams.get(id);\n\t\t\treturn {\n\t\t\t\tcontent: [{ type: \"text\", text: JSON.stringify(stream, null, 2) }],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{ name: string; endpointUrl: string; filters: Filter[] }>(\n\t\tserver,\n\t\t\"streams_create\",\n\t\t\"Create a new webhook stream with filters.\",\n\t\t{\n\t\t\tname: z.string().describe(\"Stream name\"),\n\t\t\tendpointUrl: z.string().describe(\"Webhook endpoint URL\"),\n\t\t\tfilters: z\n\t\t\t\t.array(FilterSchema)\n\t\t\t\t.min(1)\n\t\t\t\t.describe(\"Event filters (at least one required)\"),\n\t\t},\n\t\tasync ({ name, endpointUrl, filters }) => {\n\t\t\tconst result = await getClient().streams.create({\n\t\t\t\tname,\n\t\t\t\tendpointUrl,\n\t\t\t\tfilters,\n\t\t\t});\n\t\t\treturn {\n\t\t\t\tcontent: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\ttext: JSON.stringify(\n\t\t\t\t\t\t\t{ id: result.stream.id, signingSecret: result.signingSecret },\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t2,\n\t\t\t\t\t\t),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{\n\t\tid: string;\n\t\tname?: string;\n\t\tendpointUrl?: string;\n\t\tfilters?: Filter[];\n\t}>(\n\t\tserver,\n\t\t\"streams_update\",\n\t\t\"Update a stream's name, endpoint, or filters.\",\n\t\t{\n\t\t\tid: z.string().describe(\"Stream UUID or prefix\"),\n\t\t\tname: z.string().optional().describe(\"New name\"),\n\t\t\tendpointUrl: z.string().optional().describe(\"New endpoint URL\"),\n\t\t\tfilters: z.array(FilterSchema).min(1).optional().describe(\"New filters\"),\n\t\t},\n\t\tasync ({ id, name, endpointUrl, filters }) => {\n\t\t\tconst data: Record<string, unknown> = {};\n\t\t\tif (name !== undefined) data.name = name;\n\t\t\tif (endpointUrl !== undefined) data.endpointUrl = endpointUrl;\n\t\t\tif (filters !== undefined) data.filters = filters;\n\t\t\tconst stream = await getClient().streams.update(id, data as any);\n\t\t\treturn {\n\t\t\t\tcontent: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\ttext: JSON.stringify(formatStreamSummary(stream), null, 2),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{ id: string }>(\n\t\tserver,\n\t\t\"streams_delete\",\n\t\t\"Delete a stream permanently.\",\n\t\t{ id: z.string().describe(\"Stream UUID or prefix\") },\n\t\tasync ({ id }) => {\n\t\t\tawait getClient().streams.delete(id);\n\t\t\treturn { content: [{ type: \"text\", text: `Stream ${id} deleted.` }] };\n\t\t},\n\t);\n\n\tdefineTool<{ id: string; enabled: boolean }>(\n\t\tserver,\n\t\t\"streams_toggle\",\n\t\t\"Enable or disable a stream.\",\n\t\t{\n\t\t\tid: z.string().describe(\"Stream UUID or prefix\"),\n\t\t\tenabled: z.boolean().describe(\"true to enable, false to disable\"),\n\t\t},\n\t\tasync ({ id, enabled }) => {\n\t\t\tconst stream = enabled\n\t\t\t\t? await getClient().streams.enable(id)\n\t\t\t\t: await getClient().streams.disable(id);\n\t\t\treturn {\n\t\t\t\tcontent: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\ttext: JSON.stringify(\n\t\t\t\t\t\t\t{ id: stream.id, status: stream.status },\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t2,\n\t\t\t\t\t\t),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{ id: string; limit?: number; status?: string }>(\n\t\tserver,\n\t\t\"streams_deliveries\",\n\t\t\"List recent deliveries for a stream (max 25).\",\n\t\t{\n\t\t\tid: z.string().describe(\"Stream UUID or prefix\"),\n\t\t\tlimit: z.number().max(25).optional().describe(\"Max results (default 25)\"),\n\t\t\tstatus: z.string().optional().describe(\"Filter by delivery status\"),\n\t\t},\n\t\tasync ({ id, limit, status }) => {\n\t\t\tconst { deliveries } = await getClient().streams.listDeliveries(id, {\n\t\t\t\tlimit: limit ?? 25,\n\t\t\t\tstatus,\n\t\t\t});\n\t\t\tconst result = withCap(deliveries.map(formatDeliverySummary), 25);\n\t\t\treturn {\n\t\t\t\tcontent: [{ type: \"text\", text: JSON.stringify(result, null, 2) }],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{ confirm?: boolean }>(\n\t\tserver,\n\t\t\"streams_pause_all\",\n\t\t\"Pause all active streams. Without confirm: true, returns a preview of streams that would be paused.\",\n\t\t{\n\t\t\tconfirm: z\n\t\t\t\t.boolean()\n\t\t\t\t.optional()\n\t\t\t\t.describe(\"Set to true to execute. Omit or false for preview only.\"),\n\t\t},\n\t\tasync ({ confirm }) => {\n\t\t\tif (!confirm) {\n\t\t\t\tconst { streams } = await getClient().streams.list({\n\t\t\t\t\tstatus: \"active\",\n\t\t\t\t});\n\t\t\t\tconst names = streams.map((s) => s.name);\n\t\t\t\treturn {\n\t\t\t\t\tcontent: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\ttext: JSON.stringify(\n\t\t\t\t\t\t\t\t{ preview: true, count: names.length, streams: names },\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t2,\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t};\n\t\t\t}\n\t\t\tconst result = await getClient().streams.pauseAll();\n\t\t\treturn {\n\t\t\t\tcontent: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\ttext: JSON.stringify(\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tpaused: result.paused,\n\t\t\t\t\t\t\t\tstreams: result.streams.map(formatStreamSummary),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t2,\n\t\t\t\t\t\t),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{ confirm?: boolean }>(\n\t\tserver,\n\t\t\"streams_resume_all\",\n\t\t\"Resume all paused streams. Without confirm: true, returns a preview of streams that would be resumed.\",\n\t\t{\n\t\t\tconfirm: z\n\t\t\t\t.boolean()\n\t\t\t\t.optional()\n\t\t\t\t.describe(\"Set to true to execute. Omit or false for preview only.\"),\n\t\t},\n\t\tasync ({ confirm }) => {\n\t\t\tif (!confirm) {\n\t\t\t\tconst { streams } = await getClient().streams.list({\n\t\t\t\t\tstatus: \"paused\",\n\t\t\t\t});\n\t\t\t\tconst names = streams.map((s) => s.name);\n\t\t\t\treturn {\n\t\t\t\t\tcontent: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\ttext: JSON.stringify(\n\t\t\t\t\t\t\t\t{ preview: true, count: names.length, streams: names },\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t2,\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t};\n\t\t\t}\n\t\t\tconst result = await getClient().streams.resumeAll();\n\t\t\treturn {\n\t\t\t\tcontent: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\ttext: JSON.stringify(\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tresumed: result.resumed,\n\t\t\t\t\t\t\t\tstreams: result.streams.map(formatStreamSummary),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t2,\n\t\t\t\t\t\t),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{ id: string; fromBlock: number; toBlock: number }>(\n\t\tserver,\n\t\t\"streams_replay\",\n\t\t\"Replay blocks through a stream, re-delivering events for a block range.\",\n\t\t{\n\t\t\tid: z.string().describe(\"Stream UUID or prefix\"),\n\t\t\tfromBlock: z.number().describe(\"Start block height (inclusive)\"),\n\t\t\ttoBlock: z.number().describe(\"End block height (inclusive)\"),\n\t\t},\n\t\tasync ({ id, fromBlock, toBlock }) => {\n\t\t\tconst result = await apiRequest<{\n\t\t\t\tstreamId: string;\n\t\t\t\tfromBlock: number;\n\t\t\t\ttoBlock: number;\n\t\t\t\tjobCount: number;\n\t\t\t\tmessage: string;\n\t\t\t}>(\"POST\", `/api/streams/${id}/replay`, { fromBlock, toBlock });\n\t\t\treturn {\n\t\t\t\tcontent: [{ type: \"text\", text: JSON.stringify(result, null, 2) }],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{ id: string }>(\n\t\tserver,\n\t\t\"streams_rotate_secret\",\n\t\t\"Rotate the signing secret for a stream. Returns the new secret.\",\n\t\t{ id: z.string().describe(\"Stream UUID or prefix\") },\n\t\tasync ({ id }) => {\n\t\t\tconst result = await getClient().streams.rotateSecret(id);\n\t\t\treturn {\n\t\t\t\tcontent: [{ type: \"text\", text: JSON.stringify(result, null, 2) }],\n\t\t\t};\n\t\t},\n\t);\n}\n",
9
9
  "import { SecondLayer } from \"@secondlayer/sdk\";\n\nlet instance: SecondLayer | null = null;\n\n/** Lazy SDK singleton from SECONDLAYER_API_KEY env var. */\nexport function getClient(): SecondLayer {\n\tif (!instance) {\n\t\tconst apiKey = process.env.SECONDLAYER_API_KEY;\n\t\tif (!apiKey) {\n\t\t\tthrow new Error(\n\t\t\t\t\"SECONDLAYER_API_KEY environment variable is required. \" +\n\t\t\t\t\t\"Get your key at https://app.secondlayer.tools/settings/api-keys\",\n\t\t\t);\n\t\t}\n\t\tinstance = new SecondLayer({ apiKey });\n\t}\n\treturn instance;\n}\n\n/** Raw fetch helper for API endpoints not covered by the SDK. */\nexport async function apiRequest<T>(\n\tmethod: string,\n\tpath: string,\n\tbody?: unknown,\n): Promise<T> {\n\tconst apiKey = process.env.SECONDLAYER_API_KEY;\n\tif (!apiKey) throw new Error(\"SECONDLAYER_API_KEY required\");\n\tconst baseUrl =\n\t\tprocess.env.SECONDLAYER_API_URL || \"https://api.secondlayer.tools\";\n\tconst res = await fetch(`${baseUrl}${path}`, {\n\t\tmethod,\n\t\theaders: {\n\t\t\t\"Content-Type\": \"application/json\",\n\t\t\tAuthorization: `Bearer ${apiKey}`,\n\t\t},\n\t\tbody: body ? JSON.stringify(body) : undefined,\n\t});\n\tif (!res.ok) {\n\t\tconst text = await res.text().catch(() => \"\");\n\t\tthrow Object.assign(new Error(text || `HTTP ${res.status}`), {\n\t\t\tstatus: res.status,\n\t\t});\n\t}\n\tif (res.status === 204) return undefined as T;\n\treturn res.json() as Promise<T>;\n}\n",
@@ -14,9 +14,10 @@
14
14
  "/**\n * Subgraph scaffold generator — copied from apps/web/src/lib/scaffold/generate.ts.\n * Browser-safe, pure string templating, no deps.\n */\n\ntype AbiType = string | Record<string, unknown>;\n\ninterface AbiFunction {\n\tname: string;\n\taccess: \"public\" | \"read-only\" | \"private\";\n\targs: ReadonlyArray<{ name: string; type: AbiType }>;\n\toutputs: AbiType;\n}\n\ninterface AbiMap {\n\tname: string;\n\tkey: AbiType;\n\tvalue: AbiType;\n}\n\ntype ColumnType =\n\t| \"uint\"\n\t| \"int\"\n\t| \"principal\"\n\t| \"boolean\"\n\t| \"text\"\n\t| \"jsonb\"\n\t| \"serial\";\n\ninterface MappedColumn {\n\ttype: ColumnType;\n\tnullable: boolean;\n}\n\nfunction isAbiBuffer(t: AbiType): t is { buff: { length: number } } {\n\treturn typeof t === \"object\" && t !== null && \"buff\" in t;\n}\nfunction isAbiStringAscii(\n\tt: AbiType,\n): t is { \"string-ascii\": { length: number } } {\n\treturn typeof t === \"object\" && t !== null && \"string-ascii\" in t;\n}\nfunction isAbiStringUtf8(\n\tt: AbiType,\n): t is { \"string-utf8\": { length: number } } {\n\treturn typeof t === \"object\" && t !== null && \"string-utf8\" in t;\n}\nfunction isAbiOptional(t: AbiType): t is { optional: AbiType } {\n\treturn typeof t === \"object\" && t !== null && \"optional\" in t;\n}\nfunction isAbiTuple(\n\tt: AbiType,\n): t is { tuple: ReadonlyArray<{ name: string; type: AbiType }> } {\n\treturn typeof t === \"object\" && t !== null && \"tuple\" in t;\n}\nfunction isAbiList(\n\tt: AbiType,\n): t is { list: { type: AbiType; length: number } } {\n\treturn typeof t === \"object\" && t !== null && \"list\" in t;\n}\nfunction isAbiResponse(\n\tt: AbiType,\n): t is { response: { ok: AbiType; error: AbiType } } {\n\treturn typeof t === \"object\" && t !== null && \"response\" in t;\n}\n\nfunction mapType(abiType: AbiType, nullable: boolean): MappedColumn {\n\tif (typeof abiType === \"string\") {\n\t\tswitch (abiType) {\n\t\t\tcase \"uint128\":\n\t\t\t\treturn { type: \"uint\", nullable };\n\t\t\tcase \"int128\":\n\t\t\t\treturn { type: \"int\", nullable };\n\t\t\tcase \"principal\":\n\t\t\tcase \"trait_reference\":\n\t\t\t\treturn { type: \"principal\", nullable };\n\t\t\tcase \"bool\":\n\t\t\t\treturn { type: \"boolean\", nullable };\n\t\t\tdefault: {\n\t\t\t\tconst s = abiType;\n\t\t\t\tif (s.includes(\"uint\")) return { type: \"uint\", nullable };\n\t\t\t\tif (s.includes(\"int\")) return { type: \"int\", nullable };\n\t\t\t\tif (s.includes(\"string\") || s.includes(\"ascii\") || s.includes(\"utf8\")) {\n\t\t\t\t\treturn { type: \"text\", nullable };\n\t\t\t\t}\n\t\t\t\tif (s.includes(\"buff\")) return { type: \"text\", nullable };\n\t\t\t\treturn { type: \"jsonb\", nullable };\n\t\t\t}\n\t\t}\n\t}\n\n\tif (isAbiBuffer(abiType)) return { type: \"text\", nullable };\n\tif (isAbiStringAscii(abiType) || isAbiStringUtf8(abiType)) {\n\t\treturn { type: \"text\", nullable };\n\t}\n\tif (isAbiOptional(abiType))\n\t\treturn mapType((abiType as { optional: AbiType }).optional, true);\n\tif (isAbiList(abiType) || isAbiTuple(abiType))\n\t\treturn { type: \"jsonb\", nullable };\n\tif (isAbiResponse(abiType)) {\n\t\treturn mapType(\n\t\t\t(abiType as { response: { ok: AbiType } }).response.ok,\n\t\t\tnullable,\n\t\t);\n\t}\n\n\treturn { type: \"jsonb\", nullable };\n}\n\nfunction clarityTypeToSubgraphColumn(abiType: AbiType): MappedColumn {\n\treturn mapType(abiType, false);\n}\n\nfunction toSnake(name: string): string {\n\treturn name.replace(/-/g, \"_\");\n}\n\nfunction toCamel(name: string): string {\n\treturn name.replace(/-([a-z])/g, (_, c) => c.toUpperCase());\n}\n\nfunction buildColumns(\n\targs: ReadonlyArray<{ name: string; type: AbiType }>,\n): string {\n\tif (args.length === 0) return \" _placeholder: { type: 'text' }\";\n\treturn args\n\t\t.map((arg) => {\n\t\t\tconst mapped = clarityTypeToSubgraphColumn(arg.type);\n\t\t\tconst nullable = mapped.nullable ? \", nullable: true\" : \"\";\n\t\t\treturn ` ${toSnake(arg.name)}: { type: '${mapped.type}'${nullable} }`;\n\t\t})\n\t\t.join(\",\\n\");\n}\n\nfunction buildInsertCall(\n\ttableName: string,\n\targs: ReadonlyArray<{ name: string; type: AbiType }>,\n): string {\n\tif (args.length === 0) {\n\t\treturn ` ctx.insert('${tableName}', {\\n sender: ctx.tx.sender,\\n });`;\n\t}\n\n\tconst mappings = args.map((arg) => {\n\t\treturn ` ${toSnake(arg.name)}: event.${toCamel(arg.name)}`;\n\t});\n\n\treturn ` ctx.insert('${tableName}', {\\n${mappings.join(\",\\n\")},\\n });`;\n}\n\nexport function generateSubgraphCode(\n\tcontractId: string,\n\tfunctions: readonly AbiFunction[],\n\tsubgraphName?: string,\n\tevents?: readonly AbiMap[],\n): string {\n\tconst contractParts = contractId.split(\".\");\n\tconst contractName = contractParts[contractParts.length - 1] ?? contractId;\n\tconst name = subgraphName ?? contractName;\n\n\tconst publicFunctions = functions.filter((f) => f.access === \"public\");\n\tconst hasEvents = events && events.length > 0;\n\n\tif (publicFunctions.length === 0 && !hasEvents) {\n\t\treturn `// No public functions or events selected for ${contractId}`;\n\t}\n\n\tconst tableDefs: string[] = [];\n\n\tif (hasEvents) {\n\t\tfor (const ev of events) {\n\t\t\tconst tableName = toSnake(ev.name);\n\t\t\tlet columns: string;\n\t\t\tif (isAbiTuple(ev.value)) {\n\t\t\t\tcolumns = buildColumns(ev.value.tuple);\n\t\t\t} else {\n\t\t\t\tcolumns = ` value: { type: '${clarityTypeToSubgraphColumn(ev.value).type}' }`;\n\t\t\t}\n\t\t\ttableDefs.push(\n\t\t\t\t` ${tableName}: {\\n columns: {\\n${columns}\\n }\\n }`,\n\t\t\t);\n\t\t}\n\t}\n\n\tfor (const fn of publicFunctions) {\n\t\tconst tableName = toSnake(fn.name);\n\t\tconst columns = buildColumns(fn.args);\n\t\ttableDefs.push(\n\t\t\t` ${tableName}: {\\n columns: {\\n${columns}\\n }\\n }`,\n\t\t);\n\t}\n\n\tconst schemaBlock = tableDefs.join(\",\\n\");\n\n\tconst sourceEntries: string[] = [`{ contract: '${contractId}' }`];\n\n\tconst handlerEntries: string[] = [];\n\n\tif (hasEvents) {\n\t\tfor (const ev of events) {\n\t\t\tconst tableName = toSnake(ev.name);\n\t\t\tlet insertCall: string;\n\t\t\tif (isAbiTuple(ev.value)) {\n\t\t\t\tinsertCall = buildInsertCall(tableName, ev.value.tuple);\n\t\t\t} else {\n\t\t\t\tinsertCall = ` ctx.insert('${tableName}', {\\n value: event.value,\\n });`;\n\t\t\t}\n\t\t\thandlerEntries.push(\n\t\t\t\t` '${contractId}::${ev.name}': async (event, ctx) => {\\n${insertCall}\\n }`,\n\t\t\t);\n\t\t}\n\t}\n\n\tfor (const fn of publicFunctions) {\n\t\tconst tableName = toSnake(fn.name);\n\t\tconst insertCall = buildInsertCall(tableName, fn.args);\n\t\thandlerEntries.push(\n\t\t\t` '${contractId}::${fn.name}': async (event, ctx) => {\\n${insertCall}\\n }`,\n\t\t);\n\t}\n\n\tconst handlersBlock = handlerEntries.join(\",\\n\\n\");\n\n\treturn `import { defineSubgraph } from '@secondlayer/subgraphs';\n\nexport default defineSubgraph({\n name: '${name}',\n sources: [${sourceEntries.join(\", \")}],\n schema: {\n${schemaBlock}\n },\n handlers: {\n${handlersBlock}\n }\n});\n`;\n}\n\nexport type { AbiFunction, AbiMap };\n",
15
15
  "import type { McpServer } from \"@modelcontextprotocol/sdk/server/mcp.js\";\nimport { z } from \"zod/v4\";\nimport { bundleSubgraphCode } from \"../lib/bundle.ts\";\nimport { getClient } from \"../lib/client.ts\";\nimport { formatSubgraphSummary, withCap } from \"../lib/format.ts\";\nimport { defineTool } from \"../lib/tool.ts\";\n\nexport function registerSubgraphTools(server: McpServer) {\n\tdefineTool<Record<string, never>>(\n\t\tserver,\n\t\t\"subgraphs_list\",\n\t\t\"List all deployed subgraphs. Returns summary fields only.\",\n\t\t{},\n\t\tasync () => {\n\t\t\tconst { data } = await getClient().subgraphs.list();\n\t\t\treturn {\n\t\t\t\tcontent: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\ttext: JSON.stringify(data.map(formatSubgraphSummary), null, 2),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{ name: string }>(\n\t\tserver,\n\t\t\"subgraphs_get\",\n\t\t\"Get full details of a subgraph including schema, health, and table columns.\",\n\t\t{ name: z.string().describe(\"Subgraph name\") },\n\t\tasync ({ name }) => {\n\t\t\tconst detail = await getClient().subgraphs.get(name);\n\t\t\treturn {\n\t\t\t\tcontent: [{ type: \"text\", text: JSON.stringify(detail, null, 2) }],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{\n\t\tname: string;\n\t\ttable: string;\n\t\tfilters?: Record<string, string>;\n\t\tsort?: string;\n\t\torder?: string;\n\t\tlimit?: number;\n\t\toffset?: number;\n\t\tfields?: string;\n\t\tcount?: boolean;\n\t}>(\n\t\tserver,\n\t\t\"subgraphs_query\",\n\t\t'Query rows from a subgraph table (max 200 rows). Filters support operators: \"amount.gte\": \"1000\", \"sender.neq\": \"SP...\", \"name.like\": \"%token%\". Available operators: eq, neq, gt, gte, lt, lte, like.',\n\t\t{\n\t\t\tname: z.string().describe(\"Subgraph name\"),\n\t\t\ttable: z.string().describe(\"Table name\"),\n\t\t\tfilters: z\n\t\t\t\t.record(z.string(), z.string())\n\t\t\t\t.optional()\n\t\t\t\t.describe(\n\t\t\t\t\t'Column filters — plain values or with operators (e.g. {\"amount.gte\": \"1000\", \"sender\": \"SP...\"})',\n\t\t\t\t),\n\t\t\tsort: z.string().optional().describe(\"Column to sort by\"),\n\t\t\torder: z.enum([\"asc\", \"desc\"]).optional().describe(\"Sort order\"),\n\t\t\tlimit: z\n\t\t\t\t.number()\n\t\t\t\t.max(200)\n\t\t\t\t.optional()\n\t\t\t\t.describe(\"Max rows (default 50, max 200)\"),\n\t\t\toffset: z.number().optional().describe(\"Offset for pagination\"),\n\t\t\tfields: z\n\t\t\t\t.string()\n\t\t\t\t.optional()\n\t\t\t\t.describe(\n\t\t\t\t\t'Comma-separated column list to return (e.g. \"sender,amount\")',\n\t\t\t\t),\n\t\t\tcount: z\n\t\t\t\t.boolean()\n\t\t\t\t.optional()\n\t\t\t\t.describe(\"If true, return row count instead of rows\"),\n\t\t},\n\t\tasync ({\n\t\t\tname,\n\t\t\ttable,\n\t\t\tfilters,\n\t\t\tsort,\n\t\t\torder,\n\t\t\tlimit,\n\t\t\toffset,\n\t\t\tfields,\n\t\t\tcount,\n\t\t}) => {\n\t\t\tif (count) {\n\t\t\t\tconst result = await getClient().subgraphs.queryTableCount(\n\t\t\t\t\tname,\n\t\t\t\t\ttable,\n\t\t\t\t\t{ filters, sort, order },\n\t\t\t\t);\n\t\t\t\treturn {\n\t\t\t\t\tcontent: [{ type: \"text\", text: JSON.stringify(result, null, 2) }],\n\t\t\t\t};\n\t\t\t}\n\t\t\tconst rows = await getClient().subgraphs.queryTable(name, table, {\n\t\t\t\tfilters,\n\t\t\t\tsort,\n\t\t\t\torder,\n\t\t\t\tlimit: limit ?? 50,\n\t\t\t\toffset,\n\t\t\t\tfields,\n\t\t\t});\n\t\t\tconst cap = limit ?? 50;\n\t\t\tconst result = withCap(\n\t\t\t\trows as Record<string, unknown>[],\n\t\t\t\tcap > 200 ? 200 : cap,\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tcontent: [{ type: \"text\", text: JSON.stringify(result, null, 2) }],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{ name: string; fromBlock?: number; toBlock?: number }>(\n\t\tserver,\n\t\t\"subgraphs_reindex\",\n\t\t\"Reindex a subgraph from a specific block range.\",\n\t\t{\n\t\t\tname: z.string().describe(\"Subgraph name\"),\n\t\t\tfromBlock: z\n\t\t\t\t.number()\n\t\t\t\t.optional()\n\t\t\t\t.describe(\"Start block (defaults to beginning)\"),\n\t\t\ttoBlock: z.number().optional().describe(\"End block (defaults to latest)\"),\n\t\t},\n\t\tasync ({ name, fromBlock, toBlock }) => {\n\t\t\tconst result = await getClient().subgraphs.reindex(name, {\n\t\t\t\tfromBlock,\n\t\t\t\ttoBlock,\n\t\t\t});\n\t\t\treturn {\n\t\t\t\tcontent: [{ type: \"text\", text: JSON.stringify(result, null, 2) }],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{ name: string }>(\n\t\tserver,\n\t\t\"subgraphs_delete\",\n\t\t\"Delete a subgraph permanently.\",\n\t\t{ name: z.string().describe(\"Subgraph name\") },\n\t\tasync ({ name }) => {\n\t\t\tconst result = await getClient().subgraphs.delete(name);\n\t\t\treturn { content: [{ type: \"text\", text: result.message }] };\n\t\t},\n\t);\n\n\tdefineTool<{ code: string; reindex?: boolean }>(\n\t\tserver,\n\t\t\"subgraphs_deploy\",\n\t\t\"Deploy a subgraph from TypeScript code. Pass the full defineSubgraph() source — it will be bundled, validated, and deployed.\",\n\t\t{\n\t\t\tcode: z\n\t\t\t\t.string()\n\t\t\t\t.describe(\"TypeScript source code containing a defineSubgraph() call\"),\n\t\t\treindex: z\n\t\t\t\t.boolean()\n\t\t\t\t.optional()\n\t\t\t\t.describe(\n\t\t\t\t\t\"Force reindex on breaking schema change (drops and rebuilds all data)\",\n\t\t\t\t),\n\t\t},\n\t\tasync ({ code, reindex }) => {\n\t\t\tconst bundled = await bundleSubgraphCode(code);\n\t\t\tconst result = await getClient().subgraphs.deploy({\n\t\t\t\tname: bundled.name,\n\t\t\t\tversion: bundled.version,\n\t\t\t\tdescription: bundled.description,\n\t\t\t\tsources: bundled.sources,\n\t\t\t\tschema: bundled.schema,\n\t\t\t\thandlerCode: bundled.handlerCode,\n\t\t\t\treindex,\n\t\t\t});\n\t\t\treturn {\n\t\t\t\tcontent: [{ type: \"text\", text: JSON.stringify(result, null, 2) }],\n\t\t\t};\n\t\t},\n\t);\n}\n",
16
16
  "import { validateSubgraphDefinition } from \"@secondlayer/subgraphs/validate\";\nimport esbuild from \"esbuild\";\n\ninterface BundleResult {\n\tname: string;\n\tversion?: string;\n\tdescription?: string;\n\tsources: Record<string, Record<string, unknown>>;\n\tschema: Record<string, unknown>;\n\thandlerCode: string;\n}\n\nexport async function bundleSubgraphCode(code: string): Promise<BundleResult> {\n\tlet result: esbuild.BuildResult;\n\ttry {\n\t\tresult = await esbuild.build({\n\t\t\tstdin: { contents: code, loader: \"ts\", resolveDir: process.cwd() },\n\t\t\tbundle: true,\n\t\t\tplatform: \"node\",\n\t\t\tformat: \"esm\",\n\t\t\texternal: [\"@secondlayer/subgraphs\"],\n\t\t\twrite: false,\n\t\t});\n\t} catch (err: unknown) {\n\t\tthrow new Error(\n\t\t\t`Bundle failed: ${err instanceof Error ? err.message : String(err)}`,\n\t\t);\n\t}\n\tconst handlerCode = new TextDecoder().decode(\n\t\tresult.outputFiles![0]!.contents,\n\t);\n\n\tlet mod: Record<string, unknown>;\n\ttry {\n\t\tconst dataUri = `data:text/javascript;base64,${Buffer.from(handlerCode).toString(\"base64\")}`;\n\t\tmod = await import(dataUri);\n\t} catch (err: unknown) {\n\t\tthrow new Error(\n\t\t\t`Module evaluation failed: ${err instanceof Error ? err.message : String(err)}`,\n\t\t);\n\t}\n\tconst def = mod.default ?? mod;\n\n\tlet validated: ReturnType<typeof validateSubgraphDefinition>;\n\ttry {\n\t\tvalidated = validateSubgraphDefinition(def);\n\t} catch (err: unknown) {\n\t\tthrow new Error(\n\t\t\t`Validation failed: ${err instanceof Error ? err.message : String(err)}`,\n\t\t);\n\t}\n\n\treturn {\n\t\tname: validated.name,\n\t\tversion: validated.version,\n\t\tdescription: validated.description,\n\t\tsources: validated.sources as unknown as Record<string, Record<string, unknown>>,\n\t\tschema: validated.schema,\n\t\thandlerCode,\n\t};\n}\n",
17
+ "import type { McpServer } from \"@modelcontextprotocol/sdk/server/mcp.js\";\nimport { z } from \"zod/v4\";\nimport { getClient } from \"../lib/client.ts\";\nimport { defineTool } from \"../lib/tool.ts\";\n\nexport function registerWorkflowTools(server: McpServer) {\n\tdefineTool<Record<string, never>>(\n\t\tserver,\n\t\t\"workflows_list\",\n\t\t\"List all workflows. Returns summary fields only.\",\n\t\t{},\n\t\tasync () => {\n\t\t\tconst { workflows } = await getClient().workflows.list();\n\t\t\treturn {\n\t\t\t\tcontent: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\ttext: JSON.stringify(workflows, null, 2),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{ name: string }>(\n\t\tserver,\n\t\t\"workflows_get\",\n\t\t\"Get full details of a workflow by name.\",\n\t\t{ name: z.string().describe(\"Workflow name\") },\n\t\tasync ({ name }) => {\n\t\t\tconst detail = await getClient().workflows.get(name);\n\t\t\treturn {\n\t\t\t\tcontent: [{ type: \"text\", text: JSON.stringify(detail, null, 2) }],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{ name: string; input?: string }>(\n\t\tserver,\n\t\t\"workflows_trigger\",\n\t\t\"Trigger a workflow run. Optionally pass input as a JSON string.\",\n\t\t{\n\t\t\tname: z.string().describe(\"Workflow name\"),\n\t\t\tinput: z\n\t\t\t\t.string()\n\t\t\t\t.optional()\n\t\t\t\t.describe(\"Input as JSON string\"),\n\t\t},\n\t\tasync ({ name, input }) => {\n\t\t\tconst parsed = input ? JSON.parse(input) : undefined;\n\t\t\tconst result = await getClient().workflows.trigger(name, parsed);\n\t\t\treturn {\n\t\t\t\tcontent: [{ type: \"text\", text: JSON.stringify(result, null, 2) }],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{ name: string }>(\n\t\tserver,\n\t\t\"workflows_pause\",\n\t\t\"Pause a running workflow.\",\n\t\t{ name: z.string().describe(\"Workflow name\") },\n\t\tasync ({ name }) => {\n\t\t\tawait getClient().workflows.pause(name);\n\t\t\treturn {\n\t\t\t\tcontent: [{ type: \"text\", text: `Paused workflow \"${name}\"` }],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{ name: string }>(\n\t\tserver,\n\t\t\"workflows_resume\",\n\t\t\"Resume a paused workflow.\",\n\t\t{ name: z.string().describe(\"Workflow name\") },\n\t\tasync ({ name }) => {\n\t\t\tawait getClient().workflows.resume(name);\n\t\t\treturn {\n\t\t\t\tcontent: [{ type: \"text\", text: `Resumed workflow \"${name}\"` }],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{ name: string; status?: string; limit?: number }>(\n\t\tserver,\n\t\t\"workflows_runs\",\n\t\t\"List runs for a workflow. Optionally filter by status and limit results.\",\n\t\t{\n\t\t\tname: z.string().describe(\"Workflow name\"),\n\t\t\tstatus: z\n\t\t\t\t.enum([\"running\", \"completed\", \"failed\", \"cancelled\"])\n\t\t\t\t.optional()\n\t\t\t\t.describe(\"Filter by run status\"),\n\t\t\tlimit: z\n\t\t\t\t.number()\n\t\t\t\t.optional()\n\t\t\t\t.describe(\"Max runs to return (default 20)\"),\n\t\t},\n\t\tasync ({ name, status, limit }) => {\n\t\t\tconst { runs } = await getClient().workflows.listRuns(name, {\n\t\t\t\tstatus: status as \"running\" | \"completed\" | \"failed\" | \"cancelled\" | undefined,\n\t\t\t\tlimit,\n\t\t\t});\n\t\t\treturn {\n\t\t\t\tcontent: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\ttext: JSON.stringify(runs, null, 2),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t};\n\t\t},\n\t);\n}\n",
17
18
  "import type { McpServer } from \"@modelcontextprotocol/sdk/server/mcp.js\";\nimport {\n\tgetTemplateById,\n\tgetTemplatesByCategory,\n\ttemplates,\n} from \"@secondlayer/subgraphs/templates\";\nimport { z } from \"zod/v4\";\nimport { defineTool } from \"../lib/tool.ts\";\n\nexport function registerTemplateTools(server: McpServer) {\n\tdefineTool<{ category?: string }>(\n\t\tserver,\n\t\t\"templates_list\",\n\t\t\"List available subgraph templates. Returns metadata only — use templates_get for full code.\",\n\t\t{\n\t\t\tcategory: z\n\t\t\t\t.enum([\"defi\", \"nft\", \"token\", \"infrastructure\"])\n\t\t\t\t.optional()\n\t\t\t\t.describe(\"Filter by category\"),\n\t\t},\n\t\tasync ({ category }) => {\n\t\t\tconst list = category ? getTemplatesByCategory(category) : templates;\n\t\t\treturn {\n\t\t\t\tcontent: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\ttext: JSON.stringify(\n\t\t\t\t\t\t\tlist.map((t) => ({\n\t\t\t\t\t\t\t\tid: t.id,\n\t\t\t\t\t\t\t\tname: t.name,\n\t\t\t\t\t\t\t\tdescription: t.description,\n\t\t\t\t\t\t\t\tcategory: t.category,\n\t\t\t\t\t\t\t})),\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t2,\n\t\t\t\t\t\t),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{ id: string }>(\n\t\tserver,\n\t\t\"templates_get\",\n\t\t\"Get a template's full code and prompt by ID.\",\n\t\t{ id: z.string().describe(\"Template ID (e.g. 'dex-swaps')\") },\n\t\tasync ({ id }) => {\n\t\t\tconst template = getTemplateById(id);\n\t\t\tif (!template) {\n\t\t\t\treturn {\n\t\t\t\t\tcontent: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\ttext: `Template \"${id}\" not found. Use templates_list to see available templates.`,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t\tisError: true,\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tcontent: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\ttext: JSON.stringify(\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: template.id,\n\t\t\t\t\t\t\t\tname: template.name,\n\t\t\t\t\t\t\t\tdescription: template.description,\n\t\t\t\t\t\t\t\tcategory: template.category,\n\t\t\t\t\t\t\t\tcode: template.code,\n\t\t\t\t\t\t\t\tprompt: template.prompt,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t2,\n\t\t\t\t\t\t),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t};\n\t\t},\n\t);\n}\n"
18
19
  ],
19
- "mappings": "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",
20
- "debugId": "2081F58D33A0CA1B64756E2164756E21",
20
+ "mappings": ";;;AACA;;;ACDA;AACA;AACA;AACA;;;ACFA;;;ACAA;;;ACDA;AAEA,IAAI,WAA+B;AAG5B,SAAS,SAAS,GAAgB;AAAA,EACxC,IAAI,CAAC,UAAU;AAAA,IACd,MAAM,SAAS,QAAQ,IAAI;AAAA,IAC3B,IAAI,CAAC,QAAQ;AAAA,MACZ,MAAM,IAAI,MACT,2DACC,iEACF;AAAA,IACD;AAAA,IACA,WAAW,IAAI,YAAY,EAAE,OAAO,CAAC;AAAA,EACtC;AAAA,EACA,OAAO;AAAA;AAIR,eAAsB,UAAa,CAClC,QACA,MACA,MACa;AAAA,EACb,MAAM,SAAS,QAAQ,IAAI;AAAA,EAC3B,IAAI,CAAC;AAAA,IAAQ,MAAM,IAAI,MAAM,8BAA8B;AAAA,EAC3D,MAAM,UACL,QAAQ,IAAI,uBAAuB;AAAA,EACpC,MAAM,MAAM,MAAM,MAAM,GAAG,UAAU,QAAQ;AAAA,IAC5C;AAAA,IACA,SAAS;AAAA,MACR,gBAAgB;AAAA,MAChB,eAAe,UAAU;AAAA,IAC1B;AAAA,IACA,MAAM,OAAO,KAAK,UAAU,IAAI,IAAI;AAAA,EACrC,CAAC;AAAA,EACD,IAAI,CAAC,IAAI,IAAI;AAAA,IACZ,MAAM,OAAO,MAAM,IAAI,KAAK,EAAE,MAAM,MAAM,EAAE;AAAA,IAC5C,MAAM,OAAO,OAAO,IAAI,MAAM,QAAQ,QAAQ,IAAI,QAAQ,GAAG;AAAA,MAC5D,QAAQ,IAAI;AAAA,IACb,CAAC;AAAA,EACF;AAAA,EACA,IAAI,IAAI,WAAW;AAAA,IAAK;AAAA,EACxB,OAAO,IAAI,KAAK;AAAA;;;AC3CV,SAAS,mBAAmB,CAAC,GAOjC;AAAA,EACF,OAAO;AAAA,IACN,IAAI,EAAE;AAAA,IACN,MAAM,EAAE;AAAA,IACR,QAAQ,EAAE;AAAA,IACV,aAAa,EAAE;AAAA,IACf,iBAAiB,EAAE;AAAA,IACnB,kBAAkB,EAAE;AAAA,EACrB;AAAA;AAIM,SAAS,qBAAqB,CAAC,GAKnC;AAAA,EACF,OAAO;AAAA,IACN,MAAM,EAAE;AAAA,IACR,QAAQ,EAAE;AAAA,IACV,QAAQ,MAAM,QAAQ,EAAE,MAAM,IAAI,EAAE,SAAS,OAAO,KAAK,EAAE,MAAM;AAAA,IACjE,oBAAoB,EAAE;AAAA,EACvB;AAAA;AAIM,SAAS,qBAAqB,CAAC,GAOnC;AAAA,EACF,OAAO;AAAA,IACN,IAAI,EAAE;AAAA,IACN,aAAa,EAAE;AAAA,IACf,QAAQ,EAAE;AAAA,IACV,YAAY,EAAE;AAAA,IACd,UAAU,EAAE;AAAA,IACZ,WAAW,EAAE;AAAA,EACd;AAAA;AAIM,SAAS,OAAU,CACzB,OACA,KACoD;AAAA,EACpD,OAAO;AAAA,IACN,OAAO,MAAM,MAAM,GAAG,GAAG;AAAA,IACzB,WAAW,MAAM,SAAS;AAAA,IAC1B,OAAO,MAAM;AAAA,EACd;AAAA;;;AC3CM,SAAS,UAAa,CAC5B,QACA,MACA,aACA,QACA,SACO;AAAA,EACP,MAAM,iBAAiB,OAAO,SAAiC;AAAA,IAC9D,IAAI;AAAA,MACH,OAAO,MAAM,QAAQ,IAAI;AAAA,MACxB,OAAO,KAAc;AAAA,MACtB,MAAM,UAAU,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MAC/D,MAAM,SACL,eAAe,SAAS,YAAY,MAAO,IAAY,SAAS;AAAA,MACjE,MAAM,OACL,WAAW,MACR,iBACA,WAAW,MACV,cACA,WAAW,MACV,iBACA,UAAU,MACT,iBACA;AAAA,MACP,OAAO;AAAA,QACN,SAAS;AAAA,UACR;AAAA,YACC,MAAM;AAAA,YACN,MAAM,KAAK,UAAU,EAAE,OAAO,EAAE,MAAM,QAAQ,QAAQ,EAAE,CAAC;AAAA,UAC1D;AAAA,QACD;AAAA,QACA,SAAS;AAAA,MACV;AAAA;AAAA;AAAA,EAGD,OAAO,KAAkB,MAAM,aAAa,QAAQ,cAAc;AAAA;;;AH3C7D,IAAM,eAAe,EAAE,mBAAmB,QAAQ;AAAA,EACxD,EAAE,OAAO;AAAA,IACR,MAAM,EAAE,QAAQ,cAAc;AAAA,IAC9B,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA,IAC5B,WAAW,EAAE,OAAO,EAAE,SAAS;AAAA,IAC/B,WAAW,EAAE,OAAO,EAAE,SAAS;AAAA,IAC/B,WAAW,EAAE,OAAO,EAAE,SAAS;AAAA,EAChC,CAAC;AAAA,EACD,EAAE,OAAO;AAAA,IACR,MAAM,EAAE,QAAQ,UAAU;AAAA,IAC1B,WAAW,EAAE,OAAO,EAAE,SAAS;AAAA,IAC/B,WAAW,EAAE,OAAO,EAAE,SAAS;AAAA,EAChC,CAAC;AAAA,EACD,EAAE,OAAO;AAAA,IACR,MAAM,EAAE,QAAQ,UAAU;AAAA,IAC1B,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA,IAC5B,WAAW,EAAE,OAAO,EAAE,SAAS;AAAA,EAChC,CAAC;AAAA,EACD,EAAE,OAAO;AAAA,IACR,MAAM,EAAE,QAAQ,UAAU;AAAA,IAC1B,eAAe,EAAE,OAAO,EAAE,SAAS;AAAA,IACnC,WAAW,EAAE,OAAO,EAAE,SAAS;AAAA,EAChC,CAAC;AAAA,EACD,EAAE,OAAO;AAAA,IACR,MAAM,EAAE,QAAQ,aAAa;AAAA,IAC7B,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA,IAC5B,WAAW,EAAE,OAAO,EAAE,SAAS;AAAA,IAC/B,iBAAiB,EAAE,OAAO,EAAE,SAAS;AAAA,IACrC,WAAW,EAAE,OAAO,EAAE,SAAS;AAAA,EAChC,CAAC;AAAA,EACD,EAAE,OAAO;AAAA,IACR,MAAM,EAAE,QAAQ,SAAS;AAAA,IACzB,WAAW,EAAE,OAAO,EAAE,SAAS;AAAA,IAC/B,iBAAiB,EAAE,OAAO,EAAE,SAAS;AAAA,IACrC,WAAW,EAAE,OAAO,EAAE,SAAS;AAAA,EAChC,CAAC;AAAA,EACD,EAAE,OAAO;AAAA,IACR,MAAM,EAAE,QAAQ,SAAS;AAAA,IACzB,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA,IAC5B,iBAAiB,EAAE,OAAO,EAAE,SAAS;AAAA,IACrC,WAAW,EAAE,OAAO,EAAE,SAAS;AAAA,EAChC,CAAC;AAAA,EACD,EAAE,OAAO;AAAA,IACR,MAAM,EAAE,QAAQ,cAAc;AAAA,IAC9B,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA,IAC5B,WAAW,EAAE,OAAO,EAAE,SAAS;AAAA,IAC/B,iBAAiB,EAAE,OAAO,EAAE,SAAS;AAAA,IACrC,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA,EAC9B,CAAC;AAAA,EACD,EAAE,OAAO;AAAA,IACR,MAAM,EAAE,QAAQ,UAAU;AAAA,IAC1B,WAAW,EAAE,OAAO,EAAE,SAAS;AAAA,IAC/B,iBAAiB,EAAE,OAAO,EAAE,SAAS;AAAA,IACrC,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA,EAC9B,CAAC;AAAA,EACD,EAAE,OAAO;AAAA,IACR,MAAM,EAAE,QAAQ,UAAU;AAAA,IAC1B,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA,IAC5B,iBAAiB,EAAE,OAAO,EAAE,SAAS;AAAA,IACrC,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA,EAC9B,CAAC;AAAA,EACD,EAAE,OAAO;AAAA,IACR,MAAM,EAAE,QAAQ,eAAe;AAAA,IAC/B,YAAY,EAAE,OAAO,EAAE,SAAS;AAAA,IAChC,cAAc,EAAE,OAAO,EAAE,SAAS;AAAA,IAClC,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,CAAC;AAAA,EACD,EAAE,OAAO;AAAA,IACR,MAAM,EAAE,QAAQ,iBAAiB;AAAA,IACjC,UAAU,EAAE,OAAO,EAAE,SAAS;AAAA,IAC9B,cAAc,EAAE,OAAO,EAAE,SAAS;AAAA,EACnC,CAAC;AAAA,EACD,EAAE,OAAO;AAAA,IACR,MAAM,EAAE,QAAQ,aAAa;AAAA,IAC7B,YAAY,EAAE,OAAO,EAAE,SAAS;AAAA,IAChC,OAAO,EAAE,OAAO,EAAE,SAAS;AAAA,IAC3B,UAAU,EAAE,OAAO,EAAE,SAAS;AAAA,EAC/B,CAAC;AACF,CAAC;AAIM,SAAS,mBAAmB,CAAC,QAAmB;AAAA,EACtD,WACC,QACA,gBACA,0DACA;AAAA,IACC,QAAQ,EACN,KAAK,CAAC,UAAU,YAAY,UAAU,QAAQ,CAAC,EAC/C,SAAS,EACT,SAAS,kBAAkB;AAAA,EAC9B,GACA,SAAS,aAAa;AAAA,IACrB,QAAQ,YAAY,MAAM,UAAU,EAAE,QAAQ,KAC7C,SAAS,EAAE,OAAO,IAAI,SACvB;AAAA,IACA,OAAO;AAAA,MACN,SAAS;AAAA,QACR;AAAA,UACC,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,QAAQ,IAAI,mBAAmB,GAAG,MAAM,CAAC;AAAA,QAC/D;AAAA,MACD;AAAA,IACD;AAAA,GAEF;AAAA,EAEA,WACC,QACA,eACA,6DACA,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,uBAAuB,EAAE,GACnD,SAAS,SAAS;AAAA,IACjB,MAAM,SAAS,MAAM,UAAU,EAAE,QAAQ,IAAI,EAAE;AAAA,IAC/C,OAAO;AAAA,MACN,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,KAAK,UAAU,QAAQ,MAAM,CAAC,EAAE,CAAC;AAAA,IAClE;AAAA,GAEF;AAAA,EAEA,WACC,QACA,kBACA,6CACA;AAAA,IACC,MAAM,EAAE,OAAO,EAAE,SAAS,aAAa;AAAA,IACvC,aAAa,EAAE,OAAO,EAAE,SAAS,sBAAsB;AAAA,IACvD,SAAS,EACP,MAAM,YAAY,EAClB,IAAI,CAAC,EACL,SAAS,uCAAuC;AAAA,EACnD,GACA,SAAS,MAAM,aAAa,cAAc;AAAA,IACzC,MAAM,SAAS,MAAM,UAAU,EAAE,QAAQ,OAAO;AAAA,MAC/C;AAAA,MACA;AAAA,MACA;AAAA,IACD,CAAC;AAAA,IACD,OAAO;AAAA,MACN,SAAS;AAAA,QACR;AAAA,UACC,MAAM;AAAA,UACN,MAAM,KAAK,UACV,EAAE,IAAI,OAAO,OAAO,IAAI,eAAe,OAAO,cAAc,GAC5D,MACA,CACD;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,GAEF;AAAA,EAEA,WAMC,QACA,kBACA,iDACA;AAAA,IACC,IAAI,EAAE,OAAO,EAAE,SAAS,uBAAuB;AAAA,IAC/C,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,UAAU;AAAA,IAC/C,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,kBAAkB;AAAA,IAC9D,SAAS,EAAE,MAAM,YAAY,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,aAAa;AAAA,EACxE,GACA,SAAS,IAAI,MAAM,aAAa,cAAc;AAAA,IAC7C,MAAM,OAAgC,CAAC;AAAA,IACvC,IAAI,SAAS;AAAA,MAAW,KAAK,OAAO;AAAA,IACpC,IAAI,gBAAgB;AAAA,MAAW,KAAK,cAAc;AAAA,IAClD,IAAI,YAAY;AAAA,MAAW,KAAK,UAAU;AAAA,IAC1C,MAAM,SAAS,MAAM,UAAU,EAAE,QAAQ,OAAO,IAAI,IAAW;AAAA,IAC/D,OAAO;AAAA,MACN,SAAS;AAAA,QACR;AAAA,UACC,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,oBAAoB,MAAM,GAAG,MAAM,CAAC;AAAA,QAC1D;AAAA,MACD;AAAA,IACD;AAAA,GAEF;AAAA,EAEA,WACC,QACA,kBACA,gCACA,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,uBAAuB,EAAE,GACnD,SAAS,SAAS;AAAA,IACjB,MAAM,UAAU,EAAE,QAAQ,OAAO,EAAE;AAAA,IACnC,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,UAAU,cAAc,CAAC,EAAE;AAAA,GAEtE;AAAA,EAEA,WACC,QACA,kBACA,+BACA;AAAA,IACC,IAAI,EAAE,OAAO,EAAE,SAAS,uBAAuB;AAAA,IAC/C,SAAS,EAAE,QAAQ,EAAE,SAAS,kCAAkC;AAAA,EACjE,GACA,SAAS,IAAI,cAAc;AAAA,IAC1B,MAAM,SAAS,UACZ,MAAM,UAAU,EAAE,QAAQ,OAAO,EAAE,IACnC,MAAM,UAAU,EAAE,QAAQ,QAAQ,EAAE;AAAA,IACvC,OAAO;AAAA,MACN,SAAS;AAAA,QACR;AAAA,UACC,MAAM;AAAA,UACN,MAAM,KAAK,UACV,EAAE,IAAI,OAAO,IAAI,QAAQ,OAAO,OAAO,GACvC,MACA,CACD;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,GAEF;AAAA,EAEA,WACC,QACA,sBACA,iDACA;AAAA,IACC,IAAI,EAAE,OAAO,EAAE,SAAS,uBAAuB;AAAA,IAC/C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,0BAA0B;AAAA,IACxE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,2BAA2B;AAAA,EACnE,GACA,SAAS,IAAI,OAAO,aAAa;AAAA,IAChC,QAAQ,eAAe,MAAM,UAAU,EAAE,QAAQ,eAAe,IAAI;AAAA,MACnE,OAAO,SAAS;AAAA,MAChB;AAAA,IACD,CAAC;AAAA,IACD,MAAM,SAAS,QAAQ,WAAW,IAAI,qBAAqB,GAAG,EAAE;AAAA,IAChE,OAAO;AAAA,MACN,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,KAAK,UAAU,QAAQ,MAAM,CAAC,EAAE,CAAC;AAAA,IAClE;AAAA,GAEF;AAAA,EAEA,WACC,QACA,qBACA,uGACA;AAAA,IACC,SAAS,EACP,QAAQ,EACR,SAAS,EACT,SAAS,yDAAyD;AAAA,EACrE,GACA,SAAS,cAAc;AAAA,IACtB,IAAI,CAAC,SAAS;AAAA,MACb,QAAQ,YAAY,MAAM,UAAU,EAAE,QAAQ,KAAK;AAAA,QAClD,QAAQ;AAAA,MACT,CAAC;AAAA,MACD,MAAM,QAAQ,QAAQ,IAAI,CAAC,MAAM,EAAE,IAAI;AAAA,MACvC,OAAO;AAAA,QACN,SAAS;AAAA,UACR;AAAA,YACC,MAAM;AAAA,YACN,MAAM,KAAK,UACV,EAAE,SAAS,MAAM,OAAO,MAAM,QAAQ,SAAS,MAAM,GACrD,MACA,CACD;AAAA,UACD;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,IACA,MAAM,SAAS,MAAM,UAAU,EAAE,QAAQ,SAAS;AAAA,IAClD,OAAO;AAAA,MACN,SAAS;AAAA,QACR;AAAA,UACC,MAAM;AAAA,UACN,MAAM,KAAK,UACV;AAAA,YACC,QAAQ,OAAO;AAAA,YACf,SAAS,OAAO,QAAQ,IAAI,mBAAmB;AAAA,UAChD,GACA,MACA,CACD;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,GAEF;AAAA,EAEA,WACC,QACA,sBACA,yGACA;AAAA,IACC,SAAS,EACP,QAAQ,EACR,SAAS,EACT,SAAS,yDAAyD;AAAA,EACrE,GACA,SAAS,cAAc;AAAA,IACtB,IAAI,CAAC,SAAS;AAAA,MACb,QAAQ,YAAY,MAAM,UAAU,EAAE,QAAQ,KAAK;AAAA,QAClD,QAAQ;AAAA,MACT,CAAC;AAAA,MACD,MAAM,QAAQ,QAAQ,IAAI,CAAC,MAAM,EAAE,IAAI;AAAA,MACvC,OAAO;AAAA,QACN,SAAS;AAAA,UACR;AAAA,YACC,MAAM;AAAA,YACN,MAAM,KAAK,UACV,EAAE,SAAS,MAAM,OAAO,MAAM,QAAQ,SAAS,MAAM,GACrD,MACA,CACD;AAAA,UACD;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,IACA,MAAM,SAAS,MAAM,UAAU,EAAE,QAAQ,UAAU;AAAA,IACnD,OAAO;AAAA,MACN,SAAS;AAAA,QACR;AAAA,UACC,MAAM;AAAA,UACN,MAAM,KAAK,UACV;AAAA,YACC,SAAS,OAAO;AAAA,YAChB,SAAS,OAAO,QAAQ,IAAI,mBAAmB;AAAA,UAChD,GACA,MACA,CACD;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,GAEF;AAAA,EAEA,WACC,QACA,kBACA,2EACA;AAAA,IACC,IAAI,EAAE,OAAO,EAAE,SAAS,uBAAuB;AAAA,IAC/C,WAAW,EAAE,OAAO,EAAE,SAAS,gCAAgC;AAAA,IAC/D,SAAS,EAAE,OAAO,EAAE,SAAS,8BAA8B;AAAA,EAC5D,GACA,SAAS,IAAI,WAAW,cAAc;AAAA,IACrC,MAAM,SAAS,MAAM,WAMlB,QAAQ,gBAAgB,aAAa,EAAE,WAAW,QAAQ,CAAC;AAAA,IAC9D,OAAO;AAAA,MACN,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,KAAK,UAAU,QAAQ,MAAM,CAAC,EAAE,CAAC;AAAA,IAClE;AAAA,GAEF;AAAA,EAEA,WACC,QACA,yBACA,mEACA,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,uBAAuB,EAAE,GACnD,SAAS,SAAS;AAAA,IACjB,MAAM,SAAS,MAAM,UAAU,EAAE,QAAQ,aAAa,EAAE;AAAA,IACxD,OAAO;AAAA,MACN,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,KAAK,UAAU,QAAQ,MAAM,CAAC,EAAE,CAAC;AAAA,IAClE;AAAA,GAEF;AAAA;;;AD7XD,IAAM,oBAAoB,aAAa,QAAQ,IAAI,CAAC,SAAS;AAAA,EAC5D,MAAM,IAAI,MAAM,KAAK,IAAI,OAAO;AAAA,EAChC,QAAQ,OAAO,KAAK,IAAI,KAAK,EAAE,OAAO,CAAC,MAAM,MAAM,MAAM;AAC1D,EAAE;AAEF,IAAM,eAAe;AAAA,EACpB;AAAA,IACC,MAAM;AAAA,IACN,SAAS;AAAA,IACT,aAAa;AAAA,EACd;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,SAAS;AAAA,IACT,aAAa;AAAA,EACd;AAAA,EACA,EAAE,MAAM,QAAQ,SAAS,QAAQ,aAAa,eAAe;AAAA,EAC7D;AAAA,IACC,MAAM;AAAA,IACN,SAAS;AAAA,IACT,aAAa;AAAA,EACd;AAAA,EACA,EAAE,MAAM,QAAQ,SAAS,WAAW,aAAa,gBAAgB;AAAA,EACjE,EAAE,MAAM,QAAQ,SAAS,SAAS,aAAa,sBAAsB;AAAA,EACrE;AAAA,IACC,SAAS,CAAC,YAAY,WAAW,QAAQ;AAAA,IACzC,aACC;AAAA,EACF;AACD;AAEO,SAAS,iBAAiB,CAAC,QAAmB;AAAA,EACpD,OAAO,SACN,WACA,yBACA,EAAE,aAAa,iDAAiD,GAChE,aAAa;AAAA,IACZ,UAAU;AAAA,MACT;AAAA,QACC,KAAK;AAAA,QACL,UAAU;AAAA,QACV,MAAM,KAAK,UAAU,mBAAmB,MAAM,CAAC;AAAA,MAChD;AAAA,IACD;AAAA,EACD,EACD;AAAA,EAEA,OAAO,SACN,gBACA,8BACA,EAAE,aAAa,mDAAmD,GAClE,aAAa;AAAA,IACZ,UAAU;AAAA,MACT;AAAA,QACC,KAAK;AAAA,QACL,UAAU;AAAA,QACV,MAAM,KAAK,UAAU,cAAc,MAAM,CAAC;AAAA,MAC3C;AAAA,IACD;AAAA,EACD,EACD;AAAA,EAEA,OAAO,SACN,aACA,2BACA;AAAA,IACC,aACC;AAAA,EACF,GACA,aAAa;AAAA,IACZ,UAAU;AAAA,MACT;AAAA,QACC,KAAK;AAAA,QACL,UAAU;AAAA,QACV,MAAM,KAAK,UACV,UAAU,IAAI,GAAG,IAAI,MAAM,aAAa,gBAAgB;AAAA,UACvD;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACD,EAAE,GACF,MACA,CACD;AAAA,MACD;AAAA,IACD;AAAA,EACD,EACD;AAAA;;;AKxFM,SAAS,oBAAoB,CAAC,QAAmB;AAAA,EACvD,WACC,QACA,kBACA,oDACA,CAAC,GACD,YAAY;AAAA,IACX,MAAM,SAAS,MAAM,WACpB,OACA,kBACD;AAAA,IACA,OAAO;AAAA,MACN,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,KAAK,UAAU,QAAQ,MAAM,CAAC,EAAE,CAAC;AAAA,IAClE;AAAA,GAEF;AAAA;;;AClBD,cAAS;;;ACiCT,SAAS,WAAW,CAAC,GAA+C;AAAA,EACnE,OAAO,OAAO,MAAM,YAAY,MAAM,QAAQ,UAAU;AAAA;AAEzD,SAAS,gBAAgB,CACxB,GAC8C;AAAA,EAC9C,OAAO,OAAO,MAAM,YAAY,MAAM,QAAQ,kBAAkB;AAAA;AAEjE,SAAS,eAAe,CACvB,GAC6C;AAAA,EAC7C,OAAO,OAAO,MAAM,YAAY,MAAM,QAAQ,iBAAiB;AAAA;AAEhE,SAAS,aAAa,CAAC,GAAwC;AAAA,EAC9D,OAAO,OAAO,MAAM,YAAY,MAAM,QAAQ,cAAc;AAAA;AAE7D,SAAS,UAAU,CAClB,GACiE;AAAA,EACjE,OAAO,OAAO,MAAM,YAAY,MAAM,QAAQ,WAAW;AAAA;AAE1D,SAAS,SAAS,CACjB,GACmD;AAAA,EACnD,OAAO,OAAO,MAAM,YAAY,MAAM,QAAQ,UAAU;AAAA;AAEzD,SAAS,aAAa,CACrB,GACqD;AAAA,EACrD,OAAO,OAAO,MAAM,YAAY,MAAM,QAAQ,cAAc;AAAA;AAG7D,SAAS,OAAO,CAAC,SAAkB,UAAiC;AAAA,EACnE,IAAI,OAAO,YAAY,UAAU;AAAA,IAChC,QAAQ;AAAA,WACF;AAAA,QACJ,OAAO,EAAE,MAAM,QAAQ,SAAS;AAAA,WAC5B;AAAA,QACJ,OAAO,EAAE,MAAM,OAAO,SAAS;AAAA,WAC3B;AAAA,WACA;AAAA,QACJ,OAAO,EAAE,MAAM,aAAa,SAAS;AAAA,WACjC;AAAA,QACJ,OAAO,EAAE,MAAM,WAAW,SAAS;AAAA,eAC3B;AAAA,QACR,MAAM,IAAI;AAAA,QACV,IAAI,EAAE,SAAS,MAAM;AAAA,UAAG,OAAO,EAAE,MAAM,QAAQ,SAAS;AAAA,QACxD,IAAI,EAAE,SAAS,KAAK;AAAA,UAAG,OAAO,EAAE,MAAM,OAAO,SAAS;AAAA,QACtD,IAAI,EAAE,SAAS,QAAQ,KAAK,EAAE,SAAS,OAAO,KAAK,EAAE,SAAS,MAAM,GAAG;AAAA,UACtE,OAAO,EAAE,MAAM,QAAQ,SAAS;AAAA,QACjC;AAAA,QACA,IAAI,EAAE,SAAS,MAAM;AAAA,UAAG,OAAO,EAAE,MAAM,QAAQ,SAAS;AAAA,QACxD,OAAO,EAAE,MAAM,SAAS,SAAS;AAAA,MAClC;AAAA;AAAA,EAEF;AAAA,EAEA,IAAI,YAAY,OAAO;AAAA,IAAG,OAAO,EAAE,MAAM,QAAQ,SAAS;AAAA,EAC1D,IAAI,iBAAiB,OAAO,KAAK,gBAAgB,OAAO,GAAG;AAAA,IAC1D,OAAO,EAAE,MAAM,QAAQ,SAAS;AAAA,EACjC;AAAA,EACA,IAAI,cAAc,OAAO;AAAA,IACxB,OAAO,QAAS,QAAkC,UAAU,IAAI;AAAA,EACjE,IAAI,UAAU,OAAO,KAAK,WAAW,OAAO;AAAA,IAC3C,OAAO,EAAE,MAAM,SAAS,SAAS;AAAA,EAClC,IAAI,cAAc,OAAO,GAAG;AAAA,IAC3B,OAAO,QACL,QAA0C,SAAS,IACpD,QACD;AAAA,EACD;AAAA,EAEA,OAAO,EAAE,MAAM,SAAS,SAAS;AAAA;AAGlC,SAAS,2BAA2B,CAAC,SAAgC;AAAA,EACpE,OAAO,QAAQ,SAAS,KAAK;AAAA;AAG9B,SAAS,OAAO,CAAC,MAAsB;AAAA,EACtC,OAAO,KAAK,QAAQ,MAAM,GAAG;AAAA;AAG9B,SAAS,OAAO,CAAC,MAAsB;AAAA,EACtC,OAAO,KAAK,QAAQ,aAAa,CAAC,GAAG,MAAM,EAAE,YAAY,CAAC;AAAA;AAG3D,SAAS,YAAY,CACpB,MACS;AAAA,EACT,IAAI,KAAK,WAAW;AAAA,IAAG,OAAO;AAAA,EAC9B,OAAO,KACL,IAAI,CAAC,QAAQ;AAAA,IACb,MAAM,SAAS,4BAA4B,IAAI,IAAI;AAAA,IACnD,MAAM,WAAW,OAAO,WAAW,qBAAqB;AAAA,IACxD,OAAO,WAAW,QAAQ,IAAI,IAAI,eAAe,OAAO,QAAQ;AAAA,GAChE,EACA,KAAK;AAAA,CAAK;AAAA;AAGb,SAAS,eAAe,CACvB,WACA,MACS;AAAA,EACT,IAAI,KAAK,WAAW,GAAG;AAAA,IACtB,OAAO,qBAAqB;AAAA;AAAA;AAAA,EAC7B;AAAA,EAEA,MAAM,WAAW,KAAK,IAAI,CAAC,QAAQ;AAAA,IAClC,OAAO,WAAW,QAAQ,IAAI,IAAI,YAAY,QAAQ,IAAI,IAAI;AAAA,GAC9D;AAAA,EAED,OAAO,qBAAqB;AAAA,EAAkB,SAAS,KAAK;AAAA,CAAK;AAAA;AAAA;AAG3D,SAAS,oBAAoB,CACnC,YACA,WACA,cACA,QACS;AAAA,EACT,MAAM,gBAAgB,WAAW,MAAM,GAAG;AAAA,EAC1C,MAAM,eAAe,cAAc,cAAc,SAAS,MAAM;AAAA,EAChE,MAAM,OAAO,gBAAgB;AAAA,EAE7B,MAAM,kBAAkB,UAAU,OAAO,CAAC,MAAM,EAAE,WAAW,QAAQ;AAAA,EACrE,MAAM,YAAY,UAAU,OAAO,SAAS;AAAA,EAE5C,IAAI,gBAAgB,WAAW,KAAK,CAAC,WAAW;AAAA,IAC/C,OAAO,iDAAiD;AAAA,EACzD;AAAA,EAEA,MAAM,YAAsB,CAAC;AAAA,EAE7B,IAAI,WAAW;AAAA,IACd,WAAW,MAAM,QAAQ;AAAA,MACxB,MAAM,YAAY,QAAQ,GAAG,IAAI;AAAA,MACjC,IAAI;AAAA,MACJ,IAAI,WAAW,GAAG,KAAK,GAAG;AAAA,QACzB,UAAU,aAAa,GAAG,MAAM,KAAK;AAAA,MACtC,EAAO;AAAA,QACN,UAAU,2BAA2B,4BAA4B,GAAG,KAAK,EAAE;AAAA;AAAA,MAE5E,UAAU,KACT,OAAO;AAAA;AAAA,EAAmC;AAAA;AAAA,MAC3C;AAAA,IACD;AAAA,EACD;AAAA,EAEA,WAAW,MAAM,iBAAiB;AAAA,IACjC,MAAM,YAAY,QAAQ,GAAG,IAAI;AAAA,IACjC,MAAM,UAAU,aAAa,GAAG,IAAI;AAAA,IACpC,UAAU,KACT,OAAO;AAAA;AAAA,EAAmC;AAAA;AAAA,MAC3C;AAAA,EACD;AAAA,EAEA,MAAM,cAAc,UAAU,KAAK;AAAA,CAAK;AAAA,EAExC,MAAM,gBAA0B,CAAC,gBAAgB,eAAe;AAAA,EAEhE,MAAM,iBAA2B,CAAC;AAAA,EAElC,IAAI,WAAW;AAAA,IACd,WAAW,MAAM,QAAQ;AAAA,MACxB,MAAM,YAAY,QAAQ,GAAG,IAAI;AAAA,MACjC,IAAI;AAAA,MACJ,IAAI,WAAW,GAAG,KAAK,GAAG;AAAA,QACzB,aAAa,gBAAgB,WAAW,GAAG,MAAM,KAAK;AAAA,MACvD,EAAO;AAAA,QACN,aAAa,qBAAqB;AAAA;AAAA;AAAA;AAAA,MAEnC,eAAe,KACd,QAAQ,eAAe,GAAG;AAAA,EAAmC;AAAA,MAC9D;AAAA,IACD;AAAA,EACD;AAAA,EAEA,WAAW,MAAM,iBAAiB;AAAA,IACjC,MAAM,YAAY,QAAQ,GAAG,IAAI;AAAA,IACjC,MAAM,aAAa,gBAAgB,WAAW,GAAG,IAAI;AAAA,IACrD,eAAe,KACd,QAAQ,eAAe,GAAG;AAAA,EAAmC;AAAA,MAC9D;AAAA,EACD;AAAA,EAEA,MAAM,gBAAgB,eAAe,KAAK;AAAA;AAAA,CAAO;AAAA,EAEjD,OAAO;AAAA;AAAA;AAAA,WAGG;AAAA,cACG,cAAc,KAAK,IAAI;AAAA;AAAA,EAEnC;AAAA;AAAA;AAAA,EAGA;AAAA;AAAA;AAAA;AAAA;;;ADlOF,IAAM,WACL,QAAQ,IAAI,uBAAuB;AAEpC,eAAe,QAAQ,CACtB,YAC6C;AAAA,EAC7C,MAAM,MAAM,MAAM,MAAM,GAAG,+BAA+B,kBAAkB;AAAA,IAC3E,QAAQ,YAAY,QAAQ,GAAM;AAAA,EACnC,CAAC;AAAA,EACD,IAAI,CAAC,IAAI,IAAI;AAAA,IACZ,IAAI,IAAI,WAAW;AAAA,MAClB,MAAM,IAAI,MAAM,uBAAuB,YAAY;AAAA,IACpD,MAAM,IAAI,MAAM,6BAA6B,IAAI,QAAQ;AAAA,EAC1D;AAAA,EACA,MAAM,MAAO,MAAM,IAAI,KAAK;AAAA,EAC5B,OAAO;AAAA,IACN,WAAW,IAAI,aAAa,CAAC;AAAA,IAC7B,MAAM,IAAI,QAAQ,CAAC;AAAA,EACpB;AAAA;AAGM,SAAS,qBAAqB,CAAC,QAAmB;AAAA,EACxD,WACC,QACA,0BACA,gGACA;AAAA,IACC,YAAY,GACV,OAAO,EACP,SACA,6FACD;AAAA,IACD,cAAc,GACZ,OAAO,EACP,SAAS,EACT,SAAS,wDAAwD;AAAA,EACpE,GACA,SAAS,YAAY,mBAAmB;AAAA,IACvC,QAAQ,WAAW,SAAS,MAAM,SAAS,UAAU;AAAA,IACrD,MAAM,OAAO,qBACZ,YACA,WACA,cACA,IACD;AAAA,IACA,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,KAAK,CAAC,EAAE;AAAA,GAEnD;AAAA,EAEA,WACC,QACA,qBACA,6FACA;AAAA,IACC,KAAK,GACH,OAAO,EACP,SAAS,gDAAgD;AAAA,IAC3D,YAAY,GAAE,OAAO,EAAE,SAAS,6BAA6B;AAAA,IAC7D,cAAc,GACZ,OAAO,EACP,SAAS,EACT,SAAS,4BAA4B;AAAA,EACxC,GACA,SAAS,KAAK,YAAY,mBAAmB;AAAA,IAC5C,IAAI;AAAA,IACJ,IAAI;AAAA,MACH,SAAS,KAAK,MAAM,GAAG;AAAA,MACtB,MAAM;AAAA,MACP,OAAO;AAAA,QACN,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,mBAAmB,CAAC;AAAA,QACpD,SAAS;AAAA,MACV;AAAA;AAAA,IAED,MAAM,OAAO,qBACZ,YACA,OAAO,aAAa,CAAC,GACrB,cACA,OAAO,QAAQ,CAAC,CACjB;AAAA,IACA,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,KAAK,CAAC,EAAE;AAAA,GAEnD;AAAA;;;AErFD,cAAS;;;ACDT;AACA;AAWA,eAAsB,kBAAkB,CAAC,MAAqC;AAAA,EAC7E,IAAI;AAAA,EACJ,IAAI;AAAA,IACH,SAAS,MAAM,QAAQ,MAAM;AAAA,MAC5B,OAAO,EAAE,UAAU,MAAM,QAAQ,MAAM,YAAY,QAAQ,IAAI,EAAE;AAAA,MACjE,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,UAAU,CAAC,wBAAwB;AAAA,MACnC,OAAO;AAAA,IACR,CAAC;AAAA,IACA,OAAO,KAAc;AAAA,IACtB,MAAM,IAAI,MACT,kBAAkB,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG,GAClE;AAAA;AAAA,EAED,MAAM,cAAc,IAAI,YAAY,EAAE,OACrC,OAAO,YAAa,GAAI,QACzB;AAAA,EAEA,IAAI;AAAA,EACJ,IAAI;AAAA,IACH,MAAM,UAAU,+BAA+B,OAAO,KAAK,WAAW,EAAE,SAAS,QAAQ;AAAA,IACzF,MAAM,MAAa;AAAA,IAClB,OAAO,KAAc;AAAA,IACtB,MAAM,IAAI,MACT,6BAA6B,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG,GAC7E;AAAA;AAAA,EAED,MAAM,MAAM,IAAI,WAAW;AAAA,EAE3B,IAAI;AAAA,EACJ,IAAI;AAAA,IACH,YAAY,2BAA2B,GAAG;AAAA,IACzC,OAAO,KAAc;AAAA,IACtB,MAAM,IAAI,MACT,sBAAsB,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG,GACtE;AAAA;AAAA,EAGD,OAAO;AAAA,IACN,MAAM,UAAU;AAAA,IAChB,SAAS,UAAU;AAAA,IACnB,aAAa,UAAU;AAAA,IACvB,SAAS,UAAU;AAAA,IACnB,QAAQ,UAAU;AAAA,IAClB;AAAA,EACD;AAAA;;;ADpDM,SAAS,qBAAqB,CAAC,QAAmB;AAAA,EACxD,WACC,QACA,kBACA,6DACA,CAAC,GACD,YAAY;AAAA,IACX,QAAQ,SAAS,MAAM,UAAU,EAAE,UAAU,KAAK;AAAA,IAClD,OAAO;AAAA,MACN,SAAS;AAAA,QACR;AAAA,UACC,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,KAAK,IAAI,qBAAqB,GAAG,MAAM,CAAC;AAAA,QAC9D;AAAA,MACD;AAAA,IACD;AAAA,GAEF;AAAA,EAEA,WACC,QACA,iBACA,+EACA,EAAE,MAAM,GAAE,OAAO,EAAE,SAAS,eAAe,EAAE,GAC7C,SAAS,WAAW;AAAA,IACnB,MAAM,SAAS,MAAM,UAAU,EAAE,UAAU,IAAI,IAAI;AAAA,IACnD,OAAO;AAAA,MACN,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,KAAK,UAAU,QAAQ,MAAM,CAAC,EAAE,CAAC;AAAA,IAClE;AAAA,GAEF;AAAA,EAEA,WAWC,QACA,mBACA,0MACA;AAAA,IACC,MAAM,GAAE,OAAO,EAAE,SAAS,eAAe;AAAA,IACzC,OAAO,GAAE,OAAO,EAAE,SAAS,YAAY;AAAA,IACvC,SAAS,GACP,OAAO,GAAE,OAAO,GAAG,GAAE,OAAO,CAAC,EAC7B,SAAS,EACT,SACA,kGACD;AAAA,IACD,MAAM,GAAE,OAAO,EAAE,SAAS,EAAE,SAAS,mBAAmB;AAAA,IACxD,OAAO,GAAE,KAAK,CAAC,OAAO,MAAM,CAAC,EAAE,SAAS,EAAE,SAAS,YAAY;AAAA,IAC/D,OAAO,GACL,OAAO,EACP,IAAI,GAAG,EACP,SAAS,EACT,SAAS,gCAAgC;AAAA,IAC3C,QAAQ,GAAE,OAAO,EAAE,SAAS,EAAE,SAAS,uBAAuB;AAAA,IAC9D,QAAQ,GACN,OAAO,EACP,SAAS,EACT,SACA,8DACD;AAAA,IACD,OAAO,GACL,QAAQ,EACR,SAAS,EACT,SAAS,2CAA2C;AAAA,EACvD,GACA;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,QACK;AAAA,IACL,IAAI,OAAO;AAAA,MACV,MAAM,UAAS,MAAM,UAAU,EAAE,UAAU,gBAC1C,MACA,OACA,EAAE,SAAS,MAAM,MAAM,CACxB;AAAA,MACA,OAAO;AAAA,QACN,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,KAAK,UAAU,SAAQ,MAAM,CAAC,EAAE,CAAC;AAAA,MAClE;AAAA,IACD;AAAA,IACA,MAAM,OAAO,MAAM,UAAU,EAAE,UAAU,WAAW,MAAM,OAAO;AAAA,MAChE;AAAA,MACA;AAAA,MACA;AAAA,MACA,OAAO,SAAS;AAAA,MAChB;AAAA,MACA;AAAA,IACD,CAAC;AAAA,IACD,MAAM,MAAM,SAAS;AAAA,IACrB,MAAM,SAAS,QACd,MACA,MAAM,MAAM,MAAM,GACnB;AAAA,IACA,OAAO;AAAA,MACN,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,KAAK,UAAU,QAAQ,MAAM,CAAC,EAAE,CAAC;AAAA,IAClE;AAAA,GAEF;AAAA,EAEA,WACC,QACA,qBACA,mDACA;AAAA,IACC,MAAM,GAAE,OAAO,EAAE,SAAS,eAAe;AAAA,IACzC,WAAW,GACT,OAAO,EACP,SAAS,EACT,SAAS,qCAAqC;AAAA,IAChD,SAAS,GAAE,OAAO,EAAE,SAAS,EAAE,SAAS,gCAAgC;AAAA,EACzE,GACA,SAAS,MAAM,WAAW,cAAc;AAAA,IACvC,MAAM,SAAS,MAAM,UAAU,EAAE,UAAU,QAAQ,MAAM;AAAA,MACxD;AAAA,MACA;AAAA,IACD,CAAC;AAAA,IACD,OAAO;AAAA,MACN,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,KAAK,UAAU,QAAQ,MAAM,CAAC,EAAE,CAAC;AAAA,IAClE;AAAA,GAEF;AAAA,EAEA,WACC,QACA,oBACA,kCACA,EAAE,MAAM,GAAE,OAAO,EAAE,SAAS,eAAe,EAAE,GAC7C,SAAS,WAAW;AAAA,IACnB,MAAM,SAAS,MAAM,UAAU,EAAE,UAAU,OAAO,IAAI;AAAA,IACtD,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,OAAO,QAAQ,CAAC,EAAE;AAAA,GAE7D;AAAA,EAEA,WACC,QACA,oBACA,gIACA;AAAA,IACC,MAAM,GACJ,OAAO,EACP,SAAS,2DAA2D;AAAA,IACtE,SAAS,GACP,QAAQ,EACR,SAAS,EACT,SACA,uEACD;AAAA,EACF,GACA,SAAS,MAAM,cAAc;AAAA,IAC5B,MAAM,UAAU,MAAM,mBAAmB,IAAI;AAAA,IAC7C,MAAM,SAAS,MAAM,UAAU,EAAE,UAAU,OAAO;AAAA,MACjD,MAAM,QAAQ;AAAA,MACd,SAAS,QAAQ;AAAA,MACjB,aAAa,QAAQ;AAAA,MACrB,SAAS,QAAQ;AAAA,MACjB,QAAQ,QAAQ;AAAA,MAChB,aAAa,QAAQ;AAAA,MACrB;AAAA,IACD,CAAC;AAAA,IACD,OAAO;AAAA,MACN,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,KAAK,UAAU,QAAQ,MAAM,CAAC,EAAE,CAAC;AAAA,IAClE;AAAA,GAEF;AAAA;;;AExLD,cAAS;AAIF,SAAS,qBAAqB,CAAC,QAAmB;AAAA,EACxD,WACC,QACA,kBACA,oDACA,CAAC,GACD,YAAY;AAAA,IACX,QAAQ,cAAc,MAAM,UAAU,EAAE,UAAU,KAAK;AAAA,IACvD,OAAO;AAAA,MACN,SAAS;AAAA,QACR;AAAA,UACC,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,WAAW,MAAM,CAAC;AAAA,QACxC;AAAA,MACD;AAAA,IACD;AAAA,GAEF;AAAA,EAEA,WACC,QACA,iBACA,2CACA,EAAE,MAAM,GAAE,OAAO,EAAE,SAAS,eAAe,EAAE,GAC7C,SAAS,WAAW;AAAA,IACnB,MAAM,SAAS,MAAM,UAAU,EAAE,UAAU,IAAI,IAAI;AAAA,IACnD,OAAO;AAAA,MACN,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,KAAK,UAAU,QAAQ,MAAM,CAAC,EAAE,CAAC;AAAA,IAClE;AAAA,GAEF;AAAA,EAEA,WACC,QACA,qBACA,mEACA;AAAA,IACC,MAAM,GAAE,OAAO,EAAE,SAAS,eAAe;AAAA,IACzC,OAAO,GACL,OAAO,EACP,SAAS,EACT,SAAS,sBAAsB;AAAA,EAClC,GACA,SAAS,MAAM,YAAY;AAAA,IAC1B,MAAM,SAAS,QAAQ,KAAK,MAAM,KAAK,IAAI;AAAA,IAC3C,MAAM,SAAS,MAAM,UAAU,EAAE,UAAU,QAAQ,MAAM,MAAM;AAAA,IAC/D,OAAO;AAAA,MACN,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,KAAK,UAAU,QAAQ,MAAM,CAAC,EAAE,CAAC;AAAA,IAClE;AAAA,GAEF;AAAA,EAEA,WACC,QACA,mBACA,6BACA,EAAE,MAAM,GAAE,OAAO,EAAE,SAAS,eAAe,EAAE,GAC7C,SAAS,WAAW;AAAA,IACnB,MAAM,UAAU,EAAE,UAAU,MAAM,IAAI;AAAA,IACtC,OAAO;AAAA,MACN,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,oBAAoB,QAAQ,CAAC;AAAA,IAC9D;AAAA,GAEF;AAAA,EAEA,WACC,QACA,oBACA,6BACA,EAAE,MAAM,GAAE,OAAO,EAAE,SAAS,eAAe,EAAE,GAC7C,SAAS,WAAW;AAAA,IACnB,MAAM,UAAU,EAAE,UAAU,OAAO,IAAI;AAAA,IACvC,OAAO;AAAA,MACN,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,qBAAqB,QAAQ,CAAC;AAAA,IAC/D;AAAA,GAEF;AAAA,EAEA,WACC,QACA,kBACA,4EACA;AAAA,IACC,MAAM,GAAE,OAAO,EAAE,SAAS,eAAe;AAAA,IACzC,QAAQ,GACN,KAAK,CAAC,WAAW,aAAa,UAAU,WAAW,CAAC,EACpD,SAAS,EACT,SAAS,sBAAsB;AAAA,IACjC,OAAO,GACL,OAAO,EACP,SAAS,EACT,SAAS,iCAAiC;AAAA,EAC7C,GACA,SAAS,MAAM,QAAQ,YAAY;AAAA,IAClC,QAAQ,SAAS,MAAM,UAAU,EAAE,UAAU,SAAS,MAAM;AAAA,MAC3D;AAAA,MACA;AAAA,IACD,CAAC;AAAA,IACD,OAAO;AAAA,MACN,SAAS;AAAA,QACR;AAAA,UACC,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,MAAM,MAAM,CAAC;AAAA,QACnC;AAAA,MACD;AAAA,IACD;AAAA,GAEF;AAAA;;;AC/GD;AAAA;AAAA;AAAA,eAGC;AAAA;AAED,cAAS;AAGF,SAAS,qBAAqB,CAAC,QAAmB;AAAA,EACxD,WACC,QACA,kBACA,+FACA;AAAA,IACC,UAAU,GACR,KAAK,CAAC,QAAQ,OAAO,SAAS,gBAAgB,CAAC,EAC/C,SAAS,EACT,SAAS,oBAAoB;AAAA,EAChC,GACA,SAAS,eAAe;AAAA,IACvB,MAAM,OAAO,WAAW,uBAAuB,QAAQ,IAAI;AAAA,IAC3D,OAAO;AAAA,MACN,SAAS;AAAA,QACR;AAAA,UACC,MAAM;AAAA,UACN,MAAM,KAAK,UACV,KAAK,IAAI,CAAC,OAAO;AAAA,YAChB,IAAI,EAAE;AAAA,YACN,MAAM,EAAE;AAAA,YACR,aAAa,EAAE;AAAA,YACf,UAAU,EAAE;AAAA,UACb,EAAE,GACF,MACA,CACD;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,GAEF;AAAA,EAEA,WACC,QACA,iBACA,gDACA,EAAE,IAAI,GAAE,OAAO,EAAE,SAAS,gCAAgC,EAAE,GAC5D,SAAS,SAAS;AAAA,IACjB,MAAM,WAAW,gBAAgB,EAAE;AAAA,IACnC,IAAI,CAAC,UAAU;AAAA,MACd,OAAO;AAAA,QACN,SAAS;AAAA,UACR;AAAA,YACC,MAAM;AAAA,YACN,MAAM,aAAa;AAAA,UACpB;AAAA,QACD;AAAA,QACA,SAAS;AAAA,MACV;AAAA,IACD;AAAA,IACA,OAAO;AAAA,MACN,SAAS;AAAA,QACR;AAAA,UACC,MAAM;AAAA,UACN,MAAM,KAAK,UACV;AAAA,YACC,IAAI,SAAS;AAAA,YACb,MAAM,SAAS;AAAA,YACf,aAAa,SAAS;AAAA,YACtB,UAAU,SAAS;AAAA,YACnB,MAAM,SAAS;AAAA,YACf,QAAQ,SAAS;AAAA,UAClB,GACA,MACA,CACD;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,GAEF;AAAA;;;AZpED,IAAM,aAAY,QAAQ,cAAc,YAAY,GAAG,CAAC;AACxD,IAAM,MAAM,KAAK,MAChB,aAAa,KAAK,YAAW,iBAAiB,GAAG,OAAO,CACzD;AAEO,SAAS,YAAY,GAAc;AAAA,EACzC,MAAM,SAAS,IAAI,UAAU;AAAA,IAC5B,MAAM;AAAA,IACN,SAAS,IAAI;AAAA,EACd,CAAC;AAAA,EAED,sBAAsB,MAAM;AAAA,EAC5B,sBAAsB,MAAM;AAAA,EAC5B,oBAAoB,MAAM;AAAA,EAC1B,sBAAsB,MAAM;AAAA,EAC5B,qBAAqB,MAAM;AAAA,EAC3B,sBAAsB,MAAM;AAAA,EAC5B,kBAAkB,MAAM;AAAA,EAExB,OAAO;AAAA;;;AD3BR,IAAM,SAAS,aAAa;AAC5B,IAAM,YAAY,IAAI;AACtB,MAAM,OAAO,QAAQ,SAAS;",
21
+ "debugId": "1A3C1AC5F1DDC78164756E2164756E21",
21
22
  "names": []
22
23
  }
package/dist/index.js CHANGED
@@ -801,16 +801,78 @@ function registerSubgraphTools(server) {
801
801
  });
802
802
  }
803
803
 
804
+ // src/tools/workflows.ts
805
+ import { z as z4 } from "zod/v4";
806
+ function registerWorkflowTools(server) {
807
+ defineTool(server, "workflows_list", "List all workflows. Returns summary fields only.", {}, async () => {
808
+ const { workflows } = await getClient().workflows.list();
809
+ return {
810
+ content: [
811
+ {
812
+ type: "text",
813
+ text: JSON.stringify(workflows, null, 2)
814
+ }
815
+ ]
816
+ };
817
+ });
818
+ defineTool(server, "workflows_get", "Get full details of a workflow by name.", { name: z4.string().describe("Workflow name") }, async ({ name }) => {
819
+ const detail = await getClient().workflows.get(name);
820
+ return {
821
+ content: [{ type: "text", text: JSON.stringify(detail, null, 2) }]
822
+ };
823
+ });
824
+ defineTool(server, "workflows_trigger", "Trigger a workflow run. Optionally pass input as a JSON string.", {
825
+ name: z4.string().describe("Workflow name"),
826
+ input: z4.string().optional().describe("Input as JSON string")
827
+ }, async ({ name, input }) => {
828
+ const parsed = input ? JSON.parse(input) : undefined;
829
+ const result = await getClient().workflows.trigger(name, parsed);
830
+ return {
831
+ content: [{ type: "text", text: JSON.stringify(result, null, 2) }]
832
+ };
833
+ });
834
+ defineTool(server, "workflows_pause", "Pause a running workflow.", { name: z4.string().describe("Workflow name") }, async ({ name }) => {
835
+ await getClient().workflows.pause(name);
836
+ return {
837
+ content: [{ type: "text", text: `Paused workflow "${name}"` }]
838
+ };
839
+ });
840
+ defineTool(server, "workflows_resume", "Resume a paused workflow.", { name: z4.string().describe("Workflow name") }, async ({ name }) => {
841
+ await getClient().workflows.resume(name);
842
+ return {
843
+ content: [{ type: "text", text: `Resumed workflow "${name}"` }]
844
+ };
845
+ });
846
+ defineTool(server, "workflows_runs", "List runs for a workflow. Optionally filter by status and limit results.", {
847
+ name: z4.string().describe("Workflow name"),
848
+ status: z4.enum(["running", "completed", "failed", "cancelled"]).optional().describe("Filter by run status"),
849
+ limit: z4.number().optional().describe("Max runs to return (default 20)")
850
+ }, async ({ name, status, limit }) => {
851
+ const { runs } = await getClient().workflows.listRuns(name, {
852
+ status,
853
+ limit
854
+ });
855
+ return {
856
+ content: [
857
+ {
858
+ type: "text",
859
+ text: JSON.stringify(runs, null, 2)
860
+ }
861
+ ]
862
+ };
863
+ });
864
+ }
865
+
804
866
  // src/tools/templates.ts
805
867
  import {
806
868
  getTemplateById,
807
869
  getTemplatesByCategory,
808
870
  templates as templates2
809
871
  } from "@secondlayer/subgraphs/templates";
810
- import { z as z4 } from "zod/v4";
872
+ import { z as z5 } from "zod/v4";
811
873
  function registerTemplateTools(server) {
812
874
  defineTool(server, "templates_list", "List available subgraph templates. Returns metadata only — use templates_get for full code.", {
813
- category: z4.enum(["defi", "nft", "token", "infrastructure"]).optional().describe("Filter by category")
875
+ category: z5.enum(["defi", "nft", "token", "infrastructure"]).optional().describe("Filter by category")
814
876
  }, async ({ category }) => {
815
877
  const list = category ? getTemplatesByCategory(category) : templates2;
816
878
  return {
@@ -827,7 +889,7 @@ function registerTemplateTools(server) {
827
889
  ]
828
890
  };
829
891
  });
830
- defineTool(server, "templates_get", "Get a template's full code and prompt by ID.", { id: z4.string().describe("Template ID (e.g. 'dex-swaps')") }, async ({ id }) => {
892
+ defineTool(server, "templates_get", "Get a template's full code and prompt by ID.", { id: z5.string().describe("Template ID (e.g. 'dex-swaps')") }, async ({ id }) => {
831
893
  const template = getTemplateById(id);
832
894
  if (!template) {
833
895
  return {
@@ -871,6 +933,7 @@ function createServer() {
871
933
  registerStreamTools(server);
872
934
  registerSubgraphTools(server);
873
935
  registerAccountTools(server);
936
+ registerWorkflowTools(server);
874
937
  registerResources(server);
875
938
  return server;
876
939
  }
@@ -878,5 +941,5 @@ export {
878
941
  createServer
879
942
  };
880
943
 
881
- //# debugId=06DB965476E20F1264756E2164756E21
944
+ //# debugId=8518CB4307D6FCD664756E2164756E21
882
945
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../src/server.ts", "../src/resources.ts", "../src/tools/streams.ts", "../src/lib/client.ts", "../src/lib/format.ts", "../src/lib/tool.ts", "../src/tools/account.ts", "../src/tools/scaffold.ts", "../src/lib/scaffold-generate.ts", "../src/tools/subgraphs.ts", "../src/lib/bundle.ts", "../src/tools/templates.ts"],
3
+ "sources": ["../src/server.ts", "../src/resources.ts", "../src/tools/streams.ts", "../src/lib/client.ts", "../src/lib/format.ts", "../src/lib/tool.ts", "../src/tools/account.ts", "../src/tools/scaffold.ts", "../src/lib/scaffold-generate.ts", "../src/tools/subgraphs.ts", "../src/lib/bundle.ts", "../src/tools/workflows.ts", "../src/tools/templates.ts"],
4
4
  "sourcesContent": [
5
- "import { readFileSync } from \"node:fs\";\nimport { dirname, join } from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\nimport { McpServer } from \"@modelcontextprotocol/sdk/server/mcp.js\";\nimport { registerResources } from \"./resources.ts\";\nimport { registerAccountTools } from \"./tools/account.ts\";\nimport { registerScaffoldTools } from \"./tools/scaffold.ts\";\nimport { registerStreamTools } from \"./tools/streams.ts\";\nimport { registerSubgraphTools } from \"./tools/subgraphs.ts\";\nimport { registerTemplateTools } from \"./tools/templates.ts\";\n\nconst __dirname = dirname(fileURLToPath(import.meta.url));\nconst pkg = JSON.parse(\n\treadFileSync(join(__dirname, \"../package.json\"), \"utf-8\"),\n);\n\nexport function createServer(): McpServer {\n\tconst server = new McpServer({\n\t\tname: \"secondlayer\",\n\t\tversion: pkg.version,\n\t});\n\n\tregisterTemplateTools(server);\n\tregisterScaffoldTools(server);\n\tregisterStreamTools(server);\n\tregisterSubgraphTools(server);\n\tregisterAccountTools(server);\n\tregisterResources(server);\n\n\treturn server;\n}\n",
5
+ "import { readFileSync } from \"node:fs\";\nimport { dirname, join } from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\nimport { McpServer } from \"@modelcontextprotocol/sdk/server/mcp.js\";\nimport { registerResources } from \"./resources.ts\";\nimport { registerAccountTools } from \"./tools/account.ts\";\nimport { registerScaffoldTools } from \"./tools/scaffold.ts\";\nimport { registerStreamTools } from \"./tools/streams.ts\";\nimport { registerSubgraphTools } from \"./tools/subgraphs.ts\";\nimport { registerWorkflowTools } from \"./tools/workflows.ts\";\nimport { registerTemplateTools } from \"./tools/templates.ts\";\n\nconst __dirname = dirname(fileURLToPath(import.meta.url));\nconst pkg = JSON.parse(\n\treadFileSync(join(__dirname, \"../package.json\"), \"utf-8\"),\n);\n\nexport function createServer(): McpServer {\n\tconst server = new McpServer({\n\t\tname: \"secondlayer\",\n\t\tversion: pkg.version,\n\t});\n\n\tregisterTemplateTools(server);\n\tregisterScaffoldTools(server);\n\tregisterStreamTools(server);\n\tregisterSubgraphTools(server);\n\tregisterAccountTools(server);\n\tregisterWorkflowTools(server);\n\tregisterResources(server);\n\n\treturn server;\n}\n",
6
6
  "import type { McpServer } from \"@modelcontextprotocol/sdk/server/mcp.js\";\nimport { templates } from \"@secondlayer/subgraphs/templates\";\nimport { FilterSchema } from \"./tools/streams.ts\";\n\n/** Derived from FilterSchema — single source of truth for filter types and fields. */\nconst FILTERS_REFERENCE = FilterSchema.options.map((opt) => ({\n\ttype: opt.shape.type.def.values[0] as string,\n\tfields: Object.keys(opt.shape).filter((k) => k !== \"type\"),\n}));\n\nconst COLUMN_TYPES = [\n\t{\n\t\ttype: \"uint\",\n\t\tsqlType: \"bigint\",\n\t\tdescription: \"Unsigned integer (Clarity uint)\",\n\t},\n\t{\n\t\ttype: \"int\",\n\t\tsqlType: \"bigint\",\n\t\tdescription: \"Signed integer (Clarity int)\",\n\t},\n\t{ type: \"text\", sqlType: \"text\", description: \"UTF-8 string\" },\n\t{\n\t\ttype: \"principal\",\n\t\tsqlType: \"text\",\n\t\tdescription: \"Stacks address (standard or contract)\",\n\t},\n\t{ type: \"bool\", sqlType: \"boolean\", description: \"Boolean value\" },\n\t{ type: \"json\", sqlType: \"jsonb\", description: \"Arbitrary JSON data\" },\n\t{\n\t\toptions: [\"nullable\", \"indexed\", \"search\"],\n\t\tdescription:\n\t\t\t\"Column options: nullable allows NULL, indexed creates a B-tree index, search enables full-text search\",\n\t},\n];\n\nexport function registerResources(server: McpServer) {\n\tserver.resource(\n\t\t\"filters\",\n\t\t\"secondlayer://filters\",\n\t\t{ description: \"Stream filter types and their available fields\" },\n\t\tasync () => ({\n\t\t\tcontents: [\n\t\t\t\t{\n\t\t\t\t\turi: \"secondlayer://filters\",\n\t\t\t\t\tmimeType: \"application/json\",\n\t\t\t\t\ttext: JSON.stringify(FILTERS_REFERENCE, null, 2),\n\t\t\t\t},\n\t\t\t],\n\t\t}),\n\t);\n\n\tserver.resource(\n\t\t\"column-types\",\n\t\t\"secondlayer://column-types\",\n\t\t{ description: \"Subgraph column types, SQL mappings, and options\" },\n\t\tasync () => ({\n\t\t\tcontents: [\n\t\t\t\t{\n\t\t\t\t\turi: \"secondlayer://column-types\",\n\t\t\t\t\tmimeType: \"application/json\",\n\t\t\t\t\ttext: JSON.stringify(COLUMN_TYPES, null, 2),\n\t\t\t\t},\n\t\t\t],\n\t\t}),\n\t);\n\n\tserver.resource(\n\t\t\"templates\",\n\t\t\"secondlayer://templates\",\n\t\t{\n\t\t\tdescription:\n\t\t\t\t\"Available subgraph templates with descriptions and categories\",\n\t\t},\n\t\tasync () => ({\n\t\t\tcontents: [\n\t\t\t\t{\n\t\t\t\t\turi: \"secondlayer://templates\",\n\t\t\t\t\tmimeType: \"application/json\",\n\t\t\t\t\ttext: JSON.stringify(\n\t\t\t\t\t\ttemplates.map(({ id, name, description, category }) => ({\n\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\tname,\n\t\t\t\t\t\t\tdescription,\n\t\t\t\t\t\t\tcategory,\n\t\t\t\t\t\t})),\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\t2,\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t],\n\t\t}),\n\t);\n}\n",
7
7
  "import type { McpServer } from \"@modelcontextprotocol/sdk/server/mcp.js\";\nimport { z } from \"zod/v4\";\nimport { apiRequest, getClient } from \"../lib/client.ts\";\nimport {\n\tformatDeliverySummary,\n\tformatStreamSummary,\n\twithCap,\n} from \"../lib/format.ts\";\nimport { defineTool } from \"../lib/tool.ts\";\n\n/** Filter schema — full 13-type discriminated union for MCP JSON Schema generation. */\nexport const FilterSchema = z.discriminatedUnion(\"type\", [\n\tz.object({\n\t\ttype: z.literal(\"stx_transfer\"),\n\t\tsender: z.string().optional(),\n\t\trecipient: z.string().optional(),\n\t\tminAmount: z.number().optional(),\n\t\tmaxAmount: z.number().optional(),\n\t}),\n\tz.object({\n\t\ttype: z.literal(\"stx_mint\"),\n\t\trecipient: z.string().optional(),\n\t\tminAmount: z.number().optional(),\n\t}),\n\tz.object({\n\t\ttype: z.literal(\"stx_burn\"),\n\t\tsender: z.string().optional(),\n\t\tminAmount: z.number().optional(),\n\t}),\n\tz.object({\n\t\ttype: z.literal(\"stx_lock\"),\n\t\tlockedAddress: z.string().optional(),\n\t\tminAmount: z.number().optional(),\n\t}),\n\tz.object({\n\t\ttype: z.literal(\"ft_transfer\"),\n\t\tsender: z.string().optional(),\n\t\trecipient: z.string().optional(),\n\t\tassetIdentifier: z.string().optional(),\n\t\tminAmount: z.number().optional(),\n\t}),\n\tz.object({\n\t\ttype: z.literal(\"ft_mint\"),\n\t\trecipient: z.string().optional(),\n\t\tassetIdentifier: z.string().optional(),\n\t\tminAmount: z.number().optional(),\n\t}),\n\tz.object({\n\t\ttype: z.literal(\"ft_burn\"),\n\t\tsender: z.string().optional(),\n\t\tassetIdentifier: z.string().optional(),\n\t\tminAmount: z.number().optional(),\n\t}),\n\tz.object({\n\t\ttype: z.literal(\"nft_transfer\"),\n\t\tsender: z.string().optional(),\n\t\trecipient: z.string().optional(),\n\t\tassetIdentifier: z.string().optional(),\n\t\ttokenId: z.string().optional(),\n\t}),\n\tz.object({\n\t\ttype: z.literal(\"nft_mint\"),\n\t\trecipient: z.string().optional(),\n\t\tassetIdentifier: z.string().optional(),\n\t\ttokenId: z.string().optional(),\n\t}),\n\tz.object({\n\t\ttype: z.literal(\"nft_burn\"),\n\t\tsender: z.string().optional(),\n\t\tassetIdentifier: z.string().optional(),\n\t\ttokenId: z.string().optional(),\n\t}),\n\tz.object({\n\t\ttype: z.literal(\"contract_call\"),\n\t\tcontractId: z.string().optional(),\n\t\tfunctionName: z.string().optional(),\n\t\tcaller: z.string().optional(),\n\t}),\n\tz.object({\n\t\ttype: z.literal(\"contract_deploy\"),\n\t\tdeployer: z.string().optional(),\n\t\tcontractName: z.string().optional(),\n\t}),\n\tz.object({\n\t\ttype: z.literal(\"print_event\"),\n\t\tcontractId: z.string().optional(),\n\t\ttopic: z.string().optional(),\n\t\tcontains: z.string().optional(),\n\t}),\n]);\n\ntype Filter = z.infer<typeof FilterSchema>;\n\nexport function registerStreamTools(server: McpServer) {\n\tdefineTool<{ status?: string }>(\n\t\tserver,\n\t\t\"streams_list\",\n\t\t\"List all webhook streams. Returns summary fields only.\",\n\t\t{\n\t\t\tstatus: z\n\t\t\t\t.enum([\"active\", \"inactive\", \"paused\", \"failed\"])\n\t\t\t\t.optional()\n\t\t\t\t.describe(\"Filter by status\"),\n\t\t},\n\t\tasync ({ status }) => {\n\t\t\tconst { streams } = await getClient().streams.list(\n\t\t\t\tstatus ? { status } : undefined,\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tcontent: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\ttext: JSON.stringify(streams.map(formatStreamSummary), null, 2),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{ id: string }>(\n\t\tserver,\n\t\t\"streams_get\",\n\t\t\"Get full details of a stream by ID (accepts UUID prefix).\",\n\t\t{ id: z.string().describe(\"Stream UUID or prefix\") },\n\t\tasync ({ id }) => {\n\t\t\tconst stream = await getClient().streams.get(id);\n\t\t\treturn {\n\t\t\t\tcontent: [{ type: \"text\", text: JSON.stringify(stream, null, 2) }],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{ name: string; endpointUrl: string; filters: Filter[] }>(\n\t\tserver,\n\t\t\"streams_create\",\n\t\t\"Create a new webhook stream with filters.\",\n\t\t{\n\t\t\tname: z.string().describe(\"Stream name\"),\n\t\t\tendpointUrl: z.string().describe(\"Webhook endpoint URL\"),\n\t\t\tfilters: z\n\t\t\t\t.array(FilterSchema)\n\t\t\t\t.min(1)\n\t\t\t\t.describe(\"Event filters (at least one required)\"),\n\t\t},\n\t\tasync ({ name, endpointUrl, filters }) => {\n\t\t\tconst result = await getClient().streams.create({\n\t\t\t\tname,\n\t\t\t\tendpointUrl,\n\t\t\t\tfilters,\n\t\t\t});\n\t\t\treturn {\n\t\t\t\tcontent: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\ttext: JSON.stringify(\n\t\t\t\t\t\t\t{ id: result.stream.id, signingSecret: result.signingSecret },\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t2,\n\t\t\t\t\t\t),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{\n\t\tid: string;\n\t\tname?: string;\n\t\tendpointUrl?: string;\n\t\tfilters?: Filter[];\n\t}>(\n\t\tserver,\n\t\t\"streams_update\",\n\t\t\"Update a stream's name, endpoint, or filters.\",\n\t\t{\n\t\t\tid: z.string().describe(\"Stream UUID or prefix\"),\n\t\t\tname: z.string().optional().describe(\"New name\"),\n\t\t\tendpointUrl: z.string().optional().describe(\"New endpoint URL\"),\n\t\t\tfilters: z.array(FilterSchema).min(1).optional().describe(\"New filters\"),\n\t\t},\n\t\tasync ({ id, name, endpointUrl, filters }) => {\n\t\t\tconst data: Record<string, unknown> = {};\n\t\t\tif (name !== undefined) data.name = name;\n\t\t\tif (endpointUrl !== undefined) data.endpointUrl = endpointUrl;\n\t\t\tif (filters !== undefined) data.filters = filters;\n\t\t\tconst stream = await getClient().streams.update(id, data as any);\n\t\t\treturn {\n\t\t\t\tcontent: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\ttext: JSON.stringify(formatStreamSummary(stream), null, 2),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{ id: string }>(\n\t\tserver,\n\t\t\"streams_delete\",\n\t\t\"Delete a stream permanently.\",\n\t\t{ id: z.string().describe(\"Stream UUID or prefix\") },\n\t\tasync ({ id }) => {\n\t\t\tawait getClient().streams.delete(id);\n\t\t\treturn { content: [{ type: \"text\", text: `Stream ${id} deleted.` }] };\n\t\t},\n\t);\n\n\tdefineTool<{ id: string; enabled: boolean }>(\n\t\tserver,\n\t\t\"streams_toggle\",\n\t\t\"Enable or disable a stream.\",\n\t\t{\n\t\t\tid: z.string().describe(\"Stream UUID or prefix\"),\n\t\t\tenabled: z.boolean().describe(\"true to enable, false to disable\"),\n\t\t},\n\t\tasync ({ id, enabled }) => {\n\t\t\tconst stream = enabled\n\t\t\t\t? await getClient().streams.enable(id)\n\t\t\t\t: await getClient().streams.disable(id);\n\t\t\treturn {\n\t\t\t\tcontent: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\ttext: JSON.stringify(\n\t\t\t\t\t\t\t{ id: stream.id, status: stream.status },\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t2,\n\t\t\t\t\t\t),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{ id: string; limit?: number; status?: string }>(\n\t\tserver,\n\t\t\"streams_deliveries\",\n\t\t\"List recent deliveries for a stream (max 25).\",\n\t\t{\n\t\t\tid: z.string().describe(\"Stream UUID or prefix\"),\n\t\t\tlimit: z.number().max(25).optional().describe(\"Max results (default 25)\"),\n\t\t\tstatus: z.string().optional().describe(\"Filter by delivery status\"),\n\t\t},\n\t\tasync ({ id, limit, status }) => {\n\t\t\tconst { deliveries } = await getClient().streams.listDeliveries(id, {\n\t\t\t\tlimit: limit ?? 25,\n\t\t\t\tstatus,\n\t\t\t});\n\t\t\tconst result = withCap(deliveries.map(formatDeliverySummary), 25);\n\t\t\treturn {\n\t\t\t\tcontent: [{ type: \"text\", text: JSON.stringify(result, null, 2) }],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{ confirm?: boolean }>(\n\t\tserver,\n\t\t\"streams_pause_all\",\n\t\t\"Pause all active streams. Without confirm: true, returns a preview of streams that would be paused.\",\n\t\t{\n\t\t\tconfirm: z\n\t\t\t\t.boolean()\n\t\t\t\t.optional()\n\t\t\t\t.describe(\"Set to true to execute. Omit or false for preview only.\"),\n\t\t},\n\t\tasync ({ confirm }) => {\n\t\t\tif (!confirm) {\n\t\t\t\tconst { streams } = await getClient().streams.list({\n\t\t\t\t\tstatus: \"active\",\n\t\t\t\t});\n\t\t\t\tconst names = streams.map((s) => s.name);\n\t\t\t\treturn {\n\t\t\t\t\tcontent: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\ttext: JSON.stringify(\n\t\t\t\t\t\t\t\t{ preview: true, count: names.length, streams: names },\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t2,\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t};\n\t\t\t}\n\t\t\tconst result = await getClient().streams.pauseAll();\n\t\t\treturn {\n\t\t\t\tcontent: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\ttext: JSON.stringify(\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tpaused: result.paused,\n\t\t\t\t\t\t\t\tstreams: result.streams.map(formatStreamSummary),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t2,\n\t\t\t\t\t\t),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{ confirm?: boolean }>(\n\t\tserver,\n\t\t\"streams_resume_all\",\n\t\t\"Resume all paused streams. Without confirm: true, returns a preview of streams that would be resumed.\",\n\t\t{\n\t\t\tconfirm: z\n\t\t\t\t.boolean()\n\t\t\t\t.optional()\n\t\t\t\t.describe(\"Set to true to execute. Omit or false for preview only.\"),\n\t\t},\n\t\tasync ({ confirm }) => {\n\t\t\tif (!confirm) {\n\t\t\t\tconst { streams } = await getClient().streams.list({\n\t\t\t\t\tstatus: \"paused\",\n\t\t\t\t});\n\t\t\t\tconst names = streams.map((s) => s.name);\n\t\t\t\treturn {\n\t\t\t\t\tcontent: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\ttext: JSON.stringify(\n\t\t\t\t\t\t\t\t{ preview: true, count: names.length, streams: names },\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t2,\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t};\n\t\t\t}\n\t\t\tconst result = await getClient().streams.resumeAll();\n\t\t\treturn {\n\t\t\t\tcontent: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\ttext: JSON.stringify(\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tresumed: result.resumed,\n\t\t\t\t\t\t\t\tstreams: result.streams.map(formatStreamSummary),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t2,\n\t\t\t\t\t\t),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{ id: string; fromBlock: number; toBlock: number }>(\n\t\tserver,\n\t\t\"streams_replay\",\n\t\t\"Replay blocks through a stream, re-delivering events for a block range.\",\n\t\t{\n\t\t\tid: z.string().describe(\"Stream UUID or prefix\"),\n\t\t\tfromBlock: z.number().describe(\"Start block height (inclusive)\"),\n\t\t\ttoBlock: z.number().describe(\"End block height (inclusive)\"),\n\t\t},\n\t\tasync ({ id, fromBlock, toBlock }) => {\n\t\t\tconst result = await apiRequest<{\n\t\t\t\tstreamId: string;\n\t\t\t\tfromBlock: number;\n\t\t\t\ttoBlock: number;\n\t\t\t\tjobCount: number;\n\t\t\t\tmessage: string;\n\t\t\t}>(\"POST\", `/api/streams/${id}/replay`, { fromBlock, toBlock });\n\t\t\treturn {\n\t\t\t\tcontent: [{ type: \"text\", text: JSON.stringify(result, null, 2) }],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{ id: string }>(\n\t\tserver,\n\t\t\"streams_rotate_secret\",\n\t\t\"Rotate the signing secret for a stream. Returns the new secret.\",\n\t\t{ id: z.string().describe(\"Stream UUID or prefix\") },\n\t\tasync ({ id }) => {\n\t\t\tconst result = await getClient().streams.rotateSecret(id);\n\t\t\treturn {\n\t\t\t\tcontent: [{ type: \"text\", text: JSON.stringify(result, null, 2) }],\n\t\t\t};\n\t\t},\n\t);\n}\n",
8
8
  "import { SecondLayer } from \"@secondlayer/sdk\";\n\nlet instance: SecondLayer | null = null;\n\n/** Lazy SDK singleton from SECONDLAYER_API_KEY env var. */\nexport function getClient(): SecondLayer {\n\tif (!instance) {\n\t\tconst apiKey = process.env.SECONDLAYER_API_KEY;\n\t\tif (!apiKey) {\n\t\t\tthrow new Error(\n\t\t\t\t\"SECONDLAYER_API_KEY environment variable is required. \" +\n\t\t\t\t\t\"Get your key at https://app.secondlayer.tools/settings/api-keys\",\n\t\t\t);\n\t\t}\n\t\tinstance = new SecondLayer({ apiKey });\n\t}\n\treturn instance;\n}\n\n/** Raw fetch helper for API endpoints not covered by the SDK. */\nexport async function apiRequest<T>(\n\tmethod: string,\n\tpath: string,\n\tbody?: unknown,\n): Promise<T> {\n\tconst apiKey = process.env.SECONDLAYER_API_KEY;\n\tif (!apiKey) throw new Error(\"SECONDLAYER_API_KEY required\");\n\tconst baseUrl =\n\t\tprocess.env.SECONDLAYER_API_URL || \"https://api.secondlayer.tools\";\n\tconst res = await fetch(`${baseUrl}${path}`, {\n\t\tmethod,\n\t\theaders: {\n\t\t\t\"Content-Type\": \"application/json\",\n\t\t\tAuthorization: `Bearer ${apiKey}`,\n\t\t},\n\t\tbody: body ? JSON.stringify(body) : undefined,\n\t});\n\tif (!res.ok) {\n\t\tconst text = await res.text().catch(() => \"\");\n\t\tthrow Object.assign(new Error(text || `HTTP ${res.status}`), {\n\t\t\tstatus: res.status,\n\t\t});\n\t}\n\tif (res.status === 204) return undefined as T;\n\treturn res.json() as Promise<T>;\n}\n",
@@ -13,9 +13,10 @@
13
13
  "/**\n * Subgraph scaffold generator — copied from apps/web/src/lib/scaffold/generate.ts.\n * Browser-safe, pure string templating, no deps.\n */\n\ntype AbiType = string | Record<string, unknown>;\n\ninterface AbiFunction {\n\tname: string;\n\taccess: \"public\" | \"read-only\" | \"private\";\n\targs: ReadonlyArray<{ name: string; type: AbiType }>;\n\toutputs: AbiType;\n}\n\ninterface AbiMap {\n\tname: string;\n\tkey: AbiType;\n\tvalue: AbiType;\n}\n\ntype ColumnType =\n\t| \"uint\"\n\t| \"int\"\n\t| \"principal\"\n\t| \"boolean\"\n\t| \"text\"\n\t| \"jsonb\"\n\t| \"serial\";\n\ninterface MappedColumn {\n\ttype: ColumnType;\n\tnullable: boolean;\n}\n\nfunction isAbiBuffer(t: AbiType): t is { buff: { length: number } } {\n\treturn typeof t === \"object\" && t !== null && \"buff\" in t;\n}\nfunction isAbiStringAscii(\n\tt: AbiType,\n): t is { \"string-ascii\": { length: number } } {\n\treturn typeof t === \"object\" && t !== null && \"string-ascii\" in t;\n}\nfunction isAbiStringUtf8(\n\tt: AbiType,\n): t is { \"string-utf8\": { length: number } } {\n\treturn typeof t === \"object\" && t !== null && \"string-utf8\" in t;\n}\nfunction isAbiOptional(t: AbiType): t is { optional: AbiType } {\n\treturn typeof t === \"object\" && t !== null && \"optional\" in t;\n}\nfunction isAbiTuple(\n\tt: AbiType,\n): t is { tuple: ReadonlyArray<{ name: string; type: AbiType }> } {\n\treturn typeof t === \"object\" && t !== null && \"tuple\" in t;\n}\nfunction isAbiList(\n\tt: AbiType,\n): t is { list: { type: AbiType; length: number } } {\n\treturn typeof t === \"object\" && t !== null && \"list\" in t;\n}\nfunction isAbiResponse(\n\tt: AbiType,\n): t is { response: { ok: AbiType; error: AbiType } } {\n\treturn typeof t === \"object\" && t !== null && \"response\" in t;\n}\n\nfunction mapType(abiType: AbiType, nullable: boolean): MappedColumn {\n\tif (typeof abiType === \"string\") {\n\t\tswitch (abiType) {\n\t\t\tcase \"uint128\":\n\t\t\t\treturn { type: \"uint\", nullable };\n\t\t\tcase \"int128\":\n\t\t\t\treturn { type: \"int\", nullable };\n\t\t\tcase \"principal\":\n\t\t\tcase \"trait_reference\":\n\t\t\t\treturn { type: \"principal\", nullable };\n\t\t\tcase \"bool\":\n\t\t\t\treturn { type: \"boolean\", nullable };\n\t\t\tdefault: {\n\t\t\t\tconst s = abiType;\n\t\t\t\tif (s.includes(\"uint\")) return { type: \"uint\", nullable };\n\t\t\t\tif (s.includes(\"int\")) return { type: \"int\", nullable };\n\t\t\t\tif (s.includes(\"string\") || s.includes(\"ascii\") || s.includes(\"utf8\")) {\n\t\t\t\t\treturn { type: \"text\", nullable };\n\t\t\t\t}\n\t\t\t\tif (s.includes(\"buff\")) return { type: \"text\", nullable };\n\t\t\t\treturn { type: \"jsonb\", nullable };\n\t\t\t}\n\t\t}\n\t}\n\n\tif (isAbiBuffer(abiType)) return { type: \"text\", nullable };\n\tif (isAbiStringAscii(abiType) || isAbiStringUtf8(abiType)) {\n\t\treturn { type: \"text\", nullable };\n\t}\n\tif (isAbiOptional(abiType))\n\t\treturn mapType((abiType as { optional: AbiType }).optional, true);\n\tif (isAbiList(abiType) || isAbiTuple(abiType))\n\t\treturn { type: \"jsonb\", nullable };\n\tif (isAbiResponse(abiType)) {\n\t\treturn mapType(\n\t\t\t(abiType as { response: { ok: AbiType } }).response.ok,\n\t\t\tnullable,\n\t\t);\n\t}\n\n\treturn { type: \"jsonb\", nullable };\n}\n\nfunction clarityTypeToSubgraphColumn(abiType: AbiType): MappedColumn {\n\treturn mapType(abiType, false);\n}\n\nfunction toSnake(name: string): string {\n\treturn name.replace(/-/g, \"_\");\n}\n\nfunction toCamel(name: string): string {\n\treturn name.replace(/-([a-z])/g, (_, c) => c.toUpperCase());\n}\n\nfunction buildColumns(\n\targs: ReadonlyArray<{ name: string; type: AbiType }>,\n): string {\n\tif (args.length === 0) return \" _placeholder: { type: 'text' }\";\n\treturn args\n\t\t.map((arg) => {\n\t\t\tconst mapped = clarityTypeToSubgraphColumn(arg.type);\n\t\t\tconst nullable = mapped.nullable ? \", nullable: true\" : \"\";\n\t\t\treturn ` ${toSnake(arg.name)}: { type: '${mapped.type}'${nullable} }`;\n\t\t})\n\t\t.join(\",\\n\");\n}\n\nfunction buildInsertCall(\n\ttableName: string,\n\targs: ReadonlyArray<{ name: string; type: AbiType }>,\n): string {\n\tif (args.length === 0) {\n\t\treturn ` ctx.insert('${tableName}', {\\n sender: ctx.tx.sender,\\n });`;\n\t}\n\n\tconst mappings = args.map((arg) => {\n\t\treturn ` ${toSnake(arg.name)}: event.${toCamel(arg.name)}`;\n\t});\n\n\treturn ` ctx.insert('${tableName}', {\\n${mappings.join(\",\\n\")},\\n });`;\n}\n\nexport function generateSubgraphCode(\n\tcontractId: string,\n\tfunctions: readonly AbiFunction[],\n\tsubgraphName?: string,\n\tevents?: readonly AbiMap[],\n): string {\n\tconst contractParts = contractId.split(\".\");\n\tconst contractName = contractParts[contractParts.length - 1] ?? contractId;\n\tconst name = subgraphName ?? contractName;\n\n\tconst publicFunctions = functions.filter((f) => f.access === \"public\");\n\tconst hasEvents = events && events.length > 0;\n\n\tif (publicFunctions.length === 0 && !hasEvents) {\n\t\treturn `// No public functions or events selected for ${contractId}`;\n\t}\n\n\tconst tableDefs: string[] = [];\n\n\tif (hasEvents) {\n\t\tfor (const ev of events) {\n\t\t\tconst tableName = toSnake(ev.name);\n\t\t\tlet columns: string;\n\t\t\tif (isAbiTuple(ev.value)) {\n\t\t\t\tcolumns = buildColumns(ev.value.tuple);\n\t\t\t} else {\n\t\t\t\tcolumns = ` value: { type: '${clarityTypeToSubgraphColumn(ev.value).type}' }`;\n\t\t\t}\n\t\t\ttableDefs.push(\n\t\t\t\t` ${tableName}: {\\n columns: {\\n${columns}\\n }\\n }`,\n\t\t\t);\n\t\t}\n\t}\n\n\tfor (const fn of publicFunctions) {\n\t\tconst tableName = toSnake(fn.name);\n\t\tconst columns = buildColumns(fn.args);\n\t\ttableDefs.push(\n\t\t\t` ${tableName}: {\\n columns: {\\n${columns}\\n }\\n }`,\n\t\t);\n\t}\n\n\tconst schemaBlock = tableDefs.join(\",\\n\");\n\n\tconst sourceEntries: string[] = [`{ contract: '${contractId}' }`];\n\n\tconst handlerEntries: string[] = [];\n\n\tif (hasEvents) {\n\t\tfor (const ev of events) {\n\t\t\tconst tableName = toSnake(ev.name);\n\t\t\tlet insertCall: string;\n\t\t\tif (isAbiTuple(ev.value)) {\n\t\t\t\tinsertCall = buildInsertCall(tableName, ev.value.tuple);\n\t\t\t} else {\n\t\t\t\tinsertCall = ` ctx.insert('${tableName}', {\\n value: event.value,\\n });`;\n\t\t\t}\n\t\t\thandlerEntries.push(\n\t\t\t\t` '${contractId}::${ev.name}': async (event, ctx) => {\\n${insertCall}\\n }`,\n\t\t\t);\n\t\t}\n\t}\n\n\tfor (const fn of publicFunctions) {\n\t\tconst tableName = toSnake(fn.name);\n\t\tconst insertCall = buildInsertCall(tableName, fn.args);\n\t\thandlerEntries.push(\n\t\t\t` '${contractId}::${fn.name}': async (event, ctx) => {\\n${insertCall}\\n }`,\n\t\t);\n\t}\n\n\tconst handlersBlock = handlerEntries.join(\",\\n\\n\");\n\n\treturn `import { defineSubgraph } from '@secondlayer/subgraphs';\n\nexport default defineSubgraph({\n name: '${name}',\n sources: [${sourceEntries.join(\", \")}],\n schema: {\n${schemaBlock}\n },\n handlers: {\n${handlersBlock}\n }\n});\n`;\n}\n\nexport type { AbiFunction, AbiMap };\n",
14
14
  "import type { McpServer } from \"@modelcontextprotocol/sdk/server/mcp.js\";\nimport { z } from \"zod/v4\";\nimport { bundleSubgraphCode } from \"../lib/bundle.ts\";\nimport { getClient } from \"../lib/client.ts\";\nimport { formatSubgraphSummary, withCap } from \"../lib/format.ts\";\nimport { defineTool } from \"../lib/tool.ts\";\n\nexport function registerSubgraphTools(server: McpServer) {\n\tdefineTool<Record<string, never>>(\n\t\tserver,\n\t\t\"subgraphs_list\",\n\t\t\"List all deployed subgraphs. Returns summary fields only.\",\n\t\t{},\n\t\tasync () => {\n\t\t\tconst { data } = await getClient().subgraphs.list();\n\t\t\treturn {\n\t\t\t\tcontent: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\ttext: JSON.stringify(data.map(formatSubgraphSummary), null, 2),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{ name: string }>(\n\t\tserver,\n\t\t\"subgraphs_get\",\n\t\t\"Get full details of a subgraph including schema, health, and table columns.\",\n\t\t{ name: z.string().describe(\"Subgraph name\") },\n\t\tasync ({ name }) => {\n\t\t\tconst detail = await getClient().subgraphs.get(name);\n\t\t\treturn {\n\t\t\t\tcontent: [{ type: \"text\", text: JSON.stringify(detail, null, 2) }],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{\n\t\tname: string;\n\t\ttable: string;\n\t\tfilters?: Record<string, string>;\n\t\tsort?: string;\n\t\torder?: string;\n\t\tlimit?: number;\n\t\toffset?: number;\n\t\tfields?: string;\n\t\tcount?: boolean;\n\t}>(\n\t\tserver,\n\t\t\"subgraphs_query\",\n\t\t'Query rows from a subgraph table (max 200 rows). Filters support operators: \"amount.gte\": \"1000\", \"sender.neq\": \"SP...\", \"name.like\": \"%token%\". Available operators: eq, neq, gt, gte, lt, lte, like.',\n\t\t{\n\t\t\tname: z.string().describe(\"Subgraph name\"),\n\t\t\ttable: z.string().describe(\"Table name\"),\n\t\t\tfilters: z\n\t\t\t\t.record(z.string(), z.string())\n\t\t\t\t.optional()\n\t\t\t\t.describe(\n\t\t\t\t\t'Column filters — plain values or with operators (e.g. {\"amount.gte\": \"1000\", \"sender\": \"SP...\"})',\n\t\t\t\t),\n\t\t\tsort: z.string().optional().describe(\"Column to sort by\"),\n\t\t\torder: z.enum([\"asc\", \"desc\"]).optional().describe(\"Sort order\"),\n\t\t\tlimit: z\n\t\t\t\t.number()\n\t\t\t\t.max(200)\n\t\t\t\t.optional()\n\t\t\t\t.describe(\"Max rows (default 50, max 200)\"),\n\t\t\toffset: z.number().optional().describe(\"Offset for pagination\"),\n\t\t\tfields: z\n\t\t\t\t.string()\n\t\t\t\t.optional()\n\t\t\t\t.describe(\n\t\t\t\t\t'Comma-separated column list to return (e.g. \"sender,amount\")',\n\t\t\t\t),\n\t\t\tcount: z\n\t\t\t\t.boolean()\n\t\t\t\t.optional()\n\t\t\t\t.describe(\"If true, return row count instead of rows\"),\n\t\t},\n\t\tasync ({\n\t\t\tname,\n\t\t\ttable,\n\t\t\tfilters,\n\t\t\tsort,\n\t\t\torder,\n\t\t\tlimit,\n\t\t\toffset,\n\t\t\tfields,\n\t\t\tcount,\n\t\t}) => {\n\t\t\tif (count) {\n\t\t\t\tconst result = await getClient().subgraphs.queryTableCount(\n\t\t\t\t\tname,\n\t\t\t\t\ttable,\n\t\t\t\t\t{ filters, sort, order },\n\t\t\t\t);\n\t\t\t\treturn {\n\t\t\t\t\tcontent: [{ type: \"text\", text: JSON.stringify(result, null, 2) }],\n\t\t\t\t};\n\t\t\t}\n\t\t\tconst rows = await getClient().subgraphs.queryTable(name, table, {\n\t\t\t\tfilters,\n\t\t\t\tsort,\n\t\t\t\torder,\n\t\t\t\tlimit: limit ?? 50,\n\t\t\t\toffset,\n\t\t\t\tfields,\n\t\t\t});\n\t\t\tconst cap = limit ?? 50;\n\t\t\tconst result = withCap(\n\t\t\t\trows as Record<string, unknown>[],\n\t\t\t\tcap > 200 ? 200 : cap,\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tcontent: [{ type: \"text\", text: JSON.stringify(result, null, 2) }],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{ name: string; fromBlock?: number; toBlock?: number }>(\n\t\tserver,\n\t\t\"subgraphs_reindex\",\n\t\t\"Reindex a subgraph from a specific block range.\",\n\t\t{\n\t\t\tname: z.string().describe(\"Subgraph name\"),\n\t\t\tfromBlock: z\n\t\t\t\t.number()\n\t\t\t\t.optional()\n\t\t\t\t.describe(\"Start block (defaults to beginning)\"),\n\t\t\ttoBlock: z.number().optional().describe(\"End block (defaults to latest)\"),\n\t\t},\n\t\tasync ({ name, fromBlock, toBlock }) => {\n\t\t\tconst result = await getClient().subgraphs.reindex(name, {\n\t\t\t\tfromBlock,\n\t\t\t\ttoBlock,\n\t\t\t});\n\t\t\treturn {\n\t\t\t\tcontent: [{ type: \"text\", text: JSON.stringify(result, null, 2) }],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{ name: string }>(\n\t\tserver,\n\t\t\"subgraphs_delete\",\n\t\t\"Delete a subgraph permanently.\",\n\t\t{ name: z.string().describe(\"Subgraph name\") },\n\t\tasync ({ name }) => {\n\t\t\tconst result = await getClient().subgraphs.delete(name);\n\t\t\treturn { content: [{ type: \"text\", text: result.message }] };\n\t\t},\n\t);\n\n\tdefineTool<{ code: string; reindex?: boolean }>(\n\t\tserver,\n\t\t\"subgraphs_deploy\",\n\t\t\"Deploy a subgraph from TypeScript code. Pass the full defineSubgraph() source — it will be bundled, validated, and deployed.\",\n\t\t{\n\t\t\tcode: z\n\t\t\t\t.string()\n\t\t\t\t.describe(\"TypeScript source code containing a defineSubgraph() call\"),\n\t\t\treindex: z\n\t\t\t\t.boolean()\n\t\t\t\t.optional()\n\t\t\t\t.describe(\n\t\t\t\t\t\"Force reindex on breaking schema change (drops and rebuilds all data)\",\n\t\t\t\t),\n\t\t},\n\t\tasync ({ code, reindex }) => {\n\t\t\tconst bundled = await bundleSubgraphCode(code);\n\t\t\tconst result = await getClient().subgraphs.deploy({\n\t\t\t\tname: bundled.name,\n\t\t\t\tversion: bundled.version,\n\t\t\t\tdescription: bundled.description,\n\t\t\t\tsources: bundled.sources,\n\t\t\t\tschema: bundled.schema,\n\t\t\t\thandlerCode: bundled.handlerCode,\n\t\t\t\treindex,\n\t\t\t});\n\t\t\treturn {\n\t\t\t\tcontent: [{ type: \"text\", text: JSON.stringify(result, null, 2) }],\n\t\t\t};\n\t\t},\n\t);\n}\n",
15
15
  "import { validateSubgraphDefinition } from \"@secondlayer/subgraphs/validate\";\nimport esbuild from \"esbuild\";\n\ninterface BundleResult {\n\tname: string;\n\tversion?: string;\n\tdescription?: string;\n\tsources: Record<string, Record<string, unknown>>;\n\tschema: Record<string, unknown>;\n\thandlerCode: string;\n}\n\nexport async function bundleSubgraphCode(code: string): Promise<BundleResult> {\n\tlet result: esbuild.BuildResult;\n\ttry {\n\t\tresult = await esbuild.build({\n\t\t\tstdin: { contents: code, loader: \"ts\", resolveDir: process.cwd() },\n\t\t\tbundle: true,\n\t\t\tplatform: \"node\",\n\t\t\tformat: \"esm\",\n\t\t\texternal: [\"@secondlayer/subgraphs\"],\n\t\t\twrite: false,\n\t\t});\n\t} catch (err: unknown) {\n\t\tthrow new Error(\n\t\t\t`Bundle failed: ${err instanceof Error ? err.message : String(err)}`,\n\t\t);\n\t}\n\tconst handlerCode = new TextDecoder().decode(\n\t\tresult.outputFiles![0]!.contents,\n\t);\n\n\tlet mod: Record<string, unknown>;\n\ttry {\n\t\tconst dataUri = `data:text/javascript;base64,${Buffer.from(handlerCode).toString(\"base64\")}`;\n\t\tmod = await import(dataUri);\n\t} catch (err: unknown) {\n\t\tthrow new Error(\n\t\t\t`Module evaluation failed: ${err instanceof Error ? err.message : String(err)}`,\n\t\t);\n\t}\n\tconst def = mod.default ?? mod;\n\n\tlet validated: ReturnType<typeof validateSubgraphDefinition>;\n\ttry {\n\t\tvalidated = validateSubgraphDefinition(def);\n\t} catch (err: unknown) {\n\t\tthrow new Error(\n\t\t\t`Validation failed: ${err instanceof Error ? err.message : String(err)}`,\n\t\t);\n\t}\n\n\treturn {\n\t\tname: validated.name,\n\t\tversion: validated.version,\n\t\tdescription: validated.description,\n\t\tsources: validated.sources as unknown as Record<string, Record<string, unknown>>,\n\t\tschema: validated.schema,\n\t\thandlerCode,\n\t};\n}\n",
16
+ "import type { McpServer } from \"@modelcontextprotocol/sdk/server/mcp.js\";\nimport { z } from \"zod/v4\";\nimport { getClient } from \"../lib/client.ts\";\nimport { defineTool } from \"../lib/tool.ts\";\n\nexport function registerWorkflowTools(server: McpServer) {\n\tdefineTool<Record<string, never>>(\n\t\tserver,\n\t\t\"workflows_list\",\n\t\t\"List all workflows. Returns summary fields only.\",\n\t\t{},\n\t\tasync () => {\n\t\t\tconst { workflows } = await getClient().workflows.list();\n\t\t\treturn {\n\t\t\t\tcontent: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\ttext: JSON.stringify(workflows, null, 2),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{ name: string }>(\n\t\tserver,\n\t\t\"workflows_get\",\n\t\t\"Get full details of a workflow by name.\",\n\t\t{ name: z.string().describe(\"Workflow name\") },\n\t\tasync ({ name }) => {\n\t\t\tconst detail = await getClient().workflows.get(name);\n\t\t\treturn {\n\t\t\t\tcontent: [{ type: \"text\", text: JSON.stringify(detail, null, 2) }],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{ name: string; input?: string }>(\n\t\tserver,\n\t\t\"workflows_trigger\",\n\t\t\"Trigger a workflow run. Optionally pass input as a JSON string.\",\n\t\t{\n\t\t\tname: z.string().describe(\"Workflow name\"),\n\t\t\tinput: z\n\t\t\t\t.string()\n\t\t\t\t.optional()\n\t\t\t\t.describe(\"Input as JSON string\"),\n\t\t},\n\t\tasync ({ name, input }) => {\n\t\t\tconst parsed = input ? JSON.parse(input) : undefined;\n\t\t\tconst result = await getClient().workflows.trigger(name, parsed);\n\t\t\treturn {\n\t\t\t\tcontent: [{ type: \"text\", text: JSON.stringify(result, null, 2) }],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{ name: string }>(\n\t\tserver,\n\t\t\"workflows_pause\",\n\t\t\"Pause a running workflow.\",\n\t\t{ name: z.string().describe(\"Workflow name\") },\n\t\tasync ({ name }) => {\n\t\t\tawait getClient().workflows.pause(name);\n\t\t\treturn {\n\t\t\t\tcontent: [{ type: \"text\", text: `Paused workflow \"${name}\"` }],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{ name: string }>(\n\t\tserver,\n\t\t\"workflows_resume\",\n\t\t\"Resume a paused workflow.\",\n\t\t{ name: z.string().describe(\"Workflow name\") },\n\t\tasync ({ name }) => {\n\t\t\tawait getClient().workflows.resume(name);\n\t\t\treturn {\n\t\t\t\tcontent: [{ type: \"text\", text: `Resumed workflow \"${name}\"` }],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{ name: string; status?: string; limit?: number }>(\n\t\tserver,\n\t\t\"workflows_runs\",\n\t\t\"List runs for a workflow. Optionally filter by status and limit results.\",\n\t\t{\n\t\t\tname: z.string().describe(\"Workflow name\"),\n\t\t\tstatus: z\n\t\t\t\t.enum([\"running\", \"completed\", \"failed\", \"cancelled\"])\n\t\t\t\t.optional()\n\t\t\t\t.describe(\"Filter by run status\"),\n\t\t\tlimit: z\n\t\t\t\t.number()\n\t\t\t\t.optional()\n\t\t\t\t.describe(\"Max runs to return (default 20)\"),\n\t\t},\n\t\tasync ({ name, status, limit }) => {\n\t\t\tconst { runs } = await getClient().workflows.listRuns(name, {\n\t\t\t\tstatus: status as \"running\" | \"completed\" | \"failed\" | \"cancelled\" | undefined,\n\t\t\t\tlimit,\n\t\t\t});\n\t\t\treturn {\n\t\t\t\tcontent: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\ttext: JSON.stringify(runs, null, 2),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t};\n\t\t},\n\t);\n}\n",
16
17
  "import type { McpServer } from \"@modelcontextprotocol/sdk/server/mcp.js\";\nimport {\n\tgetTemplateById,\n\tgetTemplatesByCategory,\n\ttemplates,\n} from \"@secondlayer/subgraphs/templates\";\nimport { z } from \"zod/v4\";\nimport { defineTool } from \"../lib/tool.ts\";\n\nexport function registerTemplateTools(server: McpServer) {\n\tdefineTool<{ category?: string }>(\n\t\tserver,\n\t\t\"templates_list\",\n\t\t\"List available subgraph templates. Returns metadata only — use templates_get for full code.\",\n\t\t{\n\t\t\tcategory: z\n\t\t\t\t.enum([\"defi\", \"nft\", \"token\", \"infrastructure\"])\n\t\t\t\t.optional()\n\t\t\t\t.describe(\"Filter by category\"),\n\t\t},\n\t\tasync ({ category }) => {\n\t\t\tconst list = category ? getTemplatesByCategory(category) : templates;\n\t\t\treturn {\n\t\t\t\tcontent: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\ttext: JSON.stringify(\n\t\t\t\t\t\t\tlist.map((t) => ({\n\t\t\t\t\t\t\t\tid: t.id,\n\t\t\t\t\t\t\t\tname: t.name,\n\t\t\t\t\t\t\t\tdescription: t.description,\n\t\t\t\t\t\t\t\tcategory: t.category,\n\t\t\t\t\t\t\t})),\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t2,\n\t\t\t\t\t\t),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t};\n\t\t},\n\t);\n\n\tdefineTool<{ id: string }>(\n\t\tserver,\n\t\t\"templates_get\",\n\t\t\"Get a template's full code and prompt by ID.\",\n\t\t{ id: z.string().describe(\"Template ID (e.g. 'dex-swaps')\") },\n\t\tasync ({ id }) => {\n\t\t\tconst template = getTemplateById(id);\n\t\t\tif (!template) {\n\t\t\t\treturn {\n\t\t\t\t\tcontent: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\ttext: `Template \"${id}\" not found. Use templates_list to see available templates.`,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t\tisError: true,\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tcontent: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\ttext: JSON.stringify(\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: template.id,\n\t\t\t\t\t\t\t\tname: template.name,\n\t\t\t\t\t\t\t\tdescription: template.description,\n\t\t\t\t\t\t\t\tcategory: template.category,\n\t\t\t\t\t\t\t\tcode: template.code,\n\t\t\t\t\t\t\t\tprompt: template.prompt,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t2,\n\t\t\t\t\t\t),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t};\n\t\t},\n\t);\n}\n"
17
18
  ],
18
- "mappings": "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",
19
- "debugId": "06DB965476E20F1264756E2164756E21",
19
+ "mappings": "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",
20
+ "debugId": "8518CB4307D6FCD664756E2164756E21",
20
21
  "names": []
21
22
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@secondlayer/mcp",
3
- "version": "0.3.5",
3
+ "version": "0.4.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -28,8 +28,9 @@
28
28
  },
29
29
  "dependencies": {
30
30
  "@modelcontextprotocol/sdk": "^1.27.1",
31
- "@secondlayer/sdk": "^0.9.1",
31
+ "@secondlayer/sdk": "^0.10.0",
32
32
  "@secondlayer/subgraphs": "^0.9.0",
33
+ "@secondlayer/workflows": "^0.0.1",
33
34
  "esbuild": "^0.27.4",
34
35
  "zod": "^4.3.6"
35
36
  },