@secondlayer/mcp 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,68 @@
1
+ # @secondlayer/mcp
2
+
3
+ MCP server for the Second Layer indexing platform.
4
+
5
+ ## Install
6
+
7
+ ```bash
8
+ bun add @secondlayer/mcp
9
+ ```
10
+
11
+ ## Quick Start — Stdio (IDE)
12
+
13
+ Add to your Claude Desktop or Cursor config:
14
+
15
+ ```json
16
+ {
17
+ "mcpServers": {
18
+ "secondlayer": {
19
+ "command": "npx",
20
+ "args": ["@secondlayer/mcp"],
21
+ "env": {
22
+ "SECONDLAYER_API_KEY": "sl_live_..."
23
+ }
24
+ }
25
+ }
26
+ }
27
+ ```
28
+
29
+ ## Quick Start — HTTP (Remote)
30
+
31
+ ```bash
32
+ export SECONDLAYER_API_KEY=sl_live_...
33
+ export SECONDLAYER_MCP_SECRET=your-secret
34
+ npx @secondlayer/mcp-http
35
+ # Listening on port 3100
36
+ ```
37
+
38
+ ## Environment Variables
39
+
40
+ | Variable | Required | Default | Description |
41
+ | --- | --- | --- | --- |
42
+ | `SECONDLAYER_API_KEY` | Yes | — | API key |
43
+ | `SECONDLAYER_MCP_PORT` | No | `3100` | HTTP transport port |
44
+ | `SECONDLAYER_MCP_SECRET` | No | — | Bearer token for HTTP auth. Disabled if unset. |
45
+
46
+ ## Tools
47
+
48
+ 19 tools across 4 domains.
49
+
50
+ | Domain | Tools |
51
+ | --- | --- |
52
+ | **Streams** (9) | `streams_list`, `streams_get`, `streams_create`, `streams_update`, `streams_delete`, `streams_toggle`, `streams_deliveries`, `streams_pause_all`, `streams_resume_all` |
53
+ | **Subgraphs** (6) | `subgraphs_list`, `subgraphs_get`, `subgraphs_query`, `subgraphs_reindex`, `subgraphs_delete`, `subgraphs_deploy` |
54
+ | **Scaffold** (2) | `scaffold_from_contract`, `scaffold_from_abi` |
55
+ | **Templates** (2) | `templates_list`, `templates_get` |
56
+
57
+ ## Programmatic Usage
58
+
59
+ ```typescript
60
+ import { createServer } from "@secondlayer/mcp";
61
+
62
+ const server = createServer();
63
+ // Connect to your own transport
64
+ ```
65
+
66
+ ## License
67
+
68
+ MIT
package/dist/bin-http.js CHANGED
@@ -534,7 +534,7 @@ function registerSubgraphTools(server) {
534
534
  function createServer() {
535
535
  const server = new McpServer({
536
536
  name: "secondlayer",
537
- version: "0.1.0"
537
+ version: "0.2.1"
538
538
  });
539
539
  registerTemplateTools(server);
540
540
  registerScaffoldTools(server);
@@ -615,5 +615,5 @@ httpServer.listen(port, () => {
615
615
  console.error("Warning: SECONDLAYER_MCP_SECRET not set, authentication disabled");
616
616
  });
617
617
 
618
- //# debugId=EE7F6293C5F1832F64756E2164756E21
618
+ //# debugId=51EC2A8F2A8ABB6E64756E2164756E21
619
619
  //# sourceMappingURL=bin-http.js.map
@@ -3,7 +3,7 @@
3
3
  "sources": ["../src/bin-http.ts", "../src/server.ts", "../src/tools/templates.ts", "../src/lib/tool.ts", "../src/tools/scaffold.ts", "../src/lib/scaffold-generate.ts", "../src/tools/streams.ts", "../src/lib/client.ts", "../src/lib/format.ts", "../src/tools/subgraphs.ts", "../src/lib/bundle.ts"],
4
4
  "sourcesContent": [
5
5
  "#!/usr/bin/env node\nimport { createServer as createHttpServer, type IncomingMessage, type ServerResponse } from \"node:http\";\nimport { StreamableHTTPServerTransport } from \"@modelcontextprotocol/sdk/server/streamableHttp.js\";\nimport { createServer } from \"./server.ts\";\n\nconst port = 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 if (!secret) return true;\n return req.headers.authorization === `Bearer ${secret}`;\n}\n\nconst httpServer = createHttpServer(async (req: IncomingMessage, res: ServerResponse) => {\n // Only handle /mcp endpoint\n const url = new URL(req.url ?? \"/\", `http://localhost:${port}`);\n if (url.pathname !== \"/mcp\") {\n res.writeHead(404).end(JSON.stringify({ error: \"Not found\" }));\n return;\n }\n\n // Auth check\n if (!authenticate(req)) {\n res.writeHead(401).end(JSON.stringify({ error: \"Unauthorized\" }));\n return;\n }\n\n const sessionId = req.headers[\"mcp-session-id\"] as string | undefined;\n\n if (req.method === \"POST\") {\n // Read body\n const chunks: Buffer[] = [];\n for await (const chunk of req) chunks.push(chunk as Buffer);\n const body = JSON.parse(Buffer.concat(chunks).toString());\n\n // Check if this is an initialize request (new session)\n const isInitialize = Array.isArray(body)\n ? body.some((m: { method?: string }) => m.method === \"initialize\")\n : body.method === \"initialize\";\n\n if (isInitialize) {\n // Create new session\n const transport = new StreamableHTTPServerTransport({\n sessionIdGenerator: () => crypto.randomUUID(),\n });\n const server = createServer();\n await server.connect(transport);\n\n // Store session after handling (sessionId is set after first request)\n await transport.handleRequest(req, res, body);\n\n if (transport.sessionId) {\n sessions.set(transport.sessionId, transport);\n transport.onclose = () => {\n if (transport.sessionId) sessions.delete(transport.sessionId);\n };\n }\n return;\n }\n\n // Existing session\n if (!sessionId || !sessions.has(sessionId)) {\n res.writeHead(400).end(JSON.stringify({ error: \"Invalid or missing session ID\" }));\n return;\n }\n await sessions.get(sessionId)!.handleRequest(req, res, body);\n } else if (req.method === \"GET\") {\n // SSE stream for existing session\n if (!sessionId || !sessions.has(sessionId)) {\n res.writeHead(400).end(JSON.stringify({ error: \"Invalid or missing session ID\" }));\n return;\n }\n await sessions.get(sessionId)!.handleRequest(req, res);\n } else if (req.method === \"DELETE\") {\n // Session teardown\n if (sessionId && sessions.has(sessionId)) {\n const transport = sessions.get(sessionId)!;\n await transport.handleRequest(req, res);\n await transport.close();\n sessions.delete(sessionId);\n } else {\n res.writeHead(400).end(JSON.stringify({ error: \"Invalid or missing session ID\" }));\n }\n } else {\n res.writeHead(405).end(JSON.stringify({ error: \"Method not allowed\" }));\n }\n});\n\nhttpServer.listen(port, () => {\n console.error(`SecondLayer MCP HTTP server listening on port ${port}`);\n if (!secret) console.error(\"Warning: SECONDLAYER_MCP_SECRET not set, authentication disabled\");\n});\n",
6
- "import { McpServer } from \"@modelcontextprotocol/sdk/server/mcp.js\";\nimport { registerTemplateTools } from \"./tools/templates.ts\";\nimport { registerScaffoldTools } from \"./tools/scaffold.ts\";\nimport { registerStreamTools } from \"./tools/streams.ts\";\nimport { registerSubgraphTools } from \"./tools/subgraphs.ts\";\n\nexport function createServer(): McpServer {\n const server = new McpServer({\n name: \"secondlayer\",\n version: \"0.1.0\",\n });\n\n registerTemplateTools(server);\n registerScaffoldTools(server);\n registerStreamTools(server);\n registerSubgraphTools(server);\n\n return server;\n}\n",
6
+ "import { McpServer } from \"@modelcontextprotocol/sdk/server/mcp.js\";\nimport { registerTemplateTools } from \"./tools/templates.ts\";\nimport { registerScaffoldTools } from \"./tools/scaffold.ts\";\nimport { registerStreamTools } from \"./tools/streams.ts\";\nimport { registerSubgraphTools } from \"./tools/subgraphs.ts\";\n\nexport function createServer(): McpServer {\n const server = new McpServer({\n name: \"secondlayer\",\n version: \"0.2.1\",\n });\n\n registerTemplateTools(server);\n registerScaffoldTools(server);\n registerStreamTools(server);\n registerSubgraphTools(server);\n\n return server;\n}\n",
7
7
  "import { z } from \"zod\";\nimport type { McpServer } from \"@modelcontextprotocol/sdk/server/mcp.js\";\nimport { templates, getTemplateById, getTemplatesByCategory } from \"@secondlayer/subgraphs/templates\";\nimport { defineTool } from \"../lib/tool.ts\";\n\nexport function registerTemplateTools(server: McpServer) {\n defineTool<{ category?: string }>(\n server,\n \"templates_list\",\n \"List available subgraph templates. Returns metadata only — use templates_get for full code.\",\n { category: z.enum([\"defi\", \"nft\", \"token\", \"infrastructure\"]).optional().describe(\"Filter by category\") },\n async ({ category }) => {\n const list = category ? getTemplatesByCategory(category) : templates;\n return {\n content: [{\n type: \"text\",\n text: JSON.stringify(list.map((t) => ({\n id: t.id,\n name: t.name,\n description: t.description,\n category: t.category,\n })), null, 2),\n }],\n };\n },\n );\n\n defineTool<{ id: string }>(\n server,\n \"templates_get\",\n \"Get a template's full code and prompt by ID.\",\n { id: z.string().describe(\"Template ID (e.g. 'dex-swaps')\") },\n async ({ id }) => {\n const template = getTemplateById(id);\n if (!template) {\n return { content: [{ type: \"text\", text: `Template \"${id}\" not found. Use templates_list to see available templates.` }], isError: true };\n }\n return {\n content: [{\n type: \"text\",\n text: JSON.stringify({ id: template.id, name: template.name, description: template.description, category: template.category, code: template.code, prompt: template.prompt }, null, 2),\n }],\n };\n },\n );\n}\n",
8
8
  "import type { McpServer } from \"@modelcontextprotocol/sdk/server/mcp.js\";\n\ninterface ToolResult {\n content: Array<{ type: \"text\"; text: string }>;\n isError?: boolean;\n}\n\n/**\n * Type-safe wrapper around McpServer.tool() that avoids TS2589.\n *\n * The MCP SDK's Zod-generic `tool()` signature recurses past TypeScript's\n * instantiation depth limit when schemas contain discriminated unions or\n * nested optionals. This helper isolates the boundary cast to one place\n * so tool files stay fully typed via the explicit `T` generic.\n *\n * Schema is typed as Record<string, unknown> to prevent TypeScript from\n * resolving the deeply recursive ZodRawShapeCompat constraint. Zod still\n * validates at runtime.\n */\nexport function defineTool<T>(\n server: McpServer,\n name: string,\n description: string,\n schema: Record<string, unknown>,\n handler: (args: T) => Promise<ToolResult> | ToolResult,\n): void {\n (server.tool as Function)(name, description, schema, handler);\n}\n",
9
9
  "import { z } from \"zod\";\nimport type { McpServer } from \"@modelcontextprotocol/sdk/server/mcp.js\";\nimport { generateSubgraphCode } from \"../lib/scaffold-generate.ts\";\nimport { defineTool } from \"../lib/tool.ts\";\n\nconst API_BASE = process.env.SECONDLAYER_API_URL || \"https://api.secondlayer.tools\";\n\nasync function fetchAbi(contractId: string): Promise<{ functions: any[]; maps: any[] }> {\n const res = await fetch(`${API_BASE}/api/node/contracts/${contractId}/abi`);\n if (!res.ok) {\n if (res.status === 404) throw new Error(`Contract not found: ${contractId}`);\n throw new Error(`Failed to fetch ABI: HTTP ${res.status}`);\n }\n const abi = await res.json() as Record<string, any>;\n return {\n functions: abi.functions ?? [],\n maps: abi.maps ?? [],\n };\n}\n\nexport function registerScaffoldTools(server: McpServer) {\n defineTool<{ contractId: string; subgraphName?: string }>(\n server,\n \"scaffold_from_contract\",\n \"Generate a subgraph scaffold from a deployed Stacks contract. Fetches the ABI automatically.\",\n {\n contractId: z.string().describe(\"Fully qualified contract ID (e.g. SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.amm-pool-v2-01)\"),\n subgraphName: z.string().optional().describe(\"Override the subgraph name (defaults to contract name)\"),\n },\n async ({ contractId, subgraphName }) => {\n const { functions, maps } = await fetchAbi(contractId);\n const code = generateSubgraphCode(contractId, functions, subgraphName, maps);\n return { content: [{ type: \"text\", text: code }] };\n },\n );\n\n defineTool<{ abi: string; contractId: string; subgraphName?: string }>(\n server,\n \"scaffold_from_abi\",\n \"Generate a subgraph scaffold from a provided ABI JSON. Use when you already have the ABI.\",\n {\n abi: z.string().describe(\"ABI JSON string (the full contract ABI object)\"),\n contractId: z.string().describe(\"Fully qualified contract ID\"),\n subgraphName: z.string().optional().describe(\"Override the subgraph name\"),\n },\n async ({ abi, contractId, subgraphName }) => {\n let parsed: Record<string, any>;\n try {\n parsed = JSON.parse(abi);\n } catch {\n return { content: [{ type: \"text\", text: \"Invalid ABI JSON\" }], isError: true };\n }\n const code = generateSubgraphCode(\n contractId,\n parsed.functions ?? [],\n subgraphName,\n parsed.maps ?? [],\n );\n return { content: [{ type: \"text\", text: code }] };\n },\n );\n}\n",
@@ -15,6 +15,6 @@
15
15
  "import esbuild from \"esbuild\";\nimport { validateSubgraphDefinition } from \"@secondlayer/subgraphs/validate\";\nimport { sourceKey } from \"@secondlayer/subgraphs\";\n\ninterface BundleResult {\n name: string;\n version?: string;\n description?: string;\n sources: string[];\n schema: Record<string, unknown>;\n handlerCode: string;\n}\n\nexport async function bundleSubgraphCode(code: string): Promise<BundleResult> {\n const result = await esbuild.build({\n stdin: { contents: code, loader: \"ts\", resolveDir: process.cwd() },\n bundle: true,\n platform: \"node\",\n format: \"esm\",\n external: [\"@secondlayer/subgraphs\"],\n write: false,\n });\n const handlerCode = new TextDecoder().decode(result.outputFiles![0]!.contents);\n\n const dataUri = `data:text/javascript;base64,${Buffer.from(handlerCode).toString(\"base64\")}`;\n const mod = await import(dataUri);\n const def = mod.default ?? mod;\n\n const validated = validateSubgraphDefinition(def);\n\n return {\n name: validated.name,\n version: validated.version,\n description: validated.description,\n sources: validated.sources.map(sourceKey),\n schema: validated.schema,\n handlerCode,\n };\n}\n"
16
16
  ],
17
17
  "mappings": "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",
18
- "debugId": "EE7F6293C5F1832F64756E2164756E21",
18
+ "debugId": "51EC2A8F2A8ABB6E64756E2164756E21",
19
19
  "names": []
20
20
  }
package/dist/bin.js CHANGED
@@ -533,7 +533,7 @@ function registerSubgraphTools(server) {
533
533
  function createServer() {
534
534
  const server = new McpServer({
535
535
  name: "secondlayer",
536
- version: "0.1.0"
536
+ version: "0.2.1"
537
537
  });
538
538
  registerTemplateTools(server);
539
539
  registerScaffoldTools(server);
@@ -547,5 +547,5 @@ var server = createServer();
547
547
  var transport = new StdioServerTransport;
548
548
  await server.connect(transport);
549
549
 
550
- //# debugId=6835CF0A8A97C86164756E2164756E21
550
+ //# debugId=5B4E62E33CC2AD1864756E2164756E21
551
551
  //# sourceMappingURL=bin.js.map
package/dist/bin.js.map CHANGED
@@ -3,7 +3,7 @@
3
3
  "sources": ["../src/bin.ts", "../src/server.ts", "../src/tools/templates.ts", "../src/lib/tool.ts", "../src/tools/scaffold.ts", "../src/lib/scaffold-generate.ts", "../src/tools/streams.ts", "../src/lib/client.ts", "../src/lib/format.ts", "../src/tools/subgraphs.ts", "../src/lib/bundle.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 { McpServer } from \"@modelcontextprotocol/sdk/server/mcp.js\";\nimport { registerTemplateTools } from \"./tools/templates.ts\";\nimport { registerScaffoldTools } from \"./tools/scaffold.ts\";\nimport { registerStreamTools } from \"./tools/streams.ts\";\nimport { registerSubgraphTools } from \"./tools/subgraphs.ts\";\n\nexport function createServer(): McpServer {\n const server = new McpServer({\n name: \"secondlayer\",\n version: \"0.1.0\",\n });\n\n registerTemplateTools(server);\n registerScaffoldTools(server);\n registerStreamTools(server);\n registerSubgraphTools(server);\n\n return server;\n}\n",
6
+ "import { McpServer } from \"@modelcontextprotocol/sdk/server/mcp.js\";\nimport { registerTemplateTools } from \"./tools/templates.ts\";\nimport { registerScaffoldTools } from \"./tools/scaffold.ts\";\nimport { registerStreamTools } from \"./tools/streams.ts\";\nimport { registerSubgraphTools } from \"./tools/subgraphs.ts\";\n\nexport function createServer(): McpServer {\n const server = new McpServer({\n name: \"secondlayer\",\n version: \"0.2.1\",\n });\n\n registerTemplateTools(server);\n registerScaffoldTools(server);\n registerStreamTools(server);\n registerSubgraphTools(server);\n\n return server;\n}\n",
7
7
  "import { z } from \"zod\";\nimport type { McpServer } from \"@modelcontextprotocol/sdk/server/mcp.js\";\nimport { templates, getTemplateById, getTemplatesByCategory } from \"@secondlayer/subgraphs/templates\";\nimport { defineTool } from \"../lib/tool.ts\";\n\nexport function registerTemplateTools(server: McpServer) {\n defineTool<{ category?: string }>(\n server,\n \"templates_list\",\n \"List available subgraph templates. Returns metadata only — use templates_get for full code.\",\n { category: z.enum([\"defi\", \"nft\", \"token\", \"infrastructure\"]).optional().describe(\"Filter by category\") },\n async ({ category }) => {\n const list = category ? getTemplatesByCategory(category) : templates;\n return {\n content: [{\n type: \"text\",\n text: JSON.stringify(list.map((t) => ({\n id: t.id,\n name: t.name,\n description: t.description,\n category: t.category,\n })), null, 2),\n }],\n };\n },\n );\n\n defineTool<{ id: string }>(\n server,\n \"templates_get\",\n \"Get a template's full code and prompt by ID.\",\n { id: z.string().describe(\"Template ID (e.g. 'dex-swaps')\") },\n async ({ id }) => {\n const template = getTemplateById(id);\n if (!template) {\n return { content: [{ type: \"text\", text: `Template \"${id}\" not found. Use templates_list to see available templates.` }], isError: true };\n }\n return {\n content: [{\n type: \"text\",\n text: JSON.stringify({ id: template.id, name: template.name, description: template.description, category: template.category, code: template.code, prompt: template.prompt }, null, 2),\n }],\n };\n },\n );\n}\n",
8
8
  "import type { McpServer } from \"@modelcontextprotocol/sdk/server/mcp.js\";\n\ninterface ToolResult {\n content: Array<{ type: \"text\"; text: string }>;\n isError?: boolean;\n}\n\n/**\n * Type-safe wrapper around McpServer.tool() that avoids TS2589.\n *\n * The MCP SDK's Zod-generic `tool()` signature recurses past TypeScript's\n * instantiation depth limit when schemas contain discriminated unions or\n * nested optionals. This helper isolates the boundary cast to one place\n * so tool files stay fully typed via the explicit `T` generic.\n *\n * Schema is typed as Record<string, unknown> to prevent TypeScript from\n * resolving the deeply recursive ZodRawShapeCompat constraint. Zod still\n * validates at runtime.\n */\nexport function defineTool<T>(\n server: McpServer,\n name: string,\n description: string,\n schema: Record<string, unknown>,\n handler: (args: T) => Promise<ToolResult> | ToolResult,\n): void {\n (server.tool as Function)(name, description, schema, handler);\n}\n",
9
9
  "import { z } from \"zod\";\nimport type { McpServer } from \"@modelcontextprotocol/sdk/server/mcp.js\";\nimport { generateSubgraphCode } from \"../lib/scaffold-generate.ts\";\nimport { defineTool } from \"../lib/tool.ts\";\n\nconst API_BASE = process.env.SECONDLAYER_API_URL || \"https://api.secondlayer.tools\";\n\nasync function fetchAbi(contractId: string): Promise<{ functions: any[]; maps: any[] }> {\n const res = await fetch(`${API_BASE}/api/node/contracts/${contractId}/abi`);\n if (!res.ok) {\n if (res.status === 404) throw new Error(`Contract not found: ${contractId}`);\n throw new Error(`Failed to fetch ABI: HTTP ${res.status}`);\n }\n const abi = await res.json() as Record<string, any>;\n return {\n functions: abi.functions ?? [],\n maps: abi.maps ?? [],\n };\n}\n\nexport function registerScaffoldTools(server: McpServer) {\n defineTool<{ contractId: string; subgraphName?: string }>(\n server,\n \"scaffold_from_contract\",\n \"Generate a subgraph scaffold from a deployed Stacks contract. Fetches the ABI automatically.\",\n {\n contractId: z.string().describe(\"Fully qualified contract ID (e.g. SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.amm-pool-v2-01)\"),\n subgraphName: z.string().optional().describe(\"Override the subgraph name (defaults to contract name)\"),\n },\n async ({ contractId, subgraphName }) => {\n const { functions, maps } = await fetchAbi(contractId);\n const code = generateSubgraphCode(contractId, functions, subgraphName, maps);\n return { content: [{ type: \"text\", text: code }] };\n },\n );\n\n defineTool<{ abi: string; contractId: string; subgraphName?: string }>(\n server,\n \"scaffold_from_abi\",\n \"Generate a subgraph scaffold from a provided ABI JSON. Use when you already have the ABI.\",\n {\n abi: z.string().describe(\"ABI JSON string (the full contract ABI object)\"),\n contractId: z.string().describe(\"Fully qualified contract ID\"),\n subgraphName: z.string().optional().describe(\"Override the subgraph name\"),\n },\n async ({ abi, contractId, subgraphName }) => {\n let parsed: Record<string, any>;\n try {\n parsed = JSON.parse(abi);\n } catch {\n return { content: [{ type: \"text\", text: \"Invalid ABI JSON\" }], isError: true };\n }\n const code = generateSubgraphCode(\n contractId,\n parsed.functions ?? [],\n subgraphName,\n parsed.maps ?? [],\n );\n return { content: [{ type: \"text\", text: code }] };\n },\n );\n}\n",
@@ -15,6 +15,6 @@
15
15
  "import esbuild from \"esbuild\";\nimport { validateSubgraphDefinition } from \"@secondlayer/subgraphs/validate\";\nimport { sourceKey } from \"@secondlayer/subgraphs\";\n\ninterface BundleResult {\n name: string;\n version?: string;\n description?: string;\n sources: string[];\n schema: Record<string, unknown>;\n handlerCode: string;\n}\n\nexport async function bundleSubgraphCode(code: string): Promise<BundleResult> {\n const result = await esbuild.build({\n stdin: { contents: code, loader: \"ts\", resolveDir: process.cwd() },\n bundle: true,\n platform: \"node\",\n format: \"esm\",\n external: [\"@secondlayer/subgraphs\"],\n write: false,\n });\n const handlerCode = new TextDecoder().decode(result.outputFiles![0]!.contents);\n\n const dataUri = `data:text/javascript;base64,${Buffer.from(handlerCode).toString(\"base64\")}`;\n const mod = await import(dataUri);\n const def = mod.default ?? mod;\n\n const validated = validateSubgraphDefinition(def);\n\n return {\n name: validated.name,\n version: validated.version,\n description: validated.description,\n sources: validated.sources.map(sourceKey),\n schema: validated.schema,\n handlerCode,\n };\n}\n"
16
16
  ],
17
17
  "mappings": ";;;AACA;;;ACDA;;;ACAA;AAEA;;;ACiBO,SAAS,UAAa,CAC3B,QACA,MACA,aACA,QACA,SACM;AAAA,EACL,OAAO,KAAkB,MAAM,aAAa,QAAQ,OAAO;AAAA;;;ADrBvD,SAAS,qBAAqB,CAAC,QAAmB;AAAA,EACvD,WACE,QACA,kBACA,+FACA,EAAE,UAAU,EAAE,KAAK,CAAC,QAAQ,OAAO,SAAS,gBAAgB,CAAC,EAAE,SAAS,EAAE,SAAS,oBAAoB,EAAE,GACzG,SAAS,eAAe;AAAA,IACtB,MAAM,OAAO,WAAW,uBAAuB,QAAQ,IAAI;AAAA,IAC3D,OAAO;AAAA,MACL,SAAS,CAAC;AAAA,QACR,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,KAAK,IAAI,CAAC,OAAO;AAAA,UACpC,IAAI,EAAE;AAAA,UACN,MAAM,EAAE;AAAA,UACR,aAAa,EAAE;AAAA,UACf,UAAU,EAAE;AAAA,QACd,EAAE,GAAG,MAAM,CAAC;AAAA,MACd,CAAC;AAAA,IACH;AAAA,GAEJ;AAAA,EAEA,WACE,QACA,iBACA,gDACA,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,gCAAgC,EAAE,GAC5D,SAAS,SAAS;AAAA,IAChB,MAAM,WAAW,gBAAgB,EAAE;AAAA,IACnC,IAAI,CAAC,UAAU;AAAA,MACb,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,aAAa,gEAAgE,CAAC,GAAG,SAAS,KAAK;AAAA,IAC1I;AAAA,IACA,OAAO;AAAA,MACL,SAAS,CAAC;AAAA,QACR,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,EAAE,IAAI,SAAS,IAAI,MAAM,SAAS,MAAM,aAAa,SAAS,aAAa,UAAU,SAAS,UAAU,MAAM,SAAS,MAAM,QAAQ,SAAS,OAAO,GAAG,MAAM,CAAC;AAAA,MACtL,CAAC;AAAA,IACH;AAAA,GAEJ;AAAA;;;AE5CF,cAAS;;;AC2BT,SAAS,WAAW,CAAC,GAA+C;AAAA,EAClE,OAAO,OAAO,MAAM,YAAY,MAAM,QAAQ,UAAU;AAAA;AAE1D,SAAS,gBAAgB,CAAC,GAAyD;AAAA,EACjF,OAAO,OAAO,MAAM,YAAY,MAAM,QAAQ,kBAAkB;AAAA;AAElE,SAAS,eAAe,CAAC,GAAwD;AAAA,EAC/E,OAAO,OAAO,MAAM,YAAY,MAAM,QAAQ,iBAAiB;AAAA;AAEjE,SAAS,aAAa,CAAC,GAAwC;AAAA,EAC7D,OAAO,OAAO,MAAM,YAAY,MAAM,QAAQ,cAAc;AAAA;AAE9D,SAAS,UAAU,CAAC,GAA4E;AAAA,EAC9F,OAAO,OAAO,MAAM,YAAY,MAAM,QAAQ,WAAW;AAAA;AAE3D,SAAS,SAAS,CAAC,GAA8D;AAAA,EAC/E,OAAO,OAAO,MAAM,YAAY,MAAM,QAAQ,UAAU;AAAA;AAE1D,SAAS,aAAa,CAAC,GAAgE;AAAA,EACrF,OAAO,OAAO,MAAM,YAAY,MAAM,QAAQ,cAAc;AAAA;AAG9D,SAAS,OAAO,CAAC,SAAkB,UAAiC;AAAA,EAClE,IAAI,OAAO,YAAY,UAAU;AAAA,IAC/B,QAAQ;AAAA,WACD;AAAA,QACH,OAAO,EAAE,MAAM,QAAQ,SAAS;AAAA,WAC7B;AAAA,QACH,OAAO,EAAE,MAAM,OAAO,SAAS;AAAA,WAC5B;AAAA,WACA;AAAA,QACH,OAAO,EAAE,MAAM,aAAa,SAAS;AAAA,WAClC;AAAA,QACH,OAAO,EAAE,MAAM,WAAW,SAAS;AAAA,eAC5B;AAAA,QACP,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,UACrE,OAAO,EAAE,MAAM,QAAQ,SAAS;AAAA,QAClC;AAAA,QACA,IAAI,EAAE,SAAS,MAAM;AAAA,UAAG,OAAO,EAAE,MAAM,QAAQ,SAAS;AAAA,QACxD,OAAO,EAAE,MAAM,SAAS,SAAS;AAAA,MACnC;AAAA;AAAA,EAEJ;AAAA,EAEA,IAAI,YAAY,OAAO;AAAA,IAAG,OAAO,EAAE,MAAM,QAAQ,SAAS;AAAA,EAC1D,IAAI,iBAAiB,OAAO,KAAK,gBAAgB,OAAO,GAAG;AAAA,IACzD,OAAO,EAAE,MAAM,QAAQ,SAAS;AAAA,EAClC;AAAA,EACA,IAAI,cAAc,OAAO;AAAA,IAAG,OAAO,QAAS,QAAkC,UAAU,IAAI;AAAA,EAC5F,IAAI,UAAU,OAAO,KAAK,WAAW,OAAO;AAAA,IAAG,OAAO,EAAE,MAAM,SAAS,SAAS;AAAA,EAChF,IAAI,cAAc,OAAO,GAAG;AAAA,IAC1B,OAAO,QAAS,QAA0C,SAAS,IAAI,QAAQ;AAAA,EACjF;AAAA,EAEA,OAAO,EAAE,MAAM,SAAS,SAAS;AAAA;AAGnC,SAAS,2BAA2B,CAAC,SAAgC;AAAA,EACnE,OAAO,QAAQ,SAAS,KAAK;AAAA;AAG/B,SAAS,OAAO,CAAC,MAAsB;AAAA,EACrC,OAAO,KAAK,QAAQ,MAAM,GAAG;AAAA;AAG/B,SAAS,OAAO,CAAC,MAAsB;AAAA,EACrC,OAAO,KAAK,QAAQ,aAAa,CAAC,GAAG,MAAM,EAAE,YAAY,CAAC;AAAA;AAG5D,SAAS,YAAY,CAAC,MAA8D;AAAA,EAClF,IAAI,KAAK,WAAW;AAAA,IAAG,OAAO;AAAA,EAC9B,OAAO,KACJ,IAAI,CAAC,QAAQ;AAAA,IACZ,MAAM,SAAS,4BAA4B,IAAI,IAAI;AAAA,IACnD,MAAM,WAAW,OAAO,WAAW,qBAAqB;AAAA,IACxD,OAAO,WAAW,QAAQ,IAAI,IAAI,eAAe,OAAO,QAAQ;AAAA,GACjE,EACA,KAAK;AAAA,CAAK;AAAA;AAGf,SAAS,eAAe,CAAC,WAAmB,MAA8D;AAAA,EACxG,IAAI,KAAK,WAAW,GAAG;AAAA,IACrB,OAAO,qBAAqB;AAAA;AAAA;AAAA,EAC9B;AAAA,EAEA,MAAM,WAAW,KAAK,IAAI,CAAC,QAAQ;AAAA,IACjC,OAAO,WAAW,QAAQ,IAAI,IAAI,YAAY,QAAQ,IAAI,IAAI;AAAA,GAC/D;AAAA,EAED,OAAO,qBAAqB;AAAA,EAAkB,SAAS,KAAK;AAAA,CAAK;AAAA;AAAA;AAG5D,SAAS,oBAAoB,CAClC,YACA,WACA,cACA,QACQ;AAAA,EACR,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,IAC9C,OAAO,iDAAiD;AAAA,EAC1D;AAAA,EAEA,MAAM,YAAsB,CAAC;AAAA,EAE7B,IAAI,WAAW;AAAA,IACb,WAAW,MAAM,QAAQ;AAAA,MACvB,MAAM,YAAY,QAAQ,GAAG,IAAI;AAAA,MACjC,IAAI;AAAA,MACJ,IAAI,WAAW,GAAG,KAAK,GAAG;AAAA,QACxB,UAAU,aAAa,GAAG,MAAM,KAAK;AAAA,MACvC,EAAO;AAAA,QACL,UAAU,2BAA2B,4BAA4B,GAAG,KAAK,EAAE;AAAA;AAAA,MAE7E,UAAU,KAAK,OAAO;AAAA;AAAA,EAAmC;AAAA;AAAA,MAAyB;AAAA,IACpF;AAAA,EACF;AAAA,EAEA,WAAW,MAAM,iBAAiB;AAAA,IAChC,MAAM,YAAY,QAAQ,GAAG,IAAI;AAAA,IACjC,MAAM,UAAU,aAAa,GAAG,IAAI;AAAA,IACpC,UAAU,KAAK,OAAO;AAAA;AAAA,EAAmC;AAAA;AAAA,MAAyB;AAAA,EACpF;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,IACb,WAAW,MAAM,QAAQ;AAAA,MACvB,MAAM,YAAY,QAAQ,GAAG,IAAI;AAAA,MACjC,IAAI;AAAA,MACJ,IAAI,WAAW,GAAG,KAAK,GAAG;AAAA,QACxB,aAAa,gBAAgB,WAAW,GAAG,MAAM,KAAK;AAAA,MACxD,EAAO;AAAA,QACL,aAAa,qBAAqB;AAAA;AAAA;AAAA;AAAA,MAEpC,eAAe,KAAK,QAAQ,eAAe,GAAG;AAAA,EAAmC;AAAA,MAAmB;AAAA,IACtG;AAAA,EACF;AAAA,EAEA,WAAW,MAAM,iBAAiB;AAAA,IAChC,MAAM,YAAY,QAAQ,GAAG,IAAI;AAAA,IACjC,MAAM,aAAa,gBAAgB,WAAW,GAAG,IAAI;AAAA,IACrD,eAAe,KAAK,QAAQ,eAAe,GAAG;AAAA,EAAmC;AAAA,MAAmB;AAAA,EACtG;AAAA,EAEA,MAAM,gBAAgB,eAAe,KAAK;AAAA;AAAA,CAAO;AAAA,EAEjD,OAAO;AAAA;AAAA;AAAA,WAGE;AAAA,cACG,cAAc,KAAK,IAAI;AAAA;AAAA,EAEnC;AAAA;AAAA;AAAA,EAGA;AAAA;AAAA;AAAA;AAAA;;;AD/LF,IAAM,WAAW,QAAQ,IAAI,uBAAuB;AAEpD,eAAe,QAAQ,CAAC,YAAgE;AAAA,EACtF,MAAM,MAAM,MAAM,MAAM,GAAG,+BAA+B,gBAAgB;AAAA,EAC1E,IAAI,CAAC,IAAI,IAAI;AAAA,IACX,IAAI,IAAI,WAAW;AAAA,MAAK,MAAM,IAAI,MAAM,uBAAuB,YAAY;AAAA,IAC3E,MAAM,IAAI,MAAM,6BAA6B,IAAI,QAAQ;AAAA,EAC3D;AAAA,EACA,MAAM,MAAM,MAAM,IAAI,KAAK;AAAA,EAC3B,OAAO;AAAA,IACL,WAAW,IAAI,aAAa,CAAC;AAAA,IAC7B,MAAM,IAAI,QAAQ,CAAC;AAAA,EACrB;AAAA;AAGK,SAAS,qBAAqB,CAAC,QAAmB;AAAA,EACvD,WACE,QACA,0BACA,gGACA;AAAA,IACE,YAAY,GAAE,OAAO,EAAE,SAAS,6FAA6F;AAAA,IAC7H,cAAc,GAAE,OAAO,EAAE,SAAS,EAAE,SAAS,wDAAwD;AAAA,EACvG,GACA,SAAS,YAAY,mBAAmB;AAAA,IACtC,QAAQ,WAAW,SAAS,MAAM,SAAS,UAAU;AAAA,IACrD,MAAM,OAAO,qBAAqB,YAAY,WAAW,cAAc,IAAI;AAAA,IAC3E,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,KAAK,CAAC,EAAE;AAAA,GAErD;AAAA,EAEA,WACE,QACA,qBACA,6FACA;AAAA,IACE,KAAK,GAAE,OAAO,EAAE,SAAS,gDAAgD;AAAA,IACzE,YAAY,GAAE,OAAO,EAAE,SAAS,6BAA6B;AAAA,IAC7D,cAAc,GAAE,OAAO,EAAE,SAAS,EAAE,SAAS,4BAA4B;AAAA,EAC3E,GACA,SAAS,KAAK,YAAY,mBAAmB;AAAA,IAC3C,IAAI;AAAA,IACJ,IAAI;AAAA,MACF,SAAS,KAAK,MAAM,GAAG;AAAA,MACvB,MAAM;AAAA,MACN,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,mBAAmB,CAAC,GAAG,SAAS,KAAK;AAAA;AAAA,IAEhF,MAAM,OAAO,qBACX,YACA,OAAO,aAAa,CAAC,GACrB,cACA,OAAO,QAAQ,CAAC,CAClB;AAAA,IACA,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,KAAK,CAAC,EAAE;AAAA,GAErD;AAAA;;;AE5DF,cAAS;;;ACAT;AAEA,IAAI,WAA+B;AAG5B,SAAS,SAAS,GAAgB;AAAA,EACvC,IAAI,CAAC,UAAU;AAAA,IACb,MAAM,SAAS,QAAQ,IAAI;AAAA,IAC3B,IAAI,CAAC,QAAQ;AAAA,MACX,MAAM,IAAI,MACR,2DACA,iEACF;AAAA,IACF;AAAA,IACA,WAAW,IAAI,YAAY,EAAE,OAAO,CAAC;AAAA,EACvC;AAAA,EACA,OAAO;AAAA;;;ACfF,SAAS,mBAAmB,CAAC,GAOjC;AAAA,EACD,OAAO;AAAA,IACL,IAAI,EAAE;AAAA,IACN,MAAM,EAAE;AAAA,IACR,QAAQ,EAAE;AAAA,IACV,aAAa,EAAE;AAAA,IACf,iBAAiB,EAAE;AAAA,IACnB,kBAAkB,EAAE;AAAA,EACtB;AAAA;AAIK,SAAS,qBAAqB,CAAC,GAKnC;AAAA,EACD,OAAO;AAAA,IACL,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,EACxB;AAAA;AAIK,SAAS,qBAAqB,CAAC,GAOnC;AAAA,EACD,OAAO;AAAA,IACL,IAAI,EAAE;AAAA,IACN,aAAa,EAAE;AAAA,IACf,QAAQ,EAAE;AAAA,IACV,YAAY,EAAE;AAAA,IACd,UAAU,EAAE;AAAA,IACZ,WAAW,EAAE;AAAA,EACf;AAAA;AAIK,SAAS,OAAU,CAAC,OAAY,KAAgE;AAAA,EACrG,OAAO;AAAA,IACL,OAAO,MAAM,MAAM,GAAG,GAAG;AAAA,IACzB,WAAW,MAAM,SAAS;AAAA,IAC1B,OAAO,MAAM;AAAA,EACf;AAAA;;;AFpDF,IAAM,eAAe,GAAE,mBAAmB,QAAQ;AAAA,EAChD,GAAE,OAAO,EAAE,MAAM,GAAE,QAAQ,cAAc,GAAG,QAAQ,GAAE,OAAO,EAAE,SAAS,GAAG,WAAW,GAAE,OAAO,EAAE,SAAS,GAAG,WAAW,GAAE,OAAO,EAAE,SAAS,GAAG,WAAW,GAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AAAA,EACjL,GAAE,OAAO,EAAE,MAAM,GAAE,QAAQ,UAAU,GAAG,WAAW,GAAE,OAAO,EAAE,SAAS,GAAG,WAAW,GAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AAAA,EAC5G,GAAE,OAAO,EAAE,MAAM,GAAE,QAAQ,UAAU,GAAG,QAAQ,GAAE,OAAO,EAAE,SAAS,GAAG,WAAW,GAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AAAA,EACzG,GAAE,OAAO,EAAE,MAAM,GAAE,QAAQ,UAAU,GAAG,eAAe,GAAE,OAAO,EAAE,SAAS,GAAG,WAAW,GAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AAAA,EAChH,GAAE,OAAO,EAAE,MAAM,GAAE,QAAQ,aAAa,GAAG,QAAQ,GAAE,OAAO,EAAE,SAAS,GAAG,WAAW,GAAE,OAAO,EAAE,SAAS,GAAG,iBAAiB,GAAE,OAAO,EAAE,SAAS,GAAG,WAAW,GAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AAAA,EACtL,GAAE,OAAO,EAAE,MAAM,GAAE,QAAQ,SAAS,GAAG,WAAW,GAAE,OAAO,EAAE,SAAS,GAAG,iBAAiB,GAAE,OAAO,EAAE,SAAS,GAAG,WAAW,GAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AAAA,EACnJ,GAAE,OAAO,EAAE,MAAM,GAAE,QAAQ,SAAS,GAAG,QAAQ,GAAE,OAAO,EAAE,SAAS,GAAG,iBAAiB,GAAE,OAAO,EAAE,SAAS,GAAG,WAAW,GAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AAAA,EAChJ,GAAE,OAAO,EAAE,MAAM,GAAE,QAAQ,cAAc,GAAG,QAAQ,GAAE,OAAO,EAAE,SAAS,GAAG,WAAW,GAAE,OAAO,EAAE,SAAS,GAAG,iBAAiB,GAAE,OAAO,EAAE,SAAS,GAAG,SAAS,GAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AAAA,EACrL,GAAE,OAAO,EAAE,MAAM,GAAE,QAAQ,UAAU,GAAG,WAAW,GAAE,OAAO,EAAE,SAAS,GAAG,iBAAiB,GAAE,OAAO,EAAE,SAAS,GAAG,SAAS,GAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AAAA,EAClJ,GAAE,OAAO,EAAE,MAAM,GAAE,QAAQ,UAAU,GAAG,QAAQ,GAAE,OAAO,EAAE,SAAS,GAAG,iBAAiB,GAAE,OAAO,EAAE,SAAS,GAAG,SAAS,GAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AAAA,EAC/I,GAAE,OAAO,EAAE,MAAM,GAAE,QAAQ,eAAe,GAAG,YAAY,GAAE,OAAO,EAAE,SAAS,GAAG,cAAc,GAAE,OAAO,EAAE,SAAS,GAAG,QAAQ,GAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AAAA,EACpJ,GAAE,OAAO,EAAE,MAAM,GAAE,QAAQ,iBAAiB,GAAG,UAAU,GAAE,OAAO,EAAE,SAAS,GAAG,cAAc,GAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AAAA,EACrH,GAAE,OAAO,EAAE,MAAM,GAAE,QAAQ,aAAa,GAAG,YAAY,GAAE,OAAO,EAAE,SAAS,GAAG,OAAO,GAAE,OAAO,EAAE,SAAS,GAAG,UAAU,GAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AAC/I,CAAC;AAIM,SAAS,mBAAmB,CAAC,QAAmB;AAAA,EACrD,WACE,QACA,gBACA,0DACA,EAAE,QAAQ,GAAE,KAAK,CAAC,UAAU,YAAY,UAAU,QAAQ,CAAC,EAAE,SAAS,EAAE,SAAS,kBAAkB,EAAE,GACrG,SAAS,aAAa;AAAA,IACpB,QAAQ,YAAY,MAAM,UAAU,EAAE,QAAQ,KAAK,SAAS,EAAE,OAAO,IAAI,SAAS;AAAA,IAClF,OAAO;AAAA,MACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,KAAK,UAAU,QAAQ,IAAI,mBAAmB,GAAG,MAAM,CAAC,EAAE,CAAC;AAAA,IAC7F;AAAA,GAEJ;AAAA,EAEA,WACE,QACA,eACA,6DACA,EAAE,IAAI,GAAE,OAAO,EAAE,SAAS,uBAAuB,EAAE,GACnD,SAAS,SAAS;AAAA,IAChB,MAAM,SAAS,MAAM,UAAU,EAAE,QAAQ,IAAI,EAAE;AAAA,IAC/C,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,KAAK,UAAU,QAAQ,MAAM,CAAC,EAAE,CAAC,EAAE;AAAA,GAEhF;AAAA,EAEA,WACE,QACA,kBACA,6CACA;AAAA,IACE,MAAM,GAAE,OAAO,EAAE,SAAS,aAAa;AAAA,IACvC,aAAa,GAAE,OAAO,EAAE,SAAS,sBAAsB;AAAA,IACvD,SAAS,GAAE,MAAM,YAAY,EAAE,IAAI,CAAC,EAAE,SAAS,uCAAuC;AAAA,EACxF,GACA,SAAS,MAAM,aAAa,cAAc;AAAA,IACxC,MAAM,SAAS,MAAM,UAAU,EAAE,QAAQ,OAAO,EAAE,MAAM,aAAa,QAAQ,CAAC;AAAA,IAC9E,OAAO;AAAA,MACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,KAAK,UAAU,EAAE,IAAI,OAAO,OAAO,IAAI,eAAe,OAAO,cAAc,GAAG,MAAM,CAAC,EAAE,CAAC;AAAA,IAC1H;AAAA,GAEJ;AAAA,EAEA,WACE,QACA,kBACA,iDACA;AAAA,IACE,IAAI,GAAE,OAAO,EAAE,SAAS,uBAAuB;AAAA,IAC/C,MAAM,GAAE,OAAO,EAAE,SAAS,EAAE,SAAS,UAAU;AAAA,IAC/C,aAAa,GAAE,OAAO,EAAE,SAAS,EAAE,SAAS,kBAAkB;AAAA,IAC9D,SAAS,GAAE,MAAM,YAAY,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,aAAa;AAAA,EACzE,GACA,SAAS,IAAI,MAAM,aAAa,cAAc;AAAA,IAC5C,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,EAAE,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,KAAK,UAAU,oBAAoB,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,EAAE;AAAA,GAErG;AAAA,EAEA,WACE,QACA,kBACA,gCACA,EAAE,IAAI,GAAE,OAAO,EAAE,SAAS,uBAAuB,EAAE,GACnD,SAAS,SAAS;AAAA,IAChB,MAAM,UAAU,EAAE,QAAQ,OAAO,EAAE;AAAA,IACnC,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,UAAU,cAAc,CAAC,EAAE;AAAA,GAExE;AAAA,EAEA,WACE,QACA,kBACA,+BACA;AAAA,IACE,IAAI,GAAE,OAAO,EAAE,SAAS,uBAAuB;AAAA,IAC/C,SAAS,GAAE,QAAQ,EAAE,SAAS,kCAAkC;AAAA,EAClE,GACA,SAAS,IAAI,cAAc;AAAA,IACzB,MAAM,SAAS,UACX,MAAM,UAAU,EAAE,QAAQ,OAAO,EAAE,IACnC,MAAM,UAAU,EAAE,QAAQ,QAAQ,EAAE;AAAA,IACxC,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,KAAK,UAAU,EAAE,IAAI,OAAO,IAAI,QAAQ,OAAO,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,EAAE;AAAA,GAElH;AAAA,EAEA,WACE,QACA,sBACA,iDACA;AAAA,IACE,IAAI,GAAE,OAAO,EAAE,SAAS,uBAAuB;AAAA,IAC/C,OAAO,GAAE,OAAO,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,0BAA0B;AAAA,IACxE,QAAQ,GAAE,OAAO,EAAE,SAAS,EAAE,SAAS,2BAA2B;AAAA,EACpE,GACA,SAAS,IAAI,OAAO,aAAa;AAAA,IAC/B,QAAQ,eAAe,MAAM,UAAU,EAAE,QAAQ,eAAe,IAAI,EAAE,OAAO,SAAS,IAAI,OAAO,CAAC;AAAA,IAClG,MAAM,SAAS,QAAQ,WAAW,IAAI,qBAAqB,GAAG,EAAE;AAAA,IAChE,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,KAAK,UAAU,QAAQ,MAAM,CAAC,EAAE,CAAC,EAAE;AAAA,GAEhF;AAAA,EAEA,WACE,QACA,qBACA,uGACA;AAAA,IACE,SAAS,GAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,yDAAyD;AAAA,EACpG,GACA,SAAS,cAAc;AAAA,IACrB,IAAI,CAAC,SAAS;AAAA,MACZ,QAAQ,YAAY,MAAM,UAAU,EAAE,QAAQ,KAAK,EAAE,QAAQ,SAAS,CAAC;AAAA,MACvE,MAAM,QAAQ,QAAQ,IAAI,CAAC,MAAM,EAAE,IAAI;AAAA,MACvC,OAAO;AAAA,QACL,SAAS,CAAC;AAAA,UACR,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,EAAE,SAAS,MAAM,OAAO,MAAM,QAAQ,SAAS,MAAM,GAAG,MAAM,CAAC;AAAA,QACtF,CAAC;AAAA,MACH;AAAA,IACF;AAAA,IACA,MAAM,SAAS,MAAM,UAAU,EAAE,QAAQ,SAAS;AAAA,IAClD,OAAO;AAAA,MACL,SAAS,CAAC;AAAA,QACR,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,EAAE,QAAQ,OAAO,QAAQ,SAAS,OAAO,QAAQ,IAAI,mBAAmB,EAAE,GAAG,MAAM,CAAC;AAAA,MAC3G,CAAC;AAAA,IACH;AAAA,GAEJ;AAAA,EAEA,WACE,QACA,sBACA,yGACA;AAAA,IACE,SAAS,GAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,yDAAyD;AAAA,EACpG,GACA,SAAS,cAAc;AAAA,IACrB,IAAI,CAAC,SAAS;AAAA,MACZ,QAAQ,YAAY,MAAM,UAAU,EAAE,QAAQ,KAAK,EAAE,QAAQ,SAAS,CAAC;AAAA,MACvE,MAAM,QAAQ,QAAQ,IAAI,CAAC,MAAM,EAAE,IAAI;AAAA,MACvC,OAAO;AAAA,QACL,SAAS,CAAC;AAAA,UACR,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,EAAE,SAAS,MAAM,OAAO,MAAM,QAAQ,SAAS,MAAM,GAAG,MAAM,CAAC;AAAA,QACtF,CAAC;AAAA,MACH;AAAA,IACF;AAAA,IACA,MAAM,SAAS,MAAM,UAAU,EAAE,QAAQ,UAAU;AAAA,IACnD,OAAO;AAAA,MACL,SAAS,CAAC;AAAA,QACR,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,EAAE,SAAS,OAAO,SAAS,SAAS,OAAO,QAAQ,IAAI,mBAAmB,EAAE,GAAG,MAAM,CAAC;AAAA,MAC7G,CAAC;AAAA,IACH;AAAA,GAEJ;AAAA;;;AGxLF,cAAS;;;ACAT;AACA;AACA;AAWA,eAAsB,kBAAkB,CAAC,MAAqC;AAAA,EAC5E,MAAM,SAAS,MAAM,QAAQ,MAAM;AAAA,IACjC,OAAO,EAAE,UAAU,MAAM,QAAQ,MAAM,YAAY,QAAQ,IAAI,EAAE;AAAA,IACjE,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,UAAU,CAAC,wBAAwB;AAAA,IACnC,OAAO;AAAA,EACT,CAAC;AAAA,EACD,MAAM,cAAc,IAAI,YAAY,EAAE,OAAO,OAAO,YAAa,GAAI,QAAQ;AAAA,EAE7E,MAAM,UAAU,+BAA+B,OAAO,KAAK,WAAW,EAAE,SAAS,QAAQ;AAAA,EACzF,MAAM,MAAM,MAAa;AAAA,EACzB,MAAM,MAAM,IAAI,WAAW;AAAA,EAE3B,MAAM,YAAY,2BAA2B,GAAG;AAAA,EAEhD,OAAO;AAAA,IACL,MAAM,UAAU;AAAA,IAChB,SAAS,UAAU;AAAA,IACnB,aAAa,UAAU;AAAA,IACvB,SAAS,UAAU,QAAQ,IAAI,SAAS;AAAA,IACxC,QAAQ,UAAU;AAAA,IAClB;AAAA,EACF;AAAA;;;AD9BK,SAAS,qBAAqB,CAAC,QAAmB;AAAA,EACvD,WACE,QACA,kBACA,6DACA,CAAC,GACD,YAAY;AAAA,IACV,QAAQ,SAAS,MAAM,UAAU,EAAE,UAAU,KAAK;AAAA,IAClD,OAAO;AAAA,MACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,KAAK,UAAU,KAAK,IAAI,qBAAqB,GAAG,MAAM,CAAC,EAAE,CAAC;AAAA,IAC5F;AAAA,GAEJ;AAAA,EAEA,WACE,QACA,iBACA,+EACA,EAAE,MAAM,GAAE,OAAO,EAAE,SAAS,eAAe,EAAE,GAC7C,SAAS,WAAW;AAAA,IAClB,MAAM,SAAS,MAAM,UAAU,EAAE,UAAU,IAAI,IAAI;AAAA,IACnD,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,KAAK,UAAU,QAAQ,MAAM,CAAC,EAAE,CAAC,EAAE;AAAA,GAEhF;AAAA,EAEA,WAIE,QACA,mBACA,mDACA;AAAA,IACE,MAAM,GAAE,OAAO,EAAE,SAAS,eAAe;AAAA,IACzC,OAAO,GAAE,OAAO,EAAE,SAAS,YAAY;AAAA,IACvC,SAAS,GAAE,OAAO,GAAE,OAAO,GAAG,GAAE,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS,8DAAkE;AAAA,IAChI,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,GAAE,OAAO,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,uBAAuB;AAAA,IACrE,QAAQ,GAAE,OAAO,EAAE,SAAS,EAAE,SAAS,uBAAuB;AAAA,EAChE,GACA,SAAS,MAAM,OAAO,SAAS,MAAM,OAAO,OAAO,aAAa;AAAA,IAC9D,MAAM,OAAO,MAAM,UAAU,EAAE,UAAU,WAAW,MAAM,OAAO;AAAA,MAC/D;AAAA,MACA;AAAA,MACA;AAAA,MACA,OAAO,SAAS;AAAA,MAChB;AAAA,IACF,CAAC;AAAA,IACD,MAAM,SAAS,QAAQ,MAAmC,EAAE;AAAA,IAC5D,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,KAAK,UAAU,QAAQ,MAAM,CAAC,EAAE,CAAC,EAAE;AAAA,GAEhF;AAAA,EAEA,WACE,QACA,qBACA,mDACA;AAAA,IACE,MAAM,GAAE,OAAO,EAAE,SAAS,eAAe;AAAA,IACzC,WAAW,GAAE,OAAO,EAAE,SAAS,EAAE,SAAS,qCAAqC;AAAA,IAC/E,SAAS,GAAE,OAAO,EAAE,SAAS,EAAE,SAAS,gCAAgC;AAAA,EAC1E,GACA,SAAS,MAAM,WAAW,cAAc;AAAA,IACtC,MAAM,SAAS,MAAM,UAAU,EAAE,UAAU,QAAQ,MAAM,EAAE,WAAW,QAAQ,CAAC;AAAA,IAC/E,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,KAAK,UAAU,QAAQ,MAAM,CAAC,EAAE,CAAC,EAAE;AAAA,GAEhF;AAAA,EAEA,WACE,QACA,oBACA,kCACA,EAAE,MAAM,GAAE,OAAO,EAAE,SAAS,eAAe,EAAE,GAC7C,SAAS,WAAW;AAAA,IAClB,MAAM,SAAS,MAAM,UAAU,EAAE,UAAU,OAAO,IAAI;AAAA,IACtD,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,OAAO,QAAQ,CAAC,EAAE;AAAA,GAE/D;AAAA,EAEA,WACE,QACA,oBACA,gIACA;AAAA,IACE,MAAM,GAAE,OAAO,EAAE,SAAS,2DAA2D;AAAA,IACrF,SAAS,GAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,uEAAuE;AAAA,EAClH,GACA,SAAS,MAAM,cAAc;AAAA,IAC3B,MAAM,UAAU,MAAM,mBAAmB,IAAI;AAAA,IAC7C,MAAM,SAAS,MAAM,UAAU,EAAE,UAAU,OAAO;AAAA,MAChD,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,IACF,CAAC;AAAA,IACD,OAAO;AAAA,MACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,KAAK,UAAU,QAAQ,MAAM,CAAC,EAAE,CAAC;AAAA,IACnE;AAAA,GAEJ;AAAA;;;ARxGK,SAAS,YAAY,GAAc;AAAA,EACxC,MAAM,SAAS,IAAI,UAAU;AAAA,IAC3B,MAAM;AAAA,IACN,SAAS;AAAA,EACX,CAAC;AAAA,EAED,sBAAsB,MAAM;AAAA,EAC5B,sBAAsB,MAAM;AAAA,EAC5B,oBAAoB,MAAM;AAAA,EAC1B,sBAAsB,MAAM;AAAA,EAE5B,OAAO;AAAA;;;ADbT,IAAM,SAAS,aAAa;AAC5B,IAAM,YAAY,IAAI;AACtB,MAAM,OAAO,QAAQ,SAAS;",
18
- "debugId": "6835CF0A8A97C86164756E2164756E21",
18
+ "debugId": "5B4E62E33CC2AD1864756E2164756E21",
19
19
  "names": []
20
20
  }
package/dist/index.js CHANGED
@@ -528,7 +528,7 @@ function registerSubgraphTools(server) {
528
528
  function createServer() {
529
529
  const server = new McpServer({
530
530
  name: "secondlayer",
531
- version: "0.1.0"
531
+ version: "0.2.1"
532
532
  });
533
533
  registerTemplateTools(server);
534
534
  registerScaffoldTools(server);
@@ -540,5 +540,5 @@ export {
540
540
  createServer
541
541
  };
542
542
 
543
- //# debugId=3A35B9A213CA987764756E2164756E21
543
+ //# debugId=083E3E61D4B58E6B64756E2164756E21
544
544
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -2,7 +2,7 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/server.ts", "../src/tools/templates.ts", "../src/lib/tool.ts", "../src/tools/scaffold.ts", "../src/lib/scaffold-generate.ts", "../src/tools/streams.ts", "../src/lib/client.ts", "../src/lib/format.ts", "../src/tools/subgraphs.ts", "../src/lib/bundle.ts"],
4
4
  "sourcesContent": [
5
- "import { McpServer } from \"@modelcontextprotocol/sdk/server/mcp.js\";\nimport { registerTemplateTools } from \"./tools/templates.ts\";\nimport { registerScaffoldTools } from \"./tools/scaffold.ts\";\nimport { registerStreamTools } from \"./tools/streams.ts\";\nimport { registerSubgraphTools } from \"./tools/subgraphs.ts\";\n\nexport function createServer(): McpServer {\n const server = new McpServer({\n name: \"secondlayer\",\n version: \"0.1.0\",\n });\n\n registerTemplateTools(server);\n registerScaffoldTools(server);\n registerStreamTools(server);\n registerSubgraphTools(server);\n\n return server;\n}\n",
5
+ "import { McpServer } from \"@modelcontextprotocol/sdk/server/mcp.js\";\nimport { registerTemplateTools } from \"./tools/templates.ts\";\nimport { registerScaffoldTools } from \"./tools/scaffold.ts\";\nimport { registerStreamTools } from \"./tools/streams.ts\";\nimport { registerSubgraphTools } from \"./tools/subgraphs.ts\";\n\nexport function createServer(): McpServer {\n const server = new McpServer({\n name: \"secondlayer\",\n version: \"0.2.1\",\n });\n\n registerTemplateTools(server);\n registerScaffoldTools(server);\n registerStreamTools(server);\n registerSubgraphTools(server);\n\n return server;\n}\n",
6
6
  "import { z } from \"zod\";\nimport type { McpServer } from \"@modelcontextprotocol/sdk/server/mcp.js\";\nimport { templates, getTemplateById, getTemplatesByCategory } from \"@secondlayer/subgraphs/templates\";\nimport { defineTool } from \"../lib/tool.ts\";\n\nexport function registerTemplateTools(server: McpServer) {\n defineTool<{ category?: string }>(\n server,\n \"templates_list\",\n \"List available subgraph templates. Returns metadata only — use templates_get for full code.\",\n { category: z.enum([\"defi\", \"nft\", \"token\", \"infrastructure\"]).optional().describe(\"Filter by category\") },\n async ({ category }) => {\n const list = category ? getTemplatesByCategory(category) : templates;\n return {\n content: [{\n type: \"text\",\n text: JSON.stringify(list.map((t) => ({\n id: t.id,\n name: t.name,\n description: t.description,\n category: t.category,\n })), null, 2),\n }],\n };\n },\n );\n\n defineTool<{ id: string }>(\n server,\n \"templates_get\",\n \"Get a template's full code and prompt by ID.\",\n { id: z.string().describe(\"Template ID (e.g. 'dex-swaps')\") },\n async ({ id }) => {\n const template = getTemplateById(id);\n if (!template) {\n return { content: [{ type: \"text\", text: `Template \"${id}\" not found. Use templates_list to see available templates.` }], isError: true };\n }\n return {\n content: [{\n type: \"text\",\n text: JSON.stringify({ id: template.id, name: template.name, description: template.description, category: template.category, code: template.code, prompt: template.prompt }, null, 2),\n }],\n };\n },\n );\n}\n",
7
7
  "import type { McpServer } from \"@modelcontextprotocol/sdk/server/mcp.js\";\n\ninterface ToolResult {\n content: Array<{ type: \"text\"; text: string }>;\n isError?: boolean;\n}\n\n/**\n * Type-safe wrapper around McpServer.tool() that avoids TS2589.\n *\n * The MCP SDK's Zod-generic `tool()` signature recurses past TypeScript's\n * instantiation depth limit when schemas contain discriminated unions or\n * nested optionals. This helper isolates the boundary cast to one place\n * so tool files stay fully typed via the explicit `T` generic.\n *\n * Schema is typed as Record<string, unknown> to prevent TypeScript from\n * resolving the deeply recursive ZodRawShapeCompat constraint. Zod still\n * validates at runtime.\n */\nexport function defineTool<T>(\n server: McpServer,\n name: string,\n description: string,\n schema: Record<string, unknown>,\n handler: (args: T) => Promise<ToolResult> | ToolResult,\n): void {\n (server.tool as Function)(name, description, schema, handler);\n}\n",
8
8
  "import { z } from \"zod\";\nimport type { McpServer } from \"@modelcontextprotocol/sdk/server/mcp.js\";\nimport { generateSubgraphCode } from \"../lib/scaffold-generate.ts\";\nimport { defineTool } from \"../lib/tool.ts\";\n\nconst API_BASE = process.env.SECONDLAYER_API_URL || \"https://api.secondlayer.tools\";\n\nasync function fetchAbi(contractId: string): Promise<{ functions: any[]; maps: any[] }> {\n const res = await fetch(`${API_BASE}/api/node/contracts/${contractId}/abi`);\n if (!res.ok) {\n if (res.status === 404) throw new Error(`Contract not found: ${contractId}`);\n throw new Error(`Failed to fetch ABI: HTTP ${res.status}`);\n }\n const abi = await res.json() as Record<string, any>;\n return {\n functions: abi.functions ?? [],\n maps: abi.maps ?? [],\n };\n}\n\nexport function registerScaffoldTools(server: McpServer) {\n defineTool<{ contractId: string; subgraphName?: string }>(\n server,\n \"scaffold_from_contract\",\n \"Generate a subgraph scaffold from a deployed Stacks contract. Fetches the ABI automatically.\",\n {\n contractId: z.string().describe(\"Fully qualified contract ID (e.g. SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.amm-pool-v2-01)\"),\n subgraphName: z.string().optional().describe(\"Override the subgraph name (defaults to contract name)\"),\n },\n async ({ contractId, subgraphName }) => {\n const { functions, maps } = await fetchAbi(contractId);\n const code = generateSubgraphCode(contractId, functions, subgraphName, maps);\n return { content: [{ type: \"text\", text: code }] };\n },\n );\n\n defineTool<{ abi: string; contractId: string; subgraphName?: string }>(\n server,\n \"scaffold_from_abi\",\n \"Generate a subgraph scaffold from a provided ABI JSON. Use when you already have the ABI.\",\n {\n abi: z.string().describe(\"ABI JSON string (the full contract ABI object)\"),\n contractId: z.string().describe(\"Fully qualified contract ID\"),\n subgraphName: z.string().optional().describe(\"Override the subgraph name\"),\n },\n async ({ abi, contractId, subgraphName }) => {\n let parsed: Record<string, any>;\n try {\n parsed = JSON.parse(abi);\n } catch {\n return { content: [{ type: \"text\", text: \"Invalid ABI JSON\" }], isError: true };\n }\n const code = generateSubgraphCode(\n contractId,\n parsed.functions ?? [],\n subgraphName,\n parsed.maps ?? [],\n );\n return { content: [{ type: \"text\", text: code }] };\n },\n );\n}\n",
@@ -14,6 +14,6 @@
14
14
  "import esbuild from \"esbuild\";\nimport { validateSubgraphDefinition } from \"@secondlayer/subgraphs/validate\";\nimport { sourceKey } from \"@secondlayer/subgraphs\";\n\ninterface BundleResult {\n name: string;\n version?: string;\n description?: string;\n sources: string[];\n schema: Record<string, unknown>;\n handlerCode: string;\n}\n\nexport async function bundleSubgraphCode(code: string): Promise<BundleResult> {\n const result = await esbuild.build({\n stdin: { contents: code, loader: \"ts\", resolveDir: process.cwd() },\n bundle: true,\n platform: \"node\",\n format: \"esm\",\n external: [\"@secondlayer/subgraphs\"],\n write: false,\n });\n const handlerCode = new TextDecoder().decode(result.outputFiles![0]!.contents);\n\n const dataUri = `data:text/javascript;base64,${Buffer.from(handlerCode).toString(\"base64\")}`;\n const mod = await import(dataUri);\n const def = mod.default ?? mod;\n\n const validated = validateSubgraphDefinition(def);\n\n return {\n name: validated.name,\n version: validated.version,\n description: validated.description,\n sources: validated.sources.map(sourceKey),\n schema: validated.schema,\n handlerCode,\n };\n}\n"
15
15
  ],
16
16
  "mappings": "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",
17
- "debugId": "3A35B9A213CA987764756E2164756E21",
17
+ "debugId": "083E3E61D4B58E6B64756E2164756E21",
18
18
  "names": []
19
19
  }
package/package.json CHANGED
@@ -1,11 +1,13 @@
1
1
  {
2
2
  "name": "@secondlayer/mcp",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
7
7
  "bin": {
8
+ "mcp": "./dist/bin.js",
8
9
  "secondlayer-mcp": "./dist/bin.js",
10
+ "mcp-http": "./dist/bin-http.js",
9
11
  "secondlayer-mcp-http": "./dist/bin-http.js"
10
12
  },
11
13
  "exports": {
@@ -15,7 +17,8 @@
15
17
  }
16
18
  },
17
19
  "files": [
18
- "dist"
20
+ "dist",
21
+ "README.md"
19
22
  ],
20
23
  "scripts": {
21
24
  "build": "bunup",