@agentxv2/sdk 0.4.0 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -2079,10 +2079,11 @@ var KNOWN_CHAINS = {
2079
2079
  contracts: {
2080
2080
  identityRegistry: "0xe94ad380d3F8d08a7590eda0C84f354a93F96e5F",
2081
2081
  subscriptionManager: "0xC15fE80b9d800abb72121F353a6ae6d6E9077E63",
2082
- paymentGateway: "0x0000000000000000000000000000000000000000",
2083
- a2aProtocolRegistry: "0x0000000000000000000000000000000000000000",
2084
- reputationRegistry: "0x0000000000000000000000000000000000000000",
2085
- configurationRegistry: "0x0000000000000000000000000000000000000000"
2082
+ paymentGateway: "0x59eA58c0089314C0fCc86A4ff646fb6dAE571C96",
2083
+ a2aProtocolRegistry: "0xEdb0022c250B38e281B3EF1418037889fC5C6092",
2084
+ reputationRegistry: "0xeb6B410ea71b8d9dA0c96f6A91d35027CE143DC9",
2085
+ configurationRegistry: "0x68DcE00e4C9077c94BC68016cD14B09557faEA6c",
2086
+ multiEndpointRegistry: "0xEB5e866f186d4B73F97aa0d70B86f2C6e2e21Cb7"
2086
2087
  },
2087
2088
  ipfsGateways: ["ipfs.io", "gateway.pinata.cloud", "dweb.link", "cf-ipfs.com"]
2088
2089
  },
@@ -2091,15 +2092,17 @@ var KNOWN_CHAINS = {
2091
2092
  // Deployer: 0x8E869A0624fF9e766Df71b5B08897d00E4d260ba
2092
2093
  // RPC: http://43.156.99.215:18545
2093
2094
  // Explorer: http://43.156.99.215:18400
2095
+ // All 6 core contracts deployed 2026-07-14
2094
2096
  19505: {
2095
2097
  chainId: 19505,
2096
2098
  contracts: {
2097
- identityRegistry: "0x0292af212Ce34bbCd95BbC69F4F8c9f7ae123902",
2098
- subscriptionManager: "0x37BA9DdfE66Aa86f920a34Ae0ae268342151E249",
2099
+ identityRegistry: "0xbf5F9db266c8c97E3334466C88597Eb758AfE212",
2100
+ subscriptionManager: "0x019AC9d945467478Dd371CDbD70cb2f325800E6B",
2099
2101
  paymentGateway: "0x0000000000000000000000000000000000000000",
2100
- a2aProtocolRegistry: "0x0000000000000000000000000000000000000000",
2101
- reputationRegistry: "0x0000000000000000000000000000000000000000",
2102
- configurationRegistry: "0x0000000000000000000000000000000000000000"
2102
+ a2aProtocolRegistry: "0x61b7E7Eed21F013e35a90FC5de5c352780ec5169",
2103
+ reputationRegistry: "0x6a18C2664E1b42063860d864b6448b824d7B843F",
2104
+ configurationRegistry: "0x07280674ccc2898Fd038A9e3C22005CA83ffD2F8",
2105
+ multiEndpointRegistry: "0xB361d04F49000013FC131D3C59C41c8486C64f8c"
2103
2106
  },
2104
2107
  ipfsGateways: ["ipfs.io", "gateway.pinata.cloud", "dweb.link", "cf-ipfs.com"],
2105
2108
  rpcUrl: "http://43.156.99.215:18545"
@@ -2157,6 +2160,294 @@ var ConfigurationRegistry = class {
2157
2160
  // src/config/index.ts
2158
2161
  var CONFIG_VERSION = "0.1.0";
2159
2162
 
2163
+ // src/endpoint/multi-endpoint.ts
2164
+ var ABI = [
2165
+ {
2166
+ name: "getActiveAgentEndpoints",
2167
+ type: "function",
2168
+ stateMutability: "view",
2169
+ inputs: [{ name: "agentId", type: "uint256" }],
2170
+ outputs: [{
2171
+ type: "tuple[]",
2172
+ components: [
2173
+ { name: "endpointId", type: "uint256" },
2174
+ { name: "agentId", type: "uint256" },
2175
+ { name: "name", type: "string" },
2176
+ { name: "endpointType", type: "string" },
2177
+ { name: "protocol", type: "string" },
2178
+ { name: "url", type: "string" },
2179
+ { name: "description", type: "string" },
2180
+ { name: "isActive", type: "bool" },
2181
+ { name: "createdAt", type: "uint256" },
2182
+ { name: "updatedAt", type: "uint256" },
2183
+ { name: "createdBy", type: "address" }
2184
+ ]
2185
+ }]
2186
+ },
2187
+ {
2188
+ name: "getAgentEndpoints",
2189
+ type: "function",
2190
+ stateMutability: "view",
2191
+ inputs: [{ name: "agentId", type: "uint256" }],
2192
+ outputs: [{
2193
+ type: "tuple[]",
2194
+ components: [
2195
+ { name: "endpointId", type: "uint256" },
2196
+ { name: "agentId", type: "uint256" },
2197
+ { name: "name", type: "string" },
2198
+ { name: "endpointType", type: "string" },
2199
+ { name: "protocol", type: "string" },
2200
+ { name: "url", type: "string" },
2201
+ { name: "description", type: "string" },
2202
+ { name: "isActive", type: "bool" },
2203
+ { name: "createdAt", type: "uint256" },
2204
+ { name: "updatedAt", type: "uint256" },
2205
+ { name: "createdBy", type: "address" }
2206
+ ]
2207
+ }]
2208
+ },
2209
+ {
2210
+ name: "createEndpoint",
2211
+ type: "function",
2212
+ stateMutability: "nonpayable",
2213
+ inputs: [
2214
+ { name: "agentId", type: "uint256" },
2215
+ { name: "name", type: "string" },
2216
+ { name: "endpointType", type: "string" },
2217
+ { name: "protocol", type: "string" },
2218
+ { name: "url", type: "string" },
2219
+ { name: "description", type: "string" }
2220
+ ],
2221
+ outputs: [{ name: "endpointId", type: "uint256" }]
2222
+ },
2223
+ {
2224
+ name: "getEndpoint",
2225
+ type: "function",
2226
+ stateMutability: "view",
2227
+ inputs: [{ name: "endpointId", type: "uint256" }],
2228
+ outputs: [{
2229
+ type: "tuple",
2230
+ components: [
2231
+ { name: "endpointId", type: "uint256" },
2232
+ { name: "agentId", type: "uint256" },
2233
+ { name: "name", type: "string" },
2234
+ { name: "endpointType", type: "string" },
2235
+ { name: "protocol", type: "string" },
2236
+ { name: "url", type: "string" },
2237
+ { name: "description", type: "string" },
2238
+ { name: "isActive", type: "bool" },
2239
+ { name: "createdAt", type: "uint256" },
2240
+ { name: "updatedAt", type: "uint256" },
2241
+ { name: "createdBy", type: "address" }
2242
+ ]
2243
+ }]
2244
+ },
2245
+ {
2246
+ name: "getSupportedProtocols",
2247
+ type: "function",
2248
+ stateMutability: "view",
2249
+ inputs: [],
2250
+ outputs: [{ type: "string[]" }]
2251
+ },
2252
+ {
2253
+ name: "getAgentEndpointStats",
2254
+ type: "function",
2255
+ stateMutability: "view",
2256
+ inputs: [{ name: "agentId", type: "uint256" }],
2257
+ outputs: [
2258
+ { name: "totalEndpoints", type: "uint256" },
2259
+ { name: "activeEndpoints", type: "uint256" },
2260
+ { name: "httpEndpoints", type: "uint256" },
2261
+ { name: "websocketEndpoints", type: "uint256" },
2262
+ { name: "grpcEndpoints", type: "uint256" }
2263
+ ]
2264
+ }
2265
+ ];
2266
+ var MultiEndpointClient = class {
2267
+ address;
2268
+ publicClient;
2269
+ constructor(config, publicClient) {
2270
+ this.address = config.address;
2271
+ this.publicClient = publicClient ?? null;
2272
+ }
2273
+ setPublicClient(client) {
2274
+ this.publicClient = client;
2275
+ }
2276
+ async getActiveEndpoints(agentId) {
2277
+ if (!this.publicClient) throw new Error("publicClient not set");
2278
+ return await this.publicClient.readContract({
2279
+ address: this.address,
2280
+ abi: ABI,
2281
+ functionName: "getActiveAgentEndpoints",
2282
+ args: [agentId]
2283
+ });
2284
+ }
2285
+ async getAllEndpoints(agentId) {
2286
+ if (!this.publicClient) throw new Error("publicClient not set");
2287
+ return await this.publicClient.readContract({
2288
+ address: this.address,
2289
+ abi: ABI,
2290
+ functionName: "getAgentEndpoints",
2291
+ args: [agentId]
2292
+ });
2293
+ }
2294
+ async getEndpoint(endpointId) {
2295
+ if (!this.publicClient) throw new Error("publicClient not set");
2296
+ return await this.publicClient.readContract({
2297
+ address: this.address,
2298
+ abi: ABI,
2299
+ functionName: "getEndpoint",
2300
+ args: [endpointId]
2301
+ });
2302
+ }
2303
+ async getStats(agentId) {
2304
+ if (!this.publicClient) throw new Error("publicClient not set");
2305
+ return await this.publicClient.readContract({
2306
+ address: this.address,
2307
+ abi: ABI,
2308
+ functionName: "getAgentEndpointStats",
2309
+ args: [agentId]
2310
+ });
2311
+ }
2312
+ /** Pick best active endpoint for the agent — prefer HTTP, take first active */
2313
+ async pickBestEndpoint(agentId) {
2314
+ const endpoints = await this.getActiveEndpoints(agentId);
2315
+ if (endpoints.length === 0) return null;
2316
+ const http = endpoints.find((e) => e.protocol === "HTTP");
2317
+ return http ?? endpoints[0];
2318
+ }
2319
+ /** Pick any active endpoint URL — for MCP connector */
2320
+ async getBestMCPUrl(agentId) {
2321
+ const best = await this.pickBestEndpoint(agentId);
2322
+ return best?.url ?? null;
2323
+ }
2324
+ };
2325
+
2326
+ // src/configuration/configuration.ts
2327
+ var ABI2 = [
2328
+ {
2329
+ name: "getConfig",
2330
+ type: "function",
2331
+ stateMutability: "view",
2332
+ inputs: [
2333
+ { name: "agentId", type: "uint256" },
2334
+ { name: "configKey", type: "string" }
2335
+ ],
2336
+ outputs: [{
2337
+ type: "tuple",
2338
+ components: [
2339
+ { name: "agentId", type: "uint256" },
2340
+ { name: "key", type: "string" },
2341
+ { name: "value", type: "string" },
2342
+ { name: "dataType", type: "string" },
2343
+ { name: "updatedAt", type: "uint256" },
2344
+ { name: "updatedBy", type: "address" }
2345
+ ]
2346
+ }]
2347
+ },
2348
+ {
2349
+ name: "getAgentConfigs",
2350
+ type: "function",
2351
+ stateMutability: "view",
2352
+ inputs: [{ name: "agentId", type: "uint256" }],
2353
+ outputs: [{
2354
+ type: "tuple[]",
2355
+ components: [
2356
+ { name: "agentId", type: "uint256" },
2357
+ { name: "key", type: "string" },
2358
+ { name: "value", type: "string" },
2359
+ { name: "dataType", type: "string" },
2360
+ { name: "updatedAt", type: "uint256" },
2361
+ { name: "updatedBy", type: "address" }
2362
+ ]
2363
+ }]
2364
+ },
2365
+ {
2366
+ name: "getConfigKeys",
2367
+ type: "function",
2368
+ stateMutability: "view",
2369
+ inputs: [{ name: "agentId", type: "uint256" }],
2370
+ outputs: [{ type: "string[]" }]
2371
+ },
2372
+ {
2373
+ name: "getConfigCount",
2374
+ type: "function",
2375
+ stateMutability: "view",
2376
+ inputs: [{ name: "agentId", type: "uint256" }],
2377
+ outputs: [{ type: "uint256" }]
2378
+ },
2379
+ {
2380
+ name: "configExists",
2381
+ type: "function",
2382
+ stateMutability: "view",
2383
+ inputs: [
2384
+ { name: "agentId", type: "uint256" },
2385
+ { name: "configKey", type: "string" }
2386
+ ],
2387
+ outputs: [{ type: "bool" }]
2388
+ }
2389
+ ];
2390
+ var ConfigurationClient = class {
2391
+ address;
2392
+ publicClient;
2393
+ constructor(config, publicClient) {
2394
+ this.address = config.address;
2395
+ this.publicClient = publicClient ?? null;
2396
+ }
2397
+ setPublicClient(client) {
2398
+ this.publicClient = client;
2399
+ }
2400
+ async get(agentId, key) {
2401
+ if (!this.publicClient) throw new Error("publicClient not set");
2402
+ try {
2403
+ return await this.publicClient.readContract({
2404
+ address: this.address,
2405
+ abi: ABI2,
2406
+ functionName: "getConfig",
2407
+ args: [agentId, key]
2408
+ });
2409
+ } catch {
2410
+ return null;
2411
+ }
2412
+ }
2413
+ async getAll(agentId) {
2414
+ if (!this.publicClient) throw new Error("publicClient not set");
2415
+ return await this.publicClient.readContract({
2416
+ address: this.address,
2417
+ abi: ABI2,
2418
+ functionName: "getAgentConfigs",
2419
+ args: [agentId]
2420
+ });
2421
+ }
2422
+ async getKeys(agentId) {
2423
+ if (!this.publicClient) throw new Error("publicClient not set");
2424
+ return await this.publicClient.readContract({
2425
+ address: this.address,
2426
+ abi: ABI2,
2427
+ functionName: "getConfigKeys",
2428
+ args: [agentId]
2429
+ });
2430
+ }
2431
+ async getCount(agentId) {
2432
+ if (!this.publicClient) throw new Error("publicClient not set");
2433
+ return await this.publicClient.readContract({
2434
+ address: this.address,
2435
+ abi: ABI2,
2436
+ functionName: "getConfigCount",
2437
+ args: [agentId]
2438
+ });
2439
+ }
2440
+ async exists(agentId, key) {
2441
+ if (!this.publicClient) throw new Error("publicClient not set");
2442
+ return await this.publicClient.readContract({
2443
+ address: this.address,
2444
+ abi: ABI2,
2445
+ functionName: "configExists",
2446
+ args: [agentId, key]
2447
+ });
2448
+ }
2449
+ };
2450
+
2160
2451
  // src/react/useAgentRunner.ts
2161
2452
  import { useState, useEffect, useRef } from "react";
2162
2453
  import { usePublicClient, useWalletClient } from "wagmi";
@@ -2331,11 +2622,13 @@ export {
2331
2622
  AgentXError,
2332
2623
  AgentXErrorCode,
2333
2624
  CONFIG_VERSION,
2625
+ ConfigurationClient,
2334
2626
  ConfigurationRegistry,
2335
2627
  IPFSFetcher,
2336
2628
  KNOWN_CHAINS,
2337
2629
  MCPConnector,
2338
2630
  MCP_VERSION,
2631
+ MultiEndpointClient,
2339
2632
  REGISTRY_VERSION,
2340
2633
  REPUTATION_VERSION,
2341
2634
  ReputationRegistry,