agentcash 0.7.6 → 0.7.7
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/cjs/run-server.cjs +3 -3
- package/dist/esm/{chunk-Q4CNAV4N.js → chunk-2XMLNLWS.js} +3 -4
- package/dist/esm/chunk-2XMLNLWS.js.map +1 -0
- package/dist/esm/{chunk-F43CZXWI.js → chunk-JKCEMNAF.js} +2 -2
- package/dist/esm/chunk-L7FC4RVF.js +7 -0
- package/dist/esm/{chunk-UYVXLY33.js → chunk-SRV57WB2.js} +3 -3
- package/dist/esm/{chunk-EYYVAQBE.js → chunk-X6KM3YLG.js} +3 -3
- package/dist/esm/{commands-CTDEOF6I.js → commands-IFU565JX.js} +7 -7
- package/dist/esm/index.js +16 -16
- package/dist/esm/{install-R727Y6WB.js → install-WJ645IFJ.js} +3 -3
- package/dist/esm/{server-CZ4XJYLK.js → server-VU3UAM7K.js} +6 -6
- package/dist/esm/shared/operations/index.js +3 -3
- package/package.json +1 -1
- package/dist/esm/chunk-AFQXUUCH.js +0 -7
- package/dist/esm/chunk-Q4CNAV4N.js.map +0 -1
- /package/dist/esm/{chunk-F43CZXWI.js.map → chunk-JKCEMNAF.js.map} +0 -0
- /package/dist/esm/{chunk-AFQXUUCH.js.map → chunk-L7FC4RVF.js.map} +0 -0
- /package/dist/esm/{chunk-UYVXLY33.js.map → chunk-SRV57WB2.js.map} +0 -0
- /package/dist/esm/{chunk-EYYVAQBE.js.map → chunk-X6KM3YLG.js.map} +0 -0
- /package/dist/esm/{commands-CTDEOF6I.js.map → commands-IFU565JX.js.map} +0 -0
- /package/dist/esm/{install-R727Y6WB.js.map → install-WJ645IFJ.js.map} +0 -0
- /package/dist/esm/{server-CZ4XJYLK.js.map → server-VU3UAM7K.js.map} +0 -0
package/dist/cjs/run-server.cjs
CHANGED
|
@@ -113816,7 +113816,7 @@ var import_path2 = require("path");
|
|
|
113816
113816
|
var import_url = require("url");
|
|
113817
113817
|
function getVersion2() {
|
|
113818
113818
|
if (true) {
|
|
113819
|
-
return "0.7.
|
|
113819
|
+
return "0.7.7";
|
|
113820
113820
|
}
|
|
113821
113821
|
const __dirname3 = (0, import_path2.dirname)((0, import_url.fileURLToPath)(importMetaUrl));
|
|
113822
113822
|
const pkg = JSON.parse(
|
|
@@ -113979,7 +113979,7 @@ var TEMPO_TOKEN_ADDRESS = "0x20c0000000000000000000000000000000000000";
|
|
|
113979
113979
|
|
|
113980
113980
|
// src/shared/mpp-enabled.ts
|
|
113981
113981
|
init_cjs_shims();
|
|
113982
|
-
var isMppEnabled = () => "0.7.
|
|
113982
|
+
var isMppEnabled = () => "0.7.7".includes("-mpp");
|
|
113983
113983
|
|
|
113984
113984
|
// src/shared/operations/fetch-with-payment.ts
|
|
113985
113985
|
init_cjs_shims();
|
|
@@ -117752,7 +117752,7 @@ var import_path3 = require("path");
|
|
|
117752
117752
|
var import_url2 = require("url");
|
|
117753
117753
|
function getVersion3() {
|
|
117754
117754
|
if (true) {
|
|
117755
|
-
return "0.7.
|
|
117755
|
+
return "0.7.7";
|
|
117756
117756
|
}
|
|
117757
117757
|
const __dirname3 = (0, import_path3.dirname)((0, import_url2.fileURLToPath)(importMetaUrl));
|
|
117758
117758
|
const pkg = JSON.parse(
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-KPEJO3KV.js";
|
|
4
4
|
import {
|
|
5
5
|
DIST_TAG
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-JKCEMNAF.js";
|
|
7
7
|
import {
|
|
8
8
|
wait
|
|
9
9
|
} from "./chunk-DZNSJ2BA.js";
|
|
@@ -469,8 +469,7 @@ var tryAddServer = async (client, globalFlags, options = {}) => {
|
|
|
469
469
|
} else if (client === "opencode" /* Opencode */) {
|
|
470
470
|
servers[serverName] = {
|
|
471
471
|
type: "local",
|
|
472
|
-
command,
|
|
473
|
-
args,
|
|
472
|
+
command: [command, ...args],
|
|
474
473
|
enabled: true,
|
|
475
474
|
environment: {}
|
|
476
475
|
};
|
|
@@ -614,4 +613,4 @@ export {
|
|
|
614
613
|
tryAddServer,
|
|
615
614
|
addServer
|
|
616
615
|
};
|
|
617
|
-
//# sourceMappingURL=chunk-
|
|
616
|
+
//# sourceMappingURL=chunk-2XMLNLWS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/cli/install/2-add-server/index.ts","../../src/cli/install/2-add-server/lib/client-config-file.ts","../../src/cli/install/2-add-server/lib/platforms.ts","../../src/cli/install/2-add-server/lib/file-types.ts","../../src/cli/install/2-add-server/lib/result.ts","../../src/cli/install/2-add-server/lib/nested-values.ts"],"sourcesContent":["import fs from 'fs';\n\nimport chalk from 'chalk';\n\nimport { log as clackLog, confirm, outro, stream } from '@clack/prompts';\n\nimport { safeWriteFile } from '@/shared/neverthrow/fs';\nimport { log } from '@/shared/log';\n\nimport { clientMetadata, Clients } from '../clients';\nimport {\n FileFormat,\n parseClientConfig,\n serializeClientConfig,\n stringifyObject,\n getClientConfigFile,\n getNestedValue,\n setNestedValue,\n} from './lib';\n\nimport { DIST_TAG } from '@/shared/version';\n\nimport { wait } from '@/cli/lib/wait';\n\nimport type { ClientConfigObject } from './types';\nimport type { GlobalFlags } from '@/types';\n\nexport interface AddServerSuccess {\n client: Clients;\n name: string;\n path: string;\n}\n\nexport interface AddServerFailure {\n client: Clients;\n name: string;\n path?: string;\n cause: string;\n message: string;\n}\n\ntype AddServerResult =\n | {\n success: true;\n value: AddServerSuccess;\n }\n | {\n success: false;\n error: AddServerFailure;\n };\n\ninterface AddServerOptions {\n silent?: boolean;\n}\n\nconst getMcpConfig = (globalFlags: GlobalFlags) => {\n if (globalFlags.dev) {\n return {\n serverName: 'agentcash',\n command: 'node',\n args: [`${process.cwd()}/dist/esm/index.js`, '--dev'],\n };\n }\n return {\n serverName: 'agentcash',\n command: 'npx',\n args: ['-y', `agentcash@${DIST_TAG}`],\n };\n};\n\nexport const tryAddServer = async (\n client: Clients,\n globalFlags: GlobalFlags,\n options: AddServerOptions = {}\n): Promise<AddServerResult> => {\n const { serverName, command, args } = getMcpConfig(globalFlags);\n const { name } = clientMetadata[client];\n\n if (client === Clients.Warp) {\n if (globalFlags.yes || options.silent) {\n return {\n success: false,\n error: {\n client,\n name,\n path: 'no-local-config',\n cause: 'manual_install_required',\n message: 'Warp requires a manual MCP installation through its UI',\n },\n };\n }\n\n clackLog.info(\n chalk.bold.yellow('Warp requires a manual installation through their UI.')\n );\n clackLog.message(\n 'Please copy the following configuration object and add it to your Warp MCP config:'\n );\n console.log();\n console.log(\n JSON.stringify(\n {\n [serverName]: {\n command,\n args,\n working_directory: null,\n start_on_launch: true,\n },\n },\n null,\n 2\n )\n );\n console.log();\n clackLog.message(\n `Read Warp's documentation at https://docs.warp.dev/knowledge-and-collaboration/mcp`\n );\n const addedToWarp = await confirm({\n message: 'Did you add the MCP server to your Warp config?',\n });\n if (!addedToWarp) {\n return {\n success: false,\n error: {\n client,\n name,\n path: 'no-local-config',\n cause: 'warp_mcp_server_not_added',\n message: 'Warp MCP server not added',\n },\n };\n }\n\n return {\n success: true,\n value: {\n client,\n name,\n path: 'no-local-config',\n },\n };\n }\n\n const clientFileTarget = getClientConfigFile(client);\n\n let config: ClientConfigObject = {};\n let content: string | undefined = undefined;\n\n log.info(`Checking if config file exists at: ${clientFileTarget.path}`);\n if (!fs.existsSync(clientFileTarget.path)) {\n log.info('Config file not found, creating default empty config');\n setNestedValue(config, clientFileTarget.configKey, {});\n log.info('Config created successfully');\n if (!globalFlags.yes) {\n await wait({\n startText: 'Locating config file',\n stopText: `No config found, creating default empty config`,\n ms: 1000,\n });\n }\n } else {\n log.info('Config file found, reading config file content');\n const parseResult = await parseClientConfig(clientFileTarget);\n\n if (parseResult.isErr()) {\n return {\n success: false,\n error: {\n client,\n name,\n path: clientFileTarget.path,\n cause: parseResult.error.cause,\n message: `Error reading config: ${parseResult.error.message}`,\n },\n };\n }\n\n const { config: rawConfig, fileContent } = parseResult.value;\n config = rawConfig;\n content = fileContent;\n const existingValue = getNestedValue(rawConfig, clientFileTarget.configKey);\n if (!existingValue) {\n setNestedValue(rawConfig, clientFileTarget.configKey, {});\n }\n if (!globalFlags.yes) {\n await wait({\n startText: `Locating config file`,\n stopText: `Config loaded from ${clientFileTarget.path}`,\n ms: 1000,\n });\n }\n }\n\n const servers = getNestedValue(config, clientFileTarget.configKey);\n if (!servers || typeof servers !== 'object') {\n log.error(`Invalid ${clientFileTarget.configKey} structure in config`);\n return {\n success: false,\n error: {\n client,\n name,\n path: clientFileTarget.path,\n cause: 'invalid_config',\n message: `Invalid ${clientFileTarget.configKey} structure in config`,\n },\n };\n }\n\n if (client === Clients.Goose) {\n servers[serverName] = {\n name: serverName,\n cmd: command,\n args,\n enabled: true,\n envs: {},\n type: 'stdio',\n timeout: 300,\n };\n } else if (client === Clients.Zed) {\n // Zed has a different config structure\n servers[serverName] = {\n source: 'custom',\n command,\n args,\n env: {},\n };\n } else if (client === Clients.Opencode) {\n servers[serverName] = {\n type: 'local',\n command: [command, ...args],\n enabled: true,\n environment: {},\n };\n } else {\n servers[serverName] = {\n command,\n args,\n };\n }\n\n if (!globalFlags.yes) {\n await new Promise(resolve => setTimeout(resolve, 1000));\n\n clackLog.step(\n `The following will be added to ${chalk.bold.underline(clientFileTarget.path)}`\n );\n }\n\n const configStr = formatDiffByFormat(\n {\n [clientFileTarget.configKey]: {\n [serverName]: servers[serverName] as object,\n },\n },\n clientFileTarget.format\n );\n\n if (!globalFlags.yes) {\n await stream.message(\n (async function* () {\n for (const num of Array.from(\n { length: configStr.length },\n (_, i) => i\n )) {\n const char = configStr[num]!;\n yield char;\n if (!['\\n', ' ', '─', '╮', '╭', '╰', '╯', '│'].includes(char)) {\n await new Promise(resolve => setTimeout(resolve, 5));\n } else {\n await new Promise(resolve => setTimeout(resolve, 2));\n }\n }\n })()\n );\n\n await new Promise(resolve => setTimeout(resolve, 1000));\n }\n\n const isConfirmed = globalFlags.yes\n ? true\n : await confirm({\n message: `Would you like to proceed?`,\n active: 'Install MCP',\n inactive: 'Cancel',\n });\n if (isConfirmed !== true) {\n return {\n success: false,\n error: {\n client,\n name,\n path: clientFileTarget.path,\n cause: 'cancelled',\n message: 'Installation cancelled',\n },\n };\n }\n\n const configContent = serializeClientConfig(\n clientFileTarget,\n config,\n content\n );\n\n const writeResult = await safeWriteFile(\n 'config_file',\n clientFileTarget.path,\n configContent\n );\n\n if (writeResult.isErr()) {\n return {\n success: false,\n error: {\n client,\n name,\n path: clientFileTarget.path,\n cause: writeResult.error.cause,\n message: `Error writing config: ${writeResult.error.message}`,\n },\n };\n }\n\n if (!options.silent) {\n clackLog.success(chalk.bold.green(`Added agentcash MCP to ${name}`));\n }\n\n return {\n success: true,\n value: {\n client,\n name,\n path: clientFileTarget.path,\n },\n };\n};\n\nexport const addServer = async (client: Clients, globalFlags: GlobalFlags) => {\n const result = await tryAddServer(client, globalFlags);\n\n if (result.success) {\n return;\n }\n\n if (result.error.cause === 'cancelled') {\n outro(chalk.bold.red(result.error.message));\n process.exit(0);\n }\n\n clackLog.error(chalk.bold.red(result.error.message));\n outro(chalk.bold.red(`Error adding agentcash MCP to ${result.error.name}`));\n process.exit(1);\n};\n\nconst formatDiffByFormat = (obj: object, format: FileFormat) => {\n const str = stringifyObject(obj, format);\n switch (format) {\n case FileFormat.JSON: {\n const numLines = str.split('\\n').length;\n return str\n .split('\\n')\n .map((line, index) => {\n const diffLines = [0, 1, numLines - 2, numLines - 1];\n const isDiffLine = !diffLines.includes(index);\n if (isDiffLine) {\n return `${chalk.bold.green(`+ ${line.slice(2)}`)}`;\n }\n return line;\n })\n .join('\\n');\n }\n case FileFormat.YAML: {\n return str\n .split('\\n')\n .map((line, index) => {\n const diffLines = [0, 1, str.length - 2, str.length - 1];\n const isDiffLine = !diffLines.includes(index);\n if (isDiffLine) {\n return `${chalk.bold.green(`+ ${line.slice(2)}`)}`;\n }\n return line;\n })\n .join('\\n');\n }\n case FileFormat.TOML: {\n return str\n .split('\\n')\n .filter(line => line.trim() !== '')\n .map(line => {\n return `${chalk.bold.green(`+ ${line.trim()}`)}`;\n })\n .join('\\n');\n }\n }\n};\n","import os from 'os';\nimport path from 'path';\nimport process from 'process';\nimport fs from 'fs';\n\nimport { getPlatformPath } from './platforms';\nimport { log } from '@/shared/log';\n\nimport { Clients } from '../../clients';\n\nimport type { ClientConfigFile } from '../types';\nimport { FileFormat } from './file-types';\n\nexport const getClientConfigFile = (client: Clients): ClientConfigFile => {\n const homeDir = os.homedir();\n const { baseDir, vscodePath } = getPlatformPath();\n\n switch (client) {\n case Clients.Claude:\n return {\n path: path.join(baseDir, 'Claude', 'claude_desktop_config.json'),\n configKey: 'mcpServers',\n format: FileFormat.JSON,\n };\n case Clients.Cline:\n return {\n path: path.join(\n baseDir,\n vscodePath,\n 'globalStorage',\n 'saoudrizwan.claude-dev',\n 'settings',\n 'cline_mcp_settings.json'\n ),\n configKey: 'mcpServers',\n format: FileFormat.JSON,\n };\n case Clients.RooCline:\n return {\n path: path.join(\n baseDir,\n vscodePath,\n 'globalStorage',\n 'rooveterinaryinc.roo-cline',\n 'settings',\n 'mcp_settings.json'\n ),\n configKey: 'mcpServers',\n format: FileFormat.JSON,\n };\n case Clients.Windsurf:\n return {\n path: path.join(homeDir, '.codeium', 'windsurf', 'mcp_config.json'),\n configKey: 'mcpServers',\n format: FileFormat.JSON,\n };\n case Clients.Cursor:\n return {\n path: path.join(homeDir, '.cursor', 'mcp.json'),\n configKey: 'mcpServers',\n format: FileFormat.JSON,\n };\n case Clients.Warp:\n return {\n path: 'no-local-config', // it's okay this isn't a real path, we never use it\n configKey: 'mcpServers',\n format: FileFormat.JSON,\n };\n case Clients.GeminiCli:\n return {\n path: path.join(homeDir, '.gemini', 'settings.json'),\n configKey: 'mcpServers',\n format: FileFormat.JSON,\n };\n case Clients.Vscode:\n return {\n path: path.join(baseDir, vscodePath, 'mcp.json'),\n configKey: 'mcpServers',\n format: FileFormat.JSON,\n };\n case Clients.ClaudeCode:\n return {\n path: path.join(homeDir, '.claude.json'),\n configKey: 'mcpServers',\n format: FileFormat.JSON,\n };\n case Clients.Goose:\n return {\n path: path.join(homeDir, '.config', 'goose', 'config.yaml'),\n configKey: 'extensions',\n format: FileFormat.YAML,\n };\n case Clients.Zed:\n return {\n path:\n process.platform === 'win32'\n ? path.join(\n process.env.APPDATA ?? path.join(homeDir, 'AppData', 'Roaming'),\n 'Zed',\n 'settings.json'\n )\n : path.join(homeDir, '.config', 'zed', 'settings.json'),\n configKey: 'context_servers',\n format: FileFormat.JSON,\n };\n case Clients.Codex:\n return {\n path: path.join(\n process.env.CODEX_HOME ?? path.join(homeDir, '.codex'),\n 'config.toml'\n ),\n configKey: 'mcp_servers',\n format: FileFormat.TOML,\n };\n case Clients.Opencode: {\n const jsonPath = path.join(\n homeDir,\n '.config',\n 'opencode',\n 'opencode.json'\n );\n const jsoncPath = jsonPath.replace('.json', '.jsonc');\n\n // For OpenCode, check if .jsonc exists and prefer it over .json\n if (fs.existsSync(jsoncPath)) {\n log.info(`Found .jsonc file for OpenCode, using: ${jsoncPath}`);\n return {\n path: jsoncPath,\n configKey: 'mcp',\n format: FileFormat.JSON,\n };\n }\n\n return {\n path: jsonPath,\n configKey: 'mcp',\n format: FileFormat.JSON,\n };\n }\n default:\n throw new Error(`Unknown client: ${String(client)}`);\n }\n};\n","import os from 'os';\nimport path from 'path';\nimport process from 'process';\nimport z from 'zod';\n\nenum Platforms {\n Windows = 'win32',\n MacOS = 'darwin',\n Linux = 'linux',\n}\n\nexport const getPlatformPath = () => {\n const platform = z.enum(Platforms).safeParse(process.platform);\n if (!platform.success) {\n throw new Error(`Invalid platform: ${process.platform}`);\n }\n\n const homeDir = os.homedir();\n\n switch (platform.data) {\n case Platforms.Windows:\n return {\n baseDir:\n process.env.APPDATA ?? path.join(homeDir, 'AppData', 'Roaming'),\n vscodePath: path.join('Code', 'User'),\n };\n case Platforms.MacOS:\n return {\n baseDir: path.join(homeDir, 'Library', 'Application Support'),\n vscodePath: path.join('Code', 'User'),\n };\n case Platforms.Linux:\n return {\n baseDir: process.env.XDG_CONFIG_HOME ?? path.join(homeDir, '.config'),\n vscodePath: path.join('Code/User'),\n };\n default:\n throw new Error(`Invalid platform: ${process.platform}`);\n }\n};\n","import * as TOML from '@iarna/toml';\nimport yaml from 'js-yaml';\nimport * as jsonc from 'jsonc-parser';\n\nimport { safeReadFile } from '@/shared/neverthrow/fs';\nimport { configResultFromThrowable } from './result';\n\nimport type { ClientConfigFile, ClientConfigObject } from '../types';\n\nexport enum FileFormat {\n JSON = 'json',\n YAML = 'yaml',\n TOML = 'toml',\n}\n\nconst parseContent = (\n fileContent: string,\n format: FileFormat,\n path: string\n) => {\n return configResultFromThrowable(\n () => {\n let config: ClientConfigObject;\n if (format === FileFormat.YAML) {\n config = yaml.load(fileContent) as ClientConfigObject;\n } else if (format === FileFormat.TOML) {\n config = TOML.parse(fileContent) as ClientConfigObject;\n } else if (path.endsWith('.jsonc')) {\n config = jsonc.parse(fileContent) as ClientConfigObject;\n } else {\n config = JSON.parse(fileContent) as ClientConfigObject;\n }\n return {\n config,\n fileContent,\n };\n },\n e => ({\n cause: 'parse_config',\n message: e instanceof Error ? e.message : 'Failed to parse config file',\n })\n );\n};\n\n/**\n * Parse file content based on format\n */\nexport const parseClientConfig = async ({ format, path }: ClientConfigFile) => {\n const readResult = await safeReadFile('config_file', path);\n\n if (readResult.isErr()) return readResult;\n\n const parseResult = parseContent(readResult.value, format, path);\n\n if (parseResult.isErr()) return parseResult;\n\n return parseResult;\n};\n\nconst serializeJsonc = (\n config: ClientConfigObject,\n originalContent: string\n) => {\n return configResultFromThrowable<string>(\n () => {\n const modifications: jsonc.Edit[] = [];\n\n for (const key of Object.keys(config)) {\n const keyPath = [key];\n const edits = jsonc.modify(originalContent, keyPath, config[key], {\n formattingOptions: { tabSize: 2, insertSpaces: true },\n });\n modifications.push(...edits);\n }\n\n return jsonc.applyEdits(originalContent, modifications);\n },\n e => ({\n cause: 'serialize_config',\n message: e instanceof Error ? e.message : 'Failed to serialize JSONC',\n })\n );\n};\n\nexport const serializeClientConfig = (\n { format, path }: ClientConfigFile,\n config: ClientConfigObject,\n originalContent?: string\n): string => {\n if (format === FileFormat.YAML) {\n return yaml.dump(config, {\n indent: 2,\n lineWidth: -1,\n noRefs: true,\n });\n }\n if (format === FileFormat.TOML) {\n return TOML.stringify(config);\n }\n if (path.endsWith('.jsonc') && originalContent) {\n const result = serializeJsonc(config, originalContent);\n if (result.isOk()) {\n return result.value;\n }\n // Fallback to standard JSON.stringify if edit fails\n console.log(`Error applying JSONC edits: ${result.error.message}`);\n console.log('Falling back to JSON.stringify (comments will be lost)');\n return JSON.stringify(config, null, 2);\n }\n // Default to JSON\n return JSON.stringify(config, null, 2);\n};\n\nexport const stringifyObject = (\n config: ClientConfigObject,\n format: FileFormat\n) => {\n if (format === FileFormat.YAML) {\n return yaml.dump(config, {\n indent: 2,\n lineWidth: -1,\n noRefs: true,\n });\n }\n if (format === FileFormat.TOML) {\n return TOML.stringify(config);\n }\n return JSON.stringify(config, null, 2);\n};\n","import { resultFromThrowable } from '@agentcash/neverthrow';\n\nimport type { BaseConfigError } from '../types';\n\nconst errorType = 'config';\nconst surface = 'config_file';\n\nexport const configResultFromThrowable = <T>(\n fn: () => T,\n error: (e: unknown) => BaseConfigError\n) => resultFromThrowable(errorType, surface, fn, error);\n","import type { ClientConfigObject } from '../types';\n\nexport const getNestedValue = (obj: ClientConfigObject, path: string) => {\n const keys = path.split('.');\n let current: ClientConfigObject | undefined = obj;\n for (const key of keys) {\n if (current && typeof current === 'object' && key in current) {\n current = current[key] as ClientConfigObject;\n } else {\n return undefined;\n }\n }\n return current;\n};\n\nexport const setNestedValue = (\n obj: ClientConfigObject,\n path: string,\n value: ClientConfigObject\n) => {\n const keys = path.split('.');\n const lastKey = keys.pop();\n if (!lastKey) return;\n const target = keys.reduce((current, key) => {\n current[key] ??= {};\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return current[key];\n }, obj);\n target[lastKey] = value;\n};\n"],"mappings":"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","names":["fs","os","path","process","process","Platforms","path","os","path","process","path","fs"]}
|
|
@@ -4,7 +4,7 @@ import { dirname, join } from "path";
|
|
|
4
4
|
import { fileURLToPath } from "url";
|
|
5
5
|
function getVersion() {
|
|
6
6
|
if (true) {
|
|
7
|
-
return "0.7.
|
|
7
|
+
return "0.7.7";
|
|
8
8
|
}
|
|
9
9
|
const __dirname2 = dirname(fileURLToPath(import.meta.url));
|
|
10
10
|
const pkg = JSON.parse(
|
|
@@ -19,4 +19,4 @@ export {
|
|
|
19
19
|
MCP_VERSION,
|
|
20
20
|
DIST_TAG
|
|
21
21
|
};
|
|
22
|
-
//# sourceMappingURL=chunk-
|
|
22
|
+
//# sourceMappingURL=chunk-JKCEMNAF.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
isMppEnabled
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-L7FC4RVF.js";
|
|
4
4
|
import {
|
|
5
5
|
MCP_VERSION
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-JKCEMNAF.js";
|
|
7
7
|
import {
|
|
8
8
|
getBalance,
|
|
9
9
|
getBaseUrl,
|
|
@@ -136,4 +136,4 @@ export {
|
|
|
136
136
|
getWalletInfo,
|
|
137
137
|
submitErrorReport
|
|
138
138
|
};
|
|
139
|
-
//# sourceMappingURL=chunk-
|
|
139
|
+
//# sourceMappingURL=chunk-SRV57WB2.js.map
|
|
@@ -3,10 +3,10 @@ import {
|
|
|
3
3
|
} from "./chunk-XNU6FVCF.js";
|
|
4
4
|
import {
|
|
5
5
|
getTempoBalance
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-SRV57WB2.js";
|
|
7
7
|
import {
|
|
8
8
|
isMppEnabled
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-L7FC4RVF.js";
|
|
10
10
|
import {
|
|
11
11
|
getBalance
|
|
12
12
|
} from "./chunk-FLIDR6EU.js";
|
|
@@ -516,4 +516,4 @@ export {
|
|
|
516
516
|
getInputSchema,
|
|
517
517
|
createFetchWithAuth
|
|
518
518
|
};
|
|
519
|
-
//# sourceMappingURL=chunk-
|
|
519
|
+
//# sourceMappingURL=chunk-X6KM3YLG.js.map
|
|
@@ -6,15 +6,15 @@ import {
|
|
|
6
6
|
createFetchWithAuth,
|
|
7
7
|
createFetchWithPayment,
|
|
8
8
|
requestSchema
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-X6KM3YLG.js";
|
|
10
10
|
import "./chunk-XNU6FVCF.js";
|
|
11
11
|
import {
|
|
12
12
|
TEMPO_RPC_URL,
|
|
13
13
|
getOnboardingCta,
|
|
14
14
|
getWalletInfo,
|
|
15
15
|
submitErrorReport
|
|
16
|
-
} from "./chunk-
|
|
17
|
-
import "./chunk-
|
|
16
|
+
} from "./chunk-SRV57WB2.js";
|
|
17
|
+
import "./chunk-L7FC4RVF.js";
|
|
18
18
|
import {
|
|
19
19
|
checkEndpoint,
|
|
20
20
|
discoverResources
|
|
@@ -22,11 +22,11 @@ import {
|
|
|
22
22
|
import {
|
|
23
23
|
getPlatformPath,
|
|
24
24
|
tryAddServer
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-2XMLNLWS.js";
|
|
26
26
|
import "./chunk-KPEJO3KV.js";
|
|
27
27
|
import {
|
|
28
28
|
MCP_VERSION
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-JKCEMNAF.js";
|
|
30
30
|
import "./chunk-DZNSJ2BA.js";
|
|
31
31
|
import {
|
|
32
32
|
DEFAULT_NETWORK,
|
|
@@ -651,7 +651,7 @@ async function serverCommand(flags) {
|
|
|
651
651
|
"MCP server started. If you meant to explore the CLI, run: npx agentcash --help\n"
|
|
652
652
|
);
|
|
653
653
|
}
|
|
654
|
-
const { startServer } = await import("./server-
|
|
654
|
+
const { startServer } = await import("./server-VU3UAM7K.js");
|
|
655
655
|
await startServer(flags);
|
|
656
656
|
}
|
|
657
657
|
|
|
@@ -1583,4 +1583,4 @@ export {
|
|
|
1583
1583
|
walletInfoCommand,
|
|
1584
1584
|
walletRedeemCommand
|
|
1585
1585
|
};
|
|
1586
|
-
//# sourceMappingURL=commands-
|
|
1586
|
+
//# sourceMappingURL=commands-IFU565JX.js.map
|
package/dist/esm/index.js
CHANGED
|
@@ -4,11 +4,11 @@ import {
|
|
|
4
4
|
} from "./chunk-XNU6FVCF.js";
|
|
5
5
|
import {
|
|
6
6
|
isMppEnabled
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-L7FC4RVF.js";
|
|
8
8
|
import "./chunk-KPEJO3KV.js";
|
|
9
9
|
import {
|
|
10
10
|
MCP_VERSION
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-JKCEMNAF.js";
|
|
12
12
|
|
|
13
13
|
// src/index.ts
|
|
14
14
|
import yargs from "yargs";
|
|
@@ -84,7 +84,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
|
|
|
84
84
|
default: "auto"
|
|
85
85
|
}).epilogue(DESCRIPTIONS.fetch.epilogue),
|
|
86
86
|
async (args) => {
|
|
87
|
-
const { fetchCommand } = await import("./commands-
|
|
87
|
+
const { fetchCommand } = await import("./commands-IFU565JX.js");
|
|
88
88
|
await fetchCommand(
|
|
89
89
|
{
|
|
90
90
|
url: args.url,
|
|
@@ -119,7 +119,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
|
|
|
119
119
|
description: "Additional headers as JSON object"
|
|
120
120
|
}).epilogue(DESCRIPTIONS.fetchWithAuth.epilogue),
|
|
121
121
|
async (args) => {
|
|
122
|
-
const { fetchAuthCommand } = await import("./commands-
|
|
122
|
+
const { fetchAuthCommand } = await import("./commands-IFU565JX.js");
|
|
123
123
|
await fetchAuthCommand(
|
|
124
124
|
{
|
|
125
125
|
url: args.url,
|
|
@@ -152,7 +152,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
|
|
|
152
152
|
description: "Additional headers as JSON object"
|
|
153
153
|
}).epilogue(DESCRIPTIONS.checkEndpointSchema.epilogue),
|
|
154
154
|
async (args) => {
|
|
155
|
-
const { checkCommand } = await import("./commands-
|
|
155
|
+
const { checkCommand } = await import("./commands-IFU565JX.js");
|
|
156
156
|
await checkCommand(
|
|
157
157
|
{
|
|
158
158
|
url: args.url,
|
|
@@ -172,7 +172,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
|
|
|
172
172
|
demandOption: true
|
|
173
173
|
}),
|
|
174
174
|
async (args) => {
|
|
175
|
-
const { tryCommand } = await import("./commands-
|
|
175
|
+
const { tryCommand } = await import("./commands-IFU565JX.js");
|
|
176
176
|
await tryCommand({ url: args.url }, args);
|
|
177
177
|
}
|
|
178
178
|
).command(
|
|
@@ -187,7 +187,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
|
|
|
187
187
|
description: "Guidance override: true=always include, false=never include, omitted=auto by threshold"
|
|
188
188
|
}).epilogue(DESCRIPTIONS.discoverApiEndpoints.epilogue),
|
|
189
189
|
async (args) => {
|
|
190
|
-
const { discoverCommand } = await import("./commands-
|
|
190
|
+
const { discoverCommand } = await import("./commands-IFU565JX.js");
|
|
191
191
|
await discoverCommand(
|
|
192
192
|
{ url: args.url, includeGuidance: args.includeGuidance },
|
|
193
193
|
args
|
|
@@ -202,7 +202,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
|
|
|
202
202
|
demandOption: true
|
|
203
203
|
}),
|
|
204
204
|
async (args) => {
|
|
205
|
-
const { registerCommand } = await import("./commands-
|
|
205
|
+
const { registerCommand } = await import("./commands-IFU565JX.js");
|
|
206
206
|
await registerCommand({ url: args.url }, args);
|
|
207
207
|
}
|
|
208
208
|
).command(
|
|
@@ -214,7 +214,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
|
|
|
214
214
|
demandOption: true
|
|
215
215
|
}),
|
|
216
216
|
async (args) => {
|
|
217
|
-
const { addSkillCommand } = await import("./commands-
|
|
217
|
+
const { addSkillCommand } = await import("./commands-IFU565JX.js");
|
|
218
218
|
await addSkillCommand({ url: args.url }, args);
|
|
219
219
|
}
|
|
220
220
|
).command(
|
|
@@ -225,7 +225,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
|
|
|
225
225
|
description: "The invite code to redeem (optional)"
|
|
226
226
|
}),
|
|
227
227
|
async (args) => {
|
|
228
|
-
const { onboardCommand } = await import("./commands-
|
|
228
|
+
const { onboardCommand } = await import("./commands-IFU565JX.js");
|
|
229
229
|
await onboardCommand({ code: args.code ?? args.invite }, args);
|
|
230
230
|
}
|
|
231
231
|
).command(
|
|
@@ -236,7 +236,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
|
|
|
236
236
|
DESCRIPTIONS.getWalletInfo.cli,
|
|
237
237
|
(yargs3) => yargs3,
|
|
238
238
|
async (args) => {
|
|
239
|
-
const { walletInfoCommand } = await import("./commands-
|
|
239
|
+
const { walletInfoCommand } = await import("./commands-IFU565JX.js");
|
|
240
240
|
await walletInfoCommand({}, args);
|
|
241
241
|
}
|
|
242
242
|
).command(
|
|
@@ -248,7 +248,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
|
|
|
248
248
|
demandOption: true
|
|
249
249
|
}),
|
|
250
250
|
async (args) => {
|
|
251
|
-
const { walletRedeemCommand } = await import("./commands-
|
|
251
|
+
const { walletRedeemCommand } = await import("./commands-IFU565JX.js");
|
|
252
252
|
await walletRedeemCommand({ code: args.code }, args);
|
|
253
253
|
}
|
|
254
254
|
).command(
|
|
@@ -256,7 +256,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
|
|
|
256
256
|
"Get wallet address",
|
|
257
257
|
(yargs3) => yargs3,
|
|
258
258
|
async (args) => {
|
|
259
|
-
const { walletAddressCommand } = await import("./commands-
|
|
259
|
+
const { walletAddressCommand } = await import("./commands-IFU565JX.js");
|
|
260
260
|
await walletAddressCommand({}, args);
|
|
261
261
|
}
|
|
262
262
|
).demandCommand(1, "You must specify a wallet subcommand").strict(),
|
|
@@ -288,7 +288,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
|
|
|
288
288
|
description: "Detailed report with context and repro steps"
|
|
289
289
|
}),
|
|
290
290
|
async (args) => {
|
|
291
|
-
const { reportErrorCommand } = await import("./commands-
|
|
291
|
+
const { reportErrorCommand } = await import("./commands-IFU565JX.js");
|
|
292
292
|
await reportErrorCommand(
|
|
293
293
|
{
|
|
294
294
|
tool: args.tool,
|
|
@@ -306,7 +306,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
|
|
|
306
306
|
"Start the MCP server (default when no command specified)",
|
|
307
307
|
(yargs2) => yargs2,
|
|
308
308
|
async (args) => {
|
|
309
|
-
const { serverCommand } = await import("./commands-
|
|
309
|
+
const { serverCommand } = await import("./commands-IFU565JX.js");
|
|
310
310
|
await serverCommand(args);
|
|
311
311
|
}
|
|
312
312
|
).command(
|
|
@@ -319,7 +319,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
|
|
|
319
319
|
default: isClaudeCode ? "claude-code" /* ClaudeCode */ : void 0
|
|
320
320
|
}),
|
|
321
321
|
async (args) => {
|
|
322
|
-
const { installMcpServer } = await import("./install-
|
|
322
|
+
const { installMcpServer } = await import("./install-WJ645IFJ.js");
|
|
323
323
|
await installMcpServer(args);
|
|
324
324
|
}
|
|
325
325
|
).command(
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
addServer
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-2XMLNLWS.js";
|
|
4
4
|
import {
|
|
5
5
|
Clients,
|
|
6
6
|
clientMetadata
|
|
7
7
|
} from "./chunk-KPEJO3KV.js";
|
|
8
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-JKCEMNAF.js";
|
|
9
9
|
import {
|
|
10
10
|
promptDeposit
|
|
11
11
|
} from "./chunk-PWYZN62H.js";
|
|
@@ -176,4 +176,4 @@ var installMcpServer = async (flags) => {
|
|
|
176
176
|
export {
|
|
177
177
|
installMcpServer
|
|
178
178
|
};
|
|
179
|
-
//# sourceMappingURL=install-
|
|
179
|
+
//# sourceMappingURL=install-WJ645IFJ.js.map
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
requestSchema,
|
|
8
8
|
safeGetMppChallenge,
|
|
9
9
|
safeGetPaymentRequired
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-X6KM3YLG.js";
|
|
11
11
|
import {
|
|
12
12
|
DESCRIPTIONS,
|
|
13
13
|
ORIGINS,
|
|
@@ -19,17 +19,17 @@ import {
|
|
|
19
19
|
getTempoBalance,
|
|
20
20
|
getWalletInfo,
|
|
21
21
|
submitErrorReport
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-SRV57WB2.js";
|
|
23
23
|
import {
|
|
24
24
|
isMppEnabled
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-L7FC4RVF.js";
|
|
26
26
|
import {
|
|
27
27
|
checkEndpoint,
|
|
28
28
|
discoverResources
|
|
29
29
|
} from "./chunk-5EMDWOPZ.js";
|
|
30
30
|
import {
|
|
31
31
|
MCP_VERSION
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-JKCEMNAF.js";
|
|
33
33
|
import {
|
|
34
34
|
DEFAULT_NETWORK,
|
|
35
35
|
getWallet,
|
|
@@ -1215,7 +1215,7 @@ import { dirname, join } from "path";
|
|
|
1215
1215
|
import { fileURLToPath } from "url";
|
|
1216
1216
|
function getVersion() {
|
|
1217
1217
|
if (true) {
|
|
1218
|
-
return "0.7.
|
|
1218
|
+
return "0.7.7";
|
|
1219
1219
|
}
|
|
1220
1220
|
const __dirname2 = dirname(fileURLToPath(import.meta.url));
|
|
1221
1221
|
const pkg = JSON.parse(
|
|
@@ -1297,4 +1297,4 @@ var startServer = async (flags) => {
|
|
|
1297
1297
|
export {
|
|
1298
1298
|
startServer
|
|
1299
1299
|
};
|
|
1300
|
-
//# sourceMappingURL=server-
|
|
1300
|
+
//# sourceMappingURL=server-VU3UAM7K.js.map
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getWalletInfo,
|
|
3
3
|
submitErrorReport
|
|
4
|
-
} from "../../chunk-
|
|
5
|
-
import "../../chunk-
|
|
4
|
+
} from "../../chunk-SRV57WB2.js";
|
|
5
|
+
import "../../chunk-L7FC4RVF.js";
|
|
6
6
|
import {
|
|
7
7
|
SUPPORTED_METHODS,
|
|
8
8
|
checkEndpoint,
|
|
9
9
|
discoverResources
|
|
10
10
|
} from "../../chunk-5EMDWOPZ.js";
|
|
11
|
-
import "../../chunk-
|
|
11
|
+
import "../../chunk-JKCEMNAF.js";
|
|
12
12
|
import "../../chunk-FLIDR6EU.js";
|
|
13
13
|
import "../../chunk-TRPO7BKD.js";
|
|
14
14
|
import "../../chunk-ISR6DJ53.js";
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/cli/install/2-add-server/index.ts","../../src/cli/install/2-add-server/lib/client-config-file.ts","../../src/cli/install/2-add-server/lib/platforms.ts","../../src/cli/install/2-add-server/lib/file-types.ts","../../src/cli/install/2-add-server/lib/result.ts","../../src/cli/install/2-add-server/lib/nested-values.ts"],"sourcesContent":["import fs from 'fs';\n\nimport chalk from 'chalk';\n\nimport { log as clackLog, confirm, outro, stream } from '@clack/prompts';\n\nimport { safeWriteFile } from '@/shared/neverthrow/fs';\nimport { log } from '@/shared/log';\n\nimport { clientMetadata, Clients } from '../clients';\nimport {\n FileFormat,\n parseClientConfig,\n serializeClientConfig,\n stringifyObject,\n getClientConfigFile,\n getNestedValue,\n setNestedValue,\n} from './lib';\n\nimport { DIST_TAG } from '@/shared/version';\n\nimport { wait } from '@/cli/lib/wait';\n\nimport type { ClientConfigObject } from './types';\nimport type { GlobalFlags } from '@/types';\n\nexport interface AddServerSuccess {\n client: Clients;\n name: string;\n path: string;\n}\n\nexport interface AddServerFailure {\n client: Clients;\n name: string;\n path?: string;\n cause: string;\n message: string;\n}\n\ntype AddServerResult =\n | {\n success: true;\n value: AddServerSuccess;\n }\n | {\n success: false;\n error: AddServerFailure;\n };\n\ninterface AddServerOptions {\n silent?: boolean;\n}\n\nconst getMcpConfig = (globalFlags: GlobalFlags) => {\n if (globalFlags.dev) {\n return {\n serverName: 'agentcash',\n command: 'node',\n args: [`${process.cwd()}/dist/esm/index.js`, '--dev'],\n };\n }\n return {\n serverName: 'agentcash',\n command: 'npx',\n args: ['-y', `agentcash@${DIST_TAG}`],\n };\n};\n\nexport const tryAddServer = async (\n client: Clients,\n globalFlags: GlobalFlags,\n options: AddServerOptions = {}\n): Promise<AddServerResult> => {\n const { serverName, command, args } = getMcpConfig(globalFlags);\n const { name } = clientMetadata[client];\n\n if (client === Clients.Warp) {\n if (globalFlags.yes || options.silent) {\n return {\n success: false,\n error: {\n client,\n name,\n path: 'no-local-config',\n cause: 'manual_install_required',\n message: 'Warp requires a manual MCP installation through its UI',\n },\n };\n }\n\n clackLog.info(\n chalk.bold.yellow('Warp requires a manual installation through their UI.')\n );\n clackLog.message(\n 'Please copy the following configuration object and add it to your Warp MCP config:'\n );\n console.log();\n console.log(\n JSON.stringify(\n {\n [serverName]: {\n command,\n args,\n working_directory: null,\n start_on_launch: true,\n },\n },\n null,\n 2\n )\n );\n console.log();\n clackLog.message(\n `Read Warp's documentation at https://docs.warp.dev/knowledge-and-collaboration/mcp`\n );\n const addedToWarp = await confirm({\n message: 'Did you add the MCP server to your Warp config?',\n });\n if (!addedToWarp) {\n return {\n success: false,\n error: {\n client,\n name,\n path: 'no-local-config',\n cause: 'warp_mcp_server_not_added',\n message: 'Warp MCP server not added',\n },\n };\n }\n\n return {\n success: true,\n value: {\n client,\n name,\n path: 'no-local-config',\n },\n };\n }\n\n const clientFileTarget = getClientConfigFile(client);\n\n let config: ClientConfigObject = {};\n let content: string | undefined = undefined;\n\n log.info(`Checking if config file exists at: ${clientFileTarget.path}`);\n if (!fs.existsSync(clientFileTarget.path)) {\n log.info('Config file not found, creating default empty config');\n setNestedValue(config, clientFileTarget.configKey, {});\n log.info('Config created successfully');\n if (!globalFlags.yes) {\n await wait({\n startText: 'Locating config file',\n stopText: `No config found, creating default empty config`,\n ms: 1000,\n });\n }\n } else {\n log.info('Config file found, reading config file content');\n const parseResult = await parseClientConfig(clientFileTarget);\n\n if (parseResult.isErr()) {\n return {\n success: false,\n error: {\n client,\n name,\n path: clientFileTarget.path,\n cause: parseResult.error.cause,\n message: `Error reading config: ${parseResult.error.message}`,\n },\n };\n }\n\n const { config: rawConfig, fileContent } = parseResult.value;\n config = rawConfig;\n content = fileContent;\n const existingValue = getNestedValue(rawConfig, clientFileTarget.configKey);\n if (!existingValue) {\n setNestedValue(rawConfig, clientFileTarget.configKey, {});\n }\n if (!globalFlags.yes) {\n await wait({\n startText: `Locating config file`,\n stopText: `Config loaded from ${clientFileTarget.path}`,\n ms: 1000,\n });\n }\n }\n\n const servers = getNestedValue(config, clientFileTarget.configKey);\n if (!servers || typeof servers !== 'object') {\n log.error(`Invalid ${clientFileTarget.configKey} structure in config`);\n return {\n success: false,\n error: {\n client,\n name,\n path: clientFileTarget.path,\n cause: 'invalid_config',\n message: `Invalid ${clientFileTarget.configKey} structure in config`,\n },\n };\n }\n\n if (client === Clients.Goose) {\n servers[serverName] = {\n name: serverName,\n cmd: command,\n args,\n enabled: true,\n envs: {},\n type: 'stdio',\n timeout: 300,\n };\n } else if (client === Clients.Zed) {\n // Zed has a different config structure\n servers[serverName] = {\n source: 'custom',\n command,\n args,\n env: {},\n };\n } else if (client === Clients.Opencode) {\n servers[serverName] = {\n type: 'local',\n command,\n args,\n enabled: true,\n environment: {},\n };\n } else {\n servers[serverName] = {\n command,\n args,\n };\n }\n\n if (!globalFlags.yes) {\n await new Promise(resolve => setTimeout(resolve, 1000));\n\n clackLog.step(\n `The following will be added to ${chalk.bold.underline(clientFileTarget.path)}`\n );\n }\n\n const configStr = formatDiffByFormat(\n {\n [clientFileTarget.configKey]: {\n [serverName]: servers[serverName] as object,\n },\n },\n clientFileTarget.format\n );\n\n if (!globalFlags.yes) {\n await stream.message(\n (async function* () {\n for (const num of Array.from(\n { length: configStr.length },\n (_, i) => i\n )) {\n const char = configStr[num]!;\n yield char;\n if (!['\\n', ' ', '─', '╮', '╭', '╰', '╯', '│'].includes(char)) {\n await new Promise(resolve => setTimeout(resolve, 5));\n } else {\n await new Promise(resolve => setTimeout(resolve, 2));\n }\n }\n })()\n );\n\n await new Promise(resolve => setTimeout(resolve, 1000));\n }\n\n const isConfirmed = globalFlags.yes\n ? true\n : await confirm({\n message: `Would you like to proceed?`,\n active: 'Install MCP',\n inactive: 'Cancel',\n });\n if (isConfirmed !== true) {\n return {\n success: false,\n error: {\n client,\n name,\n path: clientFileTarget.path,\n cause: 'cancelled',\n message: 'Installation cancelled',\n },\n };\n }\n\n const configContent = serializeClientConfig(\n clientFileTarget,\n config,\n content\n );\n\n const writeResult = await safeWriteFile(\n 'config_file',\n clientFileTarget.path,\n configContent\n );\n\n if (writeResult.isErr()) {\n return {\n success: false,\n error: {\n client,\n name,\n path: clientFileTarget.path,\n cause: writeResult.error.cause,\n message: `Error writing config: ${writeResult.error.message}`,\n },\n };\n }\n\n if (!options.silent) {\n clackLog.success(chalk.bold.green(`Added agentcash MCP to ${name}`));\n }\n\n return {\n success: true,\n value: {\n client,\n name,\n path: clientFileTarget.path,\n },\n };\n};\n\nexport const addServer = async (client: Clients, globalFlags: GlobalFlags) => {\n const result = await tryAddServer(client, globalFlags);\n\n if (result.success) {\n return;\n }\n\n if (result.error.cause === 'cancelled') {\n outro(chalk.bold.red(result.error.message));\n process.exit(0);\n }\n\n clackLog.error(chalk.bold.red(result.error.message));\n outro(chalk.bold.red(`Error adding agentcash MCP to ${result.error.name}`));\n process.exit(1);\n};\n\nconst formatDiffByFormat = (obj: object, format: FileFormat) => {\n const str = stringifyObject(obj, format);\n switch (format) {\n case FileFormat.JSON: {\n const numLines = str.split('\\n').length;\n return str\n .split('\\n')\n .map((line, index) => {\n const diffLines = [0, 1, numLines - 2, numLines - 1];\n const isDiffLine = !diffLines.includes(index);\n if (isDiffLine) {\n return `${chalk.bold.green(`+ ${line.slice(2)}`)}`;\n }\n return line;\n })\n .join('\\n');\n }\n case FileFormat.YAML: {\n return str\n .split('\\n')\n .map((line, index) => {\n const diffLines = [0, 1, str.length - 2, str.length - 1];\n const isDiffLine = !diffLines.includes(index);\n if (isDiffLine) {\n return `${chalk.bold.green(`+ ${line.slice(2)}`)}`;\n }\n return line;\n })\n .join('\\n');\n }\n case FileFormat.TOML: {\n return str\n .split('\\n')\n .filter(line => line.trim() !== '')\n .map(line => {\n return `${chalk.bold.green(`+ ${line.trim()}`)}`;\n })\n .join('\\n');\n }\n }\n};\n","import os from 'os';\nimport path from 'path';\nimport process from 'process';\nimport fs from 'fs';\n\nimport { getPlatformPath } from './platforms';\nimport { log } from '@/shared/log';\n\nimport { Clients } from '../../clients';\n\nimport type { ClientConfigFile } from '../types';\nimport { FileFormat } from './file-types';\n\nexport const getClientConfigFile = (client: Clients): ClientConfigFile => {\n const homeDir = os.homedir();\n const { baseDir, vscodePath } = getPlatformPath();\n\n switch (client) {\n case Clients.Claude:\n return {\n path: path.join(baseDir, 'Claude', 'claude_desktop_config.json'),\n configKey: 'mcpServers',\n format: FileFormat.JSON,\n };\n case Clients.Cline:\n return {\n path: path.join(\n baseDir,\n vscodePath,\n 'globalStorage',\n 'saoudrizwan.claude-dev',\n 'settings',\n 'cline_mcp_settings.json'\n ),\n configKey: 'mcpServers',\n format: FileFormat.JSON,\n };\n case Clients.RooCline:\n return {\n path: path.join(\n baseDir,\n vscodePath,\n 'globalStorage',\n 'rooveterinaryinc.roo-cline',\n 'settings',\n 'mcp_settings.json'\n ),\n configKey: 'mcpServers',\n format: FileFormat.JSON,\n };\n case Clients.Windsurf:\n return {\n path: path.join(homeDir, '.codeium', 'windsurf', 'mcp_config.json'),\n configKey: 'mcpServers',\n format: FileFormat.JSON,\n };\n case Clients.Cursor:\n return {\n path: path.join(homeDir, '.cursor', 'mcp.json'),\n configKey: 'mcpServers',\n format: FileFormat.JSON,\n };\n case Clients.Warp:\n return {\n path: 'no-local-config', // it's okay this isn't a real path, we never use it\n configKey: 'mcpServers',\n format: FileFormat.JSON,\n };\n case Clients.GeminiCli:\n return {\n path: path.join(homeDir, '.gemini', 'settings.json'),\n configKey: 'mcpServers',\n format: FileFormat.JSON,\n };\n case Clients.Vscode:\n return {\n path: path.join(baseDir, vscodePath, 'mcp.json'),\n configKey: 'mcpServers',\n format: FileFormat.JSON,\n };\n case Clients.ClaudeCode:\n return {\n path: path.join(homeDir, '.claude.json'),\n configKey: 'mcpServers',\n format: FileFormat.JSON,\n };\n case Clients.Goose:\n return {\n path: path.join(homeDir, '.config', 'goose', 'config.yaml'),\n configKey: 'extensions',\n format: FileFormat.YAML,\n };\n case Clients.Zed:\n return {\n path:\n process.platform === 'win32'\n ? path.join(\n process.env.APPDATA ?? path.join(homeDir, 'AppData', 'Roaming'),\n 'Zed',\n 'settings.json'\n )\n : path.join(homeDir, '.config', 'zed', 'settings.json'),\n configKey: 'context_servers',\n format: FileFormat.JSON,\n };\n case Clients.Codex:\n return {\n path: path.join(\n process.env.CODEX_HOME ?? path.join(homeDir, '.codex'),\n 'config.toml'\n ),\n configKey: 'mcp_servers',\n format: FileFormat.TOML,\n };\n case Clients.Opencode: {\n const jsonPath = path.join(\n homeDir,\n '.config',\n 'opencode',\n 'opencode.json'\n );\n const jsoncPath = jsonPath.replace('.json', '.jsonc');\n\n // For OpenCode, check if .jsonc exists and prefer it over .json\n if (fs.existsSync(jsoncPath)) {\n log.info(`Found .jsonc file for OpenCode, using: ${jsoncPath}`);\n return {\n path: jsoncPath,\n configKey: 'mcp',\n format: FileFormat.JSON,\n };\n }\n\n return {\n path: jsonPath,\n configKey: 'mcp',\n format: FileFormat.JSON,\n };\n }\n default:\n throw new Error(`Unknown client: ${String(client)}`);\n }\n};\n","import os from 'os';\nimport path from 'path';\nimport process from 'process';\nimport z from 'zod';\n\nenum Platforms {\n Windows = 'win32',\n MacOS = 'darwin',\n Linux = 'linux',\n}\n\nexport const getPlatformPath = () => {\n const platform = z.enum(Platforms).safeParse(process.platform);\n if (!platform.success) {\n throw new Error(`Invalid platform: ${process.platform}`);\n }\n\n const homeDir = os.homedir();\n\n switch (platform.data) {\n case Platforms.Windows:\n return {\n baseDir:\n process.env.APPDATA ?? path.join(homeDir, 'AppData', 'Roaming'),\n vscodePath: path.join('Code', 'User'),\n };\n case Platforms.MacOS:\n return {\n baseDir: path.join(homeDir, 'Library', 'Application Support'),\n vscodePath: path.join('Code', 'User'),\n };\n case Platforms.Linux:\n return {\n baseDir: process.env.XDG_CONFIG_HOME ?? path.join(homeDir, '.config'),\n vscodePath: path.join('Code/User'),\n };\n default:\n throw new Error(`Invalid platform: ${process.platform}`);\n }\n};\n","import * as TOML from '@iarna/toml';\nimport yaml from 'js-yaml';\nimport * as jsonc from 'jsonc-parser';\n\nimport { safeReadFile } from '@/shared/neverthrow/fs';\nimport { configResultFromThrowable } from './result';\n\nimport type { ClientConfigFile, ClientConfigObject } from '../types';\n\nexport enum FileFormat {\n JSON = 'json',\n YAML = 'yaml',\n TOML = 'toml',\n}\n\nconst parseContent = (\n fileContent: string,\n format: FileFormat,\n path: string\n) => {\n return configResultFromThrowable(\n () => {\n let config: ClientConfigObject;\n if (format === FileFormat.YAML) {\n config = yaml.load(fileContent) as ClientConfigObject;\n } else if (format === FileFormat.TOML) {\n config = TOML.parse(fileContent) as ClientConfigObject;\n } else if (path.endsWith('.jsonc')) {\n config = jsonc.parse(fileContent) as ClientConfigObject;\n } else {\n config = JSON.parse(fileContent) as ClientConfigObject;\n }\n return {\n config,\n fileContent,\n };\n },\n e => ({\n cause: 'parse_config',\n message: e instanceof Error ? e.message : 'Failed to parse config file',\n })\n );\n};\n\n/**\n * Parse file content based on format\n */\nexport const parseClientConfig = async ({ format, path }: ClientConfigFile) => {\n const readResult = await safeReadFile('config_file', path);\n\n if (readResult.isErr()) return readResult;\n\n const parseResult = parseContent(readResult.value, format, path);\n\n if (parseResult.isErr()) return parseResult;\n\n return parseResult;\n};\n\nconst serializeJsonc = (\n config: ClientConfigObject,\n originalContent: string\n) => {\n return configResultFromThrowable<string>(\n () => {\n const modifications: jsonc.Edit[] = [];\n\n for (const key of Object.keys(config)) {\n const keyPath = [key];\n const edits = jsonc.modify(originalContent, keyPath, config[key], {\n formattingOptions: { tabSize: 2, insertSpaces: true },\n });\n modifications.push(...edits);\n }\n\n return jsonc.applyEdits(originalContent, modifications);\n },\n e => ({\n cause: 'serialize_config',\n message: e instanceof Error ? e.message : 'Failed to serialize JSONC',\n })\n );\n};\n\nexport const serializeClientConfig = (\n { format, path }: ClientConfigFile,\n config: ClientConfigObject,\n originalContent?: string\n): string => {\n if (format === FileFormat.YAML) {\n return yaml.dump(config, {\n indent: 2,\n lineWidth: -1,\n noRefs: true,\n });\n }\n if (format === FileFormat.TOML) {\n return TOML.stringify(config);\n }\n if (path.endsWith('.jsonc') && originalContent) {\n const result = serializeJsonc(config, originalContent);\n if (result.isOk()) {\n return result.value;\n }\n // Fallback to standard JSON.stringify if edit fails\n console.log(`Error applying JSONC edits: ${result.error.message}`);\n console.log('Falling back to JSON.stringify (comments will be lost)');\n return JSON.stringify(config, null, 2);\n }\n // Default to JSON\n return JSON.stringify(config, null, 2);\n};\n\nexport const stringifyObject = (\n config: ClientConfigObject,\n format: FileFormat\n) => {\n if (format === FileFormat.YAML) {\n return yaml.dump(config, {\n indent: 2,\n lineWidth: -1,\n noRefs: true,\n });\n }\n if (format === FileFormat.TOML) {\n return TOML.stringify(config);\n }\n return JSON.stringify(config, null, 2);\n};\n","import { resultFromThrowable } from '@agentcash/neverthrow';\n\nimport type { BaseConfigError } from '../types';\n\nconst errorType = 'config';\nconst surface = 'config_file';\n\nexport const configResultFromThrowable = <T>(\n fn: () => T,\n error: (e: unknown) => BaseConfigError\n) => resultFromThrowable(errorType, surface, fn, error);\n","import type { ClientConfigObject } from '../types';\n\nexport const getNestedValue = (obj: ClientConfigObject, path: string) => {\n const keys = path.split('.');\n let current: ClientConfigObject | undefined = obj;\n for (const key of keys) {\n if (current && typeof current === 'object' && key in current) {\n current = current[key] as ClientConfigObject;\n } else {\n return undefined;\n }\n }\n return current;\n};\n\nexport const setNestedValue = (\n obj: ClientConfigObject,\n path: string,\n value: ClientConfigObject\n) => {\n const keys = path.split('.');\n const lastKey = keys.pop();\n if (!lastKey) return;\n const target = keys.reduce((current, key) => {\n current[key] ??= {};\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return current[key];\n }, obj);\n target[lastKey] = value;\n};\n"],"mappings":"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","names":["fs","os","path","process","process","Platforms","path","os","path","process","path","fs"]}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|