@manifest-network/manifest-mcp-node 0.6.2 → 0.7.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/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +2 -1
- package/dist/bootstrap.js.map +1 -1
- package/package.json +6 -6
package/dist/bootstrap.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.d.ts","names":[],"sources":["../src/bootstrap.ts"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"bootstrap.d.ts","names":[],"sources":["../src/bootstrap.ts"],"mappings":";;;;;;AA+BA;UAAiB,eAAA;;WAEN,OAAA;EAKC;EAAA,SAHD,KAAA;EAKH;EAAA,SAHG,YAAA,GAAe,IAAA;IACtB,MAAA,EAAQ,UAAA,QAAkB,qBAAA;IAC1B,cAAA,EAAgB,cAAA;EAAA,MACZ,MAAA;AAAA;;;;;;;iBA0DQ,SAAA,CAAU,GAAA,EAAK,eAAA"}
|
package/dist/bootstrap.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { loadConfig } from "./config.js";
|
|
2
2
|
import { KeyfileWalletProvider } from "./keyfileWallet.js";
|
|
3
3
|
import { existsSync } from "node:fs";
|
|
4
|
-
import { ManifestMCPError, MnemonicWalletProvider, createValidatedConfig, sanitizeForLogging } from "@manifest-network/manifest-mcp-core";
|
|
4
|
+
import { ManifestMCPError, MnemonicWalletProvider, createValidatedConfig, logger, parseLogLevel, sanitizeForLogging } from "@manifest-network/manifest-mcp-core";
|
|
5
5
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
6
6
|
//#region src/bootstrap.ts
|
|
7
7
|
/** Thrown after process.exit() to halt control flow when exit is mocked. */
|
|
@@ -43,6 +43,7 @@ function resolveWallet(env, config, cliName) {
|
|
|
43
43
|
*/
|
|
44
44
|
function bootstrap(cfg) {
|
|
45
45
|
async function main() {
|
|
46
|
+
logger.setLevel(parseLogLevel(process.env.LOG_LEVEL));
|
|
46
47
|
const subcommand = process.argv[2];
|
|
47
48
|
if (subcommand) {
|
|
48
49
|
await handleSubcommand(cfg.cliName, cfg.label, subcommand);
|
package/dist/bootstrap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.js","names":[],"sources":["../src/bootstrap.ts"],"sourcesContent":["import { existsSync } from 'node:fs';\nimport {\n createValidatedConfig,\n ManifestMCPError,\n MnemonicWalletProvider,\n sanitizeForLogging,\n type WalletProvider,\n} from '@manifest-network/manifest-mcp-core';\nimport type { Server } from '@modelcontextprotocol/sdk/server/index.js';\nimport { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';\nimport { loadConfig } from './config.js';\nimport { KeyfileWalletProvider } from './keyfileWallet.js';\n\n/** Thrown after process.exit() to halt control flow when exit is mocked. */\nclass ExitError extends Error {\n constructor() {\n super();\n this.name = 'ExitError';\n }\n}\n\nfunction exit(code: number): never {\n process.exit(code);\n throw new ExitError();\n}\n\n/**\n * Configuration for bootstrapping a CLI entry point.\n */\nexport interface BootstrapConfig {\n /** CLI binary name shown in usage text (e.g. \"manifest-mcp-chain\") */\n readonly cliName: string;\n /** Human-readable server label for the startup log (e.g. \"chain\") */\n readonly label: string;\n /** Factory that creates the MCP server and returns its underlying Server */\n readonly createServer: (opts: {\n config: ReturnType<typeof createValidatedConfig>;\n walletProvider: WalletProvider;\n }) => Server;\n}\n\nfunction handleSubcommand(\n cliName: string,\n label: string,\n subcommand: string,\n): Promise<void> {\n if (subcommand === 'keygen') {\n return import('./keygen.js').then(({ runKeygen }) => runKeygen());\n }\n if (subcommand === 'import') {\n return import('./keygen.js').then(({ runImport }) => runImport());\n }\n\n console.error(\n `Unknown subcommand: \"${subcommand}\"\\n\\n` +\n 'Usage:\\n' +\n ` ${cliName} Start the ${label} MCP server\\n` +\n ` ${cliName} keygen Generate a new encrypted keyfile\\n` +\n ` ${cliName} import Import a mnemonic into an encrypted keyfile\\n`,\n );\n exit(1);\n}\n\nfunction resolveWallet(\n env: ReturnType<typeof loadConfig>,\n config: ReturnType<typeof createValidatedConfig>,\n cliName: string,\n): WalletProvider {\n if (existsSync(env.keyfilePath)) {\n console.error(`Using encrypted keyfile wallet from ${env.keyfilePath}`);\n return new KeyfileWalletProvider(\n env.keyfilePath,\n env.addressPrefix,\n env.keyPassword,\n );\n }\n\n if (env.mnemonic) {\n console.error('Using mnemonic wallet from COSMOS_MNEMONIC');\n return new MnemonicWalletProvider(config, env.mnemonic);\n }\n\n console.error(\n 'No wallet found. Either:\\n' +\n ` 1. Run \"${cliName} keygen\" to generate an encrypted keyfile at ${env.keyfilePath}\\n` +\n ' 2. Set the COSMOS_MNEMONIC environment variable',\n );\n exit(1);\n}\n\n/**\n * Shared bootstrap for all three CLI entry points (chain, lease, fred).\n *\n * Handles subcommand dispatch, config loading, wallet resolution,\n * transport setup, and top-level error handling.\n */\nexport function bootstrap(cfg: BootstrapConfig): void {\n async function main(): Promise<void> {\n const subcommand = process.argv[2];\n if (subcommand) {\n await handleSubcommand(cfg.cliName, cfg.label, subcommand);\n return;\n }\n\n const env = loadConfig();\n\n const config = createValidatedConfig({\n chainId: env.chainId,\n rpcUrl: env.rpcUrl,\n gasPrice: env.gasPrice,\n restUrl: env.restUrl,\n addressPrefix: env.addressPrefix,\n gasMultiplier: env.gasMultiplier,\n });\n\n const walletProvider = resolveWallet(env, config, cfg.cliName);\n\n if (walletProvider.connect) {\n await walletProvider.connect();\n }\n\n const server = cfg.createServer({ config, walletProvider });\n const transport = new StdioServerTransport();\n await server.connect(transport);\n\n console.error(`Manifest MCP ${cfg.label} server running on stdio`);\n }\n\n main().catch((error) => {\n if (error instanceof ExitError) return;\n if (error instanceof ManifestMCPError) {\n console.error(\n `Fatal error [${error.code}]: ${sanitizeForLogging(error.message) as string}`,\n );\n } else {\n const msg = error instanceof Error ? error.message : String(error);\n console.error(`Fatal error: ${sanitizeForLogging(msg) as string}`);\n }\n process.exit(1);\n });\n}\n"],"mappings":";;;;;;;
|
|
1
|
+
{"version":3,"file":"bootstrap.js","names":[],"sources":["../src/bootstrap.ts"],"sourcesContent":["import { existsSync } from 'node:fs';\nimport {\n createValidatedConfig,\n logger,\n ManifestMCPError,\n MnemonicWalletProvider,\n parseLogLevel,\n sanitizeForLogging,\n type WalletProvider,\n} from '@manifest-network/manifest-mcp-core';\nimport type { Server } from '@modelcontextprotocol/sdk/server/index.js';\nimport { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';\nimport { loadConfig } from './config.js';\nimport { KeyfileWalletProvider } from './keyfileWallet.js';\n\n/** Thrown after process.exit() to halt control flow when exit is mocked. */\nclass ExitError extends Error {\n constructor() {\n super();\n this.name = 'ExitError';\n }\n}\n\nfunction exit(code: number): never {\n process.exit(code);\n throw new ExitError();\n}\n\n/**\n * Configuration for bootstrapping a CLI entry point.\n */\nexport interface BootstrapConfig {\n /** CLI binary name shown in usage text (e.g. \"manifest-mcp-chain\") */\n readonly cliName: string;\n /** Human-readable server label for the startup log (e.g. \"chain\") */\n readonly label: string;\n /** Factory that creates the MCP server and returns its underlying Server */\n readonly createServer: (opts: {\n config: ReturnType<typeof createValidatedConfig>;\n walletProvider: WalletProvider;\n }) => Server;\n}\n\nfunction handleSubcommand(\n cliName: string,\n label: string,\n subcommand: string,\n): Promise<void> {\n if (subcommand === 'keygen') {\n return import('./keygen.js').then(({ runKeygen }) => runKeygen());\n }\n if (subcommand === 'import') {\n return import('./keygen.js').then(({ runImport }) => runImport());\n }\n\n console.error(\n `Unknown subcommand: \"${subcommand}\"\\n\\n` +\n 'Usage:\\n' +\n ` ${cliName} Start the ${label} MCP server\\n` +\n ` ${cliName} keygen Generate a new encrypted keyfile\\n` +\n ` ${cliName} import Import a mnemonic into an encrypted keyfile\\n`,\n );\n exit(1);\n}\n\nfunction resolveWallet(\n env: ReturnType<typeof loadConfig>,\n config: ReturnType<typeof createValidatedConfig>,\n cliName: string,\n): WalletProvider {\n if (existsSync(env.keyfilePath)) {\n console.error(`Using encrypted keyfile wallet from ${env.keyfilePath}`);\n return new KeyfileWalletProvider(\n env.keyfilePath,\n env.addressPrefix,\n env.keyPassword,\n );\n }\n\n if (env.mnemonic) {\n console.error('Using mnemonic wallet from COSMOS_MNEMONIC');\n return new MnemonicWalletProvider(config, env.mnemonic);\n }\n\n console.error(\n 'No wallet found. Either:\\n' +\n ` 1. Run \"${cliName} keygen\" to generate an encrypted keyfile at ${env.keyfilePath}\\n` +\n ' 2. Set the COSMOS_MNEMONIC environment variable',\n );\n exit(1);\n}\n\n/**\n * Shared bootstrap for all three CLI entry points (chain, lease, fred).\n *\n * Handles subcommand dispatch, config loading, wallet resolution,\n * transport setup, and top-level error handling.\n */\nexport function bootstrap(cfg: BootstrapConfig): void {\n async function main(): Promise<void> {\n logger.setLevel(parseLogLevel(process.env.LOG_LEVEL));\n\n const subcommand = process.argv[2];\n if (subcommand) {\n await handleSubcommand(cfg.cliName, cfg.label, subcommand);\n return;\n }\n\n const env = loadConfig();\n\n const config = createValidatedConfig({\n chainId: env.chainId,\n rpcUrl: env.rpcUrl,\n gasPrice: env.gasPrice,\n restUrl: env.restUrl,\n addressPrefix: env.addressPrefix,\n gasMultiplier: env.gasMultiplier,\n });\n\n const walletProvider = resolveWallet(env, config, cfg.cliName);\n\n if (walletProvider.connect) {\n await walletProvider.connect();\n }\n\n const server = cfg.createServer({ config, walletProvider });\n const transport = new StdioServerTransport();\n await server.connect(transport);\n\n console.error(`Manifest MCP ${cfg.label} server running on stdio`);\n }\n\n main().catch((error) => {\n if (error instanceof ExitError) return;\n if (error instanceof ManifestMCPError) {\n console.error(\n `Fatal error [${error.code}]: ${sanitizeForLogging(error.message) as string}`,\n );\n } else {\n const msg = error instanceof Error ? error.message : String(error);\n console.error(`Fatal error: ${sanitizeForLogging(msg) as string}`);\n }\n process.exit(1);\n });\n}\n"],"mappings":";;;;;;;AAgBA,IAAM,YAAN,cAAwB,MAAM;CAC5B,cAAc;AACZ,SAAO;AACP,OAAK,OAAO;;;AAIhB,SAAS,KAAK,MAAqB;AACjC,SAAQ,KAAK,KAAK;AAClB,OAAM,IAAI,WAAW;;AAkBvB,SAAS,iBACP,SACA,OACA,YACe;AACf,KAAI,eAAe,SACjB,QAAO,OAAO,eAAe,MAAM,EAAE,gBAAgB,WAAW,CAAC;AAEnE,KAAI,eAAe,SACjB,QAAO,OAAO,eAAe,MAAM,EAAE,gBAAgB,WAAW,CAAC;AAGnE,SAAQ,MACN,wBAAwB,WAAW;IAE5B,QAAQ,0BAA0B,MAAM,iBACxC,QAAQ,oDACR,QAAQ,6DAChB;AACD,MAAK,EAAE;;AAGT,SAAS,cACP,KACA,QACA,SACgB;AAChB,KAAI,WAAW,IAAI,YAAY,EAAE;AAC/B,UAAQ,MAAM,uCAAuC,IAAI,cAAc;AACvE,SAAO,IAAI,sBACT,IAAI,aACJ,IAAI,eACJ,IAAI,YACL;;AAGH,KAAI,IAAI,UAAU;AAChB,UAAQ,MAAM,6CAA6C;AAC3D,SAAO,IAAI,uBAAuB,QAAQ,IAAI,SAAS;;AAGzD,SAAQ,MACN;YACe,QAAQ,+CAA+C,IAAI,YAAY,qDAEvF;AACD,MAAK,EAAE;;;;;;;;AAST,SAAgB,UAAU,KAA4B;CACpD,eAAe,OAAsB;AACnC,SAAO,SAAS,cAAc,QAAQ,IAAI,UAAU,CAAC;EAErD,MAAM,aAAa,QAAQ,KAAK;AAChC,MAAI,YAAY;AACd,SAAM,iBAAiB,IAAI,SAAS,IAAI,OAAO,WAAW;AAC1D;;EAGF,MAAM,MAAM,YAAY;EAExB,MAAM,SAAS,sBAAsB;GACnC,SAAS,IAAI;GACb,QAAQ,IAAI;GACZ,UAAU,IAAI;GACd,SAAS,IAAI;GACb,eAAe,IAAI;GACnB,eAAe,IAAI;GACpB,CAAC;EAEF,MAAM,iBAAiB,cAAc,KAAK,QAAQ,IAAI,QAAQ;AAE9D,MAAI,eAAe,QACjB,OAAM,eAAe,SAAS;EAGhC,MAAM,SAAS,IAAI,aAAa;GAAE;GAAQ;GAAgB,CAAC;EAC3D,MAAM,YAAY,IAAI,sBAAsB;AAC5C,QAAM,OAAO,QAAQ,UAAU;AAE/B,UAAQ,MAAM,gBAAgB,IAAI,MAAM,0BAA0B;;AAGpE,OAAM,CAAC,OAAO,UAAU;AACtB,MAAI,iBAAiB,UAAW;AAChC,MAAI,iBAAiB,iBACnB,SAAQ,MACN,gBAAgB,MAAM,KAAK,KAAK,mBAAmB,MAAM,QAAQ,GAClE;OACI;GACL,MAAM,MAAM,iBAAiB,QAAQ,MAAM,UAAU,OAAO,MAAM;AAClE,WAAQ,MAAM,gBAAgB,mBAAmB,IAAI,GAAa;;AAEpE,UAAQ,KAAK,EAAE;GACf"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@manifest-network/manifest-mcp-node",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "Node.js MCP servers for Manifest Network with stdio transport and keyfile wallet",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -44,11 +44,11 @@
|
|
|
44
44
|
"@cosmjs/amino": "0.32.4",
|
|
45
45
|
"@cosmjs/encoding": "0.32.4",
|
|
46
46
|
"@cosmjs/proto-signing": "0.32.4",
|
|
47
|
-
"@manifest-network/manifest-mcp-core": "^0.
|
|
48
|
-
"@manifest-network/manifest-mcp-chain": "^0.
|
|
49
|
-
"@manifest-network/manifest-mcp-lease": "^0.
|
|
50
|
-
"@manifest-network/manifest-mcp-cosmwasm": "^0.
|
|
51
|
-
"@manifest-network/manifest-mcp-fred": "^0.
|
|
47
|
+
"@manifest-network/manifest-mcp-core": "^0.7.0",
|
|
48
|
+
"@manifest-network/manifest-mcp-chain": "^0.7.0",
|
|
49
|
+
"@manifest-network/manifest-mcp-lease": "^0.7.0",
|
|
50
|
+
"@manifest-network/manifest-mcp-cosmwasm": "^0.7.0",
|
|
51
|
+
"@manifest-network/manifest-mcp-fred": "^0.7.0",
|
|
52
52
|
"@modelcontextprotocol/sdk": "1.27.1",
|
|
53
53
|
"dotenv": "^17.2.3"
|
|
54
54
|
},
|