@teneo-protocol/sdk 2.0.0 → 2.2.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 (329) hide show
  1. package/.eslintrc.json +11 -2
  2. package/.github/CODEOWNERS +2 -0
  3. package/.github/ISSUE_TEMPLATE/01-bug.yml +85 -0
  4. package/.github/ISSUE_TEMPLATE/config.yml +8 -0
  5. package/.github/ISSUE_TEMPLATE/feature_request.md +22 -0
  6. package/.github/workflows/claude-code-review.yml +8 -3
  7. package/.github/workflows/claude-reviewer.yml +6 -4
  8. package/.github/workflows/publish-npm.yml +1 -0
  9. package/.github/workflows/push-to-main.yml +1 -1
  10. package/.github/workflows/top-issue.yml +102 -0
  11. package/CHANGELOG.md +69 -0
  12. package/CONCEPTS.md +747 -0
  13. package/README.md +178 -8
  14. package/dist/constants.js +8 -8
  15. package/dist/constants.js.map +1 -1
  16. package/dist/core/websocket-client.d.ts +15 -3
  17. package/dist/core/websocket-client.d.ts.map +1 -1
  18. package/dist/core/websocket-client.js +52 -13
  19. package/dist/core/websocket-client.js.map +1 -1
  20. package/dist/formatters/response-formatter.js +4 -0
  21. package/dist/formatters/response-formatter.js.map +1 -1
  22. package/dist/handlers/message-handler-registry.js +2 -1
  23. package/dist/handlers/message-handler-registry.js.map +1 -1
  24. package/dist/handlers/message-handlers/agent-details-response-handler.d.ts +1666 -0
  25. package/dist/handlers/message-handlers/agent-details-response-handler.d.ts.map +1 -0
  26. package/dist/handlers/message-handlers/agent-details-response-handler.js +38 -0
  27. package/dist/handlers/message-handlers/agent-details-response-handler.js.map +1 -0
  28. package/dist/handlers/message-handlers/agent-room-operation-response-handler.d.ts.map +1 -1
  29. package/dist/handlers/message-handlers/agent-room-operation-response-handler.js +2 -5
  30. package/dist/handlers/message-handlers/agent-room-operation-response-handler.js.map +1 -1
  31. package/dist/handlers/message-handlers/agent-selected-handler.js +2 -5
  32. package/dist/handlers/message-handlers/agent-selected-handler.js.map +1 -1
  33. package/dist/handlers/message-handlers/agent-status-update-handler.d.ts +783 -0
  34. package/dist/handlers/message-handlers/agent-status-update-handler.d.ts.map +1 -1
  35. package/dist/handlers/message-handlers/agent-status-update-handler.js +2 -5
  36. package/dist/handlers/message-handlers/agent-status-update-handler.js.map +1 -1
  37. package/dist/handlers/message-handlers/agents-list-handler.js +2 -5
  38. package/dist/handlers/message-handlers/agents-list-handler.js.map +1 -1
  39. package/dist/handlers/message-handlers/all-agents-response-handler.d.ts +439 -0
  40. package/dist/handlers/message-handlers/all-agents-response-handler.d.ts.map +1 -0
  41. package/dist/handlers/message-handlers/all-agents-response-handler.js +36 -0
  42. package/dist/handlers/message-handlers/all-agents-response-handler.js.map +1 -0
  43. package/dist/handlers/message-handlers/auth-error-handler.js +2 -5
  44. package/dist/handlers/message-handlers/auth-error-handler.js.map +1 -1
  45. package/dist/handlers/message-handlers/auth-message-handler.d.ts.map +1 -1
  46. package/dist/handlers/message-handlers/auth-message-handler.js +6 -5
  47. package/dist/handlers/message-handlers/auth-message-handler.js.map +1 -1
  48. package/dist/handlers/message-handlers/auth-required-handler.js +2 -5
  49. package/dist/handlers/message-handlers/auth-required-handler.js.map +1 -1
  50. package/dist/handlers/message-handlers/auth-success-handler.d.ts.map +1 -1
  51. package/dist/handlers/message-handlers/auth-success-handler.js +6 -5
  52. package/dist/handlers/message-handlers/auth-success-handler.js.map +1 -1
  53. package/dist/handlers/message-handlers/base-handler.d.ts +4 -4
  54. package/dist/handlers/message-handlers/base-handler.d.ts.map +1 -1
  55. package/dist/handlers/message-handlers/base-handler.js +3 -1
  56. package/dist/handlers/message-handlers/base-handler.js.map +1 -1
  57. package/dist/handlers/message-handlers/challenge-handler.js +3 -2
  58. package/dist/handlers/message-handlers/challenge-handler.js.map +1 -1
  59. package/dist/handlers/message-handlers/error-message-handler.js +2 -5
  60. package/dist/handlers/message-handlers/error-message-handler.js.map +1 -1
  61. package/dist/handlers/message-handlers/index.d.ts +6 -0
  62. package/dist/handlers/message-handlers/index.d.ts.map +1 -1
  63. package/dist/handlers/message-handlers/index.js +33 -1
  64. package/dist/handlers/message-handlers/index.js.map +1 -1
  65. package/dist/handlers/message-handlers/list-available-agents-handler.d.ts +783 -0
  66. package/dist/handlers/message-handlers/list-available-agents-handler.d.ts.map +1 -1
  67. package/dist/handlers/message-handlers/list-available-agents-handler.js +2 -5
  68. package/dist/handlers/message-handlers/list-available-agents-handler.js.map +1 -1
  69. package/dist/handlers/message-handlers/list-room-agents-handler.d.ts +783 -0
  70. package/dist/handlers/message-handlers/list-room-agents-handler.d.ts.map +1 -1
  71. package/dist/handlers/message-handlers/list-room-agents-handler.js +2 -5
  72. package/dist/handlers/message-handlers/list-room-agents-handler.js.map +1 -1
  73. package/dist/handlers/message-handlers/list-rooms-response-handler.d.ts +2 -199
  74. package/dist/handlers/message-handlers/list-rooms-response-handler.d.ts.map +1 -1
  75. package/dist/handlers/message-handlers/list-rooms-response-handler.js +4 -6
  76. package/dist/handlers/message-handlers/list-rooms-response-handler.js.map +1 -1
  77. package/dist/handlers/message-handlers/ping-pong-handler.js +4 -10
  78. package/dist/handlers/message-handlers/ping-pong-handler.js.map +1 -1
  79. package/dist/handlers/message-handlers/rate-limit-notification-handler.d.ts +94 -0
  80. package/dist/handlers/message-handlers/rate-limit-notification-handler.d.ts.map +1 -0
  81. package/dist/handlers/message-handlers/rate-limit-notification-handler.js +35 -0
  82. package/dist/handlers/message-handlers/rate-limit-notification-handler.js.map +1 -0
  83. package/dist/handlers/message-handlers/regular-message-handler.d.ts.map +1 -1
  84. package/dist/handlers/message-handlers/regular-message-handler.js +4 -6
  85. package/dist/handlers/message-handlers/regular-message-handler.js.map +1 -1
  86. package/dist/handlers/message-handlers/room-operation-response-handler.d.ts.map +1 -1
  87. package/dist/handlers/message-handlers/room-operation-response-handler.js +2 -5
  88. package/dist/handlers/message-handlers/room-operation-response-handler.js.map +1 -1
  89. package/dist/handlers/message-handlers/subscribe-response-handler.d.ts.map +1 -1
  90. package/dist/handlers/message-handlers/subscribe-response-handler.js +4 -6
  91. package/dist/handlers/message-handlers/subscribe-response-handler.js.map +1 -1
  92. package/dist/handlers/message-handlers/task-quote-handler.d.ts +14 -0
  93. package/dist/handlers/message-handlers/task-quote-handler.d.ts.map +1 -0
  94. package/dist/handlers/message-handlers/task-quote-handler.js +29 -0
  95. package/dist/handlers/message-handlers/task-quote-handler.js.map +1 -0
  96. package/dist/handlers/message-handlers/task-response-handler.js +2 -5
  97. package/dist/handlers/message-handlers/task-response-handler.js.map +1 -1
  98. package/dist/handlers/message-handlers/types.d.ts +21 -9
  99. package/dist/handlers/message-handlers/types.d.ts.map +1 -1
  100. package/dist/handlers/message-handlers/unsubscribe-response-handler.d.ts.map +1 -1
  101. package/dist/handlers/message-handlers/unsubscribe-response-handler.js +4 -6
  102. package/dist/handlers/message-handlers/unsubscribe-response-handler.js.map +1 -1
  103. package/dist/handlers/message-handlers/user-authenticated-handler.d.ts +40 -0
  104. package/dist/handlers/message-handlers/user-authenticated-handler.d.ts.map +1 -0
  105. package/dist/handlers/message-handlers/user-authenticated-handler.js +28 -0
  106. package/dist/handlers/message-handlers/user-authenticated-handler.js.map +1 -0
  107. package/dist/handlers/message-handlers/user-count-handler.d.ts +49 -0
  108. package/dist/handlers/message-handlers/user-count-handler.d.ts.map +1 -0
  109. package/dist/handlers/message-handlers/user-count-handler.js +31 -0
  110. package/dist/handlers/message-handlers/user-count-handler.js.map +1 -0
  111. package/dist/handlers/webhook-handler.d.ts +1 -1
  112. package/dist/handlers/webhook-handler.d.ts.map +1 -1
  113. package/dist/handlers/webhook-handler.js +14 -5
  114. package/dist/handlers/webhook-handler.js.map +1 -1
  115. package/dist/index.d.ts +6 -1
  116. package/dist/index.d.ts.map +1 -1
  117. package/dist/index.js +19 -2
  118. package/dist/index.js.map +1 -1
  119. package/dist/managers/admin-manager.d.ts +116 -0
  120. package/dist/managers/admin-manager.d.ts.map +1 -0
  121. package/dist/managers/admin-manager.js +169 -0
  122. package/dist/managers/admin-manager.js.map +1 -0
  123. package/dist/managers/agent-registry.d.ts +52 -1
  124. package/dist/managers/agent-registry.d.ts.map +1 -1
  125. package/dist/managers/agent-registry.js +145 -6
  126. package/dist/managers/agent-registry.js.map +1 -1
  127. package/dist/managers/agent-room-manager.d.ts +1 -7
  128. package/dist/managers/agent-room-manager.d.ts.map +1 -1
  129. package/dist/managers/agent-room-manager.js +83 -36
  130. package/dist/managers/agent-room-manager.js.map +1 -1
  131. package/dist/managers/connection-manager.js +2 -0
  132. package/dist/managers/connection-manager.js.map +1 -1
  133. package/dist/managers/index.d.ts +2 -1
  134. package/dist/managers/index.d.ts.map +1 -1
  135. package/dist/managers/index.js +3 -1
  136. package/dist/managers/index.js.map +1 -1
  137. package/dist/managers/message-router.d.ts +56 -5
  138. package/dist/managers/message-router.d.ts.map +1 -1
  139. package/dist/managers/message-router.js +155 -8
  140. package/dist/managers/message-router.js.map +1 -1
  141. package/dist/managers/room-management-manager.d.ts.map +1 -1
  142. package/dist/managers/room-management-manager.js +9 -7
  143. package/dist/managers/room-management-manager.js.map +1 -1
  144. package/dist/managers/room-manager.d.ts +7 -5
  145. package/dist/managers/room-manager.d.ts.map +1 -1
  146. package/dist/managers/room-manager.js +14 -10
  147. package/dist/managers/room-manager.js.map +1 -1
  148. package/dist/payments/index.d.ts +5 -0
  149. package/dist/payments/index.d.ts.map +1 -0
  150. package/dist/payments/index.js +21 -0
  151. package/dist/payments/index.js.map +1 -0
  152. package/dist/payments/payment-client.d.ts +74 -0
  153. package/dist/payments/payment-client.d.ts.map +1 -0
  154. package/dist/payments/payment-client.js +207 -0
  155. package/dist/payments/payment-client.js.map +1 -0
  156. package/dist/teneo-sdk.d.ts +135 -21
  157. package/dist/teneo-sdk.d.ts.map +1 -1
  158. package/dist/teneo-sdk.js +268 -26
  159. package/dist/teneo-sdk.js.map +1 -1
  160. package/dist/types/categories.d.ts +22 -0
  161. package/dist/types/categories.d.ts.map +1 -0
  162. package/dist/types/categories.js +40 -0
  163. package/dist/types/categories.js.map +1 -0
  164. package/dist/types/config.d.ts +79 -8
  165. package/dist/types/config.d.ts.map +1 -1
  166. package/dist/types/config.js +62 -5
  167. package/dist/types/config.js.map +1 -1
  168. package/dist/types/error-codes.d.ts +8 -0
  169. package/dist/types/error-codes.d.ts.map +1 -1
  170. package/dist/types/error-codes.js +9 -0
  171. package/dist/types/error-codes.js.map +1 -1
  172. package/dist/types/events.d.ts +44 -0
  173. package/dist/types/events.d.ts.map +1 -1
  174. package/dist/types/events.js +19 -1
  175. package/dist/types/events.js.map +1 -1
  176. package/dist/types/index.d.ts +3 -2
  177. package/dist/types/index.d.ts.map +1 -1
  178. package/dist/types/index.js +33 -3
  179. package/dist/types/index.js.map +1 -1
  180. package/dist/types/messages.d.ts +11219 -423
  181. package/dist/types/messages.d.ts.map +1 -1
  182. package/dist/types/messages.js +249 -7
  183. package/dist/types/messages.js.map +1 -1
  184. package/dist/utils/bounded-queue.d.ts.map +1 -1
  185. package/dist/utils/bounded-queue.js +5 -2
  186. package/dist/utils/bounded-queue.js.map +1 -1
  187. package/dist/utils/circuit-breaker.js +11 -4
  188. package/dist/utils/circuit-breaker.js.map +1 -1
  189. package/dist/utils/deduplication-cache.js +3 -1
  190. package/dist/utils/deduplication-cache.js.map +1 -1
  191. package/dist/utils/event-waiter.d.ts +3 -3
  192. package/dist/utils/event-waiter.d.ts.map +1 -1
  193. package/dist/utils/index.d.ts +1 -0
  194. package/dist/utils/index.d.ts.map +1 -1
  195. package/dist/utils/index.js +4 -1
  196. package/dist/utils/index.js.map +1 -1
  197. package/dist/utils/logger.js.map +1 -1
  198. package/dist/utils/pricing-resolver.d.ts +26 -0
  199. package/dist/utils/pricing-resolver.d.ts.map +1 -0
  200. package/dist/utils/pricing-resolver.js +85 -0
  201. package/dist/utils/pricing-resolver.js.map +1 -0
  202. package/dist/utils/rate-limiter.d.ts.map +1 -1
  203. package/dist/utils/rate-limiter.js +6 -0
  204. package/dist/utils/rate-limiter.js.map +1 -1
  205. package/dist/utils/retry-policy.js +1 -0
  206. package/dist/utils/retry-policy.js.map +1 -1
  207. package/dist/utils/secure-private-key.js +3 -1
  208. package/dist/utils/secure-private-key.js.map +1 -1
  209. package/dist/utils/signature-verifier.d.ts.map +1 -1
  210. package/dist/utils/signature-verifier.js +3 -1
  211. package/dist/utils/signature-verifier.js.map +1 -1
  212. package/examples/.env.example +1 -1
  213. package/examples/agent-room-management-example.ts +10 -9
  214. package/examples/basic-usage.ts +3 -4
  215. package/examples/claude-agent-x-follower/.env.example +1 -1
  216. package/examples/claude-agent-x-follower/QUICKSTART.md +2 -2
  217. package/examples/claude-agent-x-follower/README.md +2 -2
  218. package/examples/claude-agent-x-follower/index.ts +120 -96
  219. package/examples/n8n-teneo/.env.example +1 -1
  220. package/examples/n8n-teneo/README.md +1 -1
  221. package/examples/n8n-teneo/index.ts +54 -44
  222. package/examples/nestjs-dashboard/.env.example +11 -0
  223. package/examples/nestjs-dashboard/README.md +297 -0
  224. package/examples/nestjs-dashboard/nest-cli.json +10 -0
  225. package/examples/nestjs-dashboard/package.json +44 -0
  226. package/examples/nestjs-dashboard/pnpm-lock.yaml +3079 -0
  227. package/examples/nestjs-dashboard/src/app.controller.ts +24 -0
  228. package/examples/nestjs-dashboard/src/app.module.ts +15 -0
  229. package/examples/nestjs-dashboard/src/main.ts +32 -0
  230. package/examples/nestjs-dashboard/src/public/dashboard.html +1144 -0
  231. package/examples/nestjs-dashboard/src/teneo/agents.controller.ts +54 -0
  232. package/examples/nestjs-dashboard/src/teneo/events.controller.ts +65 -0
  233. package/examples/nestjs-dashboard/src/teneo/messages.controller.ts +47 -0
  234. package/examples/nestjs-dashboard/src/teneo/rooms.controller.ts +258 -0
  235. package/examples/nestjs-dashboard/src/teneo/teneo.module.ts +13 -0
  236. package/examples/nestjs-dashboard/src/teneo/teneo.service.ts +484 -0
  237. package/examples/nestjs-dashboard/tsconfig.json +22 -0
  238. package/examples/openai-teneo/.env.example +1 -1
  239. package/examples/openai-teneo/README.md +2 -2
  240. package/examples/openai-teneo/index.ts +82 -71
  241. package/examples/production-dashboard/.env.example +1 -1
  242. package/examples/production-dashboard/README.md +1 -1
  243. package/examples/production-dashboard/server.ts +2 -2
  244. package/examples/room-management-example.ts +5 -8
  245. package/examples/usage/.env.example +1 -1
  246. package/examples/usage/01-connect.ts +3 -4
  247. package/examples/usage/02-list-agents.ts +2 -3
  248. package/examples/usage/03-pick-agent.ts +2 -3
  249. package/examples/usage/04-find-by-capability.ts +2 -3
  250. package/examples/usage/05-webhook-example.ts +2 -3
  251. package/examples/usage/06-simple-api-server.ts +2 -3
  252. package/examples/usage/07-event-listener.ts +2 -3
  253. package/examples/webhook-integration.ts +1 -1
  254. package/examples/x-influencer-battle-server.ts +2 -2
  255. package/package.json +4 -1
  256. package/src/core/websocket-client.test.ts +8 -3
  257. package/src/core/websocket-client.ts +36 -6
  258. package/src/formatters/response-formatter.test.ts +2 -0
  259. package/src/formatters/response-formatter.ts +3 -3
  260. package/src/handlers/message-handlers/agent-details-response-handler.ts +42 -0
  261. package/src/handlers/message-handlers/agent-room-operation-response-handler.ts +2 -8
  262. package/src/handlers/message-handlers/agent-status-update-handler.ts +3 -9
  263. package/src/handlers/message-handlers/all-agents-response-handler.ts +39 -0
  264. package/src/handlers/message-handlers/auth-message-handler.ts +5 -0
  265. package/src/handlers/message-handlers/auth-success-handler.ts +6 -1
  266. package/src/handlers/message-handlers/base-handler.ts +20 -7
  267. package/src/handlers/message-handlers/index.ts +34 -0
  268. package/src/handlers/message-handlers/list-room-agents-handler.ts +2 -5
  269. package/src/handlers/message-handlers/list-rooms-response-handler.ts +4 -2
  270. package/src/handlers/message-handlers/rate-limit-notification-handler.ts +45 -0
  271. package/src/handlers/message-handlers/regular-message-handler.ts +3 -2
  272. package/src/handlers/message-handlers/room-operation-response-handler.ts +3 -6
  273. package/src/handlers/message-handlers/subscribe-response-handler.ts +12 -2
  274. package/src/handlers/message-handlers/task-quote-handler.ts +31 -0
  275. package/src/handlers/message-handlers/types.ts +37 -9
  276. package/src/handlers/message-handlers/unsubscribe-response-handler.ts +12 -2
  277. package/src/handlers/message-handlers/user-authenticated-handler.ts +31 -0
  278. package/src/handlers/message-handlers/user-count-handler.ts +34 -0
  279. package/src/handlers/webhook-handler.test.ts +3 -2
  280. package/src/handlers/webhook-handler.ts +13 -7
  281. package/src/index.ts +21 -0
  282. package/src/managers/admin-manager.ts +249 -0
  283. package/src/managers/agent-registry.test.ts +2 -1
  284. package/src/managers/agent-registry.ts +170 -2
  285. package/src/managers/agent-room-manager.ts +98 -42
  286. package/src/managers/index.ts +13 -1
  287. package/src/managers/message-router.ts +215 -17
  288. package/src/managers/room-management-manager.ts +4 -7
  289. package/src/managers/room-manager.ts +11 -15
  290. package/src/payments/index.ts +22 -0
  291. package/src/payments/payment-client.ts +240 -0
  292. package/src/teneo-sdk.ts +302 -27
  293. package/src/types/categories.ts +45 -0
  294. package/src/types/config.ts +70 -2
  295. package/src/types/error-codes.ts +10 -0
  296. package/src/types/events.test.ts +1 -0
  297. package/src/types/events.ts +43 -0
  298. package/src/types/index.ts +56 -0
  299. package/src/types/messages.test.ts +2 -1
  300. package/src/types/messages.ts +307 -5
  301. package/src/utils/bounded-queue.test.ts +1 -1
  302. package/src/utils/bounded-queue.ts +2 -1
  303. package/src/utils/circuit-breaker.test.ts +1 -1
  304. package/src/utils/deduplication-cache.test.ts +1 -1
  305. package/src/utils/event-waiter.test.ts +1 -1
  306. package/src/utils/event-waiter.ts +3 -3
  307. package/src/utils/index.ts +7 -0
  308. package/src/utils/logger.ts +8 -8
  309. package/src/utils/pricing-resolver.ts +128 -0
  310. package/src/utils/rate-limiter.test.ts +1 -1
  311. package/src/utils/rate-limiter.ts +1 -0
  312. package/src/utils/signature-verifier.test.ts +2 -2
  313. package/src/utils/signature-verifier.ts +3 -2
  314. package/tests/.env.example +7 -0
  315. package/tests/direct-agent-test.ts +151 -0
  316. package/tests/integration/real-server.test.ts +2 -0
  317. package/tests/integration/room-management.test.ts +10 -8
  318. package/tests/integration/websocket.test.ts +4 -1
  319. package/tests/payment-flow-test.ts +147 -0
  320. package/tests/unit/handlers/agent-room-operation-response-handler.test.ts +17 -29
  321. package/tests/unit/handlers/agent-status-update-handler.test.ts +2 -6
  322. package/tests/unit/handlers/auth-success-handler-rooms.test.ts +1 -3
  323. package/tests/unit/handlers/list-available-agents-handler.test.ts +4 -12
  324. package/tests/unit/handlers/list-room-agents-handler.test.ts +2 -6
  325. package/tests/unit/handlers/room-operation-response-handler.test.ts +9 -36
  326. package/tests/unit/managers/agent-room-manager.test.ts +9 -16
  327. package/tests/unit/managers/room-management-manager.test.ts +21 -39
  328. package/tsconfig.json +2 -2
  329. package/vitest.config.ts +1 -0
@@ -0,0 +1,207 @@
1
+ "use strict";
2
+ /**
3
+ * PaymentClient - Handles x402 payment header generation for quote-approve flow
4
+ *
5
+ * Creates x402 V2 payment headers for USDC payments on PEAQ network.
6
+ * Implements ERC-3009 TransferWithAuthorization signing using viem's EIP-712.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.PaymentClient = exports.PEAQ_CHAIN_ID = exports.USDC_CONTRACT = exports.DEFAULT_RPC_URL = exports.DEFAULT_PAY_TO_ADDRESS = exports.DEFAULT_PAYMENT_TIMEOUT_SECONDS = exports.X402_VERSION = exports.USDC_DECIMALS = void 0;
10
+ exports.buildX402ResourceUrl = buildX402ResourceUrl;
11
+ exports.usdcToUnits = usdcToUnits;
12
+ exports.unitsToUsdc = unitsToUsdc;
13
+ const viem_1 = require("viem");
14
+ const accounts_1 = require("viem/accounts");
15
+ // PEAQ chain definition
16
+ const peaq = (0, viem_1.defineChain)({
17
+ id: 3338,
18
+ name: "peaq",
19
+ network: "peaq",
20
+ nativeCurrency: {
21
+ decimals: 18,
22
+ name: "PEAQ",
23
+ symbol: "PEAQ"
24
+ },
25
+ rpcUrls: {
26
+ default: {
27
+ http: ["https://peaq.api.onfinality.io/public"]
28
+ },
29
+ public: {
30
+ http: ["https://peaq.api.onfinality.io/public"]
31
+ }
32
+ }
33
+ });
34
+ // USDC contract on PEAQ
35
+ const USDC_CONTRACT = "0xbbA60da06c2c5424f03f7434542280FCAd453d10";
36
+ exports.USDC_CONTRACT = USDC_CONTRACT;
37
+ const PEAQ_NETWORK_CAIP2 = "eip155:3338";
38
+ exports.PEAQ_CHAIN_ID = PEAQ_NETWORK_CAIP2;
39
+ // ERC-3009 TransferWithAuthorization EIP-712 types
40
+ const ERC3009_TYPES = {
41
+ TransferWithAuthorization: [
42
+ { name: "from", type: "address" },
43
+ { name: "to", type: "address" },
44
+ { name: "value", type: "uint256" },
45
+ { name: "validAfter", type: "uint256" },
46
+ { name: "validBefore", type: "uint256" },
47
+ { name: "nonce", type: "bytes32" }
48
+ ]
49
+ };
50
+ // x402 constants
51
+ exports.USDC_DECIMALS = 6;
52
+ exports.X402_VERSION = 2;
53
+ exports.DEFAULT_PAYMENT_TIMEOUT_SECONDS = 60;
54
+ exports.DEFAULT_PAY_TO_ADDRESS = "0x0000000000000000000000000000000000000000";
55
+ exports.DEFAULT_RPC_URL = "https://peaq.api.onfinality.io/public";
56
+ /**
57
+ * Converts a WebSocket URL to an HTTP(S) URL for x402 resource specification.
58
+ * The x402 protocol requires HTTP URLs, not WebSocket URLs.
59
+ *
60
+ * @param wsUrl - WebSocket URL (wss:// or ws://)
61
+ * @returns HTTP URL (https:// or http://)
62
+ *
63
+ * @example
64
+ * buildX402ResourceUrl("wss://api.teneo.com/ws") // "https://api.teneo.com/x402"
65
+ */
66
+ function buildX402ResourceUrl(wsUrl) {
67
+ const httpUrl = wsUrl.replace(/^wss:\/\//, "https://").replace(/^ws:\/\//, "http://");
68
+ // Replace /ws endpoint with /x402, or append /x402 if URL doesn't end with /ws
69
+ return /\/ws\/?$/.test(httpUrl)
70
+ ? httpUrl.replace(/\/ws\/?$/, "/x402")
71
+ : httpUrl.replace(/\/?$/, "/x402");
72
+ }
73
+ /**
74
+ * Converts USDC human-readable amount to micro-units (6 decimals).
75
+ * @param usdc - Amount in USDC (e.g., 1.5)
76
+ * @returns Amount in micro-units (e.g., 1500000)
77
+ */
78
+ function usdcToUnits(usdc) {
79
+ return Math.round(usdc * 10 ** exports.USDC_DECIMALS);
80
+ }
81
+ /**
82
+ * Converts micro-units to USDC human-readable amount.
83
+ * @param units - Amount in micro-units (e.g., 1500000)
84
+ * @returns Amount in USDC (e.g., 1.5)
85
+ */
86
+ function unitsToUsdc(units) {
87
+ return units / 10 ** exports.USDC_DECIMALS;
88
+ }
89
+ /**
90
+ * Generate a random 32-byte nonce as hex string
91
+ */
92
+ function generateNonce() {
93
+ const randomBytes = new Uint8Array(32);
94
+ crypto.getRandomValues(randomBytes);
95
+ return (0, viem_1.toHex)(randomBytes);
96
+ }
97
+ /**
98
+ * PaymentClient handles creation of x402 V2 payment headers
99
+ * for the quote-approve payment flow.
100
+ */
101
+ class PaymentClient {
102
+ secureKey;
103
+ walletAddress;
104
+ network;
105
+ asset;
106
+ resourceUrl;
107
+ constructor(secureKey, walletAddress, config = {}) {
108
+ this.secureKey = secureKey;
109
+ this.walletAddress = walletAddress;
110
+ this.network = config.network ?? PEAQ_NETWORK_CAIP2;
111
+ this.asset = config.asset ?? USDC_CONTRACT;
112
+ this.resourceUrl = config.resourceUrl ?? "";
113
+ }
114
+ /**
115
+ * Creates an x402 V2 payment header for a specific amount and recipient.
116
+ *
117
+ * @param amountMicroUnits - Amount in micro-units (e.g., 1000 = 0.001 USDC)
118
+ * @param recipientAddress - Wallet address of the payment recipient (agent)
119
+ * @param resourceUrl - Optional override for x402 resource URL
120
+ * @returns Base64 encoded x402 V2 payment header
121
+ */
122
+ async createPaymentHeader(amountMicroUnits, recipientAddress, resourceUrl) {
123
+ const resource = resourceUrl || this.resourceUrl || this.getDefaultResourceUrl();
124
+ const amountStr = Math.round(amountMicroUnits).toString();
125
+ // Create payment header using the secure key
126
+ const header = await this.secureKey.use(async (privateKey) => {
127
+ const account = (0, accounts_1.privateKeyToAccount)(privateKey);
128
+ // Time bounds for the authorization (valid for 60 seconds)
129
+ const now = Math.floor(Date.now() / 1000);
130
+ const validAfter = now - 60; // Valid from 60 seconds ago
131
+ const validBefore = now + 60; // Valid until 60 seconds from now
132
+ const nonce = generateNonce();
133
+ // EIP-712 domain for USDC on PEAQ
134
+ const domain = {
135
+ name: "USDC",
136
+ version: "2",
137
+ chainId: BigInt(peaq.id),
138
+ verifyingContract: this.asset
139
+ };
140
+ // ERC-3009 TransferWithAuthorization message
141
+ const message = {
142
+ from: account.address,
143
+ to: recipientAddress,
144
+ value: BigInt(amountStr),
145
+ validAfter: BigInt(validAfter),
146
+ validBefore: BigInt(validBefore),
147
+ nonce: nonce
148
+ };
149
+ // Sign the EIP-712 typed data
150
+ const signature = await (0, accounts_1.signTypedData)({
151
+ privateKey: privateKey,
152
+ domain,
153
+ types: ERC3009_TYPES,
154
+ primaryType: "TransferWithAuthorization",
155
+ message
156
+ });
157
+ // Build V1 payload (authorization data)
158
+ const v1Payload = {
159
+ authorization: {
160
+ from: account.address,
161
+ to: recipientAddress,
162
+ value: amountStr,
163
+ validAfter: validAfter.toString(),
164
+ validBefore: validBefore.toString(),
165
+ nonce: nonce
166
+ },
167
+ signature: signature
168
+ };
169
+ // Build V2 payload (what the backend expects)
170
+ const v2Payload = {
171
+ x402Version: 2,
172
+ resource: {
173
+ url: resource,
174
+ description: "Teneo SDK payment",
175
+ mimeType: "application/json"
176
+ },
177
+ accepted: {
178
+ scheme: "exact",
179
+ network: this.network,
180
+ amount: amountStr,
181
+ asset: this.asset,
182
+ payTo: recipientAddress,
183
+ maxTimeoutSeconds: 60,
184
+ extra: { name: "USDC", version: "2" }
185
+ },
186
+ payload: v1Payload
187
+ };
188
+ return Buffer.from(JSON.stringify(v2Payload)).toString("base64");
189
+ });
190
+ return header;
191
+ }
192
+ /**
193
+ * Get default x402 resource URL from WebSocket URL
194
+ */
195
+ getDefaultResourceUrl() {
196
+ // Default fallback
197
+ return "https://dev-rooms-websocket-ai-core-o9fmb.ondigitalocean.app/x402";
198
+ }
199
+ /**
200
+ * Gets the wallet address associated with this payment client.
201
+ */
202
+ get address() {
203
+ return this.walletAddress;
204
+ }
205
+ }
206
+ exports.PaymentClient = PaymentClient;
207
+ //# sourceMappingURL=payment-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payment-client.js","sourceRoot":"","sources":["../../src/payments/payment-client.ts"],"names":[],"mappings":"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"}
@@ -5,11 +5,11 @@
5
5
  */
6
6
  import { EventEmitter } from "eventemitter3";
7
7
  import { z } from "zod";
8
- import { PartialSDKConfig, SDKConfigBuilder, Agent, RoomInfo, type HealthStatus } from "./types";
8
+ import { PartialSDKConfig, SDKConfigBuilder, Agent, RoomInfo, AgentRoomInfo, type HealthStatus } from "./types";
9
9
  import { SDKEvents } from "./types/events";
10
10
  import { FormattedResponse, ResponseFormatOptions } from "./formatters/response-formatter";
11
- import { SendMessageOptions, AgentCommand } from "./managers";
12
- export type { SendMessageOptions, AgentCommand };
11
+ import { SendMessageOptions, AgentCommand, QuoteResult, AdminManager, ListAllAgentsOptions, AllAgentsResult } from "./managers";
12
+ export type { SendMessageOptions, AgentCommand, QuoteResult, ListAllAgentsOptions, AllAgentsResult };
13
13
  export declare const SendMessageOptionsSchema: z.ZodObject<{
14
14
  room: z.ZodOptional<z.ZodString>;
15
15
  from: z.ZodOptional<z.ZodString>;
@@ -46,6 +46,7 @@ export declare class TeneoSDK extends EventEmitter<SDKEvents> {
46
46
  private config;
47
47
  private readonly logger;
48
48
  private isDestroyed;
49
+ private secureKey?;
49
50
  private readonly wsClient;
50
51
  private readonly webhookHandler;
51
52
  private readonly responseFormatter;
@@ -55,6 +56,7 @@ export declare class TeneoSDK extends EventEmitter<SDKEvents> {
55
56
  private readonly agentRoom;
56
57
  private readonly agents;
57
58
  private readonly messages;
59
+ private readonly _admin;
58
60
  /**
59
61
  * Creates a new instance of the Teneo Protocol SDK.
60
62
  * Initializes all core components, managers, and validates the provided configuration.
@@ -105,7 +107,7 @@ export declare class TeneoSDK extends EventEmitter<SDKEvents> {
105
107
  */
106
108
  constructor(config: PartialSDKConfig);
107
109
  /**
108
- * Establishes a connection to the Teneo network via WebSocket.
110
+ * Establishes a connection to the Teneo Protocol via WebSocket.
109
111
  * Handles authentication automatically and joins any configured auto-join rooms.
110
112
  * Emits 'connection:open', 'auth:success', and 'ready' events on successful connection.
111
113
  *
@@ -118,19 +120,19 @@ export declare class TeneoSDK extends EventEmitter<SDKEvents> {
118
120
  * ```typescript
119
121
  * const sdk = new TeneoSDK({ wsUrl: 'wss://example.com', privateKey: '0x...' });
120
122
  * await sdk.connect();
121
- * console.log('Connected to Teneo network');
123
+ * console.log('Connected to Teneo Protocol');
122
124
  * ```
123
125
  */
124
126
  connect(): Promise<void>;
125
127
  /**
126
- * Disconnects from the Teneo network and cleans up all active connections.
128
+ * Disconnects from the Teneo Protocol and cleans up all active connections.
127
129
  * Clears all timers, pending messages, and stops automatic reconnection attempts.
128
130
  * Emits 'disconnect' event after disconnection is complete.
129
131
  *
130
132
  * @example
131
133
  * ```typescript
132
134
  * sdk.disconnect();
133
- * console.log('Disconnected from Teneo network');
135
+ * console.log('Disconnected from Teneo Protocol');
134
136
  * ```
135
137
  */
136
138
  disconnect(): void;
@@ -190,36 +192,59 @@ export declare class TeneoSDK extends EventEmitter<SDKEvents> {
190
192
  */
191
193
  sendDirectCommand(command: AgentCommand, waitForResponse?: boolean): Promise<FormattedResponse | void>;
192
194
  /**
193
- * Subscribes to a specified room in the Teneo network.
194
- * Agents in the room will be able to see and respond to your messages.
195
+ * Requests a quote for a task from the coordinator.
196
+ * The quote includes agent selection, pricing, and expiration.
197
+ * Does NOT auto-approve - use confirmQuote() to execute.
198
+ */
199
+ requestQuote(content: string, room: string): Promise<QuoteResult>;
200
+ /**
201
+ * Confirms a pending quote and executes the task with payment.
202
+ * Attaches x402 payment header if payment client is configured.
203
+ */
204
+ confirmQuote(taskId: string, options?: {
205
+ waitForResponse?: boolean;
206
+ timeout?: number;
207
+ }): Promise<FormattedResponse | void>;
208
+ /**
209
+ * Gets a pending quote by task ID.
210
+ */
211
+ getPendingQuote(taskId: string): QuoteResult | undefined;
212
+ /**
213
+ * Subscribes to a public room in the Teneo Protocol.
214
+ * This is only needed for public rooms - private rooms are automatically subscribed.
195
215
  * Emits 'room:subscribed' event when successfully subscribed.
196
216
  *
197
- * @param roomId - The ID of the room to subscribe to
217
+ * @param roomId - The ID of the public room to subscribe to
198
218
  * @returns Promise that resolves when the room has been subscribed
199
219
  * @throws {SDKError} If not connected to the network (ErrorCode.NOT_CONNECTED)
200
220
  * @throws {ValidationError} If roomId is empty or invalid
201
221
  *
202
222
  * @example
203
223
  * ```typescript
204
- * await sdk.subscribeToRoom('general');
205
- * console.log('Subscribed to general room');
224
+ * // Subscribe to a public room
225
+ * await sdk.subscribeToRoom('public-announcements');
226
+ * console.log('Subscribed to public room');
227
+ *
228
+ * // Note: Private rooms don't need subscription - you're always subscribed
206
229
  * ```
207
230
  */
208
231
  subscribeToRoom(roomId: string): Promise<void>;
209
232
  /**
210
- * Unsubscribes from a specified room in the Teneo network.
211
- * You will no longer receive messages from agents in this room.
233
+ * Unsubscribes from a public room in the Teneo Protocol.
234
+ * You will no longer receive messages from this public room.
212
235
  * Emits 'room:unsubscribed' event when successfully unsubscribed.
213
236
  *
214
- * @param roomId - The ID of the room to unsubscribe from
237
+ * Note: This only applies to public rooms. Private rooms cannot be unsubscribed from.
238
+ *
239
+ * @param roomId - The ID of the public room to unsubscribe from
215
240
  * @returns Promise that resolves when the room has been unsubscribed
216
241
  * @throws {SDKError} If not connected to the network (ErrorCode.NOT_CONNECTED)
217
242
  * @throws {ValidationError} If roomId is empty or invalid
218
243
  *
219
244
  * @example
220
245
  * ```typescript
221
- * await sdk.unsubscribeFromRoom('general');
222
- * console.log('Unsubscribed from general room');
246
+ * await sdk.unsubscribeFromRoom('public-announcements');
247
+ * console.log('Unsubscribed from public room');
223
248
  * ```
224
249
  */
225
250
  unsubscribeFromRoom(roomId: string): Promise<void>;
@@ -256,7 +281,7 @@ export declare class TeneoSDK extends EventEmitter<SDKEvents> {
256
281
  */
257
282
  getSubscribedRooms(): string[];
258
283
  /**
259
- * Gets a list of all available agents in the Teneo network.
284
+ * Gets a list of all available agents in the Teneo Protocol.
260
285
  * The list is automatically updated when new agents join or leave.
261
286
  * Returns a read-only array to prevent external modification.
262
287
  *
@@ -351,7 +376,71 @@ export declare class TeneoSDK extends EventEmitter<SDKEvents> {
351
376
  */
352
377
  findAgentsByStatus(status: string): ReadonlyArray<Agent>;
353
378
  /**
354
- * Gets a list of all available rooms in the Teneo network.
379
+ * Fetches detailed information about a specific agent from the server.
380
+ * Makes a request to the server for full agent details including capabilities,
381
+ * commands, pricing, and more.
382
+ *
383
+ * @param agentId - The unique identifier of the agent
384
+ * @returns Promise that resolves with full agent details
385
+ * @throws {SDKError} If not connected or request times out
386
+ * @throws {ValidationError} If agentId is invalid
387
+ *
388
+ * @example
389
+ * ```typescript
390
+ * const details = await sdk.getAgentDetails('weather-agent-001');
391
+ * console.log(`Agent: ${details.agent_name}`);
392
+ * console.log(`Capabilities: ${details.capabilities?.length}`);
393
+ * console.log(`Status: ${details.status}`);
394
+ * ```
395
+ */
396
+ getAgentDetails(agentId: string): Promise<AgentRoomInfo>;
397
+ /**
398
+ * Gets the admin manager for admin-only features.
399
+ * Returns undefined if the current user is not an admin.
400
+ * Use this to access admin APIs like listing all agents, user counts, etc.
401
+ *
402
+ * @returns The AdminManager instance if user is admin, undefined otherwise
403
+ *
404
+ * @example
405
+ * ```typescript
406
+ * if (sdk.admin?.isAdmin) {
407
+ * // List all agents in the network
408
+ * const result = await sdk.admin.listAllAgents({ limit: 20 });
409
+ * console.log(`Found ${result.total} agents`);
410
+ *
411
+ * result.agents.forEach(agent => {
412
+ * console.log(`${agent.agent_name}: verified=${agent.is_verified}, banned=${agent.is_banned}`);
413
+ * });
414
+ *
415
+ * // Get user count
416
+ * const userCount = sdk.admin.getLastUserCount();
417
+ * console.log(`Online users: ${userCount?.count}`);
418
+ *
419
+ * // Listen for user count updates
420
+ * sdk.admin.on('user_count', (data) => {
421
+ * console.log(`User count updated: ${data.count}`);
422
+ * });
423
+ * }
424
+ * ```
425
+ */
426
+ get admin(): AdminManager | undefined;
427
+ /**
428
+ * Lists all agents in the network (admin only, convenience method).
429
+ * Returns paginated list of agents with full admin information.
430
+ *
431
+ * @param options - Pagination and filter options
432
+ * @returns Promise that resolves with agents list
433
+ * @throws {SDKError} If not connected or not an admin
434
+ *
435
+ * @example
436
+ * ```typescript
437
+ * const result = await sdk.listAllAgents({ limit: 50, filter: 'weather' });
438
+ * console.log(`Found ${result.total} agents matching 'weather'`);
439
+ * ```
440
+ */
441
+ listAllAgents(options?: ListAllAgentsOptions): Promise<AllAgentsResult>;
442
+ /**
443
+ * Gets a list of all available rooms in the Teneo Protocol.
355
444
  * Includes rooms you have access to based on your authentication.
356
445
  * Returns a read-only array to prevent external modification.
357
446
  *
@@ -701,6 +790,27 @@ export declare class TeneoSDK extends EventEmitter<SDKEvents> {
701
790
  * ```
702
791
  */
703
792
  invalidateAgentRoomCache(roomId: string): void;
793
+ /**
794
+ * Updates user preferences on the server.
795
+ * Server-side enforcement of max price per request - prevents quotes/payments exceeding the limit.
796
+ *
797
+ * @param preferences - User preferences to update
798
+ * @param preferences.maxPricePerRequest - Max price per request in USDC (e.g., 0.01 = $0.01), or null to remove limit
799
+ * @returns Promise that resolves when preferences are updated
800
+ * @throws {SDKError} If update fails or times out
801
+ *
802
+ * @example
803
+ * ```typescript
804
+ * // Set a spending limit of $0.05 per request
805
+ * await sdk.setUserPreferences({ maxPricePerRequest: 0.05 });
806
+ *
807
+ * // Remove the spending limit
808
+ * await sdk.setUserPreferences({ maxPricePerRequest: null });
809
+ * ```
810
+ */
811
+ setUserPreferences(preferences: {
812
+ maxPricePerRequest?: number | null;
813
+ }): Promise<void>;
704
814
  /**
705
815
  * Configures webhook URL and headers for receiving real-time event notifications.
706
816
  * Webhooks allow you to receive events at your server endpoint via HTTP POST requests.
@@ -808,7 +918,7 @@ export declare class TeneoSDK extends EventEmitter<SDKEvents> {
808
918
  * This is a convenience getter that returns only the connection status.
809
919
  * For detailed state information, use getConnectionState().
810
920
  *
811
- * @returns True if connected to the Teneo network, false otherwise
921
+ * @returns True if connected to the Teneo Protocol, false otherwise
812
922
  *
813
923
  * @example
814
924
  * ```typescript
@@ -826,7 +936,7 @@ export declare class TeneoSDK extends EventEmitter<SDKEvents> {
826
936
  * This is a convenience getter that returns only the authentication status.
827
937
  * For detailed auth information, use getAuthState().
828
938
  *
829
- * @returns True if authenticated with the Teneo network, false otherwise
939
+ * @returns True if authenticated with the Teneo Protocol, false otherwise
830
940
  *
831
941
  * @example
832
942
  * ```typescript
@@ -1026,6 +1136,10 @@ export declare class TeneoSDK extends EventEmitter<SDKEvents> {
1026
1136
  * Create default logger using pino
1027
1137
  */
1028
1138
  private createDefaultLogger;
1139
+ /**
1140
+ * Derive wallet address from private key
1141
+ */
1142
+ private deriveWalletAddress;
1029
1143
  /**
1030
1144
  * Creates a new SDK configuration builder for fluent configuration.
1031
1145
  * The builder pattern provides a more intuitive way to configure the SDK
@@ -1 +1 @@
1
- {"version":3,"file":"teneo-sdk.d.ts","sourceRoot":"","sources":["../src/teneo-sdk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"teneo-sdk.d.ts","sourceRoot":"","sources":["../src/teneo-sdk.ts"],"names":[],"mappings":"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"}