@greenhelix/sdk 1.0.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.
@@ -0,0 +1,487 @@
1
+ "use strict";
2
+ /**
3
+ * Tests for ALL convenience methods (Items 4, 11, 12).
4
+ *
5
+ * Each test verifies:
6
+ * 1. The method exists on A2AClient
7
+ * 2. It calls execute() with the correct tool name and params
8
+ * 3. It returns a properly typed response
9
+ *
10
+ * Uses a mock HTTP server to capture actual execute() calls.
11
+ */
12
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ var desc = Object.getOwnPropertyDescriptor(m, k);
15
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
16
+ desc = { enumerable: true, get: function() { return m[k]; } };
17
+ }
18
+ Object.defineProperty(o, k2, desc);
19
+ }) : (function(o, m, k, k2) {
20
+ if (k2 === undefined) k2 = k;
21
+ o[k2] = m[k];
22
+ }));
23
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
24
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
25
+ }) : function(o, v) {
26
+ o["default"] = v;
27
+ });
28
+ var __importStar = (this && this.__importStar) || (function () {
29
+ var ownKeys = function(o) {
30
+ ownKeys = Object.getOwnPropertyNames || function (o) {
31
+ var ar = [];
32
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
33
+ return ar;
34
+ };
35
+ return ownKeys(o);
36
+ };
37
+ return function (mod) {
38
+ if (mod && mod.__esModule) return mod;
39
+ var result = {};
40
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
41
+ __setModuleDefault(result, mod);
42
+ return result;
43
+ };
44
+ })();
45
+ Object.defineProperty(exports, "__esModule", { value: true });
46
+ const node_test_1 = require("node:test");
47
+ const assert = __importStar(require("node:assert/strict"));
48
+ const http = __importStar(require("node:http"));
49
+ const client_1 = require("../client");
50
+ // ---------------------------------------------------------------------------
51
+ // Test HTTP server — captures execute() calls
52
+ // ---------------------------------------------------------------------------
53
+ let server;
54
+ let baseUrl;
55
+ let lastExecuteCall = null;
56
+ let executeResult = {};
57
+ (0, node_test_1.before)(async () => {
58
+ server = http.createServer((req, res) => {
59
+ let body = "";
60
+ req.on("data", (chunk) => { body += chunk.toString(); });
61
+ req.on("end", () => {
62
+ if (req.method === "POST" && req.url === "/v1/execute") {
63
+ const parsed = JSON.parse(body);
64
+ lastExecuteCall = { tool: parsed.tool, params: parsed.params };
65
+ res.writeHead(200, { "Content-Type": "application/json" });
66
+ res.end(JSON.stringify({ success: true, result: executeResult, charged: 0 }));
67
+ }
68
+ else {
69
+ res.writeHead(404);
70
+ res.end(JSON.stringify({ error: { code: "not_found", message: "not found" } }));
71
+ }
72
+ });
73
+ });
74
+ await new Promise((resolve) => {
75
+ server.listen(0, "127.0.0.1", () => {
76
+ const addr = server.address();
77
+ baseUrl = `http://127.0.0.1:${addr.port}`;
78
+ resolve();
79
+ });
80
+ });
81
+ });
82
+ (0, node_test_1.after)(async () => {
83
+ await new Promise((resolve) => server.close(() => resolve()));
84
+ });
85
+ function client() {
86
+ return new client_1.A2AClient({ baseUrl, apiKey: "test-key" });
87
+ }
88
+ // ---------------------------------------------------------------------------
89
+ // Payment tools
90
+ // ---------------------------------------------------------------------------
91
+ (0, node_test_1.describe)("Payment convenience methods", () => {
92
+ (0, node_test_1.it)("cancelEscrow calls cancel_escrow with escrow_id and returns EscrowResponse", async () => {
93
+ executeResult = { id: "esc-1", status: "cancelled", amount: 50 };
94
+ const result = await client().cancelEscrow("esc-1");
95
+ assert.equal(lastExecuteCall?.tool, "cancel_escrow");
96
+ assert.equal(lastExecuteCall?.params.escrow_id, "esc-1");
97
+ assert.equal(result.id, "esc-1");
98
+ assert.equal(result.status, "cancelled");
99
+ assert.equal(result.amount, 50);
100
+ });
101
+ (0, node_test_1.it)("refundSettlement calls refund_settlement with correct params and returns RefundResponse", async () => {
102
+ executeResult = { id: "ref-1", settlement_id: "set-1", amount: 25, reason: "defective", status: "refunded" };
103
+ const result = await client().refundSettlement("set-1", { amount: 25, reason: "defective" });
104
+ assert.equal(lastExecuteCall?.tool, "refund_settlement");
105
+ assert.equal(lastExecuteCall?.params.settlement_id, "set-1");
106
+ assert.equal(lastExecuteCall?.params.amount, 25);
107
+ assert.equal(lastExecuteCall?.params.reason, "defective");
108
+ assert.equal(result.id, "ref-1");
109
+ assert.equal(result.status, "refunded");
110
+ assert.equal(result.settlement_id, "set-1");
111
+ });
112
+ (0, node_test_1.it)("refundSettlement works without optional params", async () => {
113
+ executeResult = { id: "ref-2", settlement_id: "set-2", amount: 100, status: "refunded" };
114
+ const result = await client().refundSettlement("set-2");
115
+ assert.equal(lastExecuteCall?.tool, "refund_settlement");
116
+ assert.equal(lastExecuteCall?.params.settlement_id, "set-2");
117
+ assert.equal(lastExecuteCall?.params.amount, undefined);
118
+ assert.equal(result.amount, 100);
119
+ });
120
+ (0, node_test_1.it)("refundIntent calls refund_intent with intent_id and returns PaymentIntent", async () => {
121
+ executeResult = { id: "int-1", status: "refunded", amount: 30 };
122
+ const result = await client().refundIntent("int-1");
123
+ assert.equal(lastExecuteCall?.tool, "refund_intent");
124
+ assert.equal(lastExecuteCall?.params.intent_id, "int-1");
125
+ assert.equal(result.id, "int-1");
126
+ assert.equal(result.status, "refunded");
127
+ });
128
+ (0, node_test_1.it)("voidPayment is an alias for refundIntent", async () => {
129
+ executeResult = { id: "int-2", status: "voided", amount: 15 };
130
+ const result = await client().voidPayment("int-2");
131
+ assert.equal(lastExecuteCall?.tool, "refund_intent");
132
+ assert.equal(lastExecuteCall?.params.intent_id, "int-2");
133
+ assert.equal(result.id, "int-2");
134
+ });
135
+ (0, node_test_1.it)("createSubscription calls create_subscription with correct params and returns SubscriptionResponse", async () => {
136
+ executeResult = { id: "sub-1", status: "active", amount: 10, interval: "monthly", next_charge_at: 1234567890 };
137
+ const result = await client().createSubscription("payer-1", "payee-1", 10, "monthly", { description: "monthly plan" });
138
+ assert.equal(lastExecuteCall?.tool, "create_subscription");
139
+ assert.equal(lastExecuteCall?.params.payer, "payer-1");
140
+ assert.equal(lastExecuteCall?.params.payee, "payee-1");
141
+ assert.equal(lastExecuteCall?.params.amount, 10);
142
+ assert.equal(lastExecuteCall?.params.interval, "monthly");
143
+ assert.equal(lastExecuteCall?.params.description, "monthly plan");
144
+ assert.equal(result.id, "sub-1");
145
+ assert.equal(result.interval, "monthly");
146
+ });
147
+ (0, node_test_1.it)("cancelSubscription calls cancel_subscription and returns { id, status }", async () => {
148
+ executeResult = { id: "sub-1", status: "cancelled" };
149
+ const result = await client().cancelSubscription("sub-1", { cancelledBy: "agent-1" });
150
+ assert.equal(lastExecuteCall?.tool, "cancel_subscription");
151
+ assert.equal(lastExecuteCall?.params.subscription_id, "sub-1");
152
+ assert.equal(lastExecuteCall?.params.cancelled_by, "agent-1");
153
+ assert.equal(result.id, "sub-1");
154
+ assert.equal(result.status, "cancelled");
155
+ });
156
+ (0, node_test_1.it)("getSubscription calls get_subscription and returns SubscriptionDetailResponse", async () => {
157
+ executeResult = {
158
+ id: "sub-1", payer: "p1", payee: "p2", amount: 10,
159
+ interval: "daily", status: "active", next_charge_at: 123, charge_count: 5, created_at: 100,
160
+ };
161
+ const result = await client().getSubscription("sub-1");
162
+ assert.equal(lastExecuteCall?.tool, "get_subscription");
163
+ assert.equal(lastExecuteCall?.params.subscription_id, "sub-1");
164
+ assert.equal(result.payer, "p1");
165
+ assert.equal(result.charge_count, 5);
166
+ });
167
+ (0, node_test_1.it)("listSubscriptions calls list_subscriptions and returns SubscriptionListResponse", async () => {
168
+ executeResult = { subscriptions: [{ id: "sub-1" }, { id: "sub-2" }] };
169
+ const result = await client().listSubscriptions({ agentId: "agent-1", status: "active" });
170
+ assert.equal(lastExecuteCall?.tool, "list_subscriptions");
171
+ assert.equal(lastExecuteCall?.params.agent_id, "agent-1");
172
+ assert.equal(lastExecuteCall?.params.status, "active");
173
+ assert.equal(result.subscriptions.length, 2);
174
+ });
175
+ });
176
+ // ---------------------------------------------------------------------------
177
+ // Marketplace tools
178
+ // ---------------------------------------------------------------------------
179
+ (0, node_test_1.describe)("Marketplace convenience methods", () => {
180
+ (0, node_test_1.it)("registerService calls register_service with correct params", async () => {
181
+ executeResult = { id: "svc-1", name: "My Service", status: "active" };
182
+ const result = await client().registerService({
183
+ providerId: "agent-1",
184
+ name: "My Service",
185
+ description: "A cool service",
186
+ category: "ai",
187
+ tools: ["tool1"],
188
+ tags: ["fast"],
189
+ endpoint: "https://example.com",
190
+ pricing: { model: "per_call", cost: 0.01 },
191
+ });
192
+ assert.equal(lastExecuteCall?.tool, "register_service");
193
+ assert.equal(lastExecuteCall?.params.provider_id, "agent-1");
194
+ assert.equal(lastExecuteCall?.params.name, "My Service");
195
+ assert.equal(lastExecuteCall?.params.category, "ai");
196
+ assert.deepEqual(lastExecuteCall?.params.tools, ["tool1"]);
197
+ assert.equal(result.id, "svc-1");
198
+ assert.equal(result.status, "active");
199
+ });
200
+ (0, node_test_1.it)("getService calls get_service with service_id", async () => {
201
+ executeResult = { id: "svc-1", name: "Test", description: "desc", category: "ai", status: "active" };
202
+ const result = await client().getService("svc-1");
203
+ assert.equal(lastExecuteCall?.tool, "get_service");
204
+ assert.equal(lastExecuteCall?.params.service_id, "svc-1");
205
+ assert.equal(result.id, "svc-1");
206
+ assert.equal(result.category, "ai");
207
+ });
208
+ (0, node_test_1.it)("rateService calls rate_service with correct params", async () => {
209
+ executeResult = { service_id: "svc-1", agent_id: "agent-1", rating: 5 };
210
+ const result = await client().rateService("svc-1", "agent-1", 5, { review: "Great!" });
211
+ assert.equal(lastExecuteCall?.tool, "rate_service");
212
+ assert.equal(lastExecuteCall?.params.service_id, "svc-1");
213
+ assert.equal(lastExecuteCall?.params.agent_id, "agent-1");
214
+ assert.equal(lastExecuteCall?.params.rating, 5);
215
+ assert.equal(lastExecuteCall?.params.review, "Great!");
216
+ assert.equal(result.rating, 5);
217
+ });
218
+ });
219
+ // ---------------------------------------------------------------------------
220
+ // Trust tools
221
+ // ---------------------------------------------------------------------------
222
+ (0, node_test_1.describe)("Trust convenience methods", () => {
223
+ (0, node_test_1.it)("searchServers calls search_servers with correct params", async () => {
224
+ executeResult = { servers: [{ id: "srv-1", name: "Test Server", url: "https://test.com" }] };
225
+ const result = await client().searchServers({ nameContains: "Test", minScore: 0.8, limit: 10 });
226
+ assert.equal(lastExecuteCall?.tool, "search_servers");
227
+ assert.equal(lastExecuteCall?.params.name_contains, "Test");
228
+ assert.equal(lastExecuteCall?.params.min_score, 0.8);
229
+ assert.equal(lastExecuteCall?.params.limit, 10);
230
+ assert.equal(result.servers.length, 1);
231
+ assert.equal(result.servers[0].id, "srv-1");
232
+ });
233
+ });
234
+ // ---------------------------------------------------------------------------
235
+ // Identity tools
236
+ // ---------------------------------------------------------------------------
237
+ (0, node_test_1.describe)("Identity convenience methods", () => {
238
+ (0, node_test_1.it)("getAgentIdentity calls get_agent_identity with agent_id", async () => {
239
+ executeResult = { agent_id: "agent-1", public_key: "abc123", created_at: 1000, org_id: "org-1", found: true };
240
+ const result = await client().getAgentIdentity("agent-1");
241
+ assert.equal(lastExecuteCall?.tool, "get_agent_identity");
242
+ assert.equal(lastExecuteCall?.params.agent_id, "agent-1");
243
+ assert.equal(result.agent_id, "agent-1");
244
+ assert.equal(result.public_key, "abc123");
245
+ assert.equal(result.found, true);
246
+ });
247
+ (0, node_test_1.it)("verifyAgent calls verify_agent with correct params", async () => {
248
+ executeResult = { valid: true };
249
+ const result = await client().verifyAgent("agent-1", "hello", "sig123");
250
+ assert.equal(lastExecuteCall?.tool, "verify_agent");
251
+ assert.equal(lastExecuteCall?.params.agent_id, "agent-1");
252
+ assert.equal(lastExecuteCall?.params.message, "hello");
253
+ assert.equal(lastExecuteCall?.params.signature, "sig123");
254
+ assert.equal(result.valid, true);
255
+ });
256
+ (0, node_test_1.it)("submitMetrics calls submit_metrics with correct params", async () => {
257
+ executeResult = {
258
+ agent_id: "agent-1", commitment_hashes: ["h1"], verified_at: 100,
259
+ valid_until: 200, data_source: "self_reported", signature: "sig",
260
+ };
261
+ const result = await client().submitMetrics("agent-1", { sharpe_30d: 2.35 }, { dataSource: "self_reported" });
262
+ assert.equal(lastExecuteCall?.tool, "submit_metrics");
263
+ assert.equal(lastExecuteCall?.params.agent_id, "agent-1");
264
+ assert.deepEqual(lastExecuteCall?.params.metrics, { sharpe_30d: 2.35 });
265
+ assert.equal(lastExecuteCall?.params.data_source, "self_reported");
266
+ assert.equal(result.agent_id, "agent-1");
267
+ assert.deepEqual(result.commitment_hashes, ["h1"]);
268
+ });
269
+ (0, node_test_1.it)("getVerifiedClaims calls get_verified_claims with agent_id", async () => {
270
+ executeResult = { claims: [{ agent_id: "a1", metric_name: "sharpe", claim_type: "gte", bound_value: 2, valid_until: 999 }] };
271
+ const result = await client().getVerifiedClaims("agent-1");
272
+ assert.equal(lastExecuteCall?.tool, "get_verified_claims");
273
+ assert.equal(lastExecuteCall?.params.agent_id, "agent-1");
274
+ assert.equal(result.claims.length, 1);
275
+ assert.equal(result.claims[0].metric_name, "sharpe");
276
+ });
277
+ });
278
+ // ---------------------------------------------------------------------------
279
+ // Webhook tools
280
+ // ---------------------------------------------------------------------------
281
+ (0, node_test_1.describe)("Webhook convenience methods", () => {
282
+ (0, node_test_1.it)("registerWebhook calls register_webhook with correct params", async () => {
283
+ executeResult = {
284
+ id: "wh-1", agent_id: "agent-1", url: "https://hook.example.com",
285
+ event_types: ["billing.deposit"], filter_agent_ids: null, created_at: 100, active: true,
286
+ };
287
+ const result = await client().registerWebhook({
288
+ agentId: "agent-1",
289
+ url: "https://hook.example.com",
290
+ eventTypes: ["billing.deposit"],
291
+ secret: "s3cret",
292
+ });
293
+ assert.equal(lastExecuteCall?.tool, "register_webhook");
294
+ assert.equal(lastExecuteCall?.params.agent_id, "agent-1");
295
+ assert.equal(lastExecuteCall?.params.url, "https://hook.example.com");
296
+ assert.deepEqual(lastExecuteCall?.params.event_types, ["billing.deposit"]);
297
+ assert.equal(lastExecuteCall?.params.secret, "s3cret");
298
+ assert.equal(result.id, "wh-1");
299
+ assert.equal(result.active, true);
300
+ });
301
+ (0, node_test_1.it)("listWebhooks calls list_webhooks with agent_id", async () => {
302
+ executeResult = { webhooks: [{ id: "wh-1" }, { id: "wh-2" }] };
303
+ const result = await client().listWebhooks("agent-1");
304
+ assert.equal(lastExecuteCall?.tool, "list_webhooks");
305
+ assert.equal(lastExecuteCall?.params.agent_id, "agent-1");
306
+ assert.equal(result.webhooks.length, 2);
307
+ });
308
+ (0, node_test_1.it)("deleteWebhook calls delete_webhook with webhook_id", async () => {
309
+ executeResult = { deleted: true };
310
+ const result = await client().deleteWebhook("wh-1");
311
+ assert.equal(lastExecuteCall?.tool, "delete_webhook");
312
+ assert.equal(lastExecuteCall?.params.webhook_id, "wh-1");
313
+ assert.equal(result.deleted, true);
314
+ });
315
+ });
316
+ // ---------------------------------------------------------------------------
317
+ // API key tools
318
+ // ---------------------------------------------------------------------------
319
+ (0, node_test_1.describe)("API key convenience methods", () => {
320
+ (0, node_test_1.it)("createApiKey calls create_api_key with correct params", async () => {
321
+ executeResult = { key: "ak_pro_abc", agent_id: "agent-1", tier: "pro", created_at: 100 };
322
+ const result = await client().createApiKey("agent-1", { tier: "pro" });
323
+ assert.equal(lastExecuteCall?.tool, "create_api_key");
324
+ assert.equal(lastExecuteCall?.params.agent_id, "agent-1");
325
+ assert.equal(lastExecuteCall?.params.tier, "pro");
326
+ assert.equal(result.key, "ak_pro_abc");
327
+ assert.equal(result.tier, "pro");
328
+ });
329
+ (0, node_test_1.it)("rotateKey calls rotate_key with current_key", async () => {
330
+ executeResult = { new_key: "ak_pro_xyz", tier: "pro", agent_id: "agent-1", revoked: true };
331
+ const result = await client().rotateKey("ak_pro_old");
332
+ assert.equal(lastExecuteCall?.tool, "rotate_key");
333
+ assert.equal(lastExecuteCall?.params.current_key, "ak_pro_old");
334
+ assert.equal(result.new_key, "ak_pro_xyz");
335
+ assert.equal(result.revoked, true);
336
+ });
337
+ });
338
+ // ---------------------------------------------------------------------------
339
+ // Event tools
340
+ // ---------------------------------------------------------------------------
341
+ (0, node_test_1.describe)("Event convenience methods", () => {
342
+ (0, node_test_1.it)("publishEvent calls publish_event with correct params", async () => {
343
+ executeResult = { event_id: 42 };
344
+ const result = await client().publishEvent("trust.score_drop", "trust", { server_id: "srv-1" });
345
+ assert.equal(lastExecuteCall?.tool, "publish_event");
346
+ assert.equal(lastExecuteCall?.params.event_type, "trust.score_drop");
347
+ assert.equal(lastExecuteCall?.params.source, "trust");
348
+ assert.deepEqual(lastExecuteCall?.params.payload, { server_id: "srv-1" });
349
+ assert.equal(result.event_id, 42);
350
+ });
351
+ (0, node_test_1.it)("getEvents calls get_events with correct params", async () => {
352
+ executeResult = { events: [{ id: 1, event_type: "test", source: "test", payload: {}, integrity_hash: "abc", created_at: "2024-01-01" }] };
353
+ const result = await client().getEvents({ eventType: "test", sinceId: 0, limit: 50 });
354
+ assert.equal(lastExecuteCall?.tool, "get_events");
355
+ assert.equal(lastExecuteCall?.params.event_type, "test");
356
+ assert.equal(lastExecuteCall?.params.since_id, 0);
357
+ assert.equal(lastExecuteCall?.params.limit, 50);
358
+ assert.equal(result.events.length, 1);
359
+ });
360
+ (0, node_test_1.it)("getEvents works without params", async () => {
361
+ executeResult = { events: [] };
362
+ const result = await client().getEvents();
363
+ assert.equal(lastExecuteCall?.tool, "get_events");
364
+ assert.equal(result.events.length, 0);
365
+ });
366
+ });
367
+ // ---------------------------------------------------------------------------
368
+ // Org tools
369
+ // ---------------------------------------------------------------------------
370
+ (0, node_test_1.describe)("Org convenience methods", () => {
371
+ (0, node_test_1.it)("createOrg calls create_org with org_name", async () => {
372
+ executeResult = { org_id: "org-1", name: "My Org", created_at: 100 };
373
+ const result = await client().createOrg("My Org");
374
+ assert.equal(lastExecuteCall?.tool, "create_org");
375
+ assert.equal(lastExecuteCall?.params.org_name, "My Org");
376
+ assert.equal(result.org_id, "org-1");
377
+ assert.equal(result.name, "My Org");
378
+ });
379
+ (0, node_test_1.it)("getOrg calls get_org with org_id", async () => {
380
+ executeResult = { org_id: "org-1", name: "My Org", created_at: 100, members: ["a1", "a2"] };
381
+ const result = await client().getOrg("org-1");
382
+ assert.equal(lastExecuteCall?.tool, "get_org");
383
+ assert.equal(lastExecuteCall?.params.org_id, "org-1");
384
+ assert.equal(result.org_id, "org-1");
385
+ assert.equal(result.members.length, 2);
386
+ });
387
+ (0, node_test_1.it)("addAgentToOrg calls add_agent_to_org with correct params", async () => {
388
+ executeResult = { agent_id: "agent-1", org_id: "org-1" };
389
+ const result = await client().addAgentToOrg("org-1", "agent-1");
390
+ assert.equal(lastExecuteCall?.tool, "add_agent_to_org");
391
+ assert.equal(lastExecuteCall?.params.org_id, "org-1");
392
+ assert.equal(lastExecuteCall?.params.agent_id, "agent-1");
393
+ assert.equal(result.agent_id, "agent-1");
394
+ assert.equal(result.org_id, "org-1");
395
+ });
396
+ (0, node_test_1.it)("getOrgMembers calls get_org and extracts members", async () => {
397
+ executeResult = { org_id: "org-1", name: "My Org", created_at: 100, members: ["a1", "a2", "a3"] };
398
+ const result = await client().getOrgMembers("org-1");
399
+ assert.equal(lastExecuteCall?.tool, "get_org");
400
+ assert.equal(lastExecuteCall?.params.org_id, "org-1");
401
+ assert.equal(result.members.length, 3);
402
+ });
403
+ });
404
+ // ---------------------------------------------------------------------------
405
+ // Messaging tools
406
+ // ---------------------------------------------------------------------------
407
+ (0, node_test_1.describe)("Messaging convenience methods", () => {
408
+ (0, node_test_1.it)("negotiatePrice calls negotiate_price with correct params", async () => {
409
+ executeResult = { negotiation_id: "neg-1", thread_id: "thr-1", status: "pending", proposed_amount: 50 };
410
+ const result = await client().negotiatePrice({
411
+ initiator: "agent-1",
412
+ responder: "agent-2",
413
+ amount: 50,
414
+ serviceId: "svc-1",
415
+ expiresHours: 48,
416
+ });
417
+ assert.equal(lastExecuteCall?.tool, "negotiate_price");
418
+ assert.equal(lastExecuteCall?.params.initiator, "agent-1");
419
+ assert.equal(lastExecuteCall?.params.responder, "agent-2");
420
+ assert.equal(lastExecuteCall?.params.amount, 50);
421
+ assert.equal(lastExecuteCall?.params.service_id, "svc-1");
422
+ assert.equal(lastExecuteCall?.params.expires_hours, 48);
423
+ assert.equal(result.negotiation_id, "neg-1");
424
+ });
425
+ (0, node_test_1.it)("getMessages calls get_messages with correct params", async () => {
426
+ executeResult = { messages: [{ id: "msg-1" }, { id: "msg-2" }] };
427
+ const result = await client().getMessages("agent-1", { threadId: "thr-1", limit: 25 });
428
+ assert.equal(lastExecuteCall?.tool, "get_messages");
429
+ assert.equal(lastExecuteCall?.params.agent_id, "agent-1");
430
+ assert.equal(lastExecuteCall?.params.thread_id, "thr-1");
431
+ assert.equal(lastExecuteCall?.params.limit, 25);
432
+ assert.equal(result.messages.length, 2);
433
+ });
434
+ (0, node_test_1.it)("getMessages works with only agentId", async () => {
435
+ executeResult = { messages: [] };
436
+ const result = await client().getMessages("agent-1");
437
+ assert.equal(lastExecuteCall?.tool, "get_messages");
438
+ assert.equal(lastExecuteCall?.params.agent_id, "agent-1");
439
+ assert.equal(result.messages.length, 0);
440
+ });
441
+ });
442
+ // ---------------------------------------------------------------------------
443
+ // Typed responses for existing methods (Item 12 validation)
444
+ // ---------------------------------------------------------------------------
445
+ (0, node_test_1.describe)("Typed responses for existing methods", () => {
446
+ (0, node_test_1.it)("getBalance returns BalanceResponse", async () => {
447
+ executeResult = { balance: 99.5 };
448
+ const result = await client().getBalance("agent-1");
449
+ assert.equal(result.balance, 99.5);
450
+ });
451
+ (0, node_test_1.it)("getUsageSummary returns UsageSummaryResponse", async () => {
452
+ executeResult = { total_cost: 10.5, total_calls: 100, total_tokens: 5000 };
453
+ const result = await client().getUsageSummary("agent-1");
454
+ assert.equal(result.total_cost, 10.5);
455
+ assert.equal(result.total_calls, 100);
456
+ assert.equal(result.total_tokens, 5000);
457
+ });
458
+ (0, node_test_1.it)("getPaymentHistory returns PaymentHistoryResponse", async () => {
459
+ executeResult = { history: [{ id: "ph-1" }] };
460
+ const result = await client().getPaymentHistory("agent-1");
461
+ assert.equal(result.history.length, 1);
462
+ });
463
+ (0, node_test_1.it)("releaseEscrow returns EscrowResponse", async () => {
464
+ executeResult = { id: "esc-1", status: "released", amount: 100 };
465
+ const result = await client().releaseEscrow("esc-1");
466
+ assert.equal(result.id, "esc-1");
467
+ assert.equal(result.status, "released");
468
+ assert.equal(result.amount, 100);
469
+ });
470
+ (0, node_test_1.it)("createEscrow returns EscrowResponse", async () => {
471
+ executeResult = { id: "esc-2", status: "held", amount: 200 };
472
+ const result = await client().createEscrow("p1", "p2", 200);
473
+ assert.equal(result.id, "esc-2");
474
+ assert.equal(result.status, "held");
475
+ });
476
+ (0, node_test_1.it)("getTrustScore returns TrustScore", async () => {
477
+ executeResult = {
478
+ server_id: "srv-1", composite_score: 0.95, reliability_score: 0.9,
479
+ security_score: 0.88, documentation_score: 0.92, responsiveness_score: 0.85,
480
+ confidence: 0.75, window: "24h",
481
+ };
482
+ const result = await client().getTrustScore("srv-1");
483
+ assert.equal(result.server_id, "srv-1");
484
+ assert.equal(result.composite_score, 0.95);
485
+ });
486
+ });
487
+ //# sourceMappingURL=convenience.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convenience.test.js","sourceRoot":"","sources":["../../src/test/convenience.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Tests for error classes and raiseForStatus.
3
+ */
4
+ export {};