{"version":3,"sources":["../src/index.ts","../src/client.ts","../src/type.ts"],"sourcesContent":["import { RoochClient, Transaction, Args } from \"@roochnetwork/rooch-sdk\";\nimport { type SignerInterface, DidAccountSigner } from \"@nuwa-ai/identity-kit\";\nimport * as yaml from 'js-yaml';\nimport { buildClient } from \"./client\";\nimport {Cap, CapThumbnail, CapThumbnailSchema, Page, Result, ResultCap, ResultCapMetadataSchema} from \"./type\";\n\nexport * from './type'\n\nexport class CapKit {\n  protected roochClient: RoochClient;\n  protected contractAddress: string;\n  protected mcpUrl: string;\n  protected signer: SignerInterface;\n\n  constructor(option: {\n    mcpUrl: string,\n    roochUrl: string,\n    contractAddress: string,\n    signer: SignerInterface,\n  }) {\n    this.roochClient = new RoochClient({url: option.roochUrl});\n    this.contractAddress = option.contractAddress;\n    this.mcpUrl = option.mcpUrl;\n    this.signer = option.signer;\n  }\n\n  async queryCapWithID(id?: string, cid?: string):Promise<Result<ResultCap>> {\n    const client = await buildClient(this.mcpUrl, this.signer);\n\n    try {\n      // Get tools from MCP server\n      const tools = await client.tools();\n      const queryWithCID = tools.queryWithID;\n\n      if (!queryWithCID) {\n        throw new Error(\"Query with id tool not available on MCP server\");\n      }\n\n      // Upload file to IPFS\n      const result = await queryWithCID.execute({id, cid}, {\n        toolCallId: \"queryWithID\",\n        messages: [],\n      });\n\n      if (result.isError) {\n        throw new Error((result.content as any) ?.[0]?.text || 'Unknown error');\n      }\n\n      const queryResult = JSON.parse((result.content as any)[0].text);\n      \n      if (queryResult.code !== 200 && queryResult.code !== 404) {\n        throw new Error(`Query with id failed: ${queryResult.error || 'Unknown error'}`);\n      }\n\n      return queryResult;\n    } finally {\n      await client.close();\n    }\n  }\n\n  async queryWithName(\n    name?: string,\n    tags?: string[],\n    page?: number,\n    size?: number,\n  ): Promise<Result<Page<ResultCap>>> {\n    const client = await buildClient(this.mcpUrl, this.signer);\n\n    try {\n      // Get tools from MCP server\n      const tools = await client.tools();\n      const queryWithName = tools.queryWithName;\n\n      if (!queryWithName) {\n        throw new Error(\"query tool not available on MCP server\");\n      }\n\n      // Upload file to IPFS\n      const result = await queryWithName.execute({\n        name: name,\n        tags: tags,\n        page: page,\n        pageSize: size\n      }, {\n        toolCallId: \"query-cap\",\n        messages: [],\n      });\n\n      if (result.isError) {\n        throw new Error((result.content as any) ?.[0]?.text || 'Unknown error');\n      }\n\n      const queryResult = JSON.parse((result.content as any)[0].text);\n      if (queryResult.code === 404) {\n        return {\n          code: 200,\n          data: {\n            totalItems: 0,\n            page: page || 0,\n            pageSize: size || 50,\n            items: [] as ResultCap[]\n          }\n        } as Result<Page<ResultCap>>;\n      }\n      \n      if (queryResult.code !== 200) {\n        throw new Error(`query failed: ${queryResult.error || 'Unknown error'}`);\n      }\n      // Transform the raw response data to ResultCap format\n      const transformedItems = queryResult.data.items.map((item: any) => {\n        const thumbnailType = JSON.parse(item.thumbnail)\n        return {\n          id: item.id,\n          cid: item.cid,\n          name: item.name,\n          version: item.version,\n          displayName: item.display_name,\n          description: item.description,\n          tags: item.tags,\n          submittedAt: item.submitted_at,\n          homepage: item.homepage,\n          repository: item.repository,\n          thumbnail: thumbnailType\n        }\n      });\n\n      return {\n        code: queryResult.code,\n        data: {\n          totalItems: queryResult.data.totalItems,\n          page: queryResult.data.page,\n          pageSize: queryResult.data.pageSize,\n          items: transformedItems\n        }\n      } as Result<Page<ResultCap>>;\n      \n    } finally {\n      await client.close();\n    }\n  }\n\n  async downloadCapWithID(id: string, format?: 'base64' | 'utf8'): Promise<Cap> {\n    const result = await this.queryCapWithID(id)\n\n    if (result.code === 200) {\n      return this.downloadCapWithCID(result.data!.cid, format)\n    } else {\n      throw new Error('Invalid Cap ID')\n    }\n  }\n  async downloadCapWithCID(cid: string, format?: 'base64' | 'utf8'): Promise<Cap> {\n    const client = await buildClient(this.mcpUrl, this.signer);\n\n    try {\n      // Get tools from MCP server\n      const tools = await client.tools();\n      const downloadFile = tools.downloadFile;\n\n      if (!downloadFile) {\n        throw new Error(\"downloadFile tool not available on MCP server\");\n      }\n\n      // Download file from IPFS\n      const result = await downloadFile.execute({\n        cid: cid,\n        dataFormat: format,\n      }, {\n        toolCallId: \"download-cap\",\n        messages: [],\n      });\n\n      if (result.isError) {\n        throw new Error((result.content as any) ?.[0]?.text || 'Unknown error');\n      }\n\n      const downloadResult = JSON.parse((result.content as any)[0].text);\n\n      if (downloadResult.code !== 200) {\n        throw new Error(`Download failed: ${downloadResult.error || 'Unknown error'}`);\n      }\n\n      return yaml.load(downloadResult.data.fileData) as Cap;\n    } finally {\n      await client.close();\n    }\n  }\n\n  async registerCap(cap: Cap) {\n\n    // len > 6 && len < 20, only contain a-z, A-Z, 0-9, _\n    if (!/^[a-zA-Z0-9_]{6,20}$/.test(cap.idName)) {\n      throw new Error(\"Name must be between 6 and 20 characters and only contain a-z, A-Z, 0-9, _\");\n    }\n\n    // 1. Create ACP (Agent Capability Package) file\n    const acpContent = yaml.dump(cap);\n    \n    // 2. Upload ACP file to IPFS using nuwa-cap-store MCP\n    const cid = await this.uploadToIPFS(cap.id, acpContent, this.signer);\n\n    // 3. Call Move contract to register the capability\n    const result = await this.registerOnChain(cap.idName, cid, this.signer);\n\n    if (result.execution_info.status.type !== 'executed') {\n      throw new Error(\"unknown error\");\n    }\n\n    return cid;\n  }\n\n  private async uploadToIPFS(name: string, content: string, signer: SignerInterface): Promise<string> {\n\n    const client = await buildClient(this.mcpUrl, signer);\n\n    try {\n      // Get tools from MCP server\n      const tools = await client.tools();\n      const uploadTool = tools.uploadFile;\n\n      if (!uploadTool) {\n        throw new Error(\"uploadFile tool not available on MCP server\");\n      }\n\n      // Convert content to base64\n      const fileData = Buffer.from(content, 'utf8').toString('base64');\n      const fileName = `${name}.cap.yaml`;\n\n      // Upload file to IPFS\n      const result = await uploadTool.execute({ \n        fileName, \n        fileData, \n      }, {\n        toolCallId: \"upload-cap\",\n        messages: [],\n      });\n\n      if (result.isError) {\n        throw new Error((result.content as any) ?.[0]?.text || 'Unknown error');\n      }\n\n      const uploadResult = JSON.parse((result.content as any)[0].text);\n      const uploadData = uploadResult.data;\n\n      if (uploadResult.code !== 200 || !uploadData.ipfsCid) {\n        throw new Error(`Upload failed: ${uploadResult.error || 'Unknown error'}`);\n      }\n\n      return uploadData.ipfsCid;\n    } finally {\n      await client.close();\n    }\n  }\n\n  private async registerOnChain(name: string, cid: string, signer: SignerInterface) {\n    const chainSigner = await DidAccountSigner.create(signer);\n    const transaction = new Transaction();\n    transaction.callFunction({\n      target: `${this.contractAddress}::acp_registry::register`,\n      typeArgs: [],\n      args: [Args.string(name), Args.string(cid)],\n      maxGas: 500000000\n    })\n\n    return await this.roochClient.signAndExecuteTransaction({\n      transaction,\n      signer: chainSigner,\n    });\n  }\n}","import { StreamableHTTPClientTransport } from \"@modelcontextprotocol/sdk/client/streamableHttp\";\nimport { DIDAuth, SignerInterface } from \"@nuwa-ai/identity-kit\";\nimport { experimental_createMCPClient as createMCPClient } from \"ai\";\n\nexport const buildClient = async (mcpUrl: string, signer: SignerInterface): Promise<any> => {\n  const keyId = (await signer.listKeyIds())[0];\n\n  // Create authorization header\n  const payload = {\n    operation: \"mcp-json-rpc\",\n    params: { body: {} },\n  } as const;\n\n  const signedObject = await DIDAuth.v1.createSignature(payload, signer, keyId);\n  const authHeader = DIDAuth.v1.toAuthorizationHeader(signedObject);\n\n  // Create MCP client\n  const transport = new StreamableHTTPClientTransport(\n    new URL(mcpUrl),\n    {\n      requestInit: {\n        headers: {\n          Authorization: authHeader,\n        },\n      }\n    } as any\n  );\n\n  return await createMCPClient({ transport });\n} ","import { z } from 'zod';\n\nexport interface Result<T> {\n  code: number;\n  error?: string;\n  data?: T;\n}\n\nexport interface Page<T> {\n  totalItems: number,\n  page: number,\n  pageSize: number,\n  items: T[]\n}\n\n// Zod schemas as single source of truth\nexport const CapMcpServerConfigSchema = z.object({\n  url: z.string(),\n  transport: z.enum(['httpStream', 'sse']),\n});\n\nexport const CapModelSchema = z.object({\n  id: z.string(),\n  name: z.string(),\n  slug: z.string(),\n  providerName: z.string(),\n  providerSlug: z.string(),\n  description: z.string(),\n  contextLength: z.number(),\n  pricing: z.object({\n    input_per_million_tokens: z.number(),\n    output_per_million_tokens: z.number(),\n    request_per_k_requests: z.number(),\n    image_per_k_images: z.number(),\n    web_search_per_k_searches: z.number(),\n  }),\n  supported_inputs: z.array(z.string()),\n  supported_parameters: z.array(z.string()),\n});\n\nexport const CapPromptSchema = z.object({\n  value: z.string(),\n  suggestions: z.array(z.string()).optional(),\n});\n\nexport const CapIDSchema = z.object({\n  id: z.string(),\n  authorDID: z.string(),\n  idName: z.string(),\n});\n\nexport const CapCoreSchema = z.object({\n  prompt: CapPromptSchema,\n  model: CapModelSchema,\n  mcpServers: z.record(z.string(), CapMcpServerConfigSchema),\n});\n\nexport const CapThumbnailSchema = z\n  .object({\n    type: z.enum(['file', 'url']),\n    file: z.string().optional(),\n    url: z.string().optional(),\n  })\n  .nullable();\n\nexport const CapMetadataSchema = z.object({\n  displayName: z.string(),\n  description: z.string(),\n  tags: z.array(z.string()),\n  submittedAt: z.number(),\n  homepage: z.string().optional(),\n  repository: z.string().optional(),\n  thumbnail: CapThumbnailSchema,\n});\n\nexport const CapSchema = CapIDSchema.extend({\n  core: CapCoreSchema,\n  metadata: CapMetadataSchema,\n});\n\nexport const ResultCapMetadataSchema = z.object({\n  id: z.string(),\n  cid: z.string(),\n  name: z.string(),\n  version: z.string(),\n  displayName: z.string(),\n  description: z.string(),\n  tags: z.array(z.string()),\n  submittedAt: z.number(),\n  homepage: z.string().optional(),\n  repository: z.string().optional(),\n  thumbnail: CapThumbnailSchema,\n});\n\n// Inferred TypeScript types from Zod schemas\nexport type CapMcpServerConfig = z.infer<typeof CapMcpServerConfigSchema>;\nexport type CapModel = z.infer<typeof CapModelSchema>;\nexport type CapPrompt = z.infer<typeof CapPromptSchema>;\nexport type CapID = z.infer<typeof CapIDSchema>;\nexport type CapCore = z.infer<typeof CapCoreSchema>;\nexport type CapThumbnail = z.infer<typeof CapThumbnailSchema>;\nexport type CapMetadata = z.infer<typeof CapMetadataSchema>;\nexport type Cap = z.infer<typeof CapSchema>;\nexport type ResultCap = z.infer<typeof ResultCapMetadataSchema>;\n"],"mappings":"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","names":["import_identity_kit","createMCPClient"]}