kompass-sdk 0.14.0 → 0.16.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.
Files changed (60) hide show
  1. package/dist/cli.js +0 -0
  2. package/dist/matching.d.ts.map +1 -1
  3. package/dist/matching.js +8 -0
  4. package/dist/matching.js.map +1 -1
  5. package/dist/sources/acp.d.ts +1 -1
  6. package/dist/sources/acp.d.ts.map +1 -1
  7. package/dist/sources/acp.js +27 -17
  8. package/dist/sources/acp.js.map +1 -1
  9. package/dist/sources/bankr.d.ts +8 -0
  10. package/dist/sources/bankr.d.ts.map +1 -0
  11. package/dist/sources/bankr.js +79 -0
  12. package/dist/sources/bankr.js.map +1 -0
  13. package/dist/sources/index.d.ts.map +1 -1
  14. package/dist/sources/index.js +6 -0
  15. package/dist/sources/index.js.map +1 -1
  16. package/dist/sources/locus.d.ts +12 -0
  17. package/dist/sources/locus.d.ts.map +1 -0
  18. package/dist/sources/locus.js +134 -0
  19. package/dist/sources/locus.js.map +1 -0
  20. package/dist/sources/olas.d.ts +12 -0
  21. package/dist/sources/olas.d.ts.map +1 -0
  22. package/dist/sources/olas.js +143 -0
  23. package/dist/sources/olas.js.map +1 -0
  24. package/dist/sources/openserv.d.ts +8 -0
  25. package/dist/sources/openserv.d.ts.map +1 -0
  26. package/dist/sources/openserv.js +76 -0
  27. package/dist/sources/openserv.js.map +1 -0
  28. package/dist/sources/types.d.ts +1 -1
  29. package/dist/sources/types.d.ts.map +1 -1
  30. package/dist/wallet/bridge.d.ts +1 -0
  31. package/dist/wallet/bridge.d.ts.map +1 -1
  32. package/dist/wallet/bridge.js +31 -5
  33. package/dist/wallet/bridge.js.map +1 -1
  34. package/dist/wallet/handlers/acp.d.ts.map +1 -1
  35. package/dist/wallet/handlers/acp.js +59 -3
  36. package/dist/wallet/handlers/acp.js.map +1 -1
  37. package/dist/wallet/handlers/bankr.d.ts +13 -0
  38. package/dist/wallet/handlers/bankr.d.ts.map +1 -0
  39. package/dist/wallet/handlers/bankr.js +88 -0
  40. package/dist/wallet/handlers/bankr.js.map +1 -0
  41. package/dist/wallet/handlers/locus.d.ts +21 -0
  42. package/dist/wallet/handlers/locus.d.ts.map +1 -0
  43. package/dist/wallet/handlers/locus.js +220 -0
  44. package/dist/wallet/handlers/locus.js.map +1 -0
  45. package/dist/wallet/payment-router.d.ts.map +1 -1
  46. package/dist/wallet/payment-router.js +12 -0
  47. package/dist/wallet/payment-router.js.map +1 -1
  48. package/package.json +1 -1
  49. package/src/matching.ts +9 -0
  50. package/src/sources/acp.ts +29 -20
  51. package/src/sources/bankr.ts +87 -0
  52. package/src/sources/index.ts +6 -0
  53. package/src/sources/locus.ts +156 -0
  54. package/src/sources/olas.ts +171 -0
  55. package/src/sources/types.ts +4 -1
  56. package/src/wallet/bridge.ts +33 -6
  57. package/src/wallet/handlers/acp.ts +69 -3
  58. package/src/wallet/handlers/bankr.ts +108 -0
  59. package/src/wallet/handlers/locus.ts +262 -0
  60. package/src/wallet/payment-router.ts +14 -0
package/dist/cli.js CHANGED
File without changes
@@ -1 +1 @@
1
- {"version":3,"file":"matching.d.ts","sourceRoot":"","sources":["../src/matching.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAIvD,UAAU,YAAY;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AA8BD,iBAAS,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CA0BhD;AAuFD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE;QACN,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,aAAa,EAAE,MAAM,CAAC;QACtB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,WAAW,EAAE,CAiB/E;AAED,OAAO,EAAE,WAAW,EAAE,KAAK,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"matching.d.ts","sourceRoot":"","sources":["../src/matching.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAIvD,UAAU,YAAY;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AA8BD,iBAAS,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CA0BhD;AAgGD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE;QACN,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,aAAa,EAAE,MAAM,CAAC;QACtB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,WAAW,EAAE,CAiB/E;AAED,OAAO,EAAE,WAAW,EAAE,KAAK,YAAY,EAAE,CAAC"}
package/dist/matching.js CHANGED
@@ -115,6 +115,14 @@ function multiCriteriaScore(agent) {
115
115
  // Endpoint richness (more protocols = more interoperable)
116
116
  const endpointCount = Object.values(agent.endpoints).filter(Boolean).length;
117
117
  score += endpointCount * 2;
118
+ // MCP servers with remote endpoints are directly callable — boost them
119
+ // They don't have reputation data so they'd otherwise rank too low
120
+ if (agent.protocol === "mcp" && agent.endpoints.mcp) {
121
+ score += 8; // Callable remote MCP server bonus
122
+ }
123
+ // Free tools get a small accessibility bonus (no wallet needed)
124
+ if (agent.pricing?.model === "free")
125
+ score += 3;
118
126
  // Recency
119
127
  if (agent.lastSeen) {
120
128
  const hoursSince = (Date.now() - agent.lastSeen) / (1000 * 60 * 60);
@@ -1 +1 @@
1
- {"version":3,"file":"matching.js","sourceRoot":"","sources":["../src/matching.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAcH,MAAM,eAAe,GAA6B;IAChD,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC;IACnG,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC;IAClF,OAAO,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC;IAC/E,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC;IACrE,OAAO,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC;IAC7E,WAAW,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,UAAU,CAAC;IACjF,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,CAAC;IAC9D,MAAM,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC;CAC5D,CAAC;AAEF,MAAM,iBAAiB,GAA6B;IAClD,IAAI,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,CAAC;IAC1D,GAAG,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,CAAC;IACjD,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,CAAC;IAC/C,GAAG,EAAE,CAAC,KAAK,EAAE,gBAAgB,EAAE,QAAQ,CAAC;IACxC,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC;CAC/C,CAAC;AAEF,MAAM,cAAc,GAA6B;IAC/C,IAAI,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC;IAC1B,QAAQ,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,SAAS,CAAC;IACxC,MAAM,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC;IACzB,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC;IAC9B,QAAQ,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC;IAC7B,OAAO,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEF,SAAS,WAAW,CAAC,KAAa;IAChC,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAElC,IAAI,MAAM,GAAkB,IAAI,CAAC;IACjC,KAAK,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;QAC5D,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5C,MAAM,GAAG,CAAC,CAAC;YACX,MAAM;QACR,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC;SAC5C,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAExE,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC;SAChD,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;SACjE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAEnB,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC;SAC1C,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;SACjE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAEnB,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAE/D,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAC1D,CAAC;AAED,SAAS,eAAe,CAAC,KAAmB,EAAE,MAAoB;IAChE,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,eAAe;IACf,IAAI,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;QAAE,KAAK,IAAI,EAAE,CAAC;IAE3E,yBAAyB;IACzB,MAAM,SAAS,GAAG,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;IACnG,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACpC,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,KAAK,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,iBAAiB;IACjB,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;YAAE,KAAK,IAAI,EAAE,CAAC;IAC7D,CAAC;IAED,eAAe;IACf,IAAI,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,KAAK,IAAI,MAAM,CAAC,QAAQ;YAAE,KAAK,IAAI,EAAE,CAAC;;YACrC,KAAK,IAAI,EAAE,CAAC,CAAC,uBAAuB;IAC3C,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,4DAA4D;AAE5D,SAAS,SAAS,CAAC,KAAmB,EAAE,UAAoB;IAC1D,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;IAC7H,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC/B,MAAM,SAAS,GAAG,EAAE,CAAC,CAAC,sBAAsB;IAC5C,MAAM,EAAE,GAAG,GAAG,CAAC;IACf,MAAM,CAAC,GAAG,IAAI,CAAC;IAEf,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;QAC3D,IAAI,EAAE,KAAK,CAAC;YAAE,SAAS;QAEvB,kBAAkB;QAClB,MAAM,SAAS,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAChC,MAAM,WAAW,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;QACjE,KAAK,IAAI,SAAS,GAAG,WAAW,CAAC;IACnC,CAAC;IAED,OAAO,KAAK,GAAG,EAAE,CAAC,CAAC,WAAW;AAChC,CAAC;AAED,4DAA4D;AAE5D,SAAS,kBAAkB,CAAC,KAAmB;IAC7C,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,aAAa;IACb,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACrB,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC;QACpD,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,oBAAoB;IACpB,IAAI,KAAK,CAAC,QAAQ;QAAE,KAAK,IAAI,CAAC,CAAC;IAE/B,uBAAuB;IACvB,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS;QAAE,KAAK,IAAI,CAAC,CAAC;IAEnE,0DAA0D;IAC1D,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IAC5E,KAAK,IAAI,aAAa,GAAG,CAAC,CAAC;IAE3B,UAAU;IACV,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACnB,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QACpE,IAAI,UAAU,GAAG,CAAC;YAAE,KAAK,IAAI,CAAC,CAAC;aAC1B,IAAI,UAAU,GAAG,EAAE;YAAE,KAAK,IAAI,CAAC,CAAC;aAChC,IAAI,UAAU,GAAG,GAAG;YAAE,KAAK,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAcD,MAAM,UAAU,UAAU,CAAC,MAAsB,EAAE,KAAa;IAC9D,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEhF,OAAO,MAAM;SACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACb,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,UAAU,GAAG,IAAI,GAAG,KAAK,CAAC;QAExC,OAAO;YACL,KAAK;YACL,MAAM,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE;SAC1D,CAAC;IACJ,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACrD,CAAC;AAED,OAAO,EAAE,WAAW,EAAqB,CAAC"}
1
+ {"version":3,"file":"matching.js","sourceRoot":"","sources":["../src/matching.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Virtuals ACP Source Adapter
3
- * Searches the ACP marketplace via CLI (most reliable method)
3
+ * Searches the ACP marketplace via HTTP API at acpx.virtuals.gg
4
4
  */
5
5
  import type { SourceAdapter } from "./types.js";
6
6
  export declare const acpAdapter: SourceAdapter;
@@ -1 +1 @@
1
- {"version":3,"file":"acp.d.ts","sourceRoot":"","sources":["../../src/sources/acp.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAqC,MAAM,YAAY,CAAC;AAInF,eAAO,MAAM,UAAU,EAAE,aA6BxB,CAAC"}
1
+ {"version":3,"file":"acp.d.ts","sourceRoot":"","sources":["../../src/sources/acp.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAqC,MAAM,YAAY,CAAC;AAInF,eAAO,MAAM,UAAU,EAAE,aAwCxB,CAAC"}
@@ -1,17 +1,29 @@
1
1
  /**
2
2
  * Virtuals ACP Source Adapter
3
- * Searches the ACP marketplace via CLI (most reliable method)
3
+ * Searches the ACP marketplace via HTTP API at acpx.virtuals.gg
4
4
  */
5
- import { execSync } from "child_process";
6
- const ACP_CLI_PATH = "/tmp/openclaw-acp";
5
+ const ACP_API = "https://acpx.virtuals.gg/api/agents";
7
6
  export const acpAdapter = {
8
7
  name: "acp",
9
8
  displayName: "Virtuals ACP Marketplace",
10
9
  async search(query, options) {
10
+ const limit = options?.limit ?? 20;
11
+ const timeout = options?.timeout ?? 15000;
11
12
  try {
12
- const result = execSync(`cd ${ACP_CLI_PATH} && npx acp browse "${query}" --json 2>/dev/null`, { timeout: options?.timeout ?? 30000, encoding: "utf-8" });
13
- const agents = JSON.parse(result);
14
- return agents.slice(0, options?.limit ?? 50).map(mapAcpAgent);
13
+ const url = new URL(ACP_API);
14
+ if (query)
15
+ url.searchParams.set("q", query);
16
+ url.searchParams.set("limit", String(limit));
17
+ const res = await fetch(url.toString(), {
18
+ signal: AbortSignal.timeout(timeout),
19
+ });
20
+ if (!res.ok)
21
+ return [];
22
+ const json = await res.json();
23
+ const agents = json.data ?? json.results ?? json;
24
+ if (!Array.isArray(agents))
25
+ return [];
26
+ return agents.slice(0, limit).map(mapAcpAgent);
15
27
  }
16
28
  catch {
17
29
  return [];
@@ -19,11 +31,10 @@ export const acpAdapter = {
19
31
  },
20
32
  async ping() {
21
33
  try {
22
- execSync(`cd ${ACP_CLI_PATH} && npx acp whoami --json 2>/dev/null`, {
23
- timeout: 10000,
24
- encoding: "utf-8",
34
+ const res = await fetch(`${ACP_API}?limit=1`, {
35
+ signal: AbortSignal.timeout(5000),
25
36
  });
26
- return true;
37
+ return res.ok;
27
38
  }
28
39
  catch {
29
40
  return false;
@@ -31,7 +42,7 @@ export const acpAdapter = {
31
42
  },
32
43
  };
33
44
  function mapAcpAgent(agent) {
34
- const offerings = agent.jobs ?? agent.jobOfferings ?? [];
45
+ const offerings = agent.jobs ?? agent.jobOfferings ?? agent.offerings ?? [];
35
46
  const topOffering = offerings[0];
36
47
  return {
37
48
  id: `acp:${agent.id ?? agent.walletAddress}`,
@@ -39,7 +50,7 @@ function mapAcpAgent(agent) {
39
50
  name: agent.name ?? "Unknown ACP Agent",
40
51
  description: agent.description ?? offerings.map((o) => o.description).join(". ") ?? "",
41
52
  categories: extractAcpCategories(agent, offerings),
42
- capabilities: offerings.map((o) => `${o.name}: ${o.description ?? ""}`),
53
+ capabilities: offerings.map((o) => `${o.name}: ${o.description ?? ""}${o.requirement ? ` [expects: ${typeof o.requirement === 'object' ? Object.keys(o.requirement).join(', ') : o.requirement}]` : ""}`),
43
54
  source: "acp",
44
55
  protocol: "acp",
45
56
  endpoints: {
@@ -49,18 +60,17 @@ function mapAcpAgent(agent) {
49
60
  },
50
61
  },
51
62
  reputation: agent.metrics ? {
52
- score: agent.metrics.successRate ?? 0,
53
- count: agent.metrics.completedJobs ?? agent.metrics.successfulJobCount ?? 0,
63
+ score: agent.metrics.successRate ?? agent.successRate ?? 0,
64
+ count: agent.metrics.successfulJobCount ?? agent.successfulJobCount ?? 0,
54
65
  source: "acp",
55
66
  } : undefined,
56
- // Surface online status — skip offline agents in ranking
57
67
  lastSeen: agent.metrics?.isOnline ? Date.now() : (agent.metrics?.minsFromLastOnlineTime ? Date.now() - agent.metrics.minsFromLastOnlineTime * 60000 : undefined),
58
68
  pricing: topOffering ? {
59
69
  model: "escrow",
60
- amount: String(topOffering.price ?? "0"),
70
+ amount: String(topOffering.price ?? topOffering.priceUsd ?? "0"),
61
71
  currency: "USDC",
62
72
  } : undefined,
63
- verified: true, // ACP agents are registered
73
+ verified: true,
64
74
  raw: agent,
65
75
  };
66
76
  }
@@ -1 +1 @@
1
- {"version":3,"file":"acp.js","sourceRoot":"","sources":["../../src/sources/acp.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,MAAM,YAAY,GAAG,mBAAmB,CAAC;AAEzC,MAAM,CAAC,MAAM,UAAU,GAAkB;IACvC,IAAI,EAAE,KAAK;IACX,WAAW,EAAE,0BAA0B;IAEvC,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,OAA6B;QACvD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,QAAQ,CACrB,MAAM,YAAY,uBAAuB,KAAK,sBAAsB,EACpE,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAC1D,CAAC;YAEF,MAAM,MAAM,GAAU,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACzC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAChE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC;YACH,QAAQ,CAAC,MAAM,YAAY,uCAAuC,EAAE;gBAClE,OAAO,EAAE,KAAK;gBACd,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;CACF,CAAC;AAEF,SAAS,WAAW,CAAC,KAAU;IAC7B,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,YAAY,IAAI,EAAE,CAAC;IACzD,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAEjC,OAAO;QACL,EAAE,EAAE,OAAO,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,aAAa,EAAE;QAC5C,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,aAAa,CAAC;QACjD,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,mBAAmB;QACvC,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;QAC3F,UAAU,EAAE,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC;QAClD,YAAY,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;QAC5E,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE;YACT,GAAG,EAAE;gBACH,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,eAAe;gBAC3D,aAAa,EAAE,KAAK,CAAC,aAAa;aACnC;SACF;QACD,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAC1B,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC;YACrC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,aAAa,IAAI,KAAK,CAAC,OAAO,CAAC,kBAAkB,IAAI,CAAC;YAC3E,MAAM,EAAE,KAAK;SACd,CAAC,CAAC,CAAC,SAAS;QACb,yDAAyD;QACzD,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,sBAAsB,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAChK,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;YACrB,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,KAAK,IAAI,GAAG,CAAC;YACxC,QAAQ,EAAE,MAAM;SACjB,CAAC,CAAC,CAAC,SAAS;QACb,QAAQ,EAAE,IAAI,EAAE,4BAA4B;QAC5C,GAAG,EAAE,KAAK;KACX,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAU,EAAE,SAAgB;IACxD,MAAM,IAAI,GAAG;QACX,KAAK,CAAC,IAAI;QACV,KAAK,CAAC,WAAW;QACjB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;KAC3D,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IAE1B,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,IAAI,CAAC,KAAK,CAAC,gCAAgC,CAAC;QAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpE,IAAI,IAAI,CAAC,KAAK,CAAC,6BAA6B,CAAC;QAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjE,IAAI,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC;QAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5D,IAAI,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC;QAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzD,IAAI,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC;QAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClE,IAAI,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC;QAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC/D,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAC9C,CAAC"}
1
+ {"version":3,"file":"acp.js","sourceRoot":"","sources":["../../src/sources/acp.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,OAAO,GAAG,qCAAqC,CAAC;AAEtD,MAAM,CAAC,MAAM,UAAU,GAAkB;IACvC,IAAI,EAAE,KAAK;IACX,WAAW,EAAE,0BAA0B;IAEvC,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,OAA6B;QACvD,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,KAAK,CAAC;QAE1C,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;YAC7B,IAAI,KAAK;gBAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC5C,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAE7C,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;gBACtC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC;aACrC,CAAC,CAAC;YAEH,IAAI,CAAC,GAAG,CAAC,EAAE;gBAAE,OAAO,EAAE,CAAC;YAEvB,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC;YAEjD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;gBAAE,OAAO,EAAE,CAAC;YAEtC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,UAAU,EAAE;gBAC5C,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;aAClC,CAAC,CAAC;YACH,OAAO,GAAG,CAAC,EAAE,CAAC;QAChB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;CACF,CAAC;AAEF,SAAS,WAAW,CAAC,KAAU;IAC7B,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;IAC5E,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAEjC,OAAO;QACL,EAAE,EAAE,OAAO,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,aAAa,EAAE;QAC5C,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,aAAa,CAAC;QACjD,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,mBAAmB;QACvC,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;QAC3F,UAAU,EAAE,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC;QAClD,YAAY,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,WAAW,IAAI,EAAE,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC9M,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE;YACT,GAAG,EAAE;gBACH,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,eAAe;gBAC3D,aAAa,EAAE,KAAK,CAAC,aAAa;aACnC;SACF;QACD,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAC1B,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC;YAC1D,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,kBAAkB,IAAI,KAAK,CAAC,kBAAkB,IAAI,CAAC;YACxE,MAAM,EAAE,KAAK;SACd,CAAC,CAAC,CAAC,SAAS;QACb,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,sBAAsB,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAChK,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;YACrB,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,KAAK,IAAI,WAAW,CAAC,QAAQ,IAAI,GAAG,CAAC;YAChE,QAAQ,EAAE,MAAM;SACjB,CAAC,CAAC,CAAC,SAAS;QACb,QAAQ,EAAE,IAAI;QACd,GAAG,EAAE,KAAK;KACX,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAU,EAAE,SAAgB;IACxD,MAAM,IAAI,GAAG;QACX,KAAK,CAAC,IAAI;QACV,KAAK,CAAC,WAAW;QACjB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;KAC3D,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IAE1B,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,IAAI,CAAC,KAAK,CAAC,gCAAgC,CAAC;QAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpE,IAAI,IAAI,CAAC,KAAK,CAAC,6BAA6B,CAAC;QAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjE,IAAI,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC;QAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5D,IAAI,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC;QAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzD,IAAI,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC;QAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClE,IAAI,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC;QAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC/D,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAC9C,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Bankr Source Adapter
3
+ * Searches Bankr LLM Gateway for trading/DeFi agent services
4
+ * API at https://api.bankr.bot
5
+ */
6
+ import type { SourceAdapter } from "./types.js";
7
+ export declare const bankrAdapter: SourceAdapter;
8
+ //# sourceMappingURL=bankr.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bankr.d.ts","sourceRoot":"","sources":["../../src/sources/bankr.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAqC,MAAM,YAAY,CAAC;AAInF,eAAO,MAAM,YAAY,EAAE,aAqD1B,CAAC"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Bankr Source Adapter
3
+ * Searches Bankr LLM Gateway for trading/DeFi agent services
4
+ * API at https://api.bankr.bot
5
+ */
6
+ const BANKR_API = "https://api.bankr.bot";
7
+ export const bankrAdapter = {
8
+ name: "bankr",
9
+ displayName: "Bankr Trading Gateway",
10
+ async search(query, options) {
11
+ const limit = options?.limit ?? 20;
12
+ const timeout = options?.timeout ?? 10000;
13
+ try {
14
+ const apiKey = process.env.BANKR_API_KEY;
15
+ if (!apiKey)
16
+ return [];
17
+ const headers = {
18
+ "Content-Type": "application/json",
19
+ "X-API-Key": apiKey,
20
+ };
21
+ const url = new URL(`${BANKR_API}/agents`);
22
+ if (query)
23
+ url.searchParams.set("q", query);
24
+ url.searchParams.set("limit", String(limit));
25
+ const res = await fetch(url.toString(), {
26
+ headers,
27
+ signal: AbortSignal.timeout(timeout),
28
+ });
29
+ if (!res.ok)
30
+ return [];
31
+ const data = await res.json();
32
+ const agents = data.agents ?? data.data ?? data.results ?? data;
33
+ if (!Array.isArray(agents))
34
+ return [];
35
+ return agents.slice(0, limit).map(mapBankrAgent);
36
+ }
37
+ catch {
38
+ return [];
39
+ }
40
+ },
41
+ async ping() {
42
+ try {
43
+ const res = await fetch(`${BANKR_API}/agent/prompt`, {
44
+ method: "POST",
45
+ headers: { "Content-Type": "application/json" },
46
+ body: JSON.stringify({ prompt: "ping" }),
47
+ signal: AbortSignal.timeout(5000),
48
+ });
49
+ // 401 means the API is alive, just needs auth
50
+ return res.status === 401 || res.ok;
51
+ }
52
+ catch {
53
+ return false;
54
+ }
55
+ },
56
+ };
57
+ function mapBankrAgent(agent) {
58
+ return {
59
+ id: `bankr:${agent.id ?? agent.name ?? agent.slug}`,
60
+ nativeId: agent.id ?? agent.slug ?? "",
61
+ name: agent.name ?? "Bankr Agent",
62
+ description: agent.description ?? "",
63
+ categories: agent.categories ?? ["defi", "trading"],
64
+ capabilities: agent.capabilities ?? [agent.description ?? ""].filter(Boolean),
65
+ source: "bankr",
66
+ protocol: "http",
67
+ endpoints: {
68
+ http: agent.endpoint ?? `${BANKR_API}/agent/prompt`,
69
+ },
70
+ pricing: {
71
+ model: agent.pricing?.model ?? "per-call",
72
+ amount: agent.pricing?.amount ?? "0.01",
73
+ currency: agent.pricing?.currency ?? "USDC",
74
+ },
75
+ verified: agent.verified ?? true,
76
+ raw: agent,
77
+ };
78
+ }
79
+ //# sourceMappingURL=bankr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bankr.js","sourceRoot":"","sources":["../../src/sources/bankr.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sources/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAWjD,MAAM,WAAW,oBAAoB;IACnC,wDAAwD;IACxD,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,mCAAmC;IACnC,cAAc,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC;IACzC,6CAA6C;IAC7C,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,wBAAgB,gBAAgB,CAAC,MAAM,CAAC,EAAE,oBAAoB,GAAG,aAAa,EAAE,CAuB/E;AAED,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sources/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAcjD,MAAM,WAAW,oBAAoB;IACnC,wDAAwD;IACxD,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,mCAAmC;IACnC,cAAc,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC;IACzC,6CAA6C;IAC7C,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,wBAAgB,gBAAgB,CAAC,MAAM,CAAC,EAAE,oBAAoB,GAAG,aAAa,EAAE,CA0B/E;AAED,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,YAAY,CAAC"}
@@ -11,6 +11,9 @@ import { a2aWellknownAdapter } from "./a2a-wellknown.js";
11
11
  import { l402DirectoryAdapter } from "./l402-directory.js";
12
12
  import { adpAdapter } from "./adp.js";
13
13
  import { skillsAdapter } from "./skills.js";
14
+ import { bankrAdapter } from "./bankr.js";
15
+ import { locusAdapter } from "./locus.js";
16
+ import { olasAdapter } from "./olas.js";
14
17
  export function createAllSources(config) {
15
18
  const sources = [
16
19
  mcpRegistryAdapter,
@@ -21,6 +24,9 @@ export function createAllSources(config) {
21
24
  l402DirectoryAdapter,
22
25
  adpAdapter,
23
26
  skillsAdapter,
27
+ bankrAdapter,
28
+ locusAdapter,
29
+ olasAdapter,
24
30
  ];
25
31
  // Add Kompass registry if config provided
26
32
  if (config?.kompassConfig) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sources/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAW5C,MAAM,UAAU,gBAAgB,CAAC,MAA6B;IAC5D,MAAM,OAAO,GAAoB;QAC/B,kBAAkB;QAClB,UAAU;QACV,oBAAoB;QACpB,oBAAoB,CAAC,MAAM,EAAE,cAAc,IAAI,cAAc,CAAC;QAC9D,mBAAmB;QACnB,oBAAoB;QACpB,UAAU;QACV,aAAa;KACd,CAAC;IAEF,0CAA0C;IAC1C,IAAI,MAAM,EAAE,aAAa,EAAE,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,yCAAyC;IACzC,IAAI,MAAM,EAAE,cAAc,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,cAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sources/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAWxC,MAAM,UAAU,gBAAgB,CAAC,MAA6B;IAC5D,MAAM,OAAO,GAAoB;QAC/B,kBAAkB;QAClB,UAAU;QACV,oBAAoB;QACpB,oBAAoB,CAAC,MAAM,EAAE,cAAc,IAAI,cAAc,CAAC;QAC9D,mBAAmB;QACnB,oBAAoB;QACpB,UAAU;QACV,aAAa;QACb,YAAY;QACZ,YAAY;QACZ,WAAW;KACZ,CAAC;IAEF,0CAA0C;IAC1C,IAAI,MAAM,EAAE,aAAa,EAAE,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,yCAAyC;IACzC,IAAI,MAAM,EAAE,cAAc,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,cAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Locus Wrapped API Source Adapter
3
+ * Fetches Locus's live API catalog and indexes 50+ pay-per-use providers
4
+ * as discoverable capabilities. Each wrapped API becomes a searchable agent.
5
+ * Agents pay per-call via USDC on Base — no upstream API keys needed.
6
+ *
7
+ * Docs: https://beta.paywithlocus.com/skill.md
8
+ * Live index: https://beta.paywithlocus.com/wapi/index.md
9
+ */
10
+ import type { SourceAdapter } from "./types.js";
11
+ export declare const locusAdapter: SourceAdapter;
12
+ //# sourceMappingURL=locus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locus.d.ts","sourceRoot":"","sources":["../../src/sources/locus.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAqC,MAAM,YAAY,CAAC;AAqEnF,eAAO,MAAM,YAAY,EAAE,aA4C1B,CAAC"}
@@ -0,0 +1,134 @@
1
+ /**
2
+ * Locus Wrapped API Source Adapter
3
+ * Fetches Locus's live API catalog and indexes 50+ pay-per-use providers
4
+ * as discoverable capabilities. Each wrapped API becomes a searchable agent.
5
+ * Agents pay per-call via USDC on Base — no upstream API keys needed.
6
+ *
7
+ * Docs: https://beta.paywithlocus.com/skill.md
8
+ * Live index: https://beta.paywithlocus.com/wapi/index.md
9
+ */
10
+ const LOCUS_API = "https://beta-api.paywithlocus.com/api";
11
+ const WAPI_INDEX_URL = "https://beta.paywithlocus.com/wapi/index.md";
12
+ // Cache fetched providers — refresh every 10 minutes
13
+ let providerCache = null;
14
+ let cacheTime = 0;
15
+ const CACHE_TTL = 10 * 60 * 1000;
16
+ /**
17
+ * Parse the live markdown index from Locus into structured provider data.
18
+ * The index is a markdown table with columns: Provider, Category, Endpoints, Description
19
+ */
20
+ function parseMarkdownIndex(md) {
21
+ const providers = [];
22
+ const lines = md.split("\n");
23
+ for (const line of lines) {
24
+ // Match table rows: | [Provider Name](url) | Category | Endpoints | Description |
25
+ const match = line.match(/^\| \[([^\]]+)\]\(https:\/\/[^)]*\/wapi\/([^.]+)\.md\)\s*\|\s*([^|]+)\|\s*([^|]+)\|\s*([^|]+)\|/);
26
+ if (match) {
27
+ providers.push({
28
+ name: match[1].trim(),
29
+ slug: match[2].trim(),
30
+ category: match[3].trim().toLowerCase(),
31
+ endpoints: match[4].trim(),
32
+ description: match[5].trim(),
33
+ });
34
+ }
35
+ }
36
+ return providers;
37
+ }
38
+ async function fetchProviders(timeout) {
39
+ if (providerCache && Date.now() - cacheTime < CACHE_TTL) {
40
+ return providerCache;
41
+ }
42
+ try {
43
+ const res = await fetch(WAPI_INDEX_URL, {
44
+ signal: AbortSignal.timeout(timeout),
45
+ });
46
+ if (!res.ok)
47
+ return providerCache ?? [];
48
+ const md = await res.text();
49
+ const parsed = parseMarkdownIndex(md);
50
+ if (parsed.length > 0) {
51
+ providerCache = parsed;
52
+ cacheTime = Date.now();
53
+ }
54
+ return providerCache ?? [];
55
+ }
56
+ catch {
57
+ return providerCache ?? [];
58
+ }
59
+ }
60
+ export const locusAdapter = {
61
+ name: "locus",
62
+ displayName: "Locus Wrapped APIs",
63
+ async search(query, options) {
64
+ const limit = options?.limit ?? 20;
65
+ const timeout = options?.timeout ?? 10000;
66
+ const lower = query.toLowerCase();
67
+ const terms = lower.split(/\s+/).filter(t => t.length > 2);
68
+ const providers = await fetchProviders(timeout);
69
+ // Score each provider by relevance
70
+ const scored = providers.map(provider => {
71
+ let score = 0;
72
+ const searchText = `${provider.name} ${provider.description} ${provider.category} ${provider.endpoints}`.toLowerCase();
73
+ for (const term of terms) {
74
+ if (provider.name.toLowerCase().includes(term))
75
+ score += 5;
76
+ if (provider.description.toLowerCase().includes(term))
77
+ score += 3;
78
+ if (provider.endpoints.toLowerCase().includes(term))
79
+ score += 2;
80
+ if (provider.category.includes(term))
81
+ score += 4;
82
+ if (searchText.includes(term))
83
+ score += 1;
84
+ }
85
+ return { provider, score };
86
+ })
87
+ .filter(s => s.score > 0)
88
+ .sort((a, b) => b.score - a.score)
89
+ .slice(0, limit);
90
+ return scored.map(s => mapLocusProvider(s.provider));
91
+ },
92
+ async ping() {
93
+ try {
94
+ const res = await fetch(WAPI_INDEX_URL, {
95
+ signal: AbortSignal.timeout(5000),
96
+ });
97
+ return res.ok;
98
+ }
99
+ catch {
100
+ return false;
101
+ }
102
+ },
103
+ };
104
+ function mapLocusProvider(provider) {
105
+ const endpointList = provider.endpoints.split(",").map(e => e.trim()).slice(0, 5);
106
+ return {
107
+ id: `locus:${provider.slug}`,
108
+ nativeId: provider.slug,
109
+ name: `${provider.name} (via Locus)`,
110
+ description: `${provider.description} Pay-per-use via USDC — no API key needed.`,
111
+ categories: [provider.category.split(" / ")[0].toLowerCase(), "api", "pay-per-use"],
112
+ capabilities: endpointList.map(e => `${provider.name}: ${e}`),
113
+ source: "locus",
114
+ protocol: "http",
115
+ endpoints: {
116
+ http: `${LOCUS_API}/wrapped/${provider.slug}`,
117
+ },
118
+ pricing: {
119
+ model: "per-call",
120
+ amount: "0.01",
121
+ currency: "USDC",
122
+ },
123
+ verified: true,
124
+ lastSeen: Date.now(),
125
+ raw: {
126
+ type: "locus-wrapped-api",
127
+ provider: provider.slug,
128
+ category: provider.category,
129
+ endpoints: endpointList,
130
+ allEndpoints: provider.endpoints,
131
+ },
132
+ };
133
+ }
134
+ //# sourceMappingURL=locus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locus.js","sourceRoot":"","sources":["../../src/sources/locus.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Olas Mech Marketplace Source Adapter
3
+ * Queries the Olas marketplace subgraph (The Graph) to discover AI agent mechs.
4
+ * Mechs are autonomous agents that accept prompts and return deliverables.
5
+ * Supports Gnosis, Base, Polygon, Optimism chains.
6
+ *
7
+ * Subgraph: https://api.subgraph.autonolas.tech/api/proxy/marketplace-{chain}
8
+ * Docs: https://docs.olas.network
9
+ */
10
+ import type { SourceAdapter } from "./types.js";
11
+ export declare const olasAdapter: SourceAdapter;
12
+ //# sourceMappingURL=olas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"olas.d.ts","sourceRoot":"","sources":["../../src/sources/olas.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAqC,MAAM,YAAY,CAAC;AA4EnF,eAAO,MAAM,WAAW,EAAE,aA4CzB,CAAC"}
@@ -0,0 +1,143 @@
1
+ /**
2
+ * Olas Mech Marketplace Source Adapter
3
+ * Queries the Olas marketplace subgraph (The Graph) to discover AI agent mechs.
4
+ * Mechs are autonomous agents that accept prompts and return deliverables.
5
+ * Supports Gnosis, Base, Polygon, Optimism chains.
6
+ *
7
+ * Subgraph: https://api.subgraph.autonolas.tech/api/proxy/marketplace-{chain}
8
+ * Docs: https://docs.olas.network
9
+ */
10
+ const SUBGRAPH_URLS = {
11
+ gnosis: "https://api.subgraph.autonolas.tech/api/proxy/marketplace-gnosis",
12
+ base: "https://api.subgraph.autonolas.tech/api/proxy/marketplace-base",
13
+ };
14
+ const MECH_AGENTS_QUERY = `{
15
+ mechAgents(first: 50, orderBy: totalTransactions, orderDirection: desc) {
16
+ id
17
+ address
18
+ agentHash
19
+ totalTransactions
20
+ service {
21
+ serviceId
22
+ totalRequests
23
+ totalDeliveries
24
+ }
25
+ }
26
+ }`;
27
+ // Cache mechs — refresh every 10 minutes
28
+ let mechCache = null;
29
+ let cacheTime = 0;
30
+ const CACHE_TTL = 10 * 60 * 1000;
31
+ async function fetchMechs(timeout) {
32
+ if (mechCache && Date.now() - cacheTime < CACHE_TTL) {
33
+ return mechCache;
34
+ }
35
+ const allMechs = [];
36
+ // Query both Gnosis and Base subgraphs
37
+ for (const [chain, url] of Object.entries(SUBGRAPH_URLS)) {
38
+ try {
39
+ const res = await fetch(url, {
40
+ method: "POST",
41
+ headers: { "Content-Type": "application/json" },
42
+ body: JSON.stringify({ query: MECH_AGENTS_QUERY }),
43
+ signal: AbortSignal.timeout(timeout),
44
+ });
45
+ if (!res.ok)
46
+ continue;
47
+ const json = await res.json();
48
+ const agents = json.data?.mechAgents ?? [];
49
+ for (const agent of agents) {
50
+ allMechs.push({ ...agent, _chain: chain });
51
+ }
52
+ }
53
+ catch {
54
+ // Chain subgraph unavailable, continue with others
55
+ }
56
+ }
57
+ if (allMechs.length > 0) {
58
+ mechCache = allMechs;
59
+ cacheTime = Date.now();
60
+ }
61
+ return mechCache ?? [];
62
+ }
63
+ export const olasAdapter = {
64
+ name: "olas",
65
+ displayName: "Olas Mech Marketplace",
66
+ async search(query, options) {
67
+ const limit = options?.limit ?? 20;
68
+ const timeout = options?.timeout ?? 10000;
69
+ try {
70
+ const mechs = await fetchMechs(timeout);
71
+ if (!query)
72
+ return mechs.slice(0, limit).map(mapMech);
73
+ // Score mechs by transaction volume and filter by relevance
74
+ // Since mechs don't have descriptions, match against known tool categories
75
+ const lower = query.toLowerCase();
76
+ const relevant = mechs.filter(() => {
77
+ // Olas mechs handle: predictions, research, analysis, trading signals
78
+ const olasKeywords = ["predict", "research", "analyze", "trade", "ai", "agent", "mech", "autonomous", "forecast", "oracle", "data"];
79
+ return olasKeywords.some(k => lower.includes(k)) || true; // Return all if query is general
80
+ });
81
+ return relevant
82
+ .sort((a, b) => parseInt(b.totalTransactions) - parseInt(a.totalTransactions))
83
+ .slice(0, limit)
84
+ .map(mapMech);
85
+ }
86
+ catch {
87
+ return [];
88
+ }
89
+ },
90
+ async ping() {
91
+ try {
92
+ const res = await fetch(SUBGRAPH_URLS.gnosis, {
93
+ method: "POST",
94
+ headers: { "Content-Type": "application/json" },
95
+ body: JSON.stringify({ query: "{ global(id: \"global\") { totalMechs } }" }),
96
+ signal: AbortSignal.timeout(5000),
97
+ });
98
+ return res.ok;
99
+ }
100
+ catch {
101
+ return false;
102
+ }
103
+ },
104
+ };
105
+ function mapMech(mech) {
106
+ const chain = mech._chain || "gnosis";
107
+ const txCount = parseInt(mech.totalTransactions) || 0;
108
+ const deliveries = parseInt(mech.service?.totalDeliveries || "0");
109
+ const requests = parseInt(mech.service?.totalRequests || "0");
110
+ const successRate = requests > 0 ? Math.round((deliveries / requests) * 100) : 0;
111
+ return {
112
+ id: `olas:${chain}:${mech.address}`,
113
+ nativeId: mech.address,
114
+ name: `Olas Mech ${mech.address.slice(0, 8)}...${mech.address.slice(-4)}`,
115
+ description: `Autonomous AI agent on Olas Marketplace (${chain}). ${txCount} transactions, ${deliveries} deliveries. Accepts prompts and returns AI-powered results via on-chain requests.`,
116
+ categories: ["ai", "autonomous", "prediction"],
117
+ capabilities: [
118
+ "AI prompt execution",
119
+ "Prediction markets",
120
+ "Research and analysis",
121
+ "On-chain autonomous operation",
122
+ ],
123
+ source: "olas",
124
+ protocol: "http",
125
+ endpoints: {
126
+ http: `https://mech.tech/mech/${mech.address}`,
127
+ },
128
+ reputation: {
129
+ score: successRate,
130
+ count: deliveries,
131
+ source: `olas-${chain}`,
132
+ },
133
+ pricing: {
134
+ model: "per-call",
135
+ amount: "0.01",
136
+ currency: "OLAS",
137
+ },
138
+ verified: txCount > 10,
139
+ lastSeen: txCount > 0 ? Date.now() : undefined,
140
+ raw: mech,
141
+ };
142
+ }
143
+ //# sourceMappingURL=olas.js.map