@truecarry/mcp 0.1.5 → 0.1.6

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/cli.js CHANGED
@@ -71004,7 +71004,7 @@ async function dnsLookup(client, domain, category, resolver) {
71004
71004
  type: "int",
71005
71005
  value: toTonDnsCategory(category)
71006
71006
  }];
71007
- const { stack, exitCode } = await client.runGetMethod(asAddressFriendly(resolver), "dnsresolve", SerializeStack(param));
71007
+ const { stack, exitCode } = await CallForSuccess(() => client.runGetMethod(asAddressFriendly(resolver), "dnsresolve", SerializeStack(param)));
71008
71008
  if (stack?.length !== 2) return null;
71009
71009
  const parsedStack = ParseStack(stack);
71010
71010
  if (exitCode !== 0) return null;
@@ -88465,6 +88465,18 @@ var McpWalletService = class McpWalletService {
88465
88465
  return this.config.contacts.resolve("default", name);
88466
88466
  }
88467
88467
  /**
88468
+ * Resolve a TON DNS domain (e.g., "wallet.ton") to a wallet address
88469
+ */
88470
+ async resolveDns(domain) {
88471
+ return this.wallet.getClient().resolveDnsWallet(domain);
88472
+ }
88473
+ /**
88474
+ * Reverse resolve a wallet address to a TON DNS domain
88475
+ */
88476
+ async backResolveDns(address) {
88477
+ return this.wallet.getClient().backResolveDnsWallet(address);
88478
+ }
88479
+ /**
88468
88480
  * Close and cleanup
88469
88481
  */
88470
88482
  async close() {
@@ -89066,6 +89078,97 @@ function createMcpNftTools(service) {
89066
89078
  };
89067
89079
  }
89068
89080
 
89081
+ //#endregion
89082
+ //#region src/tools/dns-tools.ts
89083
+ /**
89084
+ * Copyright (c) TonTech.
89085
+ *
89086
+ * This source code is licensed under the MIT license found in the
89087
+ * LICENSE file in the root directory of this source tree.
89088
+ *
89089
+ */
89090
+ const resolveDnsSchema = z.object({ domain: z.string().min(1).describe("TON DNS domain to resolve (e.g., \"foundation.ton\")") });
89091
+ const backResolveDnsSchema = z.object({ address: z.string().min(1).describe("TON wallet address to reverse resolve") });
89092
+ function createMcpDnsTools(service) {
89093
+ return {
89094
+ resolve_dns: {
89095
+ description: "Resolve a TON DNS domain (e.g., \"foundation.ton\") to a wallet address. Use this when the user provides a .ton domain instead of a raw address.",
89096
+ inputSchema: resolveDnsSchema,
89097
+ handler: async (args) => {
89098
+ try {
89099
+ const address = await service.resolveDns(args.domain);
89100
+ if (!address) return {
89101
+ content: [{
89102
+ type: "text",
89103
+ text: JSON.stringify({
89104
+ success: false,
89105
+ error: `Could not resolve domain "${args.domain}". The domain may not exist or may not have a wallet record.`
89106
+ })
89107
+ }],
89108
+ isError: true
89109
+ };
89110
+ return { content: [{
89111
+ type: "text",
89112
+ text: JSON.stringify({
89113
+ success: true,
89114
+ domain: args.domain,
89115
+ address
89116
+ }, null, 2)
89117
+ }] };
89118
+ } catch (error) {
89119
+ return {
89120
+ content: [{
89121
+ type: "text",
89122
+ text: JSON.stringify({
89123
+ success: false,
89124
+ error: `Failed to resolve domain: ${error instanceof Error ? error.message : "Unknown error"}`
89125
+ })
89126
+ }],
89127
+ isError: true
89128
+ };
89129
+ }
89130
+ }
89131
+ },
89132
+ back_resolve_dns: {
89133
+ description: "Reverse resolve a TON wallet address to its DNS domain (e.g., find the .ton domain associated with an address).",
89134
+ inputSchema: backResolveDnsSchema,
89135
+ handler: async (args) => {
89136
+ try {
89137
+ const domain = await service.backResolveDns(args.address);
89138
+ if (!domain) return { content: [{
89139
+ type: "text",
89140
+ text: JSON.stringify({
89141
+ success: true,
89142
+ address: args.address,
89143
+ domain: null,
89144
+ message: "No DNS domain found for this address."
89145
+ })
89146
+ }] };
89147
+ return { content: [{
89148
+ type: "text",
89149
+ text: JSON.stringify({
89150
+ success: true,
89151
+ address: args.address,
89152
+ domain
89153
+ }, null, 2)
89154
+ }] };
89155
+ } catch (error) {
89156
+ return {
89157
+ content: [{
89158
+ type: "text",
89159
+ text: JSON.stringify({
89160
+ success: false,
89161
+ error: `Failed to reverse resolve address: ${error instanceof Error ? error.message : "Unknown error"}`
89162
+ })
89163
+ }],
89164
+ isError: true
89165
+ };
89166
+ }
89167
+ }
89168
+ }
89169
+ };
89170
+ }
89171
+
89069
89172
  //#endregion
89070
89173
  //#region src/factory.ts
89071
89174
  /**
@@ -89119,6 +89222,7 @@ async function createTonWalletMCP(config) {
89119
89222
  const swapTools = createMcpSwapTools(walletService);
89120
89223
  const knownJettonsTools = createMcpKnownJettonsTools();
89121
89224
  const nftTools = createMcpNftTools(walletService);
89225
+ const dnsTools = createMcpDnsTools(walletService);
89122
89226
  const registerTool = (name, tool) => {
89123
89227
  server.registerTool(name, {
89124
89228
  description: tool.description,
@@ -89137,6 +89241,8 @@ async function createTonWalletMCP(config) {
89137
89241
  registerTool("get_nfts", nftTools.get_nfts);
89138
89242
  registerTool("get_nft", nftTools.get_nft);
89139
89243
  registerTool("send_nft", nftTools.send_nft);
89244
+ registerTool("resolve_dns", dnsTools.resolve_dns);
89245
+ registerTool("back_resolve_dns", dnsTools.back_resolve_dns);
89140
89246
  return server;
89141
89247
  }
89142
89248
 
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAOlE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC;;;OAGG;IACH,MAAM,EAAE,aAAa,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAE5B;;OAEG;IACH,QAAQ,CAAC,EAAE;QACP,OAAO,CAAC,EAAE,aAAa,CAAC;QACxB,OAAO,CAAC,EAAE,aAAa,CAAC;KAC3B,CAAC;CACL;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,SAAS,CAAC,CAkDxF;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,gBAAgB,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAE1F"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAQlE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC;;;OAGG;IACH,MAAM,EAAE,aAAa,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAE5B;;OAEG;IACH,QAAQ,CAAC,EAAE;QACP,OAAO,CAAC,EAAE,aAAa,CAAC;QACxB,OAAO,CAAC,EAAE,aAAa,CAAC;KAC3B,CAAC;CACL;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,SAAS,CAAC,CAuDxF;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,gBAAgB,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAE1F"}
package/dist/index.cjs CHANGED
@@ -70171,7 +70171,7 @@ async function dnsLookup(client, domain, category, resolver) {
70171
70171
  type: "int",
70172
70172
  value: toTonDnsCategory(category)
70173
70173
  }];
70174
- const { stack, exitCode } = await client.runGetMethod(asAddressFriendly(resolver), "dnsresolve", SerializeStack(param));
70174
+ const { stack, exitCode } = await CallForSuccess(() => client.runGetMethod(asAddressFriendly(resolver), "dnsresolve", SerializeStack(param)));
70175
70175
  if (stack?.length !== 2) return null;
70176
70176
  const parsedStack = ParseStack(stack);
70177
70177
  if (exitCode !== 0) return null;
@@ -86942,6 +86942,18 @@ var McpWalletService = class McpWalletService {
86942
86942
  return this.config.contacts.resolve("default", name);
86943
86943
  }
86944
86944
  /**
86945
+ * Resolve a TON DNS domain (e.g., "wallet.ton") to a wallet address
86946
+ */
86947
+ async resolveDns(domain) {
86948
+ return this.wallet.getClient().resolveDnsWallet(domain);
86949
+ }
86950
+ /**
86951
+ * Reverse resolve a wallet address to a TON DNS domain
86952
+ */
86953
+ async backResolveDns(address) {
86954
+ return this.wallet.getClient().backResolveDnsWallet(address);
86955
+ }
86956
+ /**
86945
86957
  * Close and cleanup
86946
86958
  */
86947
86959
  async close() {
@@ -87543,6 +87555,97 @@ function createMcpNftTools(service) {
87543
87555
  };
87544
87556
  }
87545
87557
 
87558
+ //#endregion
87559
+ //#region src/tools/dns-tools.ts
87560
+ /**
87561
+ * Copyright (c) TonTech.
87562
+ *
87563
+ * This source code is licensed under the MIT license found in the
87564
+ * LICENSE file in the root directory of this source tree.
87565
+ *
87566
+ */
87567
+ const resolveDnsSchema = zod.z.object({ domain: zod.z.string().min(1).describe("TON DNS domain to resolve (e.g., \"foundation.ton\")") });
87568
+ const backResolveDnsSchema = zod.z.object({ address: zod.z.string().min(1).describe("TON wallet address to reverse resolve") });
87569
+ function createMcpDnsTools(service) {
87570
+ return {
87571
+ resolve_dns: {
87572
+ description: "Resolve a TON DNS domain (e.g., \"foundation.ton\") to a wallet address. Use this when the user provides a .ton domain instead of a raw address.",
87573
+ inputSchema: resolveDnsSchema,
87574
+ handler: async (args) => {
87575
+ try {
87576
+ const address = await service.resolveDns(args.domain);
87577
+ if (!address) return {
87578
+ content: [{
87579
+ type: "text",
87580
+ text: JSON.stringify({
87581
+ success: false,
87582
+ error: `Could not resolve domain "${args.domain}". The domain may not exist or may not have a wallet record.`
87583
+ })
87584
+ }],
87585
+ isError: true
87586
+ };
87587
+ return { content: [{
87588
+ type: "text",
87589
+ text: JSON.stringify({
87590
+ success: true,
87591
+ domain: args.domain,
87592
+ address
87593
+ }, null, 2)
87594
+ }] };
87595
+ } catch (error) {
87596
+ return {
87597
+ content: [{
87598
+ type: "text",
87599
+ text: JSON.stringify({
87600
+ success: false,
87601
+ error: `Failed to resolve domain: ${error instanceof Error ? error.message : "Unknown error"}`
87602
+ })
87603
+ }],
87604
+ isError: true
87605
+ };
87606
+ }
87607
+ }
87608
+ },
87609
+ back_resolve_dns: {
87610
+ description: "Reverse resolve a TON wallet address to its DNS domain (e.g., find the .ton domain associated with an address).",
87611
+ inputSchema: backResolveDnsSchema,
87612
+ handler: async (args) => {
87613
+ try {
87614
+ const domain = await service.backResolveDns(args.address);
87615
+ if (!domain) return { content: [{
87616
+ type: "text",
87617
+ text: JSON.stringify({
87618
+ success: true,
87619
+ address: args.address,
87620
+ domain: null,
87621
+ message: "No DNS domain found for this address."
87622
+ })
87623
+ }] };
87624
+ return { content: [{
87625
+ type: "text",
87626
+ text: JSON.stringify({
87627
+ success: true,
87628
+ address: args.address,
87629
+ domain
87630
+ }, null, 2)
87631
+ }] };
87632
+ } catch (error) {
87633
+ return {
87634
+ content: [{
87635
+ type: "text",
87636
+ text: JSON.stringify({
87637
+ success: false,
87638
+ error: `Failed to reverse resolve address: ${error instanceof Error ? error.message : "Unknown error"}`
87639
+ })
87640
+ }],
87641
+ isError: true
87642
+ };
87643
+ }
87644
+ }
87645
+ }
87646
+ };
87647
+ }
87648
+
87546
87649
  //#endregion
87547
87650
  //#region src/factory.ts
87548
87651
  /**
@@ -87596,6 +87699,7 @@ async function createTonWalletMCP(config) {
87596
87699
  const swapTools = createMcpSwapTools(walletService);
87597
87700
  const knownJettonsTools = createMcpKnownJettonsTools();
87598
87701
  const nftTools = createMcpNftTools(walletService);
87702
+ const dnsTools = createMcpDnsTools(walletService);
87599
87703
  const registerTool = (name, tool) => {
87600
87704
  server.registerTool(name, {
87601
87705
  description: tool.description,
@@ -87614,6 +87718,8 @@ async function createTonWalletMCP(config) {
87614
87718
  registerTool("get_nfts", nftTools.get_nfts);
87615
87719
  registerTool("get_nft", nftTools.get_nft);
87616
87720
  registerTool("send_nft", nftTools.send_nft);
87721
+ registerTool("resolve_dns", dnsTools.resolve_dns);
87722
+ registerTool("back_resolve_dns", dnsTools.back_resolve_dns);
87617
87723
  return server;
87618
87724
  }
87619
87725
  /**
package/dist/index.js CHANGED
@@ -70172,7 +70172,7 @@ async function dnsLookup(client, domain, category, resolver) {
70172
70172
  type: "int",
70173
70173
  value: toTonDnsCategory(category)
70174
70174
  }];
70175
- const { stack, exitCode } = await client.runGetMethod(asAddressFriendly(resolver), "dnsresolve", SerializeStack(param));
70175
+ const { stack, exitCode } = await CallForSuccess(() => client.runGetMethod(asAddressFriendly(resolver), "dnsresolve", SerializeStack(param)));
70176
70176
  if (stack?.length !== 2) return null;
70177
70177
  const parsedStack = ParseStack(stack);
70178
70178
  if (exitCode !== 0) return null;
@@ -86943,6 +86943,18 @@ var McpWalletService = class McpWalletService {
86943
86943
  return this.config.contacts.resolve("default", name);
86944
86944
  }
86945
86945
  /**
86946
+ * Resolve a TON DNS domain (e.g., "wallet.ton") to a wallet address
86947
+ */
86948
+ async resolveDns(domain) {
86949
+ return this.wallet.getClient().resolveDnsWallet(domain);
86950
+ }
86951
+ /**
86952
+ * Reverse resolve a wallet address to a TON DNS domain
86953
+ */
86954
+ async backResolveDns(address) {
86955
+ return this.wallet.getClient().backResolveDnsWallet(address);
86956
+ }
86957
+ /**
86946
86958
  * Close and cleanup
86947
86959
  */
86948
86960
  async close() {
@@ -87544,6 +87556,97 @@ function createMcpNftTools(service) {
87544
87556
  };
87545
87557
  }
87546
87558
 
87559
+ //#endregion
87560
+ //#region src/tools/dns-tools.ts
87561
+ /**
87562
+ * Copyright (c) TonTech.
87563
+ *
87564
+ * This source code is licensed under the MIT license found in the
87565
+ * LICENSE file in the root directory of this source tree.
87566
+ *
87567
+ */
87568
+ const resolveDnsSchema = z.object({ domain: z.string().min(1).describe("TON DNS domain to resolve (e.g., \"foundation.ton\")") });
87569
+ const backResolveDnsSchema = z.object({ address: z.string().min(1).describe("TON wallet address to reverse resolve") });
87570
+ function createMcpDnsTools(service) {
87571
+ return {
87572
+ resolve_dns: {
87573
+ description: "Resolve a TON DNS domain (e.g., \"foundation.ton\") to a wallet address. Use this when the user provides a .ton domain instead of a raw address.",
87574
+ inputSchema: resolveDnsSchema,
87575
+ handler: async (args) => {
87576
+ try {
87577
+ const address = await service.resolveDns(args.domain);
87578
+ if (!address) return {
87579
+ content: [{
87580
+ type: "text",
87581
+ text: JSON.stringify({
87582
+ success: false,
87583
+ error: `Could not resolve domain "${args.domain}". The domain may not exist or may not have a wallet record.`
87584
+ })
87585
+ }],
87586
+ isError: true
87587
+ };
87588
+ return { content: [{
87589
+ type: "text",
87590
+ text: JSON.stringify({
87591
+ success: true,
87592
+ domain: args.domain,
87593
+ address
87594
+ }, null, 2)
87595
+ }] };
87596
+ } catch (error) {
87597
+ return {
87598
+ content: [{
87599
+ type: "text",
87600
+ text: JSON.stringify({
87601
+ success: false,
87602
+ error: `Failed to resolve domain: ${error instanceof Error ? error.message : "Unknown error"}`
87603
+ })
87604
+ }],
87605
+ isError: true
87606
+ };
87607
+ }
87608
+ }
87609
+ },
87610
+ back_resolve_dns: {
87611
+ description: "Reverse resolve a TON wallet address to its DNS domain (e.g., find the .ton domain associated with an address).",
87612
+ inputSchema: backResolveDnsSchema,
87613
+ handler: async (args) => {
87614
+ try {
87615
+ const domain = await service.backResolveDns(args.address);
87616
+ if (!domain) return { content: [{
87617
+ type: "text",
87618
+ text: JSON.stringify({
87619
+ success: true,
87620
+ address: args.address,
87621
+ domain: null,
87622
+ message: "No DNS domain found for this address."
87623
+ })
87624
+ }] };
87625
+ return { content: [{
87626
+ type: "text",
87627
+ text: JSON.stringify({
87628
+ success: true,
87629
+ address: args.address,
87630
+ domain
87631
+ }, null, 2)
87632
+ }] };
87633
+ } catch (error) {
87634
+ return {
87635
+ content: [{
87636
+ type: "text",
87637
+ text: JSON.stringify({
87638
+ success: false,
87639
+ error: `Failed to reverse resolve address: ${error instanceof Error ? error.message : "Unknown error"}`
87640
+ })
87641
+ }],
87642
+ isError: true
87643
+ };
87644
+ }
87645
+ }
87646
+ }
87647
+ };
87648
+ }
87649
+
87547
87650
  //#endregion
87548
87651
  //#region src/factory.ts
87549
87652
  /**
@@ -87597,6 +87700,7 @@ async function createTonWalletMCP(config) {
87597
87700
  const swapTools = createMcpSwapTools(walletService);
87598
87701
  const knownJettonsTools = createMcpKnownJettonsTools();
87599
87702
  const nftTools = createMcpNftTools(walletService);
87703
+ const dnsTools = createMcpDnsTools(walletService);
87600
87704
  const registerTool = (name, tool) => {
87601
87705
  server.registerTool(name, {
87602
87706
  description: tool.description,
@@ -87615,6 +87719,8 @@ async function createTonWalletMCP(config) {
87615
87719
  registerTool("get_nfts", nftTools.get_nfts);
87616
87720
  registerTool("get_nft", nftTools.get_nft);
87617
87721
  registerTool("send_nft", nftTools.send_nft);
87722
+ registerTool("resolve_dns", dnsTools.resolve_dns);
87723
+ registerTool("back_resolve_dns", dnsTools.back_resolve_dns);
87618
87724
  return server;
87619
87725
  }
87620
87726
  /**
@@ -186,6 +186,14 @@ export declare class McpWalletService {
186
186
  * Resolve contact name to address
187
187
  */
188
188
  resolveContact(name: string): Promise<string | null>;
189
+ /**
190
+ * Resolve a TON DNS domain (e.g., "wallet.ton") to a wallet address
191
+ */
192
+ resolveDns(domain: string): Promise<string | null>;
193
+ /**
194
+ * Reverse resolve a wallet address to a TON DNS domain
195
+ */
196
+ backResolveDns(address: string): Promise<string | null>;
189
197
  /**
190
198
  * Close and cleanup
191
199
  */
@@ -1 +1 @@
1
- {"version":3,"file":"McpWalletService.d.ts","sourceRoot":"","sources":["../../src/services/McpWalletService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"McpWalletService.d.ts","sourceRoot":"","sources":["../../src/services/McpWalletService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Copyright (c) TonTech.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+ import { z } from 'zod';
9
+ import type { McpWalletService } from '../services/McpWalletService.js';
10
+ import type { ToolResponse } from './types.js';
11
+ export declare const resolveDnsSchema: z.ZodObject<{
12
+ domain: z.ZodString;
13
+ }, "strip", z.ZodTypeAny, {
14
+ domain: string;
15
+ }, {
16
+ domain: string;
17
+ }>;
18
+ export declare const backResolveDnsSchema: z.ZodObject<{
19
+ address: z.ZodString;
20
+ }, "strip", z.ZodTypeAny, {
21
+ address: string;
22
+ }, {
23
+ address: string;
24
+ }>;
25
+ export declare function createMcpDnsTools(service: McpWalletService): {
26
+ resolve_dns: {
27
+ description: string;
28
+ inputSchema: z.ZodObject<{
29
+ domain: z.ZodString;
30
+ }, "strip", z.ZodTypeAny, {
31
+ domain: string;
32
+ }, {
33
+ domain: string;
34
+ }>;
35
+ handler: (args: z.infer<typeof resolveDnsSchema>) => Promise<ToolResponse>;
36
+ };
37
+ back_resolve_dns: {
38
+ description: string;
39
+ inputSchema: z.ZodObject<{
40
+ address: z.ZodString;
41
+ }, "strip", z.ZodTypeAny, {
42
+ address: string;
43
+ }, {
44
+ address: string;
45
+ }>;
46
+ handler: (args: z.infer<typeof backResolveDnsSchema>) => Promise<ToolResponse>;
47
+ };
48
+ };
49
+ //# sourceMappingURL=dns-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dns-tools.d.ts","sourceRoot":"","sources":["../../src/tools/dns-tools.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,eAAO,MAAM,gBAAgB;;;;;;EAE3B,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;EAE/B,CAAC;AAEH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,gBAAgB;;;;;;;;;;wBAMzB,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,KAAG,OAAO,CAAC,YAAY,CAAC;;;;;;;;;;;wBAwDxD,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,KAAG,OAAO,CAAC,YAAY,CAAC;;EAqD7F"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@truecarry/mcp",
3
- "version": "0.1.5",
3
+ "version": "0.1.6",
4
4
  "description": "TON MCP Server - Model Context Protocol server for TON blockchain wallet operations",
5
5
  "license": "MIT",
6
6
  "type": "module",