@fluxa-pay/fluxa-connect-mcp 0.1.3 → 0.1.5

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.
Files changed (46) hide show
  1. package/dist/payment/payment-client.d.ts +14 -0
  2. package/dist/payment/payment-client.d.ts.map +1 -0
  3. package/dist/payment/payment-client.js +91 -0
  4. package/dist/payment/payment-client.js.map +1 -0
  5. package/dist/payment/payment-service.d.ts +41 -0
  6. package/dist/payment/payment-service.d.ts.map +1 -0
  7. package/dist/payment/payment-service.js +125 -0
  8. package/dist/payment/payment-service.js.map +1 -0
  9. package/dist/payment/types.d.ts +47 -0
  10. package/dist/payment/types.d.ts.map +1 -0
  11. package/dist/payment/types.js +5 -0
  12. package/dist/payment/types.js.map +1 -0
  13. package/dist/server/agent-registry.d.ts +18 -0
  14. package/dist/server/agent-registry.d.ts.map +1 -0
  15. package/dist/server/agent-registry.js +94 -0
  16. package/dist/server/agent-registry.js.map +1 -0
  17. package/dist/server/config.d.ts +27 -0
  18. package/dist/server/config.d.ts.map +1 -0
  19. package/dist/server/config.js +74 -0
  20. package/dist/server/config.js.map +1 -0
  21. package/dist/server/credential-cache.d.ts +46 -0
  22. package/dist/server/credential-cache.d.ts.map +1 -0
  23. package/dist/server/credential-cache.js +163 -0
  24. package/dist/server/credential-cache.js.map +1 -0
  25. package/dist/server/stdio-server.d.ts +7 -0
  26. package/dist/server/stdio-server.d.ts.map +1 -0
  27. package/dist/server/stdio-server.js +140 -0
  28. package/dist/server/stdio-server.js.map +1 -0
  29. package/dist/stdio-server.js.map +1 -1
  30. package/dist/utils/api.d.ts +43 -0
  31. package/dist/utils/api.d.ts.map +1 -0
  32. package/dist/utils/api.js +164 -0
  33. package/dist/utils/api.js.map +1 -0
  34. package/dist/utils/error-messages.d.ts +21 -0
  35. package/dist/utils/error-messages.d.ts.map +1 -0
  36. package/dist/utils/error-messages.js +46 -0
  37. package/dist/utils/error-messages.js.map +1 -0
  38. package/dist/utils/jwt-utils.d.ts +25 -0
  39. package/dist/utils/jwt-utils.d.ts.map +1 -0
  40. package/dist/utils/jwt-utils.js +68 -0
  41. package/dist/utils/jwt-utils.js.map +1 -0
  42. package/dist/utils/logger.d.ts +23 -0
  43. package/dist/utils/logger.d.ts.map +1 -0
  44. package/dist/utils/logger.js +75 -0
  45. package/dist/utils/logger.js.map +1 -0
  46. package/package.json +4 -2
@@ -0,0 +1,163 @@
1
+ /**
2
+ * Credential cache management
3
+ * Stores agent credentials in ~/.fluxa-ai-wallet-mcp/.agent-config.json
4
+ */
5
+ import { join } from 'node:path';
6
+ import { homedir } from 'node:os';
7
+ import { existsSync, mkdirSync, readFileSync, writeFileSync, chmodSync, unlinkSync, renameSync } from 'node:fs';
8
+ import { logger } from '../utils/logger.js';
9
+ import { parseJWT } from '../utils/jwt-utils.js';
10
+ const CACHE_DIR = join(homedir(), '.fluxa-ai-wallet-mcp');
11
+ const CACHE_FILE = join(CACHE_DIR, '.agent-config.json');
12
+ const CACHE_VERSION = '1.0';
13
+ /**
14
+ * Ensure cache directory exists with proper permissions
15
+ */
16
+ function ensureCacheDir() {
17
+ if (!existsSync(CACHE_DIR)) {
18
+ logger.info('credential-cache', 'Creating cache directory', {
19
+ path: CACHE_DIR
20
+ });
21
+ mkdirSync(CACHE_DIR, { recursive: true, mode: 0o700 });
22
+ }
23
+ }
24
+ /**
25
+ * Load cache from disk
26
+ * Returns empty cache structure if file doesn't exist or is invalid
27
+ */
28
+ export function loadCache() {
29
+ ensureCacheDir();
30
+ if (!existsSync(CACHE_FILE)) {
31
+ logger.debug('credential-cache', 'Cache file does not exist, creating new cache');
32
+ return {
33
+ version: CACHE_VERSION,
34
+ agents: {}
35
+ };
36
+ }
37
+ try {
38
+ const data = readFileSync(CACHE_FILE, 'utf-8');
39
+ const cache = JSON.parse(data);
40
+ // Validate cache structure
41
+ if (!cache.version || !cache.agents) {
42
+ logger.warn('credential-cache', 'Invalid cache structure, creating new cache');
43
+ return {
44
+ version: CACHE_VERSION,
45
+ agents: {}
46
+ };
47
+ }
48
+ logger.debug('credential-cache', 'Cache loaded', {
49
+ emailCount: Object.keys(cache.agents).length,
50
+ totalAgents: Object.values(cache.agents).reduce((sum, agents) => sum + Object.keys(agents).length, 0)
51
+ });
52
+ return cache;
53
+ }
54
+ catch (error) {
55
+ logger.warn('credential-cache', 'Failed to load cache, creating new cache', {
56
+ error: error.message
57
+ });
58
+ return {
59
+ version: CACHE_VERSION,
60
+ agents: {}
61
+ };
62
+ }
63
+ }
64
+ /**
65
+ * Save cache to disk with atomic write
66
+ */
67
+ export function saveCache(cache) {
68
+ ensureCacheDir();
69
+ try {
70
+ const data = JSON.stringify(cache, null, 2);
71
+ // Atomic write: write to temp file, then rename
72
+ const tempFile = `${CACHE_FILE}.tmp`;
73
+ writeFileSync(tempFile, data, { mode: 0o600 });
74
+ // Rename is atomic on most systems
75
+ if (existsSync(CACHE_FILE)) {
76
+ // On some systems, need to remove destination first
77
+ // This is a small race condition window, but acceptable for our use case
78
+ const backupFile = `${CACHE_FILE}.bak`;
79
+ if (existsSync(backupFile)) {
80
+ // Remove old backup
81
+ unlinkSync(backupFile);
82
+ }
83
+ renameSync(CACHE_FILE, backupFile);
84
+ }
85
+ renameSync(tempFile, CACHE_FILE);
86
+ // Ensure permissions
87
+ chmodSync(CACHE_FILE, 0o600);
88
+ logger.debug('credential-cache', 'Cache saved', {
89
+ path: CACHE_FILE
90
+ });
91
+ }
92
+ catch (error) {
93
+ logger.error('credential-cache', 'Failed to save cache', {
94
+ error: error.message,
95
+ path: CACHE_FILE
96
+ });
97
+ throw new Error(`Failed to save credential cache: ${error.message}`);
98
+ }
99
+ }
100
+ /**
101
+ * Lookup credentials by email and agent name
102
+ */
103
+ export function getCredentials(email, agentName) {
104
+ const cache = loadCache();
105
+ const emailAgents = cache.agents[email];
106
+ if (!emailAgents) {
107
+ logger.debug('credential-cache', 'No credentials for email', { email });
108
+ return null;
109
+ }
110
+ const credentials = emailAgents[agentName];
111
+ if (!credentials) {
112
+ logger.debug('credential-cache', 'No credentials for agent name', {
113
+ email,
114
+ agentName
115
+ });
116
+ return null;
117
+ }
118
+ logger.debug('credential-cache', 'Credentials found in cache', {
119
+ email,
120
+ agentName,
121
+ agentId: credentials.agent_id
122
+ });
123
+ return credentials;
124
+ }
125
+ /**
126
+ * Store credentials in cache
127
+ * Creates email/agent_name structure if it doesn't exist
128
+ */
129
+ export function storeCredentials(creds) {
130
+ const cache = loadCache();
131
+ // Ensure email entry exists
132
+ if (!cache.agents[creds.email]) {
133
+ cache.agents[creds.email] = {};
134
+ }
135
+ // Store credentials under email -> agent_name
136
+ cache.agents[creds.email][creds.agent_name] = creds;
137
+ saveCache(cache);
138
+ logger.info('credential-cache', 'Credentials stored in cache', {
139
+ email: creds.email,
140
+ agentName: creds.agent_name,
141
+ agentId: creds.agent_id,
142
+ expiresAt: creds.jwt_expires_at
143
+ });
144
+ }
145
+ /**
146
+ * Helper to create CachedCredentials from registration response
147
+ */
148
+ export function createCachedCredentials(agentId, token, jwt, email, agentName, clientInfo) {
149
+ // Parse JWT to get expiry
150
+ const payload = parseJWT(jwt);
151
+ const expiresAt = new Date(payload.exp * 1000).toISOString();
152
+ return {
153
+ agent_id: agentId,
154
+ token,
155
+ jwt,
156
+ email,
157
+ agent_name: agentName,
158
+ client_info: clientInfo,
159
+ registered_at: new Date().toISOString(),
160
+ jwt_expires_at: expiresAt
161
+ };
162
+ }
163
+ //# sourceMappingURL=credential-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credential-cache.js","sourceRoot":"","sources":["../../src/server/credential-cache.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * MCP Stdio Server - Main entry point
4
+ * Minimal orchestrator that coordinates all components
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=stdio-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stdio-server.d.ts","sourceRoot":"","sources":["../../src/server/stdio-server.ts"],"names":[],"mappings":";AACA;;;GAGG"}
@@ -0,0 +1,140 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * MCP Stdio Server - Main entry point
4
+ * Minimal orchestrator that coordinates all components
5
+ */
6
+ import { webcrypto } from 'node:crypto';
7
+ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
8
+ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
9
+ import { Client } from '@modelcontextprotocol/sdk/client/index.js';
10
+ import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';
11
+ import { config as loadEnv } from 'dotenv';
12
+ import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
13
+ import { loadConfig, ConfigError } from './config.js';
14
+ import { registerAgent, AgentRegistrationError } from './agent-registry.js';
15
+ import { createPaymentClient } from '../payment/payment-client.js';
16
+ import { logger } from '../utils/logger.js';
17
+ // Polyfill crypto for Node.js environment
18
+ if (!globalThis.crypto) {
19
+ globalThis.crypto = webcrypto;
20
+ }
21
+ loadEnv();
22
+ async function main() {
23
+ try {
24
+ // Load and validate configuration
25
+ const config = loadConfig();
26
+ logger.info('stdio-server', 'Configuration loaded', {
27
+ upstreamUrl: config.upstream.url,
28
+ network: config.fluxa.network,
29
+ agentName: config.agent.name
30
+ });
31
+ // Register agent with FluxA
32
+ const credentials = await registerAgent(config.fluxa.agentRegistryUrl, config.agent.email, config.agent.name, config.agent.clientInfo);
33
+ // Connect to upstream MCP server
34
+ logger.info('stdio-server', 'Connecting to upstream MCP server', {
35
+ url: config.upstream.url
36
+ });
37
+ const upstreamUrl = new URL(config.upstream.url);
38
+ const transport = new StreamableHTTPClientTransport(upstreamUrl);
39
+ const client = new Client({ name: 'fluxa-connect-mcp-client', version: '1.0.0' }, { capabilities: {} });
40
+ await client.connect(transport);
41
+ logger.info('stdio-server', 'Connected to upstream server');
42
+ // Wrap client with payment capabilities
43
+ const paymentClient = createPaymentClient(client, {
44
+ walletServiceUrl: config.fluxa.walletServiceUrl,
45
+ agentJwt: credentials.jwt,
46
+ agentName: config.agent.name,
47
+ network: config.fluxa.network,
48
+ confirmationCallback: async (paymentOptions) => {
49
+ logger.info('stdio-server', 'Payment requested', {
50
+ networks: paymentOptions.map(p => ({
51
+ network: p.network,
52
+ amount: p.maxAmountRequired,
53
+ description: p.description
54
+ }))
55
+ });
56
+ return true; // Auto-approve (user approves via FluxA UI)
57
+ }
58
+ });
59
+ // List available tools from upstream
60
+ logger.debug('stdio-server', 'Listing tools from upstream server');
61
+ let upstreamTools;
62
+ try {
63
+ upstreamTools = await paymentClient.listTools();
64
+ }
65
+ catch (error) {
66
+ logger.error('stdio-server', 'Failed to list tools from upstream server', {
67
+ error: error.message,
68
+ upstreamUrl: config.upstream.url
69
+ });
70
+ throw new Error(`Failed to connect to upstream MCP server: ${error.message}\n\n` +
71
+ `Please check:\n` +
72
+ ` - The upstream server URL is correct: ${config.upstream.url}\n` +
73
+ ` - The upstream server is running and healthy\n` +
74
+ ` - You have network connectivity to the server`);
75
+ }
76
+ logger.info('stdio-server', 'Upstream tools loaded', {
77
+ toolCount: upstreamTools.tools.length,
78
+ tools: upstreamTools.tools.map(t => t.name)
79
+ });
80
+ // Verify tool schemas
81
+ upstreamTools.tools.forEach(tool => {
82
+ if (!tool.inputSchema) {
83
+ logger.warn('stdio-server', 'Tool missing inputSchema', {
84
+ toolName: tool.name
85
+ });
86
+ }
87
+ });
88
+ // Create MCP stdio server
89
+ const server = new Server({
90
+ name: 'fluxa-connect-mcp',
91
+ version: '1.0.0',
92
+ }, {
93
+ capabilities: {
94
+ tools: {},
95
+ },
96
+ });
97
+ // Register tool list handler
98
+ server.setRequestHandler(ListToolsRequestSchema, async () => {
99
+ logger.debug('stdio-server', 'ListTools request');
100
+ return upstreamTools;
101
+ });
102
+ // Register tool call handler
103
+ server.setRequestHandler(CallToolRequestSchema, async (request) => {
104
+ const { name, arguments: args } = request.params;
105
+ logger.info('stdio-server', 'Tool call received', {
106
+ toolName: name,
107
+ hasArguments: !!args
108
+ });
109
+ try {
110
+ const result = await paymentClient.callTool({ name, arguments: args });
111
+ logger.info('stdio-server', 'Tool call completed', { toolName: name });
112
+ return result;
113
+ }
114
+ catch (error) {
115
+ logger.error('stdio-server', 'Tool call failed', {
116
+ toolName: name,
117
+ error: error.message
118
+ });
119
+ throw error;
120
+ }
121
+ });
122
+ // Connect server to stdio
123
+ const stdioTransport = new StdioServerTransport();
124
+ await server.connect(stdioTransport);
125
+ logger.info('stdio-server', 'FluxA Connect MCP Server running on stdio');
126
+ }
127
+ catch (error) {
128
+ if (error instanceof ConfigError || error instanceof AgentRegistrationError) {
129
+ logger.error('stdio-server', error.message);
130
+ process.exit(1);
131
+ }
132
+ logger.error('stdio-server', 'Fatal error', {
133
+ error: error.message,
134
+ stack: error.stack
135
+ });
136
+ process.exit(1);
137
+ }
138
+ }
139
+ main();
140
+ //# sourceMappingURL=stdio-server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stdio-server.js","sourceRoot":"","sources":["../../src/server/stdio-server.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"stdio-server.js","sourceRoot":"","sources":["../stdio-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stdio-server.js","sourceRoot":"","sources":["../stdio-server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * FluxA API client
3
+ * All API calls to FluxA services centralized here
4
+ */
5
+ export declare class APIError extends Error {
6
+ readonly statusCode?: number | undefined;
7
+ readonly responseData?: any | undefined;
8
+ constructor(message: string, statusCode?: number | undefined, responseData?: any | undefined);
9
+ }
10
+ /**
11
+ * Register agent with FluxA Agent Registry
12
+ */
13
+ export declare function registerAgent(registryUrl: string, email: string, agentName: string, clientInfo: string): Promise<{
14
+ agent_id: string;
15
+ token: string;
16
+ jwt: string;
17
+ }>;
18
+ /**
19
+ * Refresh JWT token
20
+ */
21
+ export declare function refreshJWT(registryUrl: string, agentId: string, token: string): Promise<string>;
22
+ /**
23
+ * Create X402 payment via FluxA Wallet Service
24
+ */
25
+ export declare function createX402Payment(walletServiceUrl: string, agentJwt: string, paymentRequest: {
26
+ scheme: string;
27
+ network: string;
28
+ amount: string;
29
+ currency: string;
30
+ assetAddress: string;
31
+ payTo: string;
32
+ host: string;
33
+ resource: string;
34
+ description: string;
35
+ tokenName: string;
36
+ tokenVersion: string;
37
+ validityWindowSeconds: number;
38
+ }): Promise<{
39
+ status: string;
40
+ xPayment?: any;
41
+ approvalUrl?: string;
42
+ }>;
43
+ //# sourceMappingURL=api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/utils/api.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,qBAAa,QAAS,SAAQ,KAAK;aAGf,UAAU,CAAC,EAAE,MAAM;aACnB,YAAY,CAAC,EAAE,GAAG;gBAFlC,OAAO,EAAE,MAAM,EACC,UAAU,CAAC,EAAE,MAAM,YAAA,EACnB,YAAY,CAAC,EAAE,GAAG,YAAA;CAKrC;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;IACT,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb,CAAC,CAmED;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC9B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,CAAC,CAuDjB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,gBAAgB,EAAE,MAAM,EACxB,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,qBAAqB,EAAE,MAAM,CAAC;CAC/B,GACA,OAAO,CAAC;IACT,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC,CA8DD"}
@@ -0,0 +1,164 @@
1
+ /**
2
+ * FluxA API client
3
+ * All API calls to FluxA services centralized here
4
+ */
5
+ import axios from 'axios';
6
+ import { logger } from './logger.js';
7
+ export class APIError extends Error {
8
+ statusCode;
9
+ responseData;
10
+ constructor(message, statusCode, responseData) {
11
+ super(message);
12
+ this.statusCode = statusCode;
13
+ this.responseData = responseData;
14
+ this.name = 'APIError';
15
+ }
16
+ }
17
+ /**
18
+ * Register agent with FluxA Agent Registry
19
+ */
20
+ export async function registerAgent(registryUrl, email, agentName, clientInfo) {
21
+ const url = `${registryUrl}/register`;
22
+ logger.debug('api', 'POST /register', {
23
+ registryUrl,
24
+ email,
25
+ agentName
26
+ });
27
+ try {
28
+ const response = await axios.post(url, {
29
+ email,
30
+ agent_name: agentName,
31
+ client_info: clientInfo
32
+ }, {
33
+ headers: {
34
+ 'Content-Type': 'application/json'
35
+ }
36
+ });
37
+ const data = response.data;
38
+ if (!data.jwt || !data.agent_id || !data.token) {
39
+ throw new APIError('Invalid response from registry: missing jwt, agent_id, or token', response.status, data);
40
+ }
41
+ logger.debug('api', 'POST /register - success', {
42
+ agentId: data.agent_id
43
+ });
44
+ return {
45
+ agent_id: data.agent_id,
46
+ token: data.token,
47
+ jwt: data.jwt
48
+ };
49
+ }
50
+ catch (error) {
51
+ if (error instanceof APIError) {
52
+ throw error;
53
+ }
54
+ if (error.response) {
55
+ const statusCode = error.response.status;
56
+ const responseData = error.response.data;
57
+ logger.error('api', 'POST /register failed', {
58
+ statusCode,
59
+ message: responseData?.message || error.message
60
+ });
61
+ throw new APIError(responseData?.message || `Registration failed with status ${statusCode}`, statusCode, responseData);
62
+ }
63
+ // Network or other errors
64
+ logger.error('api', 'POST /register network error', {
65
+ error: error.message
66
+ });
67
+ throw new APIError(`Network error: ${error.message}`);
68
+ }
69
+ }
70
+ /**
71
+ * Refresh JWT token
72
+ */
73
+ export async function refreshJWT(registryUrl, agentId, token) {
74
+ const url = `${registryUrl}/refresh`;
75
+ logger.debug('api', 'POST /refresh', { agentId });
76
+ try {
77
+ const response = await axios.post(url, {
78
+ agent_id: agentId,
79
+ token
80
+ }, {
81
+ headers: {
82
+ 'Content-Type': 'application/json'
83
+ }
84
+ });
85
+ const data = response.data;
86
+ if (!data.jwt) {
87
+ throw new APIError('Invalid refresh response: missing jwt', response.status, data);
88
+ }
89
+ logger.debug('api', 'POST /refresh - success');
90
+ return data.jwt;
91
+ }
92
+ catch (error) {
93
+ if (error instanceof APIError) {
94
+ throw error;
95
+ }
96
+ if (error.response) {
97
+ const statusCode = error.response.status;
98
+ const responseData = error.response.data;
99
+ logger.error('api', 'POST /refresh failed', {
100
+ statusCode,
101
+ message: responseData?.message || error.message
102
+ });
103
+ throw new APIError(responseData?.message || `JWT refresh failed with status ${statusCode}`, statusCode, responseData);
104
+ }
105
+ logger.error('api', 'POST /refresh network error', {
106
+ error: error.message
107
+ });
108
+ throw new APIError(`Network error: ${error.message}`);
109
+ }
110
+ }
111
+ /**
112
+ * Create X402 payment via FluxA Wallet Service
113
+ */
114
+ export async function createX402Payment(walletServiceUrl, agentJwt, paymentRequest) {
115
+ // Sanitize URL - ensure no double slashes
116
+ const baseUrl = walletServiceUrl.endsWith('/')
117
+ ? walletServiceUrl.slice(0, -1)
118
+ : walletServiceUrl;
119
+ const url = `${baseUrl}/api/payment/x402V1Payment`;
120
+ logger.debug('api', 'POST /api/payment/x402V1Payment', {
121
+ network: paymentRequest.network,
122
+ amount: paymentRequest.amount,
123
+ resource: paymentRequest.resource
124
+ });
125
+ try {
126
+ const response = await axios.post(url, paymentRequest, {
127
+ headers: {
128
+ 'Authorization': `Bearer ${agentJwt}`,
129
+ 'Content-Type': 'application/json'
130
+ }
131
+ });
132
+ const data = response.data;
133
+ logger.debug('api', 'POST /api/payment/x402V1Payment - success', {
134
+ status: data.status,
135
+ hasApprovalUrl: !!data.approvalUrl
136
+ });
137
+ return {
138
+ status: data.status,
139
+ xPayment: data.xPayment,
140
+ approvalUrl: data.approvalUrl
141
+ };
142
+ }
143
+ catch (error) {
144
+ if (error instanceof APIError) {
145
+ throw error;
146
+ }
147
+ if (error.response) {
148
+ const statusCode = error.response.status;
149
+ const responseData = error.response.data;
150
+ logger.error('api', 'POST /api/payment/x402V1Payment failed', {
151
+ statusCode,
152
+ code: responseData?.code,
153
+ message: responseData?.message || error.message
154
+ });
155
+ // Return error data for specialized handling by payment-service
156
+ throw new APIError(responseData?.message || `Payment creation failed with status ${statusCode}`, statusCode, responseData);
157
+ }
158
+ logger.error('api', 'POST /api/payment/x402V1Payment network error', {
159
+ error: error.message
160
+ });
161
+ throw new APIError(`Network error: ${error.message}`);
162
+ }
163
+ }
164
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/utils/api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * User-friendly error message formatting
3
+ * Centralizes error message construction for consistency
4
+ */
5
+ /**
6
+ * Build agent authorization URL
7
+ */
8
+ export declare function buildAuthorizationUrl(agentId: string, agentName: string): string;
9
+ /**
10
+ * Format agent authorization error message
11
+ */
12
+ export declare function formatAgentNotFoundError(agentId: string, agentName: string, instructions?: string): string;
13
+ /**
14
+ * Format payment approval required error message
15
+ */
16
+ export declare function formatApprovalRequiredError(approvalUrl: string): string;
17
+ /**
18
+ * Extract agent ID from FluxA error instructions
19
+ */
20
+ export declare function extractAgentIdFromInstructions(instructions: string): string | null;
21
+ //# sourceMappingURL=error-messages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-messages.d.ts","sourceRoot":"","sources":["../../src/utils/error-messages.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAGhF;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,MAAM,GACpB,MAAM,CAeR;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAMvE;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGlF"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * User-friendly error message formatting
3
+ * Centralizes error message construction for consistency
4
+ */
5
+ /**
6
+ * Build agent authorization URL
7
+ */
8
+ export function buildAuthorizationUrl(agentId, agentName) {
9
+ const encodedName = encodeURIComponent(agentName);
10
+ return `https://agentwallet.fluxapay.xyz/add-agent?agentId=${agentId}&name=${encodedName}`;
11
+ }
12
+ /**
13
+ * Format agent authorization error message
14
+ */
15
+ export function formatAgentNotFoundError(agentId, agentName, instructions) {
16
+ let message = 'Payment failed: Agent not authorized\n\n';
17
+ if (agentId) {
18
+ const authUrl = buildAuthorizationUrl(agentId, agentName);
19
+ message += 'Your agent needs to be authorized in FluxA wallet.\n\n';
20
+ message += `Please open this link to authorize:\n${authUrl}\n\n`;
21
+ message += 'After authorization, please retry this request.';
22
+ }
23
+ else if (instructions) {
24
+ message += instructions;
25
+ }
26
+ else {
27
+ message += 'Please contact support for assistance with agent authorization.';
28
+ }
29
+ return message;
30
+ }
31
+ /**
32
+ * Format payment approval required error message
33
+ */
34
+ export function formatApprovalRequiredError(approvalUrl) {
35
+ return (`Payment requires approval.\n\n` +
36
+ `Please visit: ${approvalUrl}\n\n` +
37
+ `Then retry this operation.`);
38
+ }
39
+ /**
40
+ * Extract agent ID from FluxA error instructions
41
+ */
42
+ export function extractAgentIdFromInstructions(instructions) {
43
+ const agentIdMatch = instructions.match(/ID:\s*([a-f0-9-]+)/i);
44
+ return agentIdMatch ? agentIdMatch[1] : null;
45
+ }
46
+ //# sourceMappingURL=error-messages.js.map