@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,116 @@
1
+ /**
2
+ * AdminManager - Manages admin-only features
3
+ * Provides access to admin APIs like listing all agents, user counts, etc.
4
+ * Only available to users with admin privileges.
5
+ */
6
+ import { EventEmitter } from "eventemitter3";
7
+ import { WebSocketClient } from "../core/websocket-client";
8
+ import { Logger, AdminAgentInfo, UserCountData } from "../types";
9
+ /**
10
+ * Events emitted by the AdminManager
11
+ */
12
+ export interface AdminManagerEvents {
13
+ /** Emitted when user count is updated (broadcast to admins) */
14
+ user_count: (data: UserCountData) => void;
15
+ /** Emitted when admin status changes */
16
+ status_changed: (isAdmin: boolean) => void;
17
+ }
18
+ /**
19
+ * Options for listing all agents (admin only)
20
+ */
21
+ export interface ListAllAgentsOptions {
22
+ /** Filter string for agent search */
23
+ filter?: string;
24
+ /** Pagination offset */
25
+ offset?: number;
26
+ /** Number of agents to return (default: 50) */
27
+ limit?: number;
28
+ }
29
+ /**
30
+ * Response from listing all agents
31
+ */
32
+ export interface AllAgentsResult {
33
+ /** List of agents */
34
+ agents: AdminAgentInfo[];
35
+ /** Total number of agents matching filter */
36
+ total: number;
37
+ /** Current offset */
38
+ offset: number;
39
+ /** Page size */
40
+ limit: number;
41
+ /** Whether there are more agents to load */
42
+ hasMore: boolean;
43
+ /** Applied filter (if any) */
44
+ filter?: string;
45
+ }
46
+ export declare class AdminManager extends EventEmitter<AdminManagerEvents> {
47
+ private readonly wsClient;
48
+ private readonly logger;
49
+ private _isAdmin;
50
+ private readonly pendingListRequests;
51
+ private lastUserCount;
52
+ /** Default timeout for requests (30 seconds) */
53
+ private readonly requestTimeout;
54
+ constructor(wsClient: WebSocketClient, logger: Logger);
55
+ /**
56
+ * Whether the current user has admin privileges.
57
+ */
58
+ get isAdmin(): boolean;
59
+ /**
60
+ * Sets the admin status. Called internally after authentication.
61
+ * @internal
62
+ */
63
+ setAdminStatus(isAdmin: boolean): void;
64
+ /**
65
+ * Lists all agents in the network (admin only).
66
+ * Returns paginated list of agents with full admin information.
67
+ *
68
+ * @param options - Pagination and filter options
69
+ * @returns Promise that resolves with agents list
70
+ * @throws {SDKError} If not connected or not an admin
71
+ *
72
+ * @example
73
+ * ```typescript
74
+ * if (sdk.admin?.isAdmin) {
75
+ * const result = await sdk.admin.listAllAgents({ limit: 20 });
76
+ * console.log(`Found ${result.total} agents`);
77
+ * result.agents.forEach(agent => {
78
+ * console.log(`${agent.agent_name}: verified=${agent.is_verified}, banned=${agent.is_banned}`);
79
+ * });
80
+ * }
81
+ * ```
82
+ */
83
+ listAllAgents(options?: ListAllAgentsOptions): Promise<AllAgentsResult>;
84
+ /**
85
+ * Gets the last received user count.
86
+ *
87
+ * @returns The last user count data, or null if not received yet
88
+ */
89
+ getLastUserCount(): UserCountData | null;
90
+ /**
91
+ * Handles incoming all_agents_response message from server.
92
+ * @internal
93
+ */
94
+ handleAllAgentsResponse(data: {
95
+ agents: AdminAgentInfo[];
96
+ total: number;
97
+ offset: number;
98
+ limit: number;
99
+ has_more: boolean;
100
+ filter?: string;
101
+ }, requestId?: string): void;
102
+ /**
103
+ * Handles incoming user_count message from server.
104
+ * @internal
105
+ */
106
+ handleUserCount(data: UserCountData): void;
107
+ /**
108
+ * Clears all cached data and pending requests.
109
+ */
110
+ clear(): void;
111
+ /**
112
+ * Destroys the admin manager and cleans up resources.
113
+ */
114
+ destroy(): void;
115
+ }
116
+ //# sourceMappingURL=admin-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-manager.d.ts","sourceRoot":"","sources":["../../src/managers/admin-manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAIjE;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,+DAA+D;IAC/D,UAAU,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IAC1C,wCAAwC;IACxC,cAAc,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,qCAAqC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wBAAwB;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,qBAAqB;IACrB,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,OAAO,EAAE,OAAO,CAAC;IACjB,8BAA8B;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAWD,qBAAa,YAAa,SAAQ,YAAY,CAAC,kBAAkB,CAAC;IAChE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAsD;IAC1F,OAAO,CAAC,aAAa,CAA8B;IAEnD,gDAAgD;IAChD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;gBAE5B,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM;IAMrD;;OAEG;IACH,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED;;;OAGG;IACI,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAU7C;;;;;;;;;;;;;;;;;;OAkBG;IACU,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,eAAe,CAAC;IAsCxF;;;;OAIG;IACI,gBAAgB,IAAI,aAAa,GAAG,IAAI;IAI/C;;;OAGG;IACI,uBAAuB,CAC5B,IAAI,EAAE;QACJ,MAAM,EAAE,cAAc,EAAE,CAAC;QACzB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,OAAO,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,EACD,SAAS,CAAC,EAAE,MAAM,GACjB,IAAI;IAoCP;;;OAGG;IACI,eAAe,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;IAOjD;;OAEG;IACI,KAAK,IAAI,IAAI;IAWpB;;OAEG;IACI,OAAO,IAAI,IAAI;CAMvB"}
@@ -0,0 +1,169 @@
1
+ "use strict";
2
+ /**
3
+ * AdminManager - Manages admin-only features
4
+ * Provides access to admin APIs like listing all agents, user counts, etc.
5
+ * Only available to users with admin privileges.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.AdminManager = void 0;
9
+ const eventemitter3_1 = require("eventemitter3");
10
+ const events_1 = require("../types/events");
11
+ const error_codes_1 = require("../types/error-codes");
12
+ class AdminManager extends eventemitter3_1.EventEmitter {
13
+ wsClient;
14
+ logger;
15
+ _isAdmin = false;
16
+ pendingListRequests = new Map();
17
+ lastUserCount = null;
18
+ /** Default timeout for requests (30 seconds) */
19
+ requestTimeout = 30000;
20
+ constructor(wsClient, logger) {
21
+ super();
22
+ this.wsClient = wsClient;
23
+ this.logger = logger;
24
+ }
25
+ /**
26
+ * Whether the current user has admin privileges.
27
+ */
28
+ get isAdmin() {
29
+ return this._isAdmin;
30
+ }
31
+ /**
32
+ * Sets the admin status. Called internally after authentication.
33
+ * @internal
34
+ */
35
+ setAdminStatus(isAdmin) {
36
+ const changed = this._isAdmin !== isAdmin;
37
+ this._isAdmin = isAdmin;
38
+ if (changed) {
39
+ this.logger.info("AdminManager: Admin status changed", { isAdmin });
40
+ this.emit("status_changed", isAdmin);
41
+ }
42
+ }
43
+ /**
44
+ * Lists all agents in the network (admin only).
45
+ * Returns paginated list of agents with full admin information.
46
+ *
47
+ * @param options - Pagination and filter options
48
+ * @returns Promise that resolves with agents list
49
+ * @throws {SDKError} If not connected or not an admin
50
+ *
51
+ * @example
52
+ * ```typescript
53
+ * if (sdk.admin?.isAdmin) {
54
+ * const result = await sdk.admin.listAllAgents({ limit: 20 });
55
+ * console.log(`Found ${result.total} agents`);
56
+ * result.agents.forEach(agent => {
57
+ * console.log(`${agent.agent_name}: verified=${agent.is_verified}, banned=${agent.is_banned}`);
58
+ * });
59
+ * }
60
+ * ```
61
+ */
62
+ async listAllAgents(options = {}) {
63
+ if (!this.wsClient.isConnected) {
64
+ throw new events_1.SDKError("Not connected to Teneo Protocol", error_codes_1.ErrorCode.NOT_CONNECTED);
65
+ }
66
+ if (!this._isAdmin) {
67
+ throw new events_1.SDKError("Admin privileges required", error_codes_1.ErrorCode.AUTH_ERROR);
68
+ }
69
+ const { filter, offset = 0, limit = 50 } = options;
70
+ this.logger.info("AdminManager: Listing all agents", { filter, offset, limit });
71
+ // Generate request ID
72
+ const requestId = `admin_list_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
73
+ // Send list_all_agents message
74
+ const message = {
75
+ type: "list_all_agents",
76
+ filter,
77
+ offset,
78
+ limit,
79
+ request_id: requestId
80
+ };
81
+ await this.wsClient.sendMessage(message);
82
+ // Wait for response
83
+ return new Promise((resolve, reject) => {
84
+ const timeout = setTimeout(() => {
85
+ this.pendingListRequests.delete(requestId);
86
+ reject(new events_1.SDKError("List agents request timed out", error_codes_1.ErrorCode.TIMEOUT_ERROR));
87
+ }, this.requestTimeout);
88
+ this.pendingListRequests.set(requestId, { resolve, reject, timeout });
89
+ });
90
+ }
91
+ /**
92
+ * Gets the last received user count.
93
+ *
94
+ * @returns The last user count data, or null if not received yet
95
+ */
96
+ getLastUserCount() {
97
+ return this.lastUserCount;
98
+ }
99
+ /**
100
+ * Handles incoming all_agents_response message from server.
101
+ * @internal
102
+ */
103
+ handleAllAgentsResponse(data, requestId) {
104
+ this.logger.debug("AdminManager: Received agents list", {
105
+ count: data.agents.length,
106
+ total: data.total,
107
+ requestId
108
+ });
109
+ const result = {
110
+ agents: data.agents,
111
+ total: data.total,
112
+ offset: data.offset,
113
+ limit: data.limit,
114
+ hasMore: data.has_more,
115
+ filter: data.filter
116
+ };
117
+ // Resolve pending request - prefer matching by request_id if available
118
+ if (requestId && this.pendingListRequests.has(requestId)) {
119
+ // Exact match by request_id (preferred)
120
+ const pending = this.pendingListRequests.get(requestId);
121
+ clearTimeout(pending.timeout);
122
+ this.pendingListRequests.delete(requestId);
123
+ pending.resolve(result);
124
+ }
125
+ else if (this.pendingListRequests.size > 0) {
126
+ // Fallback to FIFO for backwards compatibility (when server doesn't echo request_id)
127
+ const pendingEntries = Array.from(this.pendingListRequests.entries());
128
+ const [fallbackRequestId, pending] = pendingEntries[0];
129
+ this.logger.warn("AdminManager: Using FIFO fallback for list agents correlation", {
130
+ pendingCount: pendingEntries.length
131
+ });
132
+ clearTimeout(pending.timeout);
133
+ this.pendingListRequests.delete(fallbackRequestId);
134
+ pending.resolve(result);
135
+ }
136
+ }
137
+ /**
138
+ * Handles incoming user_count message from server.
139
+ * @internal
140
+ */
141
+ handleUserCount(data) {
142
+ this.logger.debug("AdminManager: Received user count", { count: data.count });
143
+ this.lastUserCount = data;
144
+ this.emit("user_count", data);
145
+ }
146
+ /**
147
+ * Clears all cached data and pending requests.
148
+ */
149
+ clear() {
150
+ // Clear pending requests
151
+ for (const [, pending] of this.pendingListRequests) {
152
+ clearTimeout(pending.timeout);
153
+ pending.reject(new events_1.SDKError("Admin manager cleared", error_codes_1.ErrorCode.SDK_DESTROYED));
154
+ }
155
+ this.pendingListRequests.clear();
156
+ this.lastUserCount = null;
157
+ }
158
+ /**
159
+ * Destroys the admin manager and cleans up resources.
160
+ */
161
+ destroy() {
162
+ this.logger.info("AdminManager: Destroying");
163
+ this.clear();
164
+ this._isAdmin = false;
165
+ this.removeAllListeners();
166
+ }
167
+ }
168
+ exports.AdminManager = AdminManager;
169
+ //# sourceMappingURL=admin-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-manager.js","sourceRoot":"","sources":["../../src/managers/admin-manager.ts"],"names":[],"mappings":"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"}
@@ -3,17 +3,27 @@
3
3
  * Handles agent caching and queries
4
4
  */
5
5
  import { EventEmitter } from "eventemitter3";
6
- import { Agent, Logger } from "../types";
6
+ import { Agent, AgentCategory, Logger, AgentRoomInfo } from "../types";
7
7
  import { SDKEvents } from "../types/events";
8
+ import { WebSocketClient } from "../core/websocket-client";
8
9
  export declare class AgentRegistry extends EventEmitter<SDKEvents> {
9
10
  private readonly logger;
10
11
  private readonly agents;
11
12
  private cachedAgents?;
12
13
  private isAgentsCacheDirty;
14
+ private wsClient?;
13
15
  private capabilityIndex;
14
16
  private nameTokenIndex;
15
17
  private statusIndex;
18
+ private categoryIndex;
19
+ private readonly pendingDetailsRequests;
20
+ private readonly detailsTimeout;
16
21
  constructor(logger: Logger);
22
+ /**
23
+ * Sets the WebSocket client for making requests.
24
+ * @internal
25
+ */
26
+ setWebSocketClient(wsClient: WebSocketClient): void;
17
27
  /**
18
28
  * Gets a cached list of all available agents in the network.
19
29
  * Uses lazy caching with dirty flag for optimal performance.
@@ -95,6 +105,20 @@ export declare class AgentRegistry extends EventEmitter<SDKEvents> {
95
105
  * ```
96
106
  */
97
107
  findByStatus(status: string): ReadonlyArray<Agent>;
108
+ /**
109
+ * Finds all agents that have a specific category.
110
+ * Uses O(1) category index lookup instead of O(n) filtering.
111
+ *
112
+ * @param category - The category to search for
113
+ * @returns Read-only array of agents with the specified category
114
+ *
115
+ * @example
116
+ * ```typescript
117
+ * const tradingAgents = agentRegistry.findByCategory('Trading');
118
+ * console.log(`Found ${tradingAgents.length} trading agents`);
119
+ * ```
120
+ */
121
+ findByCategory(category: AgentCategory): ReadonlyArray<Agent>;
98
122
  /**
99
123
  * Updates the registry with a new list of agents.
100
124
  * Merges with existing agents and marks cache as dirty.
@@ -124,6 +148,33 @@ export declare class AgentRegistry extends EventEmitter<SDKEvents> {
124
148
  * ```
125
149
  */
126
150
  updateAgent(agent: Agent): void;
151
+ /**
152
+ * Fetches detailed information about a specific agent from the server.
153
+ * Makes a request to the server for full agent details including capabilities,
154
+ * commands, pricing, and more.
155
+ *
156
+ * Multiple concurrent calls for the same agent will share the same request,
157
+ * avoiding redundant server calls and preventing race conditions.
158
+ *
159
+ * @param agentId - The unique identifier of the agent
160
+ * @returns Promise that resolves with full agent details
161
+ * @throws {SDKError} If not connected or request times out
162
+ * @throws {ValidationError} If agentId is invalid
163
+ *
164
+ * @example
165
+ * ```typescript
166
+ * const details = await agentRegistry.getAgentDetails('weather-agent-001');
167
+ * console.log(`Agent: ${details.agent_name}`);
168
+ * console.log(`Capabilities: ${details.capabilities?.length}`);
169
+ * console.log(`Status: ${details.status}`);
170
+ * ```
171
+ */
172
+ getAgentDetails(agentId: string): Promise<AgentRoomInfo>;
173
+ /**
174
+ * Handles incoming agent_details_response from server.
175
+ * @internal
176
+ */
177
+ handleAgentDetails(agent: AgentRoomInfo): void;
127
178
  /**
128
179
  * Clears all agents from the registry.
129
180
  * Removes all cached agents and marks cache as dirty.
@@ -1 +1 @@
1
- {"version":3,"file":"agent-registry.d.ts","sourceRoot":"","sources":["../../src/managers/agent-registry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,qBAAa,aAAc,SAAQ,YAAY,CAAC,SAAS,CAAC;IACxD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4B;IACnD,OAAO,CAAC,YAAY,CAAC,CAAoB;IACzC,OAAO,CAAC,kBAAkB,CAAQ;IAGlC,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,cAAc,CAAkC;IACxD,OAAO,CAAC,WAAW,CAAkC;gBAEzC,MAAM,EAAE,MAAM;IAK1B;;;;;;;;;;;;;OAaG;IACI,SAAS,IAAI,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAOlD;;;;;;;;;;;;;;;;;OAiBG;IACI,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,SAAS;IAQ7D;;;;;;;;;;;;;OAaG;IACI,gBAAgB,CAAC,cAAc,EAAE,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC;IAwBrE;;;;;;;;;;;;;;;OAeG;IACI,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC;IAqCrD;;;;;;;;;;;;;OAaG;IACI,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC;IAwBzD;;;;;;;;;;;;;OAaG;IACI,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI;IAW1C;;;;;;;;;;;;OAYG;IACI,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAMtC;;;;;;;;;OASG;IACI,KAAK,IAAI,IAAI;IAKpB;;;;;;;;;;OAUG;IACI,OAAO,IAAI,IAAI;IAMtB;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IA0CpB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,cAAc;CAMvB"}
1
+ {"version":3,"file":"agent-registry.d.ts","sourceRoot":"","sources":["../../src/managers/agent-registry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACvE,OAAO,EAAE,SAAS,EAAY,MAAM,iBAAiB,CAAC;AAGtD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAY3D,qBAAa,aAAc,SAAQ,YAAY,CAAC,SAAS,CAAC;IACxD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4B;IACnD,OAAO,CAAC,YAAY,CAAC,CAAoB;IACzC,OAAO,CAAC,kBAAkB,CAAQ;IAClC,OAAO,CAAC,QAAQ,CAAC,CAAkB;IAGnC,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,cAAc,CAAkC;IACxD,OAAO,CAAC,WAAW,CAAkC;IACrD,OAAO,CAAC,aAAa,CAAyC;IAG9D,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA4C;IACnF,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;gBAE5B,MAAM,EAAE,MAAM;IAK1B;;;OAGG;IACI,kBAAkB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAI1D;;;;;;;;;;;;;OAaG;IACI,SAAS,IAAI,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAOlD;;;;;;;;;;;;;;;;;OAiBG;IACI,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,SAAS;IAQ7D;;;;;;;;;;;;;OAaG;IACI,gBAAgB,CAAC,cAAc,EAAE,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC;IAwBrE;;;;;;;;;;;;;;;OAeG;IACI,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC;IAqCrD;;;;;;;;;;;;;OAaG;IACI,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC;IAwBzD;;;;;;;;;;;;OAYG;IACI,cAAc,CAAC,QAAQ,EAAE,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC;IAoBpE;;;;;;;;;;;;;OAaG;IACI,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI;IAW1C;;;;;;;;;;;;OAYG;IACI,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAMtC;;;;;;;;;;;;;;;;;;;;OAoBG;IACU,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAmDrE;;;OAGG;IACI,kBAAkB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAerD;;;;;;;;;OASG;IACI,KAAK,IAAI,IAAI;IAYpB;;;;;;;;;;OAUG;IACI,OAAO,IAAI,IAAI;IAMtB;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IAqDpB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,cAAc;CAMvB"}
@@ -6,18 +6,34 @@
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.AgentRegistry = void 0;
8
8
  const eventemitter3_1 = require("eventemitter3");
9
+ const events_1 = require("../types/events");
10
+ const error_codes_1 = require("../types/error-codes");
9
11
  const validation_1 = require("../types/validation");
10
12
  class AgentRegistry extends eventemitter3_1.EventEmitter {
13
+ logger;
14
+ agents = new Map();
15
+ cachedAgents;
16
+ isAgentsCacheDirty = true;
17
+ wsClient;
18
+ // PERF-3: Search indices for O(1) lookups
19
+ capabilityIndex = new Map();
20
+ nameTokenIndex = new Map();
21
+ statusIndex = new Map();
22
+ categoryIndex = new Map();
23
+ // Pending agent details requests
24
+ pendingDetailsRequests = new Map();
25
+ detailsTimeout = 30000; // 30 seconds
11
26
  constructor(logger) {
12
27
  super();
13
- this.agents = new Map();
14
- this.isAgentsCacheDirty = true;
15
- // PERF-3: Search indices for O(1) lookups
16
- this.capabilityIndex = new Map();
17
- this.nameTokenIndex = new Map();
18
- this.statusIndex = new Map();
19
28
  this.logger = logger;
20
29
  }
30
+ /**
31
+ * Sets the WebSocket client for making requests.
32
+ * @internal
33
+ */
34
+ setWebSocketClient(wsClient) {
35
+ this.wsClient = wsClient;
36
+ }
21
37
  /**
22
38
  * Gets a cached list of all available agents in the network.
23
39
  * Uses lazy caching with dirty flag for optimal performance.
@@ -173,6 +189,35 @@ class AgentRegistry extends eventemitter3_1.EventEmitter {
173
189
  .filter((agent) => agent !== undefined)
174
190
  .map((agent) => ({ ...agent }));
175
191
  }
192
+ /**
193
+ * Finds all agents that have a specific category.
194
+ * Uses O(1) category index lookup instead of O(n) filtering.
195
+ *
196
+ * @param category - The category to search for
197
+ * @returns Read-only array of agents with the specified category
198
+ *
199
+ * @example
200
+ * ```typescript
201
+ * const tradingAgents = agentRegistry.findByCategory('Trading');
202
+ * console.log(`Found ${tradingAgents.length} trading agents`);
203
+ * ```
204
+ */
205
+ findByCategory(category) {
206
+ // Ensure cache is up to date
207
+ if (this.isAgentsCacheDirty || !this.cachedAgents) {
208
+ this.rebuildCache();
209
+ }
210
+ // O(1) index lookup
211
+ const agentIds = this.categoryIndex.get(category);
212
+ if (!agentIds || agentIds.size === 0) {
213
+ return [];
214
+ }
215
+ // Map agent IDs to agent objects with defensive copies
216
+ return Array.from(agentIds)
217
+ .map((id) => this.agents.get(id))
218
+ .filter((agent) => agent !== undefined)
219
+ .map((agent) => ({ ...agent }));
220
+ }
176
221
  /**
177
222
  * Updates the registry with a new list of agents.
178
223
  * Merges with existing agents and marks cache as dirty.
@@ -213,6 +258,84 @@ class AgentRegistry extends eventemitter3_1.EventEmitter {
213
258
  this.agents.set(agent.id, agent);
214
259
  this.isAgentsCacheDirty = true;
215
260
  }
261
+ /**
262
+ * Fetches detailed information about a specific agent from the server.
263
+ * Makes a request to the server for full agent details including capabilities,
264
+ * commands, pricing, and more.
265
+ *
266
+ * Multiple concurrent calls for the same agent will share the same request,
267
+ * avoiding redundant server calls and preventing race conditions.
268
+ *
269
+ * @param agentId - The unique identifier of the agent
270
+ * @returns Promise that resolves with full agent details
271
+ * @throws {SDKError} If not connected or request times out
272
+ * @throws {ValidationError} If agentId is invalid
273
+ *
274
+ * @example
275
+ * ```typescript
276
+ * const details = await agentRegistry.getAgentDetails('weather-agent-001');
277
+ * console.log(`Agent: ${details.agent_name}`);
278
+ * console.log(`Capabilities: ${details.capabilities?.length}`);
279
+ * console.log(`Status: ${details.status}`);
280
+ * ```
281
+ */
282
+ async getAgentDetails(agentId) {
283
+ if (!this.wsClient || !this.wsClient.isConnected) {
284
+ throw new events_1.SDKError("Not connected to Teneo Protocol", error_codes_1.ErrorCode.NOT_CONNECTED);
285
+ }
286
+ // Validate agent ID
287
+ const validatedAgentId = validation_1.AgentIdSchema.parse(agentId);
288
+ // Check if there's already a pending request for this agent - reuse it
289
+ const existingRequest = this.pendingDetailsRequests.get(validatedAgentId);
290
+ if (existingRequest) {
291
+ this.logger.debug("AgentRegistry: Reusing pending request for agent details", {
292
+ agentId: validatedAgentId
293
+ });
294
+ return existingRequest.promise;
295
+ }
296
+ this.logger.info("AgentRegistry: Requesting agent details", { agentId: validatedAgentId });
297
+ // Send get_agent_details message
298
+ const message = {
299
+ type: "get_agent_details",
300
+ agent_id: validatedAgentId
301
+ };
302
+ await this.wsClient.sendMessage(message);
303
+ // Create promise with stored resolve/reject for later resolution
304
+ let resolvePromise;
305
+ let rejectPromise;
306
+ const promise = new Promise((resolve, reject) => {
307
+ resolvePromise = resolve;
308
+ rejectPromise = reject;
309
+ });
310
+ const timeout = setTimeout(() => {
311
+ this.pendingDetailsRequests.delete(validatedAgentId);
312
+ rejectPromise(new events_1.SDKError("Agent details request timed out", error_codes_1.ErrorCode.TIMEOUT_ERROR));
313
+ }, this.detailsTimeout);
314
+ this.pendingDetailsRequests.set(validatedAgentId, {
315
+ promise,
316
+ resolve: resolvePromise,
317
+ reject: rejectPromise,
318
+ timeout
319
+ });
320
+ return promise;
321
+ }
322
+ /**
323
+ * Handles incoming agent_details_response from server.
324
+ * @internal
325
+ */
326
+ handleAgentDetails(agent) {
327
+ this.logger.debug("AgentRegistry: Received agent details", {
328
+ agentId: agent.agent_id,
329
+ agentName: agent.agent_name
330
+ });
331
+ // Resolve pending request
332
+ const pending = this.pendingDetailsRequests.get(agent.agent_id);
333
+ if (pending) {
334
+ clearTimeout(pending.timeout);
335
+ this.pendingDetailsRequests.delete(agent.agent_id);
336
+ pending.resolve(agent);
337
+ }
338
+ }
216
339
  /**
217
340
  * Clears all agents from the registry.
218
341
  * Removes all cached agents and marks cache as dirty.
@@ -226,6 +349,12 @@ class AgentRegistry extends eventemitter3_1.EventEmitter {
226
349
  clear() {
227
350
  this.agents.clear();
228
351
  this.isAgentsCacheDirty = true;
352
+ // Clear pending requests
353
+ for (const [, pending] of this.pendingDetailsRequests) {
354
+ clearTimeout(pending.timeout);
355
+ pending.reject(new events_1.SDKError("Agent registry cleared", error_codes_1.ErrorCode.SDK_DESTROYED));
356
+ }
357
+ this.pendingDetailsRequests.clear();
229
358
  }
230
359
  /**
231
360
  * Destroys the agent registry and cleans up resources.
@@ -257,6 +386,7 @@ class AgentRegistry extends eventemitter3_1.EventEmitter {
257
386
  this.capabilityIndex.clear();
258
387
  this.nameTokenIndex.clear();
259
388
  this.statusIndex.clear();
389
+ this.categoryIndex.clear();
260
390
  // Populate indices
261
391
  for (const agent of this.agents.values()) {
262
392
  // Index capabilities
@@ -283,6 +413,15 @@ class AgentRegistry extends eventemitter3_1.EventEmitter {
283
413
  this.statusIndex.set(status, new Set());
284
414
  }
285
415
  this.statusIndex.get(status).add(agent.id);
416
+ // Index categories
417
+ if (agent.categories) {
418
+ for (const category of agent.categories) {
419
+ if (!this.categoryIndex.has(category)) {
420
+ this.categoryIndex.set(category, new Set());
421
+ }
422
+ this.categoryIndex.get(category).add(agent.id);
423
+ }
424
+ }
286
425
  }
287
426
  this.isAgentsCacheDirty = false;
288
427
  }
@@ -1 +1 @@
1
- {"version":3,"file":"agent-registry.js","sourceRoot":"","sources":["../../src/managers/agent-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-registry.js","sourceRoot":"","sources":["../../src/managers/agent-registry.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * AgentRoomManager - Manages agent-room associations (v2.0.0)
3
3
  * Allows room owners to control which agents are available in their rooms
4
- * Implements caching with 5-minute TTL for performance
4
+ * Implements caching with 5-minute TTL and LRU eviction for performance
5
5
  */
6
6
  import { EventEmitter } from "eventemitter3";
7
7
  import { WebSocketClient } from "../core/websocket-client";
@@ -32,8 +32,6 @@ export declare class AgentRoomManager extends EventEmitter<SDKEvents> {
32
32
  private readonly roomManagementManager;
33
33
  private readonly roomAgentsCache;
34
34
  private readonly availableAgentsCache;
35
- private readonly roomAgentsCacheTime;
36
- private readonly availableAgentsCacheTime;
37
35
  constructor(wsClient: WebSocketClient, logger: Logger, roomManagementManager: RoomManagementManager);
38
36
  /**
39
37
  * Adds an agent to a room, making it available for interactions in that room.
@@ -203,10 +201,6 @@ export declare class AgentRoomManager extends EventEmitter<SDKEvents> {
203
201
  * @internal
204
202
  */
205
203
  cacheAvailableAgents(roomId: string, agents: AgentRoomInfo[]): void;
206
- /**
207
- * Checks if cache is still valid (within TTL)
208
- */
209
- private isCacheValid;
210
204
  /**
211
205
  * Invalidates all caches for a specific room
212
206
  */