@1ly/mcp-server 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.
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Security Event Audit Logging
3
+ *
4
+ * Provides structured logging for security-relevant events to support:
5
+ * - Compliance auditing (SOC 2, ISO 27001)
6
+ * - Security monitoring and alerting
7
+ * - Incident response and forensics
8
+ * - Operational analytics
9
+ *
10
+ * Implementation Notes:
11
+ * - Logs to stderr (stdout reserved for MCP protocol communication)
12
+ * - JSON format for machine readability and SIEM integration
13
+ * - ISO 8601 timestamps for log aggregation
14
+ * - Non-blocking operation
15
+ *
16
+ * @module security-log
17
+ */
18
+ /**
19
+ * Security event types categorized by domain
20
+ */
21
+ export type SecurityEventType = "budget_exceeded" | "rate_limit_exceeded" | "wallet_path_violation" | "api_base_violation" | "invalid_budget_config" | "large_upload_blocked" | "api_call_paid" | "store_created" | "withdrawal_requested";
22
+ /**
23
+ * Structured security event log entry
24
+ */
25
+ export interface SecurityEvent {
26
+ /** ISO 8601 timestamp */
27
+ timestamp: string;
28
+ /** Event type identifier */
29
+ event: SecurityEventType;
30
+ /** Event-specific contextual data */
31
+ details: Record<string, unknown>;
32
+ }
33
+ /**
34
+ * Log a security-relevant event for audit trail
35
+ *
36
+ * Events are written to stderr in JSON format for:
37
+ * - Log aggregation systems (Datadog, Splunk, ELK)
38
+ * - SIEM platforms
39
+ * - Compliance reporting
40
+ *
41
+ * @param event - Event type identifier
42
+ * @param details - Event-specific contextual information
43
+ *
44
+ * @example
45
+ * ```typescript
46
+ * logSecurityEvent("budget_exceeded", {
47
+ * type: "daily",
48
+ * currentSpent: 48.50,
49
+ * limit: 50.00,
50
+ * attemptedAmount: 2.00
51
+ * });
52
+ * ```
53
+ */
54
+ export declare function logSecurityEvent(event: SecurityEventType, details?: Record<string, unknown>): void;
55
+ //# sourceMappingURL=security-log.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security-log.d.ts","sourceRoot":"","sources":["../src/security-log.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAEzB,iBAAiB,GACjB,qBAAqB,GAErB,uBAAuB,GACvB,oBAAoB,GACpB,uBAAuB,GAEvB,sBAAsB,GAEtB,eAAe,GACf,eAAe,GACf,sBAAsB,CAAC;AAE3B;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,4BAA4B;IAC5B,KAAK,EAAE,iBAAiB,CAAC;IACzB,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,iBAAiB,EACxB,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACpC,IAAI,CAUN"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ /**
3
+ * Security Event Audit Logging
4
+ *
5
+ * Provides structured logging for security-relevant events to support:
6
+ * - Compliance auditing (SOC 2, ISO 27001)
7
+ * - Security monitoring and alerting
8
+ * - Incident response and forensics
9
+ * - Operational analytics
10
+ *
11
+ * Implementation Notes:
12
+ * - Logs to stderr (stdout reserved for MCP protocol communication)
13
+ * - JSON format for machine readability and SIEM integration
14
+ * - ISO 8601 timestamps for log aggregation
15
+ * - Non-blocking operation
16
+ *
17
+ * @module security-log
18
+ */
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.logSecurityEvent = logSecurityEvent;
21
+ /**
22
+ * Log a security-relevant event for audit trail
23
+ *
24
+ * Events are written to stderr in JSON format for:
25
+ * - Log aggregation systems (Datadog, Splunk, ELK)
26
+ * - SIEM platforms
27
+ * - Compliance reporting
28
+ *
29
+ * @param event - Event type identifier
30
+ * @param details - Event-specific contextual information
31
+ *
32
+ * @example
33
+ * ```typescript
34
+ * logSecurityEvent("budget_exceeded", {
35
+ * type: "daily",
36
+ * currentSpent: 48.50,
37
+ * limit: 50.00,
38
+ * attemptedAmount: 2.00
39
+ * });
40
+ * ```
41
+ */
42
+ function logSecurityEvent(event, details = {}) {
43
+ const entry = {
44
+ timestamp: new Date().toISOString(),
45
+ event,
46
+ details,
47
+ };
48
+ // Write to stderr (stdout is MCP protocol channel)
49
+ // Using console.error for non-blocking write
50
+ console.error(JSON.stringify(entry));
51
+ }
52
+ //# sourceMappingURL=security-log.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security-log.js","sourceRoot":"","sources":["../src/security-log.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;AAqDH,4CAaC;AAlCD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,SAAgB,gBAAgB,CAC9B,KAAwB,EACxB,UAAmC,EAAE;IAErC,MAAM,KAAK,GAAkB;QAC3B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,KAAK;QACL,OAAO;KACR,CAAC;IAEF,mDAAmD;IACnD,6CAA6C;IAC7C,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AACvC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"call.d.ts","sourceRoot":"","sources":["../../src/tools/call.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAS3C,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BpB,CAAC;AAiBF,wBAAsB,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;;;;;;GAmJ7D"}
1
+ {"version":3,"file":"call.d.ts","sourceRoot":"","sources":["../../src/tools/call.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAU3C,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BpB,CAAC;AAiBF,wBAAsB,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;;;;;;GAuM7D"}
@@ -5,6 +5,7 @@ exports.handleCall = handleCall;
5
5
  const zod_1 = require("zod");
6
6
  const solana_js_1 = require("../wallet/solana.js");
7
7
  const evm_js_1 = require("../wallet/evm.js");
8
+ const agentic_js_1 = require("../wallet/agentic.js");
8
9
  const http_js_1 = require("../http.js");
9
10
  const budget_js_1 = require("../budget.js");
10
11
  const mcp_js_1 = require("../mcp.js");
@@ -54,17 +55,15 @@ async function handleCall(args, config) {
54
55
  const input = InputSchema.parse(args);
55
56
  const solanaKey = config.walletSolana || (config.wallet?.type === "solana" ? config.wallet.key : null);
56
57
  const evmKey = config.walletEvm || (config.wallet?.type === "evm" ? config.wallet.key : null);
57
- if (!solanaKey && !evmKey) {
58
- throw new Error("Missing wallet config: set ONELY_WALLET_SOLANA_KEY or ONELY_WALLET_EVM_KEY (or legacy ONELY_WALLET_TYPE/KEY)");
59
- }
60
58
  const endpointPath = parseEndpoint(input.endpoint);
61
59
  const fullUrl = `${config.apiBase}${endpointPath}`;
60
+ const requestHeaders = {
61
+ "Content-Type": "application/json",
62
+ ...input.headers,
63
+ };
62
64
  const initialResponse = await (0, http_js_1.fetchWithTimeout)(fullUrl, {
63
65
  method: input.method,
64
- headers: {
65
- "Content-Type": "application/json",
66
- ...input.headers,
67
- },
66
+ headers: requestHeaders,
68
67
  body: input.body ? JSON.stringify(input.body) : undefined,
69
68
  });
70
69
  if (initialResponse.status !== 402) {
@@ -83,13 +82,15 @@ async function handleCall(args, config) {
83
82
  catch {
84
83
  // Some 402 responses only include headers
85
84
  }
86
- const preferredNetwork = solanaKey && !evmKey
87
- ? "solana"
88
- : evmKey && !solanaKey
89
- ? "eip155"
90
- : config.network === "solana"
91
- ? "solana"
92
- : "eip155";
85
+ const preferredNetwork = config.walletProvider === "coinbase"
86
+ ? "eip155"
87
+ : solanaKey && !evmKey
88
+ ? "solana"
89
+ : evmKey && !solanaKey
90
+ ? "eip155"
91
+ : config.network === "solana"
92
+ ? "solana"
93
+ : "eip155";
93
94
  const accepts = body402.accepts?.find((entry) => {
94
95
  const network = String(entry.network);
95
96
  if (preferredNetwork === "solana")
@@ -109,16 +110,55 @@ async function handleCall(args, config) {
109
110
  if (priceUsd > config.budgets.perCall) {
110
111
  throw new Error(`Price $${priceUsd} exceeds per-call budget limit of $${config.budgets.perCall}`);
111
112
  }
112
- // Enforce and record daily spending
113
- (0, budget_js_1.checkAndRecordDailySpend)(config, priceUsd);
114
- // Build x402 payment signature header (v2)
115
- let paymentSignature;
116
113
  const network = String(accepts.network || "");
117
114
  const shouldUseSolana = network.startsWith("solana:")
118
115
  ? true
119
116
  : network.startsWith("eip155:")
120
117
  ? false
121
118
  : preferredNetwork === "solana";
119
+ if (config.walletProvider === "coinbase") {
120
+ if (shouldUseSolana) {
121
+ throw new Error("Agentic Wallet only supports Base (EVM). Solana payments are not supported.");
122
+ }
123
+ // Enforce and record daily spending
124
+ (0, budget_js_1.checkAndRecordDailySpend)(config, priceUsd);
125
+ const baseAccept = {
126
+ scheme: accepts.scheme,
127
+ network: accepts.network,
128
+ amount: accepts.amount,
129
+ maxAmountRequired: accepts.maxAmountRequired,
130
+ payTo: accepts.payTo,
131
+ asset: accepts.asset,
132
+ maxTimeoutSeconds: accepts.maxTimeoutSeconds,
133
+ extra: accepts.extra,
134
+ };
135
+ const result = await (0, agentic_js_1.makeX402RequestViaAgenticWallet)({
136
+ baseURL: config.apiBase,
137
+ path: endpointPath,
138
+ method: input.method,
139
+ body: input.body,
140
+ headers: requestHeaders,
141
+ maxAmountPerRequest: priceInSmallestUnit,
142
+ paymentRequirements: [baseAccept],
143
+ }, 30_000);
144
+ if (result.status < 200 || result.status >= 300) {
145
+ throw new Error(`Payment failed: ${result.status} - ${result.statusText || "Agentic Wallet error"}`);
146
+ }
147
+ return (0, mcp_js_1.mcpOk)(result.data ?? {});
148
+ }
149
+ if (shouldUseSolana && !solanaKey) {
150
+ throw new Error("Solana wallet not configured for this payment");
151
+ }
152
+ if (!shouldUseSolana && !evmKey) {
153
+ throw new Error("EVM wallet not configured for this payment");
154
+ }
155
+ if (!solanaKey && !evmKey) {
156
+ throw new Error("Missing wallet config: set ONELY_WALLET_SOLANA_KEY or ONELY_WALLET_EVM_KEY (or legacy ONELY_WALLET_TYPE/KEY)");
157
+ }
158
+ // Enforce and record daily spending
159
+ (0, budget_js_1.checkAndRecordDailySpend)(config, priceUsd);
160
+ // Build x402 payment signature header (v2)
161
+ let paymentSignature;
122
162
  if (shouldUseSolana) {
123
163
  if (!solanaKey) {
124
164
  throw new Error("Solana wallet not configured for this payment");
@@ -147,8 +187,7 @@ async function handleCall(args, config) {
147
187
  const paidResponse = await (0, http_js_1.fetchWithTimeout)(fullUrl, {
148
188
  method: input.method,
149
189
  headers: {
150
- "Content-Type": "application/json",
151
- ...input.headers,
190
+ ...requestHeaders,
152
191
  "payment-signature": paymentSignature,
153
192
  },
154
193
  body: input.body ? JSON.stringify(input.body) : undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"call.js","sourceRoot":"","sources":["../../src/tools/call.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"call.js","sourceRoot":"","sources":["../../src/tools/call.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"update-avatar.d.ts","sourceRoot":"","sources":["../../src/tools/update-avatar.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAI3C,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;CAY5B,CAAC;AASF,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;;;;;;GAyCrE"}
1
+ {"version":3,"file":"update-avatar.d.ts","sourceRoot":"","sources":["../../src/tools/update-avatar.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAI3C,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;CAY5B,CAAC;AAmBF,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;;;;;;GA6DrE"}
@@ -20,9 +20,19 @@ exports.updateAvatarTool = {
20
20
  };
21
21
  const InputSchema = zod_1.z.object({
22
22
  avatarUrl: zod_1.z.string().url().optional(),
23
- imageBase64: zod_1.z.string().min(1).optional(),
24
- mimeType: zod_1.z.string().min(3).optional(),
25
- filename: zod_1.z.string().optional(),
23
+ imageBase64: zod_1.z
24
+ .string()
25
+ .min(1)
26
+ .max(10_485_760) // 10MB max (base64 encoded ~= 1.37x original size)
27
+ .optional(),
28
+ mimeType: zod_1.z
29
+ .enum(["image/png", "image/jpeg", "image/jpg", "image/webp", "image/gif"]) // Strict MIME type validation
30
+ .optional(),
31
+ filename: zod_1.z
32
+ .string()
33
+ .regex(/^[a-zA-Z0-9_.-]+$/) // Prevent path traversal in filename
34
+ .max(255)
35
+ .optional(),
26
36
  });
27
37
  async function handleUpdateAvatar(args, config) {
28
38
  const input = InputSchema.parse(args);
@@ -45,7 +55,23 @@ async function handleUpdateAvatar(args, config) {
45
55
  if (!input.imageBase64 || !input.mimeType) {
46
56
  throw new Error("Provide either avatarUrl or imageBase64 + mimeType");
47
57
  }
48
- const buffer = Buffer.from(input.imageBase64, "base64");
58
+ // Decode and validate base64
59
+ let buffer;
60
+ try {
61
+ buffer = Buffer.from(input.imageBase64, "base64");
62
+ }
63
+ catch (err) {
64
+ throw new Error("Invalid base64 encoding");
65
+ }
66
+ // Validate decoded size (5MB max for actual image data)
67
+ const maxSize = 5 * 1024 * 1024; // 5MB
68
+ if (buffer.length > maxSize) {
69
+ throw new Error(`Image size ${(buffer.length / 1024 / 1024).toFixed(2)}MB exceeds 5MB limit`);
70
+ }
71
+ // Minimum size check (prevent empty uploads)
72
+ if (buffer.length < 100) {
73
+ throw new Error("Image too small - minimum 100 bytes");
74
+ }
49
75
  const blob = new Blob([buffer], { type: input.mimeType });
50
76
  const formData = new FormData();
51
77
  formData.append("file", blob, input.filename || "avatar.png");
@@ -1 +1 @@
1
- {"version":3,"file":"update-avatar.js","sourceRoot":"","sources":["../../src/tools/update-avatar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update-avatar.js","sourceRoot":"","sources":["../../src/tools/update-avatar.ts"],"names":[],"mappings":";;;AAoCA,gDA6DC;AAjGD,6BAAwB;AAExB,wCAAwD;AACxD,sCAAkC;AAErB,QAAA,gBAAgB,GAAG;IAC9B,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,0DAA0D;IACvE,WAAW,EAAE;QACX,IAAI,EAAE,QAAiB;QACvB,UAAU,EAAE;YACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mCAAmC,EAAE;YAC/E,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;YAC1E,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gEAAgE,EAAE;YAC3G,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yCAAyC,EAAE;SACrF;KACF;CACF,CAAC;AAEF,MAAM,WAAW,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3B,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACtC,WAAW,EAAE,OAAC;SACX,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,UAAU,CAAC,CAAC,mDAAmD;SACnE,QAAQ,EAAE;IACb,QAAQ,EAAE,OAAC;SACR,IAAI,CAAC,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,8BAA8B;SACxG,QAAQ,EAAE;IACb,QAAQ,EAAE,OAAC;SACR,MAAM,EAAE;SACR,KAAK,CAAC,mBAAmB,CAAC,CAAC,qCAAqC;SAChE,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,EAAE;CACd,CAAC,CAAC;AAEI,KAAK,UAAU,kBAAkB,CAAC,IAAa,EAAE,MAAc;IACpE,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACpB,MAAM,GAAG,GAAG,MAAM,IAAA,0BAAgB,EAAC,GAAG,MAAM,CAAC,OAAO,gBAAgB,EAAE;YACpE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,UAAU,MAAM,CAAC,MAAM,EAAE;aACzC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;SACrD,CAAC,CAAC;QAEH,MAAM,IAAA,kBAAQ,EAAC,GAAG,EAAE,sBAAsB,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC9B,OAAO,IAAA,cAAK,EAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IAED,6BAA6B;IAC7B,IAAI,MAAc,CAAC;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACpD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,wDAAwD;IACxD,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,MAAM;IACvC,IAAI,MAAM,CAAC,MAAM,GAAG,OAAO,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACb,cAAc,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAC7E,CAAC;IACJ,CAAC;IAED,6CAA6C;IAC7C,IAAI,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;IAChC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,IAAI,YAAY,CAAC,CAAC;IAE9D,MAAM,GAAG,GAAG,MAAM,IAAA,0BAAgB,EAAC,GAAG,MAAM,CAAC,OAAO,gBAAgB,EAAE;QACpE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,MAAM,CAAC,MAAM,EAAE;SACzC;QACD,IAAI,EAAE,QAAQ;KACf,CAAC,CAAC;IAEH,MAAM,IAAA,kBAAQ,EAAC,GAAG,EAAE,sBAAsB,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IAC9B,OAAO,IAAA,cAAK,EAAC,IAAI,CAAC,CAAC;AACrB,CAAC"}
@@ -0,0 +1,19 @@
1
+ export interface AgenticWalletRequest {
2
+ baseURL: string;
3
+ path: string;
4
+ method: "GET" | "POST" | "PUT" | "DELETE" | "PATCH";
5
+ queryParams?: Record<string, string>;
6
+ body?: unknown;
7
+ headers?: Record<string, string>;
8
+ maxAmountPerRequest?: number;
9
+ paymentRequirements?: Array<Record<string, unknown>>;
10
+ }
11
+ type AgenticWalletResponse = {
12
+ status: number;
13
+ statusText?: string;
14
+ data?: unknown;
15
+ headers?: Record<string, string>;
16
+ };
17
+ export declare function makeX402RequestViaAgenticWallet(request: AgenticWalletRequest, timeoutMs?: number): Promise<AgenticWalletResponse>;
18
+ export {};
19
+ //# sourceMappingURL=agentic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentic.d.ts","sourceRoot":"","sources":["../../src/wallet/agentic.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpD,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACtD;AAED,KAAK,qBAAqB,GAAG;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC,CAAC;AA0BF,wBAAsB,+BAA+B,CACnD,OAAO,EAAE,oBAAoB,EAC7B,SAAS,SAAS,GACjB,OAAO,CAAC,qBAAqB,CAAC,CAkDhC"}
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.makeX402RequestViaAgenticWallet = makeX402RequestViaAgenticWallet;
7
+ const node_fs_1 = __importDefault(require("node:fs"));
8
+ const node_path_1 = __importDefault(require("node:path"));
9
+ const node_crypto_1 = require("node:crypto");
10
+ const IPC_DIR = "/tmp/payments-mcp-ui-bridge";
11
+ const REQUESTS_DIR = node_path_1.default.join(IPC_DIR, "requests");
12
+ const RESPONSES_DIR = node_path_1.default.join(IPC_DIR, "responses");
13
+ function ensureIpcDirs() {
14
+ if (!node_fs_1.default.existsSync(IPC_DIR))
15
+ node_fs_1.default.mkdirSync(IPC_DIR, { mode: 0o700 });
16
+ if (!node_fs_1.default.existsSync(REQUESTS_DIR))
17
+ node_fs_1.default.mkdirSync(REQUESTS_DIR, { mode: 0o700 });
18
+ if (!node_fs_1.default.existsSync(RESPONSES_DIR))
19
+ node_fs_1.default.mkdirSync(RESPONSES_DIR, { mode: 0o700 });
20
+ }
21
+ async function waitForResponseFile(filePath, timeoutMs) {
22
+ if (node_fs_1.default.existsSync(filePath))
23
+ return;
24
+ await new Promise((resolve, reject) => {
25
+ const timeout = setTimeout(() => {
26
+ watcher.close();
27
+ reject(new Error("Agentic Wallet IPC timeout"));
28
+ }, timeoutMs);
29
+ const watcher = node_fs_1.default.watch(RESPONSES_DIR, (eventType, filename) => {
30
+ if (filename === node_path_1.default.basename(filePath)) {
31
+ clearTimeout(timeout);
32
+ watcher.close();
33
+ resolve();
34
+ }
35
+ });
36
+ });
37
+ }
38
+ async function makeX402RequestViaAgenticWallet(request, timeoutMs = 30_000) {
39
+ ensureIpcDirs();
40
+ const originalTitle = process.title;
41
+ process.title = "awal-cli";
42
+ const requestId = (0, node_crypto_1.randomUUID)();
43
+ const requestFile = node_path_1.default.join(REQUESTS_DIR, `${requestId}.json`);
44
+ const responseFile = node_path_1.default.join(RESPONSES_DIR, `${requestId}.json`);
45
+ try {
46
+ const payload = {
47
+ id: requestId,
48
+ channel: "make-x402-request",
49
+ data: request,
50
+ timestamp: Date.now(),
51
+ pid: process.pid,
52
+ processTitle: process.title,
53
+ };
54
+ node_fs_1.default.writeFileSync(requestFile, JSON.stringify(payload, null, 2), { mode: 0o600 });
55
+ await waitForResponseFile(responseFile, timeoutMs);
56
+ const responseData = node_fs_1.default.readFileSync(responseFile, "utf-8");
57
+ const response = JSON.parse(responseData);
58
+ try {
59
+ node_fs_1.default.unlinkSync(responseFile);
60
+ }
61
+ catch {
62
+ // ignore cleanup errors
63
+ }
64
+ if (response.error) {
65
+ const message = typeof response.error === "string" ? response.error : JSON.stringify(response.error);
66
+ throw new Error(message);
67
+ }
68
+ if (!response.result) {
69
+ throw new Error("Agentic Wallet IPC returned empty result");
70
+ }
71
+ return response.result;
72
+ }
73
+ finally {
74
+ process.title = originalTitle;
75
+ }
76
+ }
77
+ //# sourceMappingURL=agentic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentic.js","sourceRoot":"","sources":["../../src/wallet/agentic.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"evm.d.ts","sourceRoot":"","sources":["../../src/wallet/evm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAM5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAKxD,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAahF;AAED,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAG3E;AAED,UAAU,mBAAmB;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,OAAO;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,KAAK,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACjC,CAAC,CAAC;IACH,QAAQ,CAAC,EAAE;QACT,GAAG,EAAE,MAAM,CAAC;QACZ,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAaD;;;GAGG;AACH,wBAAsB,eAAe,CACnC,YAAY,EAAE,mBAAmB,EACjC,OAAO,EAAE,iBAAiB,EAC1B,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,MAAM,CAAC,CAmEjB;AAYD,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,iBAAiB,CAAC;IAAC,UAAU,EAAE,KAAK,MAAM,EAAE,CAAA;CAAE,CAAC,CAc/H;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,YAAY,EAAE,mBAAmB,EACjC,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,MAAM,CAAC,CAmDjB;AAED,wBAAsB,wBAAwB,CAC5C,eAAe,EAAE,eAAe,EAChC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CAqCjB"}
1
+ {"version":3,"file":"evm.d.ts","sourceRoot":"","sources":["../../src/wallet/evm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAQ5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AA0CxD,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAiBhF;AAED,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAG3E;AAED,UAAU,mBAAmB;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,OAAO;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,KAAK,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACjC,CAAC,CAAC;IACH,QAAQ,CAAC,EAAE;QACT,GAAG,EAAE,MAAM,CAAC;QACZ,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAaD;;;GAGG;AACH,wBAAsB,eAAe,CACnC,YAAY,EAAE,mBAAmB,EACjC,OAAO,EAAE,iBAAiB,EAC1B,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,MAAM,CAAC,CAmEjB;AAYD,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,iBAAiB,CAAC;IAAC,UAAU,EAAE,KAAK,MAAM,EAAE,CAAA;CAAE,CAAC,CAkB/H;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,YAAY,EAAE,mBAAmB,EACjC,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,MAAM,CAAC,CAmDjB;AAED,wBAAsB,wBAAwB,CAC5C,eAAe,EAAE,eAAe,EAChC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CAqCjB"}
@@ -41,19 +41,57 @@ exports.buildEvmPaymentSimple = buildEvmPaymentSimple;
41
41
  exports.buildEvmPaymentSignature = buildEvmPaymentSignature;
42
42
  const accounts_1 = require("viem/accounts");
43
43
  const chains_1 = require("viem/chains");
44
+ const path_1 = require("path");
45
+ const os = __importStar(require("os"));
44
46
  const client_1 = require("@x402/core/client");
45
47
  const http_1 = require("@x402/core/http");
46
48
  const evm_1 = require("@x402/evm");
47
49
  const fs = __importStar(require("fs"));
48
50
  // Mainnet only
49
51
  const CHAIN = chains_1.base;
52
+ function expandTilde(inputPath) {
53
+ if (!inputPath.startsWith("~/"))
54
+ return inputPath;
55
+ return (0, path_1.resolve)(os.homedir(), inputPath.slice(2));
56
+ }
57
+ /**
58
+ * Validates wallet file path to prevent directory traversal attacks.
59
+ * Only allows files in home directory or /tmp (for testing).
60
+ */
61
+ function validateWalletPath(keyPath) {
62
+ try {
63
+ const normalizedPath = (0, path_1.normalize)((0, path_1.resolve)(keyPath));
64
+ const homeDir = os.homedir();
65
+ // Allow files in home directory or /tmp
66
+ const isInHome = normalizedPath.startsWith(homeDir);
67
+ const isInTmp = normalizedPath.startsWith("/tmp") || normalizedPath.startsWith(os.tmpdir());
68
+ if (!isInHome && !isInTmp) {
69
+ throw new Error("Wallet file must be in home directory or /tmp for security. Path: " + normalizedPath);
70
+ }
71
+ // Block sensitive directories
72
+ const blockedPaths = [".ssh", ".gnupg", ".aws", ".kube"];
73
+ if (blockedPaths.some((p) => normalizedPath.includes(`/${p}/`))) {
74
+ throw new Error("Cannot load wallet from sensitive directory");
75
+ }
76
+ }
77
+ catch (err) {
78
+ if (err instanceof Error && err.message.includes("Wallet file must be")) {
79
+ throw err;
80
+ }
81
+ throw new Error("Invalid wallet file path");
82
+ }
83
+ }
50
84
  async function loadEvmWallet(keyInput) {
51
85
  let privateKey;
52
86
  if (keyInput.startsWith("0x")) {
87
+ // Inline hex key - no path validation needed
53
88
  privateKey = keyInput;
54
89
  }
55
- else if (fs.existsSync(keyInput)) {
56
- const content = fs.readFileSync(keyInput, "utf-8").trim();
90
+ else if (fs.existsSync(expandTilde(keyInput))) {
91
+ const expandedPath = expandTilde(keyInput);
92
+ // File path - validate before reading
93
+ validateWalletPath(expandedPath);
94
+ const content = fs.readFileSync(expandedPath, "utf-8").trim();
57
95
  privateKey = (content.startsWith("0x") ? content : `0x${content}`);
58
96
  }
59
97
  else {
@@ -141,10 +179,14 @@ let storedPrivateKey = null;
141
179
  async function loadEvmWalletWithKey(keyInput) {
142
180
  let privateKey;
143
181
  if (keyInput.startsWith("0x")) {
182
+ // Inline hex key - no path validation needed
144
183
  privateKey = keyInput;
145
184
  }
146
- else if (fs.existsSync(keyInput)) {
147
- const content = fs.readFileSync(keyInput, "utf-8").trim();
185
+ else if (fs.existsSync(expandTilde(keyInput))) {
186
+ const expandedPath = expandTilde(keyInput);
187
+ // File path - validate before reading
188
+ validateWalletPath(expandedPath);
189
+ const content = fs.readFileSync(expandedPath, "utf-8").trim();
148
190
  privateKey = (content.startsWith("0x") ? content : `0x${content}`);
149
191
  }
150
192
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"evm.js","sourceRoot":"","sources":["../../src/wallet/evm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evm.js","sourceRoot":"","sources":["../../src/wallet/evm.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"solana.d.ts","sourceRoot":"","sources":["../../src/wallet/solana.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAO1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAwBxE;AAED,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,QAAQ,GAAG,KAAK,EACtB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,CAAC,CAMjB;AAED,wBAAsB,2BAA2B,CAC/C,eAAe,EAAE,eAAe,EAChC,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,MAAM,CAAC,CAqBjB"}
1
+ {"version":3,"file":"solana.d.ts","sourceRoot":"","sources":["../../src/wallet/solana.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAS1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAuCxD,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CA6BxE;AAED,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,QAAQ,GAAG,KAAK,EACtB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,CAAC,CAMjB;AAED,wBAAsB,2BAA2B,CAC/C,eAAe,EAAE,eAAe,EAChC,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,MAAM,CAAC,CAqBjB"}