agentpay-mcp 4.1.1 → 4.1.4
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/README.md +262 -2
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -1
- package/dist/tools/otel-budget.d.ts +265 -0
- package/dist/tools/otel-budget.d.ts.map +1 -0
- package/dist/tools/otel-budget.js +399 -0
- package/dist/tools/otel-budget.js.map +1 -0
- package/dist/tools/session.d.ts.map +1 -1
- package/dist/tools/session.js +2 -0
- package/dist/tools/session.js.map +1 -1
- package/dist/tools/x402.d.ts.map +1 -1
- package/dist/tools/x402.js +58 -0
- package/dist/tools/x402.js.map +1 -1
- package/dist/utils/client.d.ts.map +1 -1
- package/dist/utils/client.js +8 -1
- package/dist/utils/client.js.map +1 -1
- package/dist/utils/x402-networks.d.ts +12 -0
- package/dist/utils/x402-networks.d.ts.map +1 -0
- package/dist/utils/x402-networks.js +30 -0
- package/dist/utils/x402-networks.js.map +1 -0
- package/docs/channel-agent-affiliate-controls.md +142 -0
- package/docs/hitl-reference-architecture.md +140 -0
- package/docs/security-posture.md +74 -0
- package/docs/trust-architecture.md +127 -0
- package/docs/vercel-deployment-hardening.md +115 -0
- package/docs/whatsapp-smb-agent-controls.md +130 -0
- package/docs/x402-batch-settlement-channels.md +199 -0
- package/docs/x402-bazaar-observability.md +209 -0
- package/docs/x402-chain-drift-compatibility.md +63 -0
- package/docs/x402-mcp-funding-ux-benchmark.md +36 -0
- package/docs/x402-multi-sdk-batch-settlement-parity.md +167 -0
- package/docs/x402-scanner-readiness.md +110 -0
- package/docs/x402-tvm-readiness.md +53 -0
- package/package.json +6 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"otel-budget.d.ts","sourceRoot":"","sources":["../../src/tools/otel-budget.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAKvB,MAAM,WAAW,iBAAiB;IAChC,yCAAyC;IACzC,OAAO,EAAE,MAAM,CAAA;IACf,8DAA8D;IAC9D,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAA;IACnB,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,CAAA;IAChB,6DAA6D;IAC7D,YAAY,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAA;IACvC,4DAA4D;IAC5D,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAA;IAC3C,mBAAmB,EAAE,MAAM,CAAA;IAC3B,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,8CAA8C;IAC9C,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,6CAA6C;IAC7C,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,2EAA2E;IAC3E,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,qDAAqD;IACrD,2BAA2B,CAAC,EAAE,MAAM,CAAA;IACpC,sDAAsD;IACtD,4BAA4B,CAAC,EAAE,MAAM,CAAA;IACrC,6CAA6C;IAC7C,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAaD,2CAA2C;AAC3C,wBAAgB,qBAAqB,IAAI,IAAI,CAI5C;AAID;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAG9D;AAyBD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,sBAAsB,GAAG,cAAc,GAAG,IAAI,CAqEjF;AAED,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,iBAAiB,EACzB,QAAQ,EAAE,cAAc,GACvB,OAAO,CACN;IACE,SAAS,EAAE,OAAO,CAAA;IAClB,EAAE,EAAE,OAAO,CAAA;IACX,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,GACD,IAAI,CACP,CAqCA;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAavG;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,KAAK,GAAE,MAAW,GACjB,cAAc,EAAE,CAIlB;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,iBAAiB,EAAE,CAElD;AAID,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;EAiBnC,CAAA;AAEF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE9E,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwBlC,CAAA;AAED,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAgChF;AAID,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;EAMlC,CAAA;AAEF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE5E,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkBjC,CAAA;AAED,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CA2ChF;AAID,eAAO,MAAM,sBAAsB;;;;;;;;;;;;EAOjC,CAAA;AAEF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE1E,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;CAehC,CAAA;AAED,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAyChF"}
|
|
@@ -0,0 +1,399 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* otel-budget.ts — OpenTelemetry Budget Circuit-Breaker for AWS AgentCore
|
|
4
|
+
*
|
|
5
|
+
* Reads OTel span data from AgentCore-instrumented agents, applies per-agent
|
|
6
|
+
* and per-task budget policies against accumulated spend, emits budget
|
|
7
|
+
* enforcement decisions as OTel events, and supports circuit-breaker patterns
|
|
8
|
+
* (auto-kill agent runs exceeding budget thresholds).
|
|
9
|
+
*
|
|
10
|
+
* Why this exists: AWS AgentCore Policy Controls (GA March 2026) provide
|
|
11
|
+
* observability and guardrails but NO native per-agent/per-session spend cap
|
|
12
|
+
* APIs. This module fills that gap by sitting between the OTel telemetry
|
|
13
|
+
* pipeline and agentpay-mcp's existing budget enforcement.
|
|
14
|
+
*
|
|
15
|
+
* @module otel-budget
|
|
16
|
+
* @since 4.2.0
|
|
17
|
+
*/
|
|
18
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
exports.otelBudgetStatusTool = exports.OTelBudgetStatusSchema = exports.otelEvaluateSpendTool = exports.OTelEvaluateSpendSchema = exports.otelRegisterPolicyTool = exports.OTelRegisterPolicySchema = void 0;
|
|
20
|
+
exports._resetOTelBudgetState = _resetOTelBudgetState;
|
|
21
|
+
exports.registerPolicy = registerPolicy;
|
|
22
|
+
exports.evaluateSpan = evaluateSpan;
|
|
23
|
+
exports.invokeKillCallback = invokeKillCallback;
|
|
24
|
+
exports.decisionToOTelEvent = decisionToOTelEvent;
|
|
25
|
+
exports.getDecisionHistory = getDecisionHistory;
|
|
26
|
+
exports.listPolicies = listPolicies;
|
|
27
|
+
exports.handleOTelRegisterPolicy = handleOTelRegisterPolicy;
|
|
28
|
+
exports.handleOTelEvaluateSpend = handleOTelEvaluateSpend;
|
|
29
|
+
exports.handleOTelBudgetStatus = handleOTelBudgetStatus;
|
|
30
|
+
const zod_1 = require("zod");
|
|
31
|
+
const format_js_1 = require("../utils/format.js");
|
|
32
|
+
// ─── In-memory stores ──────────────────────────────────────────────────────
|
|
33
|
+
const _policies = new Map();
|
|
34
|
+
const _spendLedger = [];
|
|
35
|
+
const _decisions = [];
|
|
36
|
+
/** Build a policy key from agentId + optional taskId */
|
|
37
|
+
function policyKey(agentId, taskId) {
|
|
38
|
+
return taskId ? `${agentId}::${taskId}` : agentId;
|
|
39
|
+
}
|
|
40
|
+
/** Reset all state — useful for testing */
|
|
41
|
+
function _resetOTelBudgetState() {
|
|
42
|
+
_policies.clear();
|
|
43
|
+
_spendLedger.length = 0;
|
|
44
|
+
_decisions.length = 0;
|
|
45
|
+
}
|
|
46
|
+
// ─── Core Logic ────────────────────────────────────────────────────────────
|
|
47
|
+
/**
|
|
48
|
+
* Register a budget policy for an agent or agent+task combination.
|
|
49
|
+
*/
|
|
50
|
+
function registerPolicy(policy) {
|
|
51
|
+
const key = policyKey(policy.agentId, policy.taskId);
|
|
52
|
+
_policies.set(key, policy);
|
|
53
|
+
}
|
|
54
|
+
function getApplicablePolicy(agentId, taskId) {
|
|
55
|
+
const taskPolicy = taskId ? _policies.get(policyKey(agentId, taskId)) : undefined;
|
|
56
|
+
const agentPolicy = _policies.get(policyKey(agentId));
|
|
57
|
+
return taskPolicy ?? agentPolicy;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Get accumulated spend for an agent within the policy's rolling window.
|
|
61
|
+
*/
|
|
62
|
+
function getAccumulatedSpend(agentId, taskId, windowMs) {
|
|
63
|
+
const now = Date.now();
|
|
64
|
+
const cutoff = windowMs && windowMs > 0 ? now - windowMs : 0;
|
|
65
|
+
return _spendLedger
|
|
66
|
+
.filter((r) => r.agentId === agentId &&
|
|
67
|
+
(taskId === undefined || r.taskId === taskId) &&
|
|
68
|
+
r.timestamp >= cutoff)
|
|
69
|
+
.reduce((sum, r) => sum + r.amountUsd, 0);
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Process an OTel span and evaluate budget. Returns a BudgetDecision.
|
|
73
|
+
*
|
|
74
|
+
* This is the main entry point: feed it span attributes from an
|
|
75
|
+
* AgentCore-instrumented agent, and it returns an enforcement decision.
|
|
76
|
+
*/
|
|
77
|
+
function evaluateSpan(attrs) {
|
|
78
|
+
const agentId = attrs['agentcore.agent.id'];
|
|
79
|
+
if (!agentId)
|
|
80
|
+
return null;
|
|
81
|
+
const taskId = attrs['agentcore.task.id'];
|
|
82
|
+
const costUsd = attrs['agentcore.cost.usd'] ?? attrs['gen_ai.usage.cost'] ?? 0;
|
|
83
|
+
if (costUsd <= 0)
|
|
84
|
+
return null;
|
|
85
|
+
// Record spend
|
|
86
|
+
const record = {
|
|
87
|
+
agentId,
|
|
88
|
+
taskId,
|
|
89
|
+
amountUsd: costUsd,
|
|
90
|
+
timestamp: Date.now(),
|
|
91
|
+
spanId: attrs.spanId ?? 'unknown',
|
|
92
|
+
traceId: attrs.traceId ?? 'unknown',
|
|
93
|
+
};
|
|
94
|
+
_spendLedger.push(record);
|
|
95
|
+
// Find applicable policy (task-specific first, then agent-level)
|
|
96
|
+
const policy = getApplicablePolicy(agentId, taskId);
|
|
97
|
+
if (!policy) {
|
|
98
|
+
// No policy = allow (but we still recorded the spend)
|
|
99
|
+
return {
|
|
100
|
+
agentId,
|
|
101
|
+
taskId,
|
|
102
|
+
action: 'allow',
|
|
103
|
+
accumulatedSpendUsd: getAccumulatedSpend(agentId, taskId),
|
|
104
|
+
budgetLimitUsd: Infinity,
|
|
105
|
+
remainingUsd: Infinity,
|
|
106
|
+
utilizationPct: 0,
|
|
107
|
+
reason: 'No budget policy registered for this agent',
|
|
108
|
+
timestamp: Date.now(),
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
const spendScopeTaskId = policy.taskId === undefined ? undefined : taskId;
|
|
112
|
+
const accumulated = getAccumulatedSpend(agentId, spendScopeTaskId, policy.windowMs);
|
|
113
|
+
const remaining = Math.max(0, policy.maxSpendUsd - accumulated);
|
|
114
|
+
const utilization = (accumulated / policy.maxSpendUsd) * 100;
|
|
115
|
+
let action = 'allow';
|
|
116
|
+
let reason = 'Within budget';
|
|
117
|
+
if (accumulated > policy.maxSpendUsd) {
|
|
118
|
+
action = policy.breachAction;
|
|
119
|
+
reason = `Budget exceeded: $${accumulated.toFixed(4)} / $${policy.maxSpendUsd.toFixed(4)} (${utilization.toFixed(1)}%)`;
|
|
120
|
+
}
|
|
121
|
+
else if (utilization >= 90) {
|
|
122
|
+
action = 'warn';
|
|
123
|
+
reason = `Approaching budget limit: $${accumulated.toFixed(4)} / $${policy.maxSpendUsd.toFixed(4)} (${utilization.toFixed(1)}%)`;
|
|
124
|
+
}
|
|
125
|
+
const decision = {
|
|
126
|
+
agentId,
|
|
127
|
+
taskId,
|
|
128
|
+
action,
|
|
129
|
+
accumulatedSpendUsd: accumulated,
|
|
130
|
+
budgetLimitUsd: policy.maxSpendUsd,
|
|
131
|
+
remainingUsd: remaining,
|
|
132
|
+
utilizationPct: utilization,
|
|
133
|
+
reason,
|
|
134
|
+
timestamp: Date.now(),
|
|
135
|
+
};
|
|
136
|
+
_decisions.push(decision);
|
|
137
|
+
return decision;
|
|
138
|
+
}
|
|
139
|
+
async function invokeKillCallback(policy, decision) {
|
|
140
|
+
if (decision.action !== 'kill' || !policy.killCallbackUrl) {
|
|
141
|
+
return null;
|
|
142
|
+
}
|
|
143
|
+
try {
|
|
144
|
+
const response = await fetch(policy.killCallbackUrl, {
|
|
145
|
+
method: 'POST',
|
|
146
|
+
headers: {
|
|
147
|
+
'content-type': 'application/json',
|
|
148
|
+
},
|
|
149
|
+
body: JSON.stringify({
|
|
150
|
+
event: 'agentpay.budget.kill',
|
|
151
|
+
decision,
|
|
152
|
+
policy: {
|
|
153
|
+
agentId: policy.agentId,
|
|
154
|
+
taskId: policy.taskId,
|
|
155
|
+
maxSpendUsd: policy.maxSpendUsd,
|
|
156
|
+
windowMs: policy.windowMs,
|
|
157
|
+
breachAction: policy.breachAction,
|
|
158
|
+
},
|
|
159
|
+
}),
|
|
160
|
+
});
|
|
161
|
+
return {
|
|
162
|
+
attempted: true,
|
|
163
|
+
ok: response.ok,
|
|
164
|
+
status: response.status,
|
|
165
|
+
...(response.ok ? {} : { error: `Kill callback returned HTTP ${response.status}` }),
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
catch (error) {
|
|
169
|
+
return {
|
|
170
|
+
attempted: true,
|
|
171
|
+
ok: false,
|
|
172
|
+
error: error instanceof Error ? error.message : String(error),
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Convert a BudgetDecision to OTel-compatible event attributes.
|
|
178
|
+
* These can be emitted as span events for AgentCore dashboard visibility.
|
|
179
|
+
*/
|
|
180
|
+
function decisionToOTelEvent(decision) {
|
|
181
|
+
return {
|
|
182
|
+
'event.name': 'agentpay.budget.decision',
|
|
183
|
+
'agentpay.agent_id': decision.agentId,
|
|
184
|
+
'agentpay.task_id': decision.taskId ?? '',
|
|
185
|
+
'agentpay.action': decision.action,
|
|
186
|
+
'agentpay.accumulated_spend_usd': decision.accumulatedSpendUsd,
|
|
187
|
+
'agentpay.budget_limit_usd': decision.budgetLimitUsd,
|
|
188
|
+
'agentpay.remaining_usd': decision.remainingUsd,
|
|
189
|
+
'agentpay.utilization_pct': decision.utilizationPct,
|
|
190
|
+
'agentpay.reason': decision.reason,
|
|
191
|
+
'agentpay.circuit_breaker_tripped': decision.action === 'kill',
|
|
192
|
+
};
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Get recent decisions for an agent (for dashboard/audit).
|
|
196
|
+
*/
|
|
197
|
+
function getDecisionHistory(agentId, limit = 50) {
|
|
198
|
+
return _decisions
|
|
199
|
+
.filter((d) => d.agentId === agentId)
|
|
200
|
+
.slice(-limit);
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Get all registered policies (for introspection).
|
|
204
|
+
*/
|
|
205
|
+
function listPolicies() {
|
|
206
|
+
return Array.from(_policies.values());
|
|
207
|
+
}
|
|
208
|
+
// ─── MCP Tool Definitions ──────────────────────────────────────────────────
|
|
209
|
+
exports.OTelRegisterPolicySchema = zod_1.z.object({
|
|
210
|
+
agentId: zod_1.z.string().describe('Agent or session identifier from AgentCore'),
|
|
211
|
+
taskId: zod_1.z.string().optional().describe('Optional task-level identifier'),
|
|
212
|
+
maxSpendUsd: zod_1.z.number().positive().describe('Maximum spend in USD'),
|
|
213
|
+
windowMs: zod_1.z
|
|
214
|
+
.number()
|
|
215
|
+
.min(0)
|
|
216
|
+
.default(0)
|
|
217
|
+
.describe('Rolling window in ms (0 = lifetime budget)'),
|
|
218
|
+
breachAction: zod_1.z
|
|
219
|
+
.enum(['warn', 'block', 'kill'])
|
|
220
|
+
.default('block')
|
|
221
|
+
.describe('Action on budget breach: warn, block, or kill (circuit-breaker)'),
|
|
222
|
+
killCallbackUrl: zod_1.z
|
|
223
|
+
.string()
|
|
224
|
+
.optional()
|
|
225
|
+
.describe('Webhook URL to invoke when circuit-breaker trips (kill action)'),
|
|
226
|
+
});
|
|
227
|
+
exports.otelRegisterPolicyTool = {
|
|
228
|
+
name: 'otel_register_budget_policy',
|
|
229
|
+
description: 'Register a budget policy for an AWS AgentCore agent or task. ' +
|
|
230
|
+
'When OTel spans report costs exceeding this budget, agentpay-mcp will ' +
|
|
231
|
+
'enforce the configured action (warn/block/kill circuit-breaker). ' +
|
|
232
|
+
'This fills the gap left by AgentCore Policy Controls which provide ' +
|
|
233
|
+
'observability but no native per-agent spend caps.',
|
|
234
|
+
inputSchema: {
|
|
235
|
+
type: 'object',
|
|
236
|
+
properties: {
|
|
237
|
+
agentId: { type: 'string', description: 'Agent/session ID from AgentCore' },
|
|
238
|
+
taskId: { type: 'string', description: 'Optional task-level ID' },
|
|
239
|
+
maxSpendUsd: { type: 'number', description: 'Max spend in USD' },
|
|
240
|
+
windowMs: { type: 'number', description: 'Rolling window in ms (0 = lifetime)' },
|
|
241
|
+
breachAction: {
|
|
242
|
+
type: 'string',
|
|
243
|
+
enum: ['warn', 'block', 'kill'],
|
|
244
|
+
description: 'Action on breach',
|
|
245
|
+
},
|
|
246
|
+
killCallbackUrl: { type: 'string', description: 'Circuit-breaker webhook URL' },
|
|
247
|
+
},
|
|
248
|
+
required: ['agentId', 'maxSpendUsd'],
|
|
249
|
+
},
|
|
250
|
+
};
|
|
251
|
+
async function handleOTelRegisterPolicy(input) {
|
|
252
|
+
try {
|
|
253
|
+
const policy = {
|
|
254
|
+
agentId: input.agentId,
|
|
255
|
+
taskId: input.taskId,
|
|
256
|
+
maxSpendUsd: input.maxSpendUsd,
|
|
257
|
+
windowMs: input.windowMs ?? 0,
|
|
258
|
+
breachAction: input.breachAction ?? 'block',
|
|
259
|
+
killCallbackUrl: input.killCallbackUrl,
|
|
260
|
+
};
|
|
261
|
+
registerPolicy(policy);
|
|
262
|
+
return {
|
|
263
|
+
content: [
|
|
264
|
+
(0, format_js_1.textContent)(JSON.stringify({
|
|
265
|
+
success: true,
|
|
266
|
+
policy: {
|
|
267
|
+
key: policyKey(policy.agentId, policy.taskId),
|
|
268
|
+
...policy,
|
|
269
|
+
},
|
|
270
|
+
})),
|
|
271
|
+
],
|
|
272
|
+
};
|
|
273
|
+
}
|
|
274
|
+
catch (error) {
|
|
275
|
+
return {
|
|
276
|
+
content: [(0, format_js_1.textContent)((0, format_js_1.formatError)(error, 'otel_register_budget_policy'))],
|
|
277
|
+
isError: true,
|
|
278
|
+
};
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
// ─── otel_evaluate_spend ───────────────────────────────────────────────────
|
|
282
|
+
exports.OTelEvaluateSpendSchema = zod_1.z.object({
|
|
283
|
+
agentId: zod_1.z.string().describe('Agent ID from OTel span attribute agentcore.agent.id'),
|
|
284
|
+
taskId: zod_1.z.string().optional().describe('Task ID from OTel span attribute agentcore.task.id'),
|
|
285
|
+
costUsd: zod_1.z.number().describe('Cost in USD from this span'),
|
|
286
|
+
spanId: zod_1.z.string().optional().describe('OTel span ID'),
|
|
287
|
+
traceId: zod_1.z.string().optional().describe('OTel trace ID'),
|
|
288
|
+
});
|
|
289
|
+
exports.otelEvaluateSpendTool = {
|
|
290
|
+
name: 'otel_evaluate_spend',
|
|
291
|
+
description: 'Evaluate a spend event from an OTel span against registered budget policies. ' +
|
|
292
|
+
'Returns a budget decision (allow/warn/block/kill) with utilization details. ' +
|
|
293
|
+
'The decision is also formatted as OTel event attributes for re-emission ' +
|
|
294
|
+
'into the AgentCore telemetry pipeline.',
|
|
295
|
+
inputSchema: {
|
|
296
|
+
type: 'object',
|
|
297
|
+
properties: {
|
|
298
|
+
agentId: { type: 'string', description: 'Agent ID from OTel span' },
|
|
299
|
+
taskId: { type: 'string', description: 'Task ID from OTel span' },
|
|
300
|
+
costUsd: { type: 'number', description: 'Span cost in USD' },
|
|
301
|
+
spanId: { type: 'string', description: 'OTel span ID' },
|
|
302
|
+
traceId: { type: 'string', description: 'OTel trace ID' },
|
|
303
|
+
},
|
|
304
|
+
required: ['agentId', 'costUsd'],
|
|
305
|
+
},
|
|
306
|
+
};
|
|
307
|
+
async function handleOTelEvaluateSpend(input) {
|
|
308
|
+
try {
|
|
309
|
+
const policy = getApplicablePolicy(input.agentId, input.taskId);
|
|
310
|
+
const decision = evaluateSpan({
|
|
311
|
+
'agentcore.agent.id': input.agentId,
|
|
312
|
+
'agentcore.task.id': input.taskId,
|
|
313
|
+
'agentcore.cost.usd': input.costUsd,
|
|
314
|
+
spanId: input.spanId,
|
|
315
|
+
traceId: input.traceId,
|
|
316
|
+
});
|
|
317
|
+
if (!decision) {
|
|
318
|
+
return {
|
|
319
|
+
content: [
|
|
320
|
+
(0, format_js_1.textContent)(JSON.stringify({ action: 'skip', reason: 'No cost or agent ID in span' })),
|
|
321
|
+
],
|
|
322
|
+
};
|
|
323
|
+
}
|
|
324
|
+
const otelEvent = decisionToOTelEvent(decision);
|
|
325
|
+
const killCallback = policy
|
|
326
|
+
? await invokeKillCallback(policy, decision)
|
|
327
|
+
: null;
|
|
328
|
+
return {
|
|
329
|
+
content: [
|
|
330
|
+
(0, format_js_1.textContent)(JSON.stringify({
|
|
331
|
+
decision,
|
|
332
|
+
otelEvent,
|
|
333
|
+
killCallback,
|
|
334
|
+
})),
|
|
335
|
+
],
|
|
336
|
+
};
|
|
337
|
+
}
|
|
338
|
+
catch (error) {
|
|
339
|
+
return {
|
|
340
|
+
content: [(0, format_js_1.textContent)((0, format_js_1.formatError)(error, 'otel_evaluate_spend'))],
|
|
341
|
+
isError: true,
|
|
342
|
+
};
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
// ─── otel_budget_status ────────────────────────────────────────────────────
|
|
346
|
+
exports.OTelBudgetStatusSchema = zod_1.z.object({
|
|
347
|
+
agentId: zod_1.z.string().describe('Agent ID to check budget status for'),
|
|
348
|
+
includeHistory: zod_1.z
|
|
349
|
+
.boolean()
|
|
350
|
+
.default(false)
|
|
351
|
+
.describe('Include recent decision history'),
|
|
352
|
+
historyLimit: zod_1.z.number().default(20).describe('Max history entries to return'),
|
|
353
|
+
});
|
|
354
|
+
exports.otelBudgetStatusTool = {
|
|
355
|
+
name: 'otel_budget_status',
|
|
356
|
+
description: 'Get the current budget status for an AgentCore agent, including ' +
|
|
357
|
+
'accumulated spend, remaining budget, utilization percentage, and ' +
|
|
358
|
+
'optional decision history. Useful for dashboards and audit trails.',
|
|
359
|
+
inputSchema: {
|
|
360
|
+
type: 'object',
|
|
361
|
+
properties: {
|
|
362
|
+
agentId: { type: 'string', description: 'Agent ID' },
|
|
363
|
+
includeHistory: { type: 'boolean', description: 'Include decision history' },
|
|
364
|
+
historyLimit: { type: 'number', description: 'Max history entries' },
|
|
365
|
+
},
|
|
366
|
+
required: ['agentId'],
|
|
367
|
+
},
|
|
368
|
+
};
|
|
369
|
+
async function handleOTelBudgetStatus(input) {
|
|
370
|
+
try {
|
|
371
|
+
const agentPolicies = Array.from(_policies.values()).filter((p) => p.agentId === input.agentId);
|
|
372
|
+
const statuses = agentPolicies.map((policy) => {
|
|
373
|
+
const accumulated = getAccumulatedSpend(policy.agentId, policy.taskId, policy.windowMs);
|
|
374
|
+
return {
|
|
375
|
+
policyKey: policyKey(policy.agentId, policy.taskId),
|
|
376
|
+
policy,
|
|
377
|
+
accumulatedSpendUsd: accumulated,
|
|
378
|
+
remainingUsd: Math.max(0, policy.maxSpendUsd - accumulated),
|
|
379
|
+
utilizationPct: (accumulated / policy.maxSpendUsd) * 100,
|
|
380
|
+
};
|
|
381
|
+
});
|
|
382
|
+
const result = {
|
|
383
|
+
agentId: input.agentId,
|
|
384
|
+
policies: statuses,
|
|
385
|
+
totalAccumulatedUsd: getAccumulatedSpend(input.agentId),
|
|
386
|
+
};
|
|
387
|
+
if (input.includeHistory) {
|
|
388
|
+
result.recentDecisions = getDecisionHistory(input.agentId, input.historyLimit ?? 20);
|
|
389
|
+
}
|
|
390
|
+
return { content: [(0, format_js_1.textContent)(JSON.stringify(result))] };
|
|
391
|
+
}
|
|
392
|
+
catch (error) {
|
|
393
|
+
return {
|
|
394
|
+
content: [(0, format_js_1.textContent)((0, format_js_1.formatError)(error, 'otel_budget_status'))],
|
|
395
|
+
isError: true,
|
|
396
|
+
};
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
//# sourceMappingURL=otel-budget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"otel-budget.js","sourceRoot":"","sources":["../../src/tools/otel-budget.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/tools/session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/tools/session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,EAML,iBAAiB,EACjB,mBAAmB,EAEpB,MAAM,uBAAuB,CAAC;AAI/B,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwDjC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE3E,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyDhC,CAAC;AAEF,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAmJhF;AAID,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;EA8BjC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE3E,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0ChC,CAAC;AAEF,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CA8IhF;AAID,eAAO,MAAM,uBAAuB;;;;;;EAQlC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAE7E,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;CAiBjC,CAAC;AAEF,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAoGhF;AAID,eAAO,MAAM,oBAAoB;;;;;;EAK/B,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAEvE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;CAgB9B,CAAC;AAEF,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,mBAAmB,GACzB,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CA6ChF;AA8CD,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,CAAC"}
|
package/dist/tools/session.js
CHANGED
|
@@ -24,6 +24,7 @@ const zod_1 = require("zod");
|
|
|
24
24
|
const agentwallet_sdk_1 = require("agentwallet-sdk");
|
|
25
25
|
const client_js_1 = require("../utils/client.js");
|
|
26
26
|
const format_js_1 = require("../utils/format.js");
|
|
27
|
+
const x402_networks_js_1 = require("../utils/x402-networks.js");
|
|
27
28
|
const manager_js_1 = require("../session/manager.js");
|
|
28
29
|
Object.defineProperty(exports, "findSessionForUrl", { enumerable: true, get: function () { return manager_js_1.findSessionForUrl; } });
|
|
29
30
|
Object.defineProperty(exports, "buildSessionHeaders", { enumerable: true, get: function () { return manager_js_1.buildSessionHeaders; } });
|
|
@@ -160,6 +161,7 @@ async function handleX402SessionStart(input) {
|
|
|
160
161
|
const x402Client = (0, agentwallet_sdk_1.createX402Client)(wallet, {
|
|
161
162
|
autoPay: true,
|
|
162
163
|
maxRetries: 1,
|
|
164
|
+
supportedNetworks: (0, x402_networks_js_1.supportedX402NetworksForChainId)(config.chainId),
|
|
163
165
|
globalPerRequestMax: maxPaymentWei,
|
|
164
166
|
onBeforePayment: (req) => {
|
|
165
167
|
const amount = BigInt(req.amount);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/tools/session.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/tools/session.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/x402.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"x402.d.ts","sourceRoot":"","sources":["../../src/tools/x402.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"x402.d.ts","sourceRoot":"","sources":["../../src/tools/x402.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA4FxB,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;EA2CxB,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAIzD,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiDvB,CAAC;AAIF,wBAAsB,aAAa,CACjC,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAwLhF"}
|
package/dist/tools/x402.js
CHANGED
|
@@ -16,8 +16,59 @@ const zod_1 = require("zod");
|
|
|
16
16
|
const agentwallet_sdk_1 = require("agentwallet-sdk");
|
|
17
17
|
const client_js_1 = require("../utils/client.js");
|
|
18
18
|
const format_js_1 = require("../utils/format.js");
|
|
19
|
+
const x402_networks_js_1 = require("../utils/x402-networks.js");
|
|
19
20
|
const session_js_1 = require("./session.js");
|
|
20
21
|
const manager_js_1 = require("../session/manager.js");
|
|
22
|
+
function parsePaymentRequiredFromHeader(headerValue) {
|
|
23
|
+
if (!headerValue)
|
|
24
|
+
return null;
|
|
25
|
+
try {
|
|
26
|
+
const decoded = Buffer.from(headerValue, 'base64').toString('utf8');
|
|
27
|
+
const parsed = JSON.parse(decoded);
|
|
28
|
+
return Array.isArray(parsed.accepts) ? parsed : null;
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
function parsePaymentRequiredFromBody(responseText) {
|
|
35
|
+
try {
|
|
36
|
+
const parsed = JSON.parse(responseText);
|
|
37
|
+
return Array.isArray(parsed.accepts) ? parsed : null;
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
function describeUnsupported402(input, response, responseText, chainId) {
|
|
44
|
+
const requirements = parsePaymentRequiredFromHeader(response.headers.get('payment-required')) ??
|
|
45
|
+
parsePaymentRequiredFromHeader(response.headers.get('x-payment-required')) ??
|
|
46
|
+
parsePaymentRequiredFromBody(responseText);
|
|
47
|
+
const supportedNetworks = (0, x402_networks_js_1.describeSupportedX402Networks)(chainId);
|
|
48
|
+
const offeredNetworks = Array.from(new Set((requirements?.accepts ?? []).map((req) => req.network).filter((network) => Boolean(network))));
|
|
49
|
+
const offeredSchemes = Array.from(new Set((requirements?.accepts ?? []).map((req) => req.scheme).filter((scheme) => Boolean(scheme))));
|
|
50
|
+
const tvmDetected = offeredNetworks.some(x402_networks_js_1.isTvmOrTonNetwork);
|
|
51
|
+
let out = `❌ **Unsupported x402 Payment Requirement - Failed Closed**\n\n`;
|
|
52
|
+
out += ` URL: ${input.url}\n`;
|
|
53
|
+
out += ` Method: ${input.method ?? 'GET'}\n`;
|
|
54
|
+
out += ` Status: ${response.status} ${response.statusText}\n`;
|
|
55
|
+
out += ` Supported: ${supportedNetworks}\n`;
|
|
56
|
+
out += ` Offered: ${offeredNetworks.length > 0 ? offeredNetworks.join(', ') : 'not parseable'}\n`;
|
|
57
|
+
if (offeredSchemes.length > 0)
|
|
58
|
+
out += ` Schemes: ${offeredSchemes.join(', ')}\n`;
|
|
59
|
+
out += `\nAgentPay MCP did not sign or send a payment. The server returned HTTP 402, ` +
|
|
60
|
+
`but none of the offered x402 payment options matched the configured AgentPay network.\n`;
|
|
61
|
+
if (tvmDetected) {
|
|
62
|
+
out += `\nTVM/TON exact-payment requirements are currently watch-only. AgentPay must add ` +
|
|
63
|
+
`explicit support for TVM signing, account deployment, gas, jettons, facilitator settlement, ` +
|
|
64
|
+
`and receipt audit rows before these payments can be enabled.\n`;
|
|
65
|
+
}
|
|
66
|
+
out += `\nGuidance: fund and publish a Base-compatible x402 exact option, or keep this ` +
|
|
67
|
+
`endpoint disabled for AgentPay MCP until TVM support ships deliberately.\n`;
|
|
68
|
+
out += `\n📄 **402 Response Body**\n`;
|
|
69
|
+
out += '```\n' + responseText.slice(0, 4000) + (responseText.length > 4000 ? '\n... [truncated]' : '') + '\n```';
|
|
70
|
+
return out;
|
|
71
|
+
}
|
|
21
72
|
// ─── Schema ────────────────────────────────────────────────────────────────
|
|
22
73
|
exports.X402PaySchema = zod_1.z.object({
|
|
23
74
|
url: zod_1.z
|
|
@@ -188,6 +239,7 @@ async function handleX402Pay(input) {
|
|
|
188
239
|
const x402Client = (0, agentwallet_sdk_1.createX402Client)(wallet, {
|
|
189
240
|
autoPay: true,
|
|
190
241
|
maxRetries: 1,
|
|
242
|
+
supportedNetworks: (0, x402_networks_js_1.supportedX402NetworksForChainId)(config.chainId),
|
|
191
243
|
// If cap is set, use it as globalPerRequestMax
|
|
192
244
|
globalPerRequestMax: maxPaymentWei,
|
|
193
245
|
onBeforePayment: (req, url) => {
|
|
@@ -232,6 +284,12 @@ async function handleX402Pay(input) {
|
|
|
232
284
|
const displayText = truncated
|
|
233
285
|
? responseText.slice(0, MAX_RESPONSE_LEN) + '\n\n... [response truncated]'
|
|
234
286
|
: responseText;
|
|
287
|
+
if (response.status === 402 && !paymentMade) {
|
|
288
|
+
return {
|
|
289
|
+
content: [(0, format_js_1.textContent)(describeUnsupported402(input, response, responseText, config.chainId))],
|
|
290
|
+
isError: true,
|
|
291
|
+
};
|
|
292
|
+
}
|
|
235
293
|
let out = `🌐 **x402 Fetch Result**\n\n`;
|
|
236
294
|
out += ` URL: ${input.url}\n`;
|
|
237
295
|
out += ` Method: ${method}\n`;
|