kompass-sdk 0.20.0 → 0.21.0
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/aggregator.d.ts.map +1 -1
- package/dist/aggregator.js +13 -6
- package/dist/aggregator.js.map +1 -1
- package/dist/bridge.d.ts.map +1 -1
- package/dist/bridge.js +64 -0
- package/dist/bridge.js.map +1 -1
- package/dist/matching.d.ts.map +1 -1
- package/dist/matching.js +7 -6
- package/dist/matching.js.map +1 -1
- package/dist/router.js +2 -2
- package/dist/router.js.map +1 -1
- package/dist/sources/olas.d.ts +3 -3
- package/dist/sources/olas.d.ts.map +1 -1
- package/dist/sources/olas.js +37 -31
- package/dist/sources/olas.js.map +1 -1
- package/dist/wallet/handlers/bankr.d.ts.map +1 -1
- package/dist/wallet/handlers/bankr.js +5 -4
- package/dist/wallet/handlers/bankr.js.map +1 -1
- package/dist/wallet/handlers/locus.d.ts.map +1 -1
- package/dist/wallet/handlers/locus.js +3 -2
- package/dist/wallet/handlers/locus.js.map +1 -1
- package/dist/wallet/handlers/olas.d.ts +5 -1
- package/dist/wallet/handlers/olas.d.ts.map +1 -1
- package/dist/wallet/handlers/olas.js +20 -28
- package/dist/wallet/handlers/olas.js.map +1 -1
- package/dist/wallet/index.d.ts +3 -3
- package/package.json +1 -1
- package/src/aggregator.ts +8 -4
- package/src/bridge.ts +53 -0
- package/src/matching.ts +7 -6
- package/src/router.ts +2 -2
- package/src/sources/olas.ts +53 -44
- package/src/wallet/handlers/bankr.ts +6 -4
- package/src/wallet/handlers/locus.ts +3 -2
- package/src/wallet/handlers/olas.ts +25 -30
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"locus.js","sourceRoot":"","sources":["../../../src/wallet/handlers/locus.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"locus.js","sourceRoot":"","sources":["../../../src/wallet/handlers/locus.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Olas Mech Handler
|
|
3
|
-
*
|
|
3
|
+
* Olas mechs are on-chain agents — requests and deliveries happen via smart contracts.
|
|
4
|
+
* There is no HTTP API. Interaction requires the mech-client CLI/Python SDK
|
|
5
|
+
* or direct on-chain transactions.
|
|
6
|
+
*
|
|
7
|
+
* Docs: https://docs.olas.network/mech-client/
|
|
4
8
|
*/
|
|
5
9
|
import type { KompassWallet } from "../index.js";
|
|
6
10
|
import type { UnifiedAgent } from "../../sources/types.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"olas.d.ts","sourceRoot":"","sources":["../../../src/wallet/handlers/olas.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"olas.d.ts","sourceRoot":"","sources":["../../../src/wallet/handlers/olas.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAsBtE"}
|
|
@@ -1,31 +1,23 @@
|
|
|
1
1
|
export async function handleOlasPayment(wallet, agent, task) {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
return { success: true, deliverable: data };
|
|
23
|
-
}
|
|
24
|
-
catch (err) {
|
|
25
|
-
return {
|
|
26
|
-
success: false,
|
|
27
|
-
deliverable: { error: err instanceof Error ? err.message : String(err) },
|
|
28
|
-
};
|
|
29
|
-
}
|
|
2
|
+
// Olas mechs require on-chain interaction via the Mech Marketplace contract.
|
|
3
|
+
// Direct HTTP calls are not supported — the mech-client discovers the off-chain URL
|
|
4
|
+
// from on-chain metadata and handles the full request/delivery lifecycle.
|
|
5
|
+
const mechAddress = agent.nativeId;
|
|
6
|
+
const chain = agent.raw?._chain ?? "gnosis";
|
|
7
|
+
return {
|
|
8
|
+
success: false,
|
|
9
|
+
deliverable: {
|
|
10
|
+
error: "Olas mechs require on-chain interaction",
|
|
11
|
+
mechAddress,
|
|
12
|
+
chain,
|
|
13
|
+
hint: "Install mech-client: pip install mech-client. Then use: mechx request --prompts '<prompt>' --tools openai-gpt-4 --chain-config <chain>",
|
|
14
|
+
docsUrl: "https://docs.olas.network/mech-client/",
|
|
15
|
+
subgraphData: {
|
|
16
|
+
requests: agent.raw?.receivedRequests,
|
|
17
|
+
deliveries: agent.raw?.totalDeliveriesTransactions,
|
|
18
|
+
karma: agent.raw?.karma,
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
};
|
|
30
22
|
}
|
|
31
23
|
//# sourceMappingURL=olas.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"olas.js","sourceRoot":"","sources":["../../../src/wallet/handlers/olas.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"olas.js","sourceRoot":"","sources":["../../../src/wallet/handlers/olas.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAqB,EACrB,KAAmB,EACnB,IAAY;IAEZ,6EAA6E;IAC7E,oFAAoF;IACpF,0EAA0E;IAC1E,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC;IACnC,MAAM,KAAK,GAAI,KAAK,CAAC,GAAW,EAAE,MAAM,IAAI,QAAQ,CAAC;IAErD,OAAO;QACL,OAAO,EAAE,KAAK;QACd,WAAW,EAAE;YACX,KAAK,EAAE,yCAAyC;YAChD,WAAW;YACX,KAAK;YACL,IAAI,EAAE,wIAAwI;YAC9I,OAAO,EAAE,wCAAwC;YACjD,YAAY,EAAE;gBACZ,QAAQ,EAAG,KAAK,CAAC,GAAW,EAAE,gBAAgB;gBAC9C,UAAU,EAAG,KAAK,CAAC,GAAW,EAAE,2BAA2B;gBAC3D,KAAK,EAAG,KAAK,CAAC,GAAW,EAAE,KAAK;aACjC;SACF;KACF,CAAC;AACJ,CAAC"}
|
package/dist/wallet/index.d.ts
CHANGED
|
@@ -4475,12 +4475,12 @@ export declare class KompassWallet {
|
|
|
4475
4475
|
[x: `bytes23[${string}]`]: undefined;
|
|
4476
4476
|
[x: `bytes10[${string}]`]: undefined;
|
|
4477
4477
|
[x: `bytes20[${string}]`]: undefined;
|
|
4478
|
+
[x: `bytes15[${string}]`]: undefined;
|
|
4478
4479
|
[x: `bytes7[${string}]`]: undefined;
|
|
4479
4480
|
[x: `bytes9[${string}]`]: undefined;
|
|
4480
4481
|
[x: `bytes12[${string}]`]: undefined;
|
|
4481
4482
|
[x: `bytes13[${string}]`]: undefined;
|
|
4482
4483
|
[x: `bytes14[${string}]`]: undefined;
|
|
4483
|
-
[x: `bytes15[${string}]`]: undefined;
|
|
4484
4484
|
[x: `bytes16[${string}]`]: undefined;
|
|
4485
4485
|
[x: `bytes17[${string}]`]: undefined;
|
|
4486
4486
|
[x: `bytes18[${string}]`]: undefined;
|
|
@@ -4577,12 +4577,12 @@ export declare class KompassWallet {
|
|
|
4577
4577
|
bytes23?: undefined;
|
|
4578
4578
|
bytes10?: undefined;
|
|
4579
4579
|
bytes20?: undefined;
|
|
4580
|
+
bytes15?: undefined;
|
|
4580
4581
|
bytes7?: undefined;
|
|
4581
4582
|
bytes9?: undefined;
|
|
4582
4583
|
bytes12?: undefined;
|
|
4583
4584
|
bytes13?: undefined;
|
|
4584
4585
|
bytes14?: undefined;
|
|
4585
|
-
bytes15?: undefined;
|
|
4586
4586
|
bytes16?: undefined;
|
|
4587
4587
|
bytes17?: undefined;
|
|
4588
4588
|
bytes18?: undefined;
|
|
@@ -5305,6 +5305,7 @@ export declare class KompassWallet {
|
|
|
5305
5305
|
number: blockTag extends "pending" ? null : bigint;
|
|
5306
5306
|
nonce: blockTag extends "pending" ? null : `0x${string}`;
|
|
5307
5307
|
hash: blockTag extends "pending" ? null : `0x${string}`;
|
|
5308
|
+
gasUsed: bigint;
|
|
5308
5309
|
logsBloom: blockTag extends "pending" ? null : `0x${string}`;
|
|
5309
5310
|
baseFeePerGas: bigint | null;
|
|
5310
5311
|
blobGasUsed: bigint;
|
|
@@ -5312,7 +5313,6 @@ export declare class KompassWallet {
|
|
|
5312
5313
|
excessBlobGas: bigint;
|
|
5313
5314
|
extraData: Hex;
|
|
5314
5315
|
gasLimit: bigint;
|
|
5315
|
-
gasUsed: bigint;
|
|
5316
5316
|
miner: Address;
|
|
5317
5317
|
mixHash: import("viem").Hash;
|
|
5318
5318
|
parentBeaconBlockRoot?: `0x${string}` | undefined;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "kompass-sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.21.0",
|
|
4
4
|
"description": "Get any job done. Universal agent capability discovery + coordination across ACP, MCP, x402, A2A, skills, L402, and ERC-8004.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
package/src/aggregator.ts
CHANGED
|
@@ -187,13 +187,17 @@ export class Aggregator {
|
|
|
187
187
|
// Has pricing info bonus (transparency)
|
|
188
188
|
if (agent.pricing && agent.pricing.model !== "unknown") score += 3;
|
|
189
189
|
|
|
190
|
-
// Has
|
|
190
|
+
// Has callable endpoint bonus
|
|
191
191
|
const endpointCount = Object.values(agent.endpoints).filter(Boolean).length;
|
|
192
192
|
score += endpointCount * 2;
|
|
193
193
|
|
|
194
|
-
//
|
|
195
|
-
|
|
196
|
-
if (
|
|
194
|
+
// Liveness signals — live verified gateways should rank higher in aggregator too
|
|
195
|
+
const src = agent.source as string;
|
|
196
|
+
if (src === "bankr") score += 20;
|
|
197
|
+
if (src === "locus") score += 15;
|
|
198
|
+
if (src === "x402-ecosystem") score += 10;
|
|
199
|
+
if (src === "acp") score += 8;
|
|
200
|
+
if (src === "olas") score += 8;
|
|
197
201
|
|
|
198
202
|
(agent as any)._score = score;
|
|
199
203
|
return agent;
|
package/src/bridge.ts
CHANGED
|
@@ -290,6 +290,59 @@ export class ProtocolBridge {
|
|
|
290
290
|
};
|
|
291
291
|
}
|
|
292
292
|
|
|
293
|
+
// Source-specific handlers — some HTTP agents need custom auth/params
|
|
294
|
+
const source = (agent as any).source ?? "";
|
|
295
|
+
|
|
296
|
+
if (source === "bankr") {
|
|
297
|
+
// Bankr handler uses API key auth, not wallet — wallet param is unused
|
|
298
|
+
const { handleBankrPayment } = await import("./wallet/handlers/bankr.js");
|
|
299
|
+
const { KompassWallet } = await import("./wallet/index.js");
|
|
300
|
+
let wallet;
|
|
301
|
+
try { wallet = KompassWallet.load(); } catch { wallet = KompassWallet.create(); }
|
|
302
|
+
const result = await handleBankrPayment(wallet, agent, options.task);
|
|
303
|
+
return {
|
|
304
|
+
success: result.success,
|
|
305
|
+
protocol: "http",
|
|
306
|
+
agent,
|
|
307
|
+
deliverable: result.deliverable,
|
|
308
|
+
jobId: result.jobId,
|
|
309
|
+
durationMs: Date.now() - start,
|
|
310
|
+
};
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
if (source === "locus") {
|
|
314
|
+
const { handleLocusPayment } = await import("./wallet/handlers/locus.js");
|
|
315
|
+
const { KompassWallet } = await import("./wallet/index.js");
|
|
316
|
+
let wallet;
|
|
317
|
+
try { wallet = KompassWallet.load(); } catch { wallet = KompassWallet.create(); }
|
|
318
|
+
const result = await handleLocusPayment(wallet, agent, options.task);
|
|
319
|
+
return {
|
|
320
|
+
success: result.success,
|
|
321
|
+
protocol: "http",
|
|
322
|
+
agent,
|
|
323
|
+
deliverable: result.deliverable,
|
|
324
|
+
txHash: result.txHash,
|
|
325
|
+
durationMs: Date.now() - start,
|
|
326
|
+
};
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
if (source === "olas") {
|
|
330
|
+
// Olas mechs are on-chain only — no HTTP endpoint
|
|
331
|
+
const { handleOlasPayment } = await import("./wallet/handlers/olas.js");
|
|
332
|
+
const { KompassWallet } = await import("./wallet/index.js");
|
|
333
|
+
let wallet;
|
|
334
|
+
try { wallet = KompassWallet.load(); } catch { wallet = KompassWallet.create(); }
|
|
335
|
+
const result = await handleOlasPayment(wallet, agent, options.task);
|
|
336
|
+
return {
|
|
337
|
+
success: result.success,
|
|
338
|
+
protocol: "http",
|
|
339
|
+
agent,
|
|
340
|
+
deliverable: result.deliverable,
|
|
341
|
+
durationMs: Date.now() - start,
|
|
342
|
+
};
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
// Default HTTP handler
|
|
293
346
|
const res = await fetch(endpoint, {
|
|
294
347
|
method: "POST",
|
|
295
348
|
headers: { "Content-Type": "application/json" },
|
package/src/matching.ts
CHANGED
|
@@ -173,13 +173,13 @@ function multiCriteriaScore(agent: UnifiedAgent): number {
|
|
|
173
173
|
// Agents from sources we KNOW are live gateways (not just registrations)
|
|
174
174
|
switch (agent.source as string) {
|
|
175
175
|
case "bankr":
|
|
176
|
-
score +=
|
|
176
|
+
score += 25; // Bankr is a live gateway, always responds, verified working
|
|
177
177
|
break;
|
|
178
178
|
case "locus":
|
|
179
|
-
score +=
|
|
179
|
+
score += 20; // Locus wrapped APIs are live, verified working
|
|
180
180
|
break;
|
|
181
181
|
case "x402-ecosystem":
|
|
182
|
-
score +=
|
|
182
|
+
score += 18; // 402index verifies health, real payments
|
|
183
183
|
break;
|
|
184
184
|
case "acp":
|
|
185
185
|
score += 8; // ACP agents are registered and active
|
|
@@ -188,9 +188,10 @@ function multiCriteriaScore(agent: UnifiedAgent): number {
|
|
|
188
188
|
score += 8; // Olas mechs have on-chain delivery records
|
|
189
189
|
break;
|
|
190
190
|
case "mcp-registry":
|
|
191
|
-
//
|
|
192
|
-
if
|
|
193
|
-
|
|
191
|
+
// Most MCP servers on Smithery require auth or are offline
|
|
192
|
+
// Only boost if it has a remote endpoint, but still penalize vs verified live sources
|
|
193
|
+
if (hasMcp) score += 0; // Neutral — might work, might not
|
|
194
|
+
else score -= 10; // No remote endpoint = definitely can't call
|
|
194
195
|
break;
|
|
195
196
|
case "erc8004":
|
|
196
197
|
// ERC-8004 is a registry — agents may or may not be live
|
package/src/router.ts
CHANGED
|
@@ -95,9 +95,9 @@ export class CapabilityRouter {
|
|
|
95
95
|
? `${options.task}\n\nContext from previous step:\n${options.context.slice(0, 2000)}`
|
|
96
96
|
: options.task;
|
|
97
97
|
|
|
98
|
-
// 1. Search all sources
|
|
98
|
+
// 1. Search all sources — use high limit to ensure callable agents aren't cut off
|
|
99
99
|
const searchResult = await this.aggregator.search(task, {
|
|
100
|
-
limit:
|
|
100
|
+
limit: 100,
|
|
101
101
|
timeout: options.timeout ?? 15000,
|
|
102
102
|
});
|
|
103
103
|
|
package/src/sources/olas.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Olas Mech Marketplace Source Adapter
|
|
3
3
|
* Queries the Olas marketplace subgraph (The Graph) to discover AI agent mechs.
|
|
4
|
-
* Mechs are autonomous agents that accept
|
|
5
|
-
*
|
|
4
|
+
* Mechs are autonomous agents that accept on-chain requests and return deliverables.
|
|
5
|
+
* Interaction is on-chain via the mech-client CLI or Python SDK — no HTTP API.
|
|
6
6
|
*
|
|
7
7
|
* Subgraph: https://api.subgraph.autonolas.tech/api/proxy/marketplace-{chain}
|
|
8
|
-
* Docs: https://docs.olas.network
|
|
8
|
+
* Docs: https://docs.olas.network/mech-client/
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import type { SourceAdapter, UnifiedAgent, SourceSearchOptions } from "./types.js";
|
|
@@ -15,43 +15,49 @@ const SUBGRAPH_URLS: Record<string, string> = {
|
|
|
15
15
|
base: "https://api.subgraph.autonolas.tech/api/proxy/marketplace-base",
|
|
16
16
|
};
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
// Query the correct "meches" entity with real fields from the subgraph schema
|
|
19
|
+
const MECHES_QUERY = `{
|
|
20
|
+
meches(first: 50, orderBy: receivedRequests, orderDirection: desc) {
|
|
20
21
|
id
|
|
21
22
|
address
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
23
|
+
configHash
|
|
24
|
+
owner
|
|
25
|
+
receivedRequests
|
|
26
|
+
totalDeliveriesTransactions
|
|
27
|
+
selfDeliveredFromReceived
|
|
28
|
+
deliveredByOthersFromReceived
|
|
29
|
+
karma
|
|
30
|
+
maxDeliveryRate
|
|
31
|
+
paymentType
|
|
29
32
|
}
|
|
30
33
|
}`;
|
|
31
34
|
|
|
32
|
-
interface
|
|
35
|
+
interface MechData {
|
|
33
36
|
id: string;
|
|
34
37
|
address: string;
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
38
|
+
configHash: string;
|
|
39
|
+
owner: string;
|
|
40
|
+
receivedRequests: string;
|
|
41
|
+
totalDeliveriesTransactions: string;
|
|
42
|
+
selfDeliveredFromReceived: string;
|
|
43
|
+
deliveredByOthersFromReceived: string;
|
|
44
|
+
karma: string;
|
|
45
|
+
maxDeliveryRate: string | null;
|
|
46
|
+
paymentType: string;
|
|
47
|
+
_chain?: string;
|
|
42
48
|
}
|
|
43
49
|
|
|
44
50
|
// Cache mechs — refresh every 10 minutes
|
|
45
|
-
let mechCache:
|
|
51
|
+
let mechCache: MechData[] | null = null;
|
|
46
52
|
let cacheTime = 0;
|
|
47
53
|
const CACHE_TTL = 10 * 60 * 1000;
|
|
48
54
|
|
|
49
|
-
async function fetchMechs(timeout: number): Promise<
|
|
55
|
+
async function fetchMechs(timeout: number): Promise<MechData[]> {
|
|
50
56
|
if (mechCache && Date.now() - cacheTime < CACHE_TTL) {
|
|
51
57
|
return mechCache;
|
|
52
58
|
}
|
|
53
59
|
|
|
54
|
-
const allMechs:
|
|
60
|
+
const allMechs: MechData[] = [];
|
|
55
61
|
|
|
56
62
|
// Query both Gnosis and Base subgraphs
|
|
57
63
|
for (const [chain, url] of Object.entries(SUBGRAPH_URLS)) {
|
|
@@ -59,17 +65,17 @@ async function fetchMechs(timeout: number): Promise<MechAgent[]> {
|
|
|
59
65
|
const res = await fetch(url, {
|
|
60
66
|
method: "POST",
|
|
61
67
|
headers: { "Content-Type": "application/json" },
|
|
62
|
-
body: JSON.stringify({ query:
|
|
68
|
+
body: JSON.stringify({ query: MECHES_QUERY }),
|
|
63
69
|
signal: AbortSignal.timeout(timeout),
|
|
64
70
|
});
|
|
65
71
|
|
|
66
72
|
if (!res.ok) continue;
|
|
67
73
|
|
|
68
74
|
const json = await res.json();
|
|
69
|
-
const
|
|
75
|
+
const mechs = json.data?.meches ?? [];
|
|
70
76
|
|
|
71
|
-
for (const
|
|
72
|
-
allMechs.push({ ...
|
|
77
|
+
for (const mech of mechs) {
|
|
78
|
+
allMechs.push({ ...mech, _chain: chain });
|
|
73
79
|
}
|
|
74
80
|
} catch {
|
|
75
81
|
// Chain subgraph unavailable, continue with others
|
|
@@ -98,7 +104,6 @@ export const olasAdapter: SourceAdapter = {
|
|
|
98
104
|
if (!query) return mechs.slice(0, limit).map(mapMech);
|
|
99
105
|
|
|
100
106
|
// Score mechs by transaction volume and filter by relevance
|
|
101
|
-
// Since mechs don't have descriptions, match against known tool categories
|
|
102
107
|
const lower = query.toLowerCase();
|
|
103
108
|
const relevant = mechs.filter(() => {
|
|
104
109
|
// Olas mechs handle: predictions, research, analysis, trading signals
|
|
@@ -107,7 +112,7 @@ export const olasAdapter: SourceAdapter = {
|
|
|
107
112
|
});
|
|
108
113
|
|
|
109
114
|
return relevant
|
|
110
|
-
.sort((a, b) => parseInt(b.
|
|
115
|
+
.sort((a, b) => parseInt(b.receivedRequests) - parseInt(a.receivedRequests))
|
|
111
116
|
.slice(0, limit)
|
|
112
117
|
.map(mapMech);
|
|
113
118
|
} catch {
|
|
@@ -120,7 +125,7 @@ export const olasAdapter: SourceAdapter = {
|
|
|
120
125
|
const res = await fetch(SUBGRAPH_URLS.gnosis, {
|
|
121
126
|
method: "POST",
|
|
122
127
|
headers: { "Content-Type": "application/json" },
|
|
123
|
-
body: JSON.stringify({ query: "{
|
|
128
|
+
body: JSON.stringify({ query: "{ globals(first: 1) { id } }" }),
|
|
124
129
|
signal: AbortSignal.timeout(5000),
|
|
125
130
|
});
|
|
126
131
|
return res.ok;
|
|
@@ -130,18 +135,20 @@ export const olasAdapter: SourceAdapter = {
|
|
|
130
135
|
},
|
|
131
136
|
};
|
|
132
137
|
|
|
133
|
-
function mapMech(mech:
|
|
134
|
-
const chain =
|
|
135
|
-
const
|
|
136
|
-
const
|
|
137
|
-
const
|
|
138
|
-
const
|
|
138
|
+
function mapMech(mech: MechData): UnifiedAgent {
|
|
139
|
+
const chain = mech._chain || "gnosis";
|
|
140
|
+
const requests = parseInt(mech.receivedRequests) || 0;
|
|
141
|
+
const totalDeliveries = parseInt(mech.totalDeliveriesTransactions) || 0;
|
|
142
|
+
const selfDelivered = parseInt(mech.selfDeliveredFromReceived) || 0;
|
|
143
|
+
const othersDelivered = parseInt(mech.deliveredByOthersFromReceived) || 0;
|
|
144
|
+
const karma = parseInt(mech.karma) || 0;
|
|
145
|
+
const successRate = requests > 0 ? Math.round(((selfDelivered + othersDelivered) / requests) * 100) : 0;
|
|
139
146
|
|
|
140
147
|
return {
|
|
141
148
|
id: `olas:${chain}:${mech.address}`,
|
|
142
149
|
nativeId: mech.address,
|
|
143
150
|
name: `Olas Mech ${mech.address.slice(0, 8)}...${mech.address.slice(-4)}`,
|
|
144
|
-
description: `Autonomous AI
|
|
151
|
+
description: `Autonomous AI mech on Olas Marketplace (${chain}). ${requests} requests, ${totalDeliveries} deliveries, karma: ${karma}. Accepts on-chain requests via mech-client.`,
|
|
145
152
|
categories: ["ai", "autonomous", "prediction"],
|
|
146
153
|
capabilities: [
|
|
147
154
|
"AI prompt execution",
|
|
@@ -150,22 +157,24 @@ function mapMech(mech: MechAgent): UnifiedAgent {
|
|
|
150
157
|
"On-chain autonomous operation",
|
|
151
158
|
],
|
|
152
159
|
source: "olas" as any,
|
|
153
|
-
|
|
160
|
+
// Olas mechs are on-chain only — no HTTP API
|
|
161
|
+
protocol: "onchain",
|
|
154
162
|
endpoints: {
|
|
155
|
-
|
|
163
|
+
// No HTTP endpoint — interaction is on-chain via mech-client
|
|
164
|
+
http: undefined,
|
|
156
165
|
},
|
|
157
166
|
reputation: {
|
|
158
167
|
score: successRate,
|
|
159
|
-
count:
|
|
168
|
+
count: totalDeliveries,
|
|
160
169
|
source: `olas-${chain}`,
|
|
161
170
|
},
|
|
162
171
|
pricing: {
|
|
163
172
|
model: "per-call",
|
|
164
|
-
amount: "0.01",
|
|
165
|
-
currency: "
|
|
173
|
+
amount: mech.maxDeliveryRate ? (parseInt(mech.maxDeliveryRate) / 1e18).toFixed(6) : "0.01",
|
|
174
|
+
currency: "xDAI",
|
|
166
175
|
},
|
|
167
|
-
verified:
|
|
168
|
-
lastSeen:
|
|
176
|
+
verified: requests > 10,
|
|
177
|
+
lastSeen: requests > 0 ? Date.now() : undefined,
|
|
169
178
|
raw: mech,
|
|
170
179
|
};
|
|
171
180
|
}
|
|
@@ -75,22 +75,24 @@ export async function handleBankrPayment(
|
|
|
75
75
|
const pollData = await pollRes.json();
|
|
76
76
|
const status = pollData.status?.toLowerCase();
|
|
77
77
|
|
|
78
|
-
if (status === "completed"
|
|
78
|
+
if (status === "completed") {
|
|
79
79
|
return {
|
|
80
80
|
success: true,
|
|
81
|
-
deliverable: pollData.
|
|
81
|
+
deliverable: pollData.response ?? pollData.result ?? pollData,
|
|
82
82
|
jobId,
|
|
83
83
|
};
|
|
84
84
|
}
|
|
85
85
|
|
|
86
|
-
if (status === "failed" || status === "
|
|
86
|
+
if (status === "failed" || status === "cancelled") {
|
|
87
87
|
return {
|
|
88
88
|
success: false,
|
|
89
|
-
deliverable: { error: pollData.error ??
|
|
89
|
+
deliverable: { error: pollData.error ?? `Job ${status}`, details: pollData },
|
|
90
90
|
jobId,
|
|
91
91
|
};
|
|
92
92
|
}
|
|
93
93
|
|
|
94
|
+
// "pending" or "processing" — continue polling
|
|
95
|
+
|
|
94
96
|
// Still pending, continue polling
|
|
95
97
|
}
|
|
96
98
|
|
|
@@ -124,9 +124,10 @@ export async function handleLocusPayment(
|
|
|
124
124
|
}
|
|
125
125
|
|
|
126
126
|
const result = await callRes.json();
|
|
127
|
+
// Locus wraps responses in { success: true, data: {...} }
|
|
127
128
|
return {
|
|
128
|
-
success: true,
|
|
129
|
-
deliverable: result,
|
|
129
|
+
success: result.success ?? true,
|
|
130
|
+
deliverable: result.data ?? result,
|
|
130
131
|
};
|
|
131
132
|
}
|
|
132
133
|
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Olas Mech Handler
|
|
3
|
-
*
|
|
3
|
+
* Olas mechs are on-chain agents — requests and deliveries happen via smart contracts.
|
|
4
|
+
* There is no HTTP API. Interaction requires the mech-client CLI/Python SDK
|
|
5
|
+
* or direct on-chain transactions.
|
|
6
|
+
*
|
|
7
|
+
* Docs: https://docs.olas.network/mech-client/
|
|
4
8
|
*/
|
|
5
9
|
import type { KompassWallet } from "../index.js";
|
|
6
10
|
import type { UnifiedAgent } from "../../sources/types.js";
|
|
@@ -10,34 +14,25 @@ export async function handleOlasPayment(
|
|
|
10
14
|
agent: UnifiedAgent,
|
|
11
15
|
task: string,
|
|
12
16
|
): Promise<{ success: boolean; deliverable?: unknown; jobId?: string }> {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
+
// Olas mechs require on-chain interaction via the Mech Marketplace contract.
|
|
18
|
+
// Direct HTTP calls are not supported — the mech-client discovers the off-chain URL
|
|
19
|
+
// from on-chain metadata and handles the full request/delivery lifecycle.
|
|
20
|
+
const mechAddress = agent.nativeId;
|
|
21
|
+
const chain = (agent.raw as any)?._chain ?? "gnosis";
|
|
17
22
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
const data = await res.json();
|
|
36
|
-
return { success: true, deliverable: data };
|
|
37
|
-
} catch (err) {
|
|
38
|
-
return {
|
|
39
|
-
success: false,
|
|
40
|
-
deliverable: { error: err instanceof Error ? err.message : String(err) },
|
|
41
|
-
};
|
|
42
|
-
}
|
|
23
|
+
return {
|
|
24
|
+
success: false,
|
|
25
|
+
deliverable: {
|
|
26
|
+
error: "Olas mechs require on-chain interaction",
|
|
27
|
+
mechAddress,
|
|
28
|
+
chain,
|
|
29
|
+
hint: "Install mech-client: pip install mech-client. Then use: mechx request --prompts '<prompt>' --tools openai-gpt-4 --chain-config <chain>",
|
|
30
|
+
docsUrl: "https://docs.olas.network/mech-client/",
|
|
31
|
+
subgraphData: {
|
|
32
|
+
requests: (agent.raw as any)?.receivedRequests,
|
|
33
|
+
deliveries: (agent.raw as any)?.totalDeliveriesTransactions,
|
|
34
|
+
karma: (agent.raw as any)?.karma,
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
};
|
|
43
38
|
}
|