@teneo-protocol/sdk 1.0.1 → 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.
- package/.eslintrc.json +11 -2
- package/.github/CODEOWNERS +2 -0
- package/.github/ISSUE_TEMPLATE/01-bug.yml +85 -0
- package/.github/ISSUE_TEMPLATE/config.yml +8 -0
- package/.github/ISSUE_TEMPLATE/feature_request.md +22 -0
- package/.github/workflows/claude-code-review.yml +8 -3
- package/.github/workflows/claude-reviewer.yml +6 -4
- package/.github/workflows/publish-npm.yml +9 -6
- package/.github/workflows/push-to-main.yml +1 -1
- package/.github/workflows/top-issue.yml +102 -0
- package/CHANGELOG.md +334 -0
- package/CONCEPTS.md +747 -0
- package/README.md +577 -54
- package/dist/constants.js +8 -8
- package/dist/constants.js.map +1 -1
- package/dist/core/websocket-client.d.ts +25 -1
- package/dist/core/websocket-client.d.ts.map +1 -1
- package/dist/core/websocket-client.js +74 -15
- package/dist/core/websocket-client.js.map +1 -1
- package/dist/formatters/response-formatter.js +4 -0
- package/dist/formatters/response-formatter.js.map +1 -1
- package/dist/handlers/message-handler-registry.js +2 -1
- package/dist/handlers/message-handler-registry.js.map +1 -1
- package/dist/handlers/message-handlers/agent-details-response-handler.d.ts +1666 -0
- package/dist/handlers/message-handlers/agent-details-response-handler.d.ts.map +1 -0
- package/dist/handlers/message-handlers/agent-details-response-handler.js +38 -0
- package/dist/handlers/message-handlers/agent-details-response-handler.js.map +1 -0
- package/dist/handlers/message-handlers/agent-room-operation-response-handler.d.ts +76 -0
- package/dist/handlers/message-handlers/agent-room-operation-response-handler.d.ts.map +1 -0
- package/dist/handlers/message-handlers/agent-room-operation-response-handler.js +67 -0
- package/dist/handlers/message-handlers/agent-room-operation-response-handler.js.map +1 -0
- package/dist/handlers/message-handlers/agent-selected-handler.d.ts +92 -38
- package/dist/handlers/message-handlers/agent-selected-handler.d.ts.map +1 -1
- package/dist/handlers/message-handlers/agent-selected-handler.js +2 -5
- package/dist/handlers/message-handlers/agent-selected-handler.js.map +1 -1
- package/dist/handlers/message-handlers/agent-status-update-handler.d.ts +1687 -0
- package/dist/handlers/message-handlers/agent-status-update-handler.d.ts.map +1 -0
- package/dist/handlers/message-handlers/agent-status-update-handler.js +48 -0
- package/dist/handlers/message-handlers/agent-status-update-handler.js.map +1 -0
- package/dist/handlers/message-handlers/agents-list-handler.js +2 -5
- package/dist/handlers/message-handlers/agents-list-handler.js.map +1 -1
- package/dist/handlers/message-handlers/all-agents-response-handler.d.ts +439 -0
- package/dist/handlers/message-handlers/all-agents-response-handler.d.ts.map +1 -0
- package/dist/handlers/message-handlers/all-agents-response-handler.js +36 -0
- package/dist/handlers/message-handlers/all-agents-response-handler.js.map +1 -0
- package/dist/handlers/message-handlers/auth-error-handler.d.ts +45 -31
- package/dist/handlers/message-handlers/auth-error-handler.d.ts.map +1 -1
- package/dist/handlers/message-handlers/auth-error-handler.js +2 -5
- package/dist/handlers/message-handlers/auth-error-handler.js.map +1 -1
- package/dist/handlers/message-handlers/auth-message-handler.d.ts +6 -0
- package/dist/handlers/message-handlers/auth-message-handler.d.ts.map +1 -1
- package/dist/handlers/message-handlers/auth-message-handler.js +71 -10
- package/dist/handlers/message-handlers/auth-message-handler.js.map +1 -1
- package/dist/handlers/message-handlers/auth-required-handler.d.ts +49 -31
- package/dist/handlers/message-handlers/auth-required-handler.d.ts.map +1 -1
- package/dist/handlers/message-handlers/auth-required-handler.js +2 -5
- package/dist/handlers/message-handlers/auth-required-handler.js.map +1 -1
- package/dist/handlers/message-handlers/auth-success-handler.d.ts +6 -0
- package/dist/handlers/message-handlers/auth-success-handler.d.ts.map +1 -1
- package/dist/handlers/message-handlers/auth-success-handler.js +52 -9
- package/dist/handlers/message-handlers/auth-success-handler.js.map +1 -1
- package/dist/handlers/message-handlers/base-handler.d.ts +4 -4
- package/dist/handlers/message-handlers/base-handler.d.ts.map +1 -1
- package/dist/handlers/message-handlers/base-handler.js +3 -1
- package/dist/handlers/message-handlers/base-handler.js.map +1 -1
- package/dist/handlers/message-handlers/challenge-handler.d.ts +45 -31
- package/dist/handlers/message-handlers/challenge-handler.d.ts.map +1 -1
- package/dist/handlers/message-handlers/challenge-handler.js +3 -2
- package/dist/handlers/message-handlers/challenge-handler.js.map +1 -1
- package/dist/handlers/message-handlers/error-message-handler.d.ts +49 -31
- package/dist/handlers/message-handlers/error-message-handler.d.ts.map +1 -1
- package/dist/handlers/message-handlers/error-message-handler.js +2 -5
- package/dist/handlers/message-handlers/error-message-handler.js.map +1 -1
- package/dist/handlers/message-handlers/index.d.ts +11 -0
- package/dist/handlers/message-handlers/index.d.ts.map +1 -1
- package/dist/handlers/message-handlers/index.js +55 -1
- package/dist/handlers/message-handlers/index.js.map +1 -1
- package/dist/handlers/message-handlers/list-available-agents-handler.d.ts +1660 -0
- package/dist/handlers/message-handlers/list-available-agents-handler.d.ts.map +1 -0
- package/dist/handlers/message-handlers/list-available-agents-handler.js +35 -0
- package/dist/handlers/message-handlers/list-available-agents-handler.js.map +1 -0
- package/dist/handlers/message-handlers/list-room-agents-handler.d.ts +1669 -0
- package/dist/handlers/message-handlers/list-room-agents-handler.d.ts.map +1 -0
- package/dist/handlers/message-handlers/list-room-agents-handler.js +48 -0
- package/dist/handlers/message-handlers/list-room-agents-handler.js.map +1 -0
- package/dist/handlers/message-handlers/list-rooms-response-handler.d.ts +2 -110
- package/dist/handlers/message-handlers/list-rooms-response-handler.d.ts.map +1 -1
- package/dist/handlers/message-handlers/list-rooms-response-handler.js +4 -6
- package/dist/handlers/message-handlers/list-rooms-response-handler.js.map +1 -1
- package/dist/handlers/message-handlers/ping-pong-handler.d.ts +62 -58
- package/dist/handlers/message-handlers/ping-pong-handler.d.ts.map +1 -1
- package/dist/handlers/message-handlers/ping-pong-handler.js +4 -10
- package/dist/handlers/message-handlers/ping-pong-handler.js.map +1 -1
- package/dist/handlers/message-handlers/rate-limit-notification-handler.d.ts +94 -0
- package/dist/handlers/message-handlers/rate-limit-notification-handler.d.ts.map +1 -0
- package/dist/handlers/message-handlers/rate-limit-notification-handler.js +35 -0
- package/dist/handlers/message-handlers/rate-limit-notification-handler.js.map +1 -0
- package/dist/handlers/message-handlers/regular-message-handler.d.ts +31 -29
- package/dist/handlers/message-handlers/regular-message-handler.d.ts.map +1 -1
- package/dist/handlers/message-handlers/regular-message-handler.js +4 -6
- package/dist/handlers/message-handlers/regular-message-handler.js.map +1 -1
- package/dist/handlers/message-handlers/room-operation-response-handler.d.ts +328 -0
- package/dist/handlers/message-handlers/room-operation-response-handler.d.ts.map +1 -0
- package/dist/handlers/message-handlers/room-operation-response-handler.js +89 -0
- package/dist/handlers/message-handlers/room-operation-response-handler.js.map +1 -0
- package/dist/handlers/message-handlers/subscribe-response-handler.d.ts +53 -31
- package/dist/handlers/message-handlers/subscribe-response-handler.d.ts.map +1 -1
- package/dist/handlers/message-handlers/subscribe-response-handler.js +4 -6
- package/dist/handlers/message-handlers/subscribe-response-handler.js.map +1 -1
- package/dist/handlers/message-handlers/task-quote-handler.d.ts +14 -0
- package/dist/handlers/message-handlers/task-quote-handler.d.ts.map +1 -0
- package/dist/handlers/message-handlers/task-quote-handler.js +29 -0
- package/dist/handlers/message-handlers/task-quote-handler.js.map +1 -0
- package/dist/handlers/message-handlers/task-response-handler.js +2 -5
- package/dist/handlers/message-handlers/task-response-handler.js.map +1 -1
- package/dist/handlers/message-handlers/types.d.ts +21 -7
- package/dist/handlers/message-handlers/types.d.ts.map +1 -1
- package/dist/handlers/message-handlers/unsubscribe-response-handler.d.ts +53 -31
- package/dist/handlers/message-handlers/unsubscribe-response-handler.d.ts.map +1 -1
- package/dist/handlers/message-handlers/unsubscribe-response-handler.js +4 -6
- package/dist/handlers/message-handlers/unsubscribe-response-handler.js.map +1 -1
- package/dist/handlers/message-handlers/user-authenticated-handler.d.ts +40 -0
- package/dist/handlers/message-handlers/user-authenticated-handler.d.ts.map +1 -0
- package/dist/handlers/message-handlers/user-authenticated-handler.js +28 -0
- package/dist/handlers/message-handlers/user-authenticated-handler.js.map +1 -0
- package/dist/handlers/message-handlers/user-count-handler.d.ts +49 -0
- package/dist/handlers/message-handlers/user-count-handler.d.ts.map +1 -0
- package/dist/handlers/message-handlers/user-count-handler.js +31 -0
- package/dist/handlers/message-handlers/user-count-handler.js.map +1 -0
- package/dist/handlers/webhook-handler.d.ts +1 -1
- package/dist/handlers/webhook-handler.d.ts.map +1 -1
- package/dist/handlers/webhook-handler.js +14 -5
- package/dist/handlers/webhook-handler.js.map +1 -1
- package/dist/index.d.ts +6 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -2
- package/dist/index.js.map +1 -1
- package/dist/managers/admin-manager.d.ts +116 -0
- package/dist/managers/admin-manager.d.ts.map +1 -0
- package/dist/managers/admin-manager.js +169 -0
- package/dist/managers/admin-manager.js.map +1 -0
- package/dist/managers/agent-registry.d.ts +52 -1
- package/dist/managers/agent-registry.d.ts.map +1 -1
- package/dist/managers/agent-registry.js +145 -6
- package/dist/managers/agent-registry.js.map +1 -1
- package/dist/managers/agent-room-manager.d.ts +216 -0
- package/dist/managers/agent-room-manager.d.ts.map +1 -0
- package/dist/managers/agent-room-manager.js +555 -0
- package/dist/managers/agent-room-manager.js.map +1 -0
- package/dist/managers/connection-manager.js +2 -0
- package/dist/managers/connection-manager.js.map +1 -1
- package/dist/managers/index.d.ts +4 -1
- package/dist/managers/index.d.ts.map +1 -1
- package/dist/managers/index.js +7 -1
- package/dist/managers/index.js.map +1 -1
- package/dist/managers/message-router.d.ts +56 -5
- package/dist/managers/message-router.d.ts.map +1 -1
- package/dist/managers/message-router.js +155 -8
- package/dist/managers/message-router.js.map +1 -1
- package/dist/managers/room-management-manager.d.ts +213 -0
- package/dist/managers/room-management-manager.d.ts.map +1 -0
- package/dist/managers/room-management-manager.js +442 -0
- package/dist/managers/room-management-manager.js.map +1 -0
- package/dist/managers/room-manager.d.ts +11 -9
- package/dist/managers/room-manager.d.ts.map +1 -1
- package/dist/managers/room-manager.js +14 -10
- package/dist/managers/room-manager.js.map +1 -1
- package/dist/payments/index.d.ts +5 -0
- package/dist/payments/index.d.ts.map +1 -0
- package/dist/payments/index.js +21 -0
- package/dist/payments/index.js.map +1 -0
- package/dist/payments/payment-client.d.ts +74 -0
- package/dist/payments/payment-client.d.ts.map +1 -0
- package/dist/payments/payment-client.js +207 -0
- package/dist/payments/payment-client.js.map +1 -0
- package/dist/teneo-sdk.d.ts +467 -33
- package/dist/teneo-sdk.d.ts.map +1 -1
- package/dist/teneo-sdk.js +735 -26
- package/dist/teneo-sdk.js.map +1 -1
- package/dist/types/categories.d.ts +22 -0
- package/dist/types/categories.d.ts.map +1 -0
- package/dist/types/categories.js +40 -0
- package/dist/types/categories.js.map +1 -0
- package/dist/types/config.d.ts +134 -54
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/config.js +70 -9
- package/dist/types/config.js.map +1 -1
- package/dist/types/error-codes.d.ts +10 -0
- package/dist/types/error-codes.d.ts.map +1 -1
- package/dist/types/error-codes.js +12 -0
- package/dist/types/error-codes.js.map +1 -1
- package/dist/types/events.d.ts +176 -68
- package/dist/types/events.d.ts.map +1 -1
- package/dist/types/events.js +19 -1
- package/dist/types/events.js.map +1 -1
- package/dist/types/index.d.ts +3 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +57 -2
- package/dist/types/index.js.map +1 -1
- package/dist/types/messages.d.ts +22225 -2592
- package/dist/types/messages.d.ts.map +1 -1
- package/dist/types/messages.js +537 -28
- package/dist/types/messages.js.map +1 -1
- package/dist/utils/bounded-queue.d.ts.map +1 -1
- package/dist/utils/bounded-queue.js +5 -2
- package/dist/utils/bounded-queue.js.map +1 -1
- package/dist/utils/circuit-breaker.js +11 -4
- package/dist/utils/circuit-breaker.js.map +1 -1
- package/dist/utils/deduplication-cache.js +3 -1
- package/dist/utils/deduplication-cache.js.map +1 -1
- package/dist/utils/event-waiter.d.ts +3 -3
- package/dist/utils/event-waiter.d.ts.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +4 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/pricing-resolver.d.ts +26 -0
- package/dist/utils/pricing-resolver.d.ts.map +1 -0
- package/dist/utils/pricing-resolver.js +85 -0
- package/dist/utils/pricing-resolver.js.map +1 -0
- package/dist/utils/rate-limiter.d.ts.map +1 -1
- package/dist/utils/rate-limiter.js +6 -0
- package/dist/utils/rate-limiter.js.map +1 -1
- package/dist/utils/retry-policy.js +1 -0
- package/dist/utils/retry-policy.js.map +1 -1
- package/dist/utils/secure-private-key.js +3 -1
- package/dist/utils/secure-private-key.js.map +1 -1
- package/dist/utils/signature-verifier.d.ts.map +1 -1
- package/dist/utils/signature-verifier.js +3 -1
- package/dist/utils/signature-verifier.js.map +1 -1
- package/examples/.env.example +2 -2
- package/examples/agent-room-management-example.ts +335 -0
- package/examples/basic-usage.ts +3 -4
- package/examples/claude-agent-x-follower/.env.example +3 -3
- package/examples/claude-agent-x-follower/QUICKSTART.md +3 -3
- package/examples/claude-agent-x-follower/README.md +3 -3
- package/examples/claude-agent-x-follower/index.ts +120 -96
- package/examples/n8n-teneo/.env.example +3 -3
- package/examples/n8n-teneo/README.md +2 -2
- package/examples/n8n-teneo/index.ts +54 -44
- package/examples/nestjs-dashboard/.env.example +11 -0
- package/examples/nestjs-dashboard/README.md +297 -0
- package/examples/nestjs-dashboard/nest-cli.json +10 -0
- package/examples/nestjs-dashboard/package.json +44 -0
- package/examples/nestjs-dashboard/pnpm-lock.yaml +3079 -0
- package/examples/nestjs-dashboard/src/app.controller.ts +24 -0
- package/examples/nestjs-dashboard/src/app.module.ts +15 -0
- package/examples/nestjs-dashboard/src/main.ts +32 -0
- package/examples/nestjs-dashboard/src/public/dashboard.html +1144 -0
- package/examples/nestjs-dashboard/src/teneo/agents.controller.ts +54 -0
- package/examples/nestjs-dashboard/src/teneo/events.controller.ts +65 -0
- package/examples/nestjs-dashboard/src/teneo/messages.controller.ts +47 -0
- package/examples/nestjs-dashboard/src/teneo/rooms.controller.ts +258 -0
- package/examples/nestjs-dashboard/src/teneo/teneo.module.ts +13 -0
- package/examples/nestjs-dashboard/src/teneo/teneo.service.ts +484 -0
- package/examples/nestjs-dashboard/tsconfig.json +22 -0
- package/examples/openai-teneo/.env.example +3 -3
- package/examples/openai-teneo/README.md +3 -3
- package/examples/openai-teneo/index.ts +82 -71
- package/examples/production-dashboard/.env.example +3 -3
- package/examples/production-dashboard/README.md +90 -13
- package/examples/production-dashboard/public/dashboard.html +1173 -601
- package/examples/production-dashboard/server.ts +349 -7
- package/examples/room-management-example.ts +282 -0
- package/examples/usage/.env.example +2 -2
- package/examples/usage/01-connect.ts +3 -4
- package/examples/usage/02-list-agents.ts +2 -3
- package/examples/usage/03-pick-agent.ts +2 -3
- package/examples/usage/04-find-by-capability.ts +2 -3
- package/examples/usage/05-webhook-example.ts +2 -3
- package/examples/usage/06-simple-api-server.ts +2 -3
- package/examples/usage/07-event-listener.ts +2 -3
- package/examples/usage/README.md +1 -1
- package/examples/webhook-integration.ts +1 -1
- package/examples/x-influencer-battle-server.ts +2 -2
- package/package.json +12 -1
- package/src/core/websocket-client.test.ts +8 -3
- package/src/core/websocket-client.ts +58 -4
- package/src/formatters/response-formatter.test.ts +2 -0
- package/src/formatters/response-formatter.ts +3 -3
- package/src/handlers/message-handlers/agent-details-response-handler.ts +42 -0
- package/src/handlers/message-handlers/agent-room-operation-response-handler.ts +77 -0
- package/src/handlers/message-handlers/agent-status-update-handler.ts +52 -0
- package/src/handlers/message-handlers/all-agents-response-handler.ts +39 -0
- package/src/handlers/message-handlers/auth-message-handler.ts +78 -5
- package/src/handlers/message-handlers/auth-success-handler.ts +63 -6
- package/src/handlers/message-handlers/base-handler.ts +20 -7
- package/src/handlers/message-handlers/index.ts +53 -0
- package/src/handlers/message-handlers/list-available-agents-handler.ts +41 -0
- package/src/handlers/message-handlers/list-room-agents-handler.ts +58 -0
- package/src/handlers/message-handlers/list-rooms-response-handler.ts +4 -2
- package/src/handlers/message-handlers/rate-limit-notification-handler.ts +45 -0
- package/src/handlers/message-handlers/regular-message-handler.ts +3 -2
- package/src/handlers/message-handlers/room-operation-response-handler.ts +102 -0
- package/src/handlers/message-handlers/subscribe-response-handler.ts +12 -2
- package/src/handlers/message-handlers/task-quote-handler.ts +31 -0
- package/src/handlers/message-handlers/types.ts +41 -7
- package/src/handlers/message-handlers/unsubscribe-response-handler.ts +12 -2
- package/src/handlers/message-handlers/user-authenticated-handler.ts +31 -0
- package/src/handlers/message-handlers/user-count-handler.ts +34 -0
- package/src/handlers/webhook-handler.test.ts +3 -2
- package/src/handlers/webhook-handler.ts +13 -7
- package/src/index.ts +21 -0
- package/src/managers/admin-manager.ts +249 -0
- package/src/managers/agent-registry.test.ts +2 -1
- package/src/managers/agent-registry.ts +170 -2
- package/src/managers/agent-room-manager.ts +665 -0
- package/src/managers/index.ts +15 -1
- package/src/managers/message-router.ts +215 -17
- package/src/managers/room-management-manager.ts +520 -0
- package/src/managers/room-manager.ts +15 -20
- package/src/payments/index.ts +22 -0
- package/src/payments/payment-client.ts +240 -0
- package/src/teneo-sdk.ts +806 -30
- package/src/types/categories.ts +45 -0
- package/src/types/config.ts +80 -7
- package/src/types/error-codes.ts +14 -0
- package/src/types/events.test.ts +1 -0
- package/src/types/events.ts +67 -0
- package/src/types/index.ts +111 -0
- package/src/types/messages.test.ts +2 -1
- package/src/types/messages.ts +677 -42
- package/src/utils/bounded-queue.test.ts +1 -1
- package/src/utils/bounded-queue.ts +2 -1
- package/src/utils/circuit-breaker.test.ts +1 -1
- package/src/utils/deduplication-cache.test.ts +1 -1
- package/src/utils/event-waiter.test.ts +1 -1
- package/src/utils/event-waiter.ts +3 -3
- package/src/utils/index.ts +7 -0
- package/src/utils/logger.ts +8 -8
- package/src/utils/pricing-resolver.ts +128 -0
- package/src/utils/rate-limiter.test.ts +1 -1
- package/src/utils/rate-limiter.ts +1 -0
- package/src/utils/signature-verifier.test.ts +2 -2
- package/src/utils/signature-verifier.ts +3 -2
- package/tests/.env.example +7 -0
- package/tests/direct-agent-test.ts +151 -0
- package/tests/integration/real-server.test.ts +2 -0
- package/tests/integration/room-management.test.ts +516 -0
- package/tests/integration/websocket.test.ts +5 -2
- package/tests/payment-flow-test.ts +147 -0
- package/tests/unit/handlers/agent-room-operation-response-handler.test.ts +382 -0
- package/tests/unit/handlers/agent-status-update-handler.test.ts +403 -0
- package/tests/unit/handlers/auth-success-handler-rooms.test.ts +697 -0
- package/tests/unit/handlers/list-available-agents-handler.test.ts +248 -0
- package/tests/unit/handlers/list-room-agents-handler.test.ts +290 -0
- package/tests/unit/handlers/room-operation-response-handler.test.ts +500 -0
- package/tests/unit/managers/agent-room-manager.test.ts +527 -0
- package/tests/unit/managers/room-management-manager.test.ts +420 -0
- package/tsconfig.json +2 -2
- package/vitest.config.ts +1 -0
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* MessageRouter - Manages message sending and routing
|
|
3
3
|
* Handles user messages, direct commands, and message-response patterns
|
|
4
|
+
* Supports quote-approve payment flow (v2.2.0)
|
|
4
5
|
*/
|
|
5
6
|
import { EventEmitter } from "eventemitter3";
|
|
6
7
|
import { WebSocketClient } from "../core/websocket-client";
|
|
7
8
|
import { WebhookHandler } from "../handlers/webhook-handler";
|
|
8
9
|
import { ResponseFormatter, FormattedResponse } from "../formatters/response-formatter";
|
|
9
|
-
import { Logger, ResponseFormat } from "../types";
|
|
10
|
+
import { Logger, ResponseFormat, PricingInfo } from "../types";
|
|
10
11
|
import { SDKEvents } from "../types/events";
|
|
12
|
+
import type { SecurePrivateKey } from "../utils/secure-private-key";
|
|
11
13
|
export interface SendMessageOptions {
|
|
12
14
|
room: string;
|
|
13
15
|
from?: string;
|
|
@@ -20,6 +22,28 @@ export interface AgentCommand {
|
|
|
20
22
|
command: string;
|
|
21
23
|
room: string;
|
|
22
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* Result of a quote request, containing pricing and agent details.
|
|
27
|
+
*/
|
|
28
|
+
export interface QuoteResult {
|
|
29
|
+
taskId: string;
|
|
30
|
+
agentId: string;
|
|
31
|
+
agentName: string;
|
|
32
|
+
agentWallet: string;
|
|
33
|
+
command: string;
|
|
34
|
+
pricing: PricingInfo;
|
|
35
|
+
expiresAt: Date;
|
|
36
|
+
}
|
|
37
|
+
export interface MessageRouterConfig {
|
|
38
|
+
messageTimeout?: number;
|
|
39
|
+
responseFormat?: ResponseFormat;
|
|
40
|
+
autoApproveQuotes?: boolean;
|
|
41
|
+
maxPricePerRequest?: number;
|
|
42
|
+
quoteTimeout?: number;
|
|
43
|
+
wsUrl?: string;
|
|
44
|
+
paymentNetwork?: string;
|
|
45
|
+
paymentAsset?: string;
|
|
46
|
+
}
|
|
23
47
|
export declare class MessageRouter extends EventEmitter<SDKEvents> {
|
|
24
48
|
private readonly wsClient;
|
|
25
49
|
private readonly webhookHandler;
|
|
@@ -27,10 +51,20 @@ export declare class MessageRouter extends EventEmitter<SDKEvents> {
|
|
|
27
51
|
private readonly logger;
|
|
28
52
|
private readonly messageTimeout;
|
|
29
53
|
private readonly responseFormat;
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
54
|
+
private paymentClient;
|
|
55
|
+
private readonly pendingQuotes;
|
|
56
|
+
private readonly autoApproveQuotes;
|
|
57
|
+
private readonly maxPricePerRequest?;
|
|
58
|
+
private readonly quoteTimeout;
|
|
59
|
+
private readonly wsUrl;
|
|
60
|
+
private readonly paymentNetwork;
|
|
61
|
+
private readonly paymentAsset;
|
|
62
|
+
constructor(wsClient: WebSocketClient, webhookHandler: WebhookHandler, responseFormatter: ResponseFormatter, logger: Logger, config: MessageRouterConfig);
|
|
63
|
+
/**
|
|
64
|
+
* Sets up the payment client for quote-approve flow.
|
|
65
|
+
* Must be called before using requestQuote/confirmQuote with paid tasks.
|
|
66
|
+
*/
|
|
67
|
+
setPaymentClient(secureKey: SecurePrivateKey, walletAddress: string): void;
|
|
34
68
|
/**
|
|
35
69
|
* Sends a message to agents via the coordinator.
|
|
36
70
|
* The coordinator intelligently selects the most appropriate agent.
|
|
@@ -85,6 +119,23 @@ export declare class MessageRouter extends EventEmitter<SDKEvents> {
|
|
|
85
119
|
* ```
|
|
86
120
|
*/
|
|
87
121
|
sendDirectCommand(command: AgentCommand, waitForResponse?: boolean): Promise<FormattedResponse | void>;
|
|
122
|
+
/**
|
|
123
|
+
* Requests a quote for a task without auto-approval.
|
|
124
|
+
* Returns the quote data for manual confirmation.
|
|
125
|
+
*/
|
|
126
|
+
requestQuote(content: string, room: string): Promise<QuoteResult>;
|
|
127
|
+
/**
|
|
128
|
+
* Confirms a quote and executes the task with payment.
|
|
129
|
+
* Can optionally wait for the task response.
|
|
130
|
+
*/
|
|
131
|
+
confirmQuote(taskId: string, options?: {
|
|
132
|
+
waitForResponse?: boolean;
|
|
133
|
+
timeout?: number;
|
|
134
|
+
}): Promise<FormattedResponse | void>;
|
|
135
|
+
/**
|
|
136
|
+
* Gets a pending quote by task ID.
|
|
137
|
+
*/
|
|
138
|
+
getPendingQuote(taskId: string): QuoteResult | undefined;
|
|
88
139
|
/**
|
|
89
140
|
* Send message and wait for agent response
|
|
90
141
|
* Uses event-waiter utility for clean Promise-based waiting with automatic cleanup
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-router.d.ts","sourceRoot":"","sources":["../../src/managers/message-router.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"message-router.d.ts","sourceRoot":"","sources":["../../src/managers/message-router.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* MessageRouter - Manages message sending and routing
|
|
4
4
|
* Handles user messages, direct commands, and message-response patterns
|
|
5
|
+
* Supports quote-approve payment flow (v2.2.0)
|
|
5
6
|
*/
|
|
6
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
8
|
exports.MessageRouter = void 0;
|
|
@@ -13,7 +14,23 @@ const error_codes_1 = require("../types/error-codes");
|
|
|
13
14
|
const constants_1 = require("../constants");
|
|
14
15
|
const validation_1 = require("../types/validation");
|
|
15
16
|
const event_waiter_1 = require("../utils/event-waiter");
|
|
17
|
+
const payment_client_1 = require("../payments/payment-client");
|
|
16
18
|
class MessageRouter extends eventemitter3_1.EventEmitter {
|
|
19
|
+
wsClient;
|
|
20
|
+
webhookHandler;
|
|
21
|
+
responseFormatter;
|
|
22
|
+
logger;
|
|
23
|
+
messageTimeout;
|
|
24
|
+
responseFormat;
|
|
25
|
+
// Quote-approve flow (v2.2.0)
|
|
26
|
+
paymentClient = null;
|
|
27
|
+
pendingQuotes = new Map();
|
|
28
|
+
autoApproveQuotes;
|
|
29
|
+
maxPricePerRequest;
|
|
30
|
+
quoteTimeout;
|
|
31
|
+
wsUrl;
|
|
32
|
+
paymentNetwork;
|
|
33
|
+
paymentAsset;
|
|
17
34
|
constructor(wsClient, webhookHandler, responseFormatter, logger, config) {
|
|
18
35
|
super();
|
|
19
36
|
this.wsClient = wsClient;
|
|
@@ -22,8 +39,26 @@ class MessageRouter extends eventemitter3_1.EventEmitter {
|
|
|
22
39
|
this.logger = logger;
|
|
23
40
|
this.messageTimeout = config.messageTimeout ?? constants_1.TIMEOUTS.DEFAULT_MESSAGE_TIMEOUT;
|
|
24
41
|
this.responseFormat = config.responseFormat ?? "humanized";
|
|
42
|
+
// Quote-approve config (v2.2.0)
|
|
43
|
+
this.autoApproveQuotes = config.autoApproveQuotes ?? true;
|
|
44
|
+
this.maxPricePerRequest = config.maxPricePerRequest;
|
|
45
|
+
this.quoteTimeout = config.quoteTimeout ?? 30000;
|
|
46
|
+
this.wsUrl = config.wsUrl ?? "";
|
|
47
|
+
this.paymentNetwork = config.paymentNetwork ?? "eip155:3338";
|
|
48
|
+
// USDC contract address on PEAQ network
|
|
49
|
+
this.paymentAsset = config.paymentAsset ?? "0xbbA60da06c2c5424f03f7434542280FCAd453d10";
|
|
25
50
|
this.setupEventForwarding();
|
|
26
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* Sets up the payment client for quote-approve flow.
|
|
54
|
+
* Must be called before using requestQuote/confirmQuote with paid tasks.
|
|
55
|
+
*/
|
|
56
|
+
setPaymentClient(secureKey, walletAddress) {
|
|
57
|
+
this.paymentClient = new payment_client_1.PaymentClient(secureKey, walletAddress, {
|
|
58
|
+
network: this.paymentNetwork,
|
|
59
|
+
asset: this.paymentAsset
|
|
60
|
+
});
|
|
61
|
+
}
|
|
27
62
|
/**
|
|
28
63
|
* Sends a message to agents via the coordinator.
|
|
29
64
|
* The coordinator intelligently selects the most appropriate agent.
|
|
@@ -59,17 +94,28 @@ class MessageRouter extends eventemitter3_1.EventEmitter {
|
|
|
59
94
|
if (!this.wsClient.isConnected) {
|
|
60
95
|
throw new events_1.SDKError("Not connected to Teneo network", error_codes_1.ErrorCode.NOT_CONNECTED);
|
|
61
96
|
}
|
|
62
|
-
// Validate content
|
|
63
97
|
const validatedContent = validation_1.MessageContentSchema.parse(content);
|
|
64
98
|
const room = options.room;
|
|
65
99
|
if (!room) {
|
|
66
100
|
throw new events_1.ValidationError("Room parameter is required");
|
|
67
101
|
}
|
|
68
|
-
// Use
|
|
102
|
+
// Use quote-approve flow with auto-approval (v2.2.0)
|
|
103
|
+
if (this.autoApproveQuotes) {
|
|
104
|
+
this.logger.debug("MessageRouter: Using quote-approve flow", {
|
|
105
|
+
content: validatedContent,
|
|
106
|
+
room
|
|
107
|
+
});
|
|
108
|
+
const quote = await this.requestQuote(validatedContent, room);
|
|
109
|
+
return await this.confirmQuote(quote.taskId, {
|
|
110
|
+
waitForResponse: options.waitForResponse,
|
|
111
|
+
timeout: options.timeout ?? this.messageTimeout
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
// Legacy flow (auto-approval disabled - user must manually confirm quotes)
|
|
69
115
|
const authState = this.wsClient.getAuthState();
|
|
70
116
|
const fromAddress = options.from ?? authState.walletAddress;
|
|
71
117
|
const message = (0, types_1.createUserMessage)(validatedContent, room, fromAddress);
|
|
72
|
-
this.logger.debug("MessageRouter: Sending message", {
|
|
118
|
+
this.logger.debug("MessageRouter: Sending message (legacy)", {
|
|
73
119
|
content: validatedContent,
|
|
74
120
|
room,
|
|
75
121
|
from: fromAddress
|
|
@@ -107,20 +153,27 @@ class MessageRouter extends eventemitter3_1.EventEmitter {
|
|
|
107
153
|
if (!this.wsClient.isConnected) {
|
|
108
154
|
throw new events_1.SDKError("Not connected to Teneo network", error_codes_1.ErrorCode.NOT_CONNECTED);
|
|
109
155
|
}
|
|
110
|
-
// Validate command
|
|
111
156
|
const validatedAgent = validation_1.AgentIdSchema.parse(command.agent);
|
|
112
157
|
const validatedCommand = validation_1.AgentCommandContentSchema.parse(command.command);
|
|
113
158
|
const room = command.room;
|
|
114
159
|
if (!room) {
|
|
115
160
|
throw new events_1.ValidationError("Room parameter is required");
|
|
116
161
|
}
|
|
117
|
-
|
|
162
|
+
const content = `@${validatedAgent} ${validatedCommand}`;
|
|
163
|
+
// Use quote-approve flow with auto-approval (v2.2.0)
|
|
164
|
+
if (this.autoApproveQuotes) {
|
|
165
|
+
this.logger.debug("MessageRouter: Using quote-approve flow", { content, room });
|
|
166
|
+
const quote = await this.requestQuote(content, room);
|
|
167
|
+
return await this.confirmQuote(quote.taskId, {
|
|
168
|
+
waitForResponse,
|
|
169
|
+
timeout: this.messageTimeout
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
// Legacy flow (auto-approval disabled - user must manually confirm quotes)
|
|
118
173
|
const authState = this.wsClient.getAuthState();
|
|
119
174
|
const walletAddress = authState.walletAddress;
|
|
120
|
-
// Format as direct command
|
|
121
|
-
const content = `@${validatedAgent} ${validatedCommand}`;
|
|
122
175
|
const message = (0, types_1.createUserMessage)(content, room, walletAddress);
|
|
123
|
-
this.logger.debug("MessageRouter: Sending direct command", {
|
|
176
|
+
this.logger.debug("MessageRouter: Sending direct command (legacy)", {
|
|
124
177
|
agent: validatedAgent,
|
|
125
178
|
command: validatedCommand,
|
|
126
179
|
room,
|
|
@@ -141,6 +194,100 @@ class MessageRouter extends eventemitter3_1.EventEmitter {
|
|
|
141
194
|
await this.webhookHandler.sendMessageWebhook(message);
|
|
142
195
|
}
|
|
143
196
|
}
|
|
197
|
+
/**
|
|
198
|
+
* Requests a quote for a task without auto-approval.
|
|
199
|
+
* Returns the quote data for manual confirmation.
|
|
200
|
+
*/
|
|
201
|
+
async requestQuote(content, room) {
|
|
202
|
+
if (!this.wsClient.isConnected) {
|
|
203
|
+
throw new events_1.SDKError("Not connected to Teneo network", error_codes_1.ErrorCode.NOT_CONNECTED);
|
|
204
|
+
}
|
|
205
|
+
const message = (0, types_1.createRequestTask)(content, room);
|
|
206
|
+
this.logger.debug("MessageRouter: Requesting quote", { content, room });
|
|
207
|
+
await this.wsClient.sendMessage(message);
|
|
208
|
+
const quote = await (0, event_waiter_1.waitForEvent)(this.wsClient, "quote:received", {
|
|
209
|
+
timeout: this.quoteTimeout,
|
|
210
|
+
timeoutMessage: `Quote request timed out after ${this.quoteTimeout}ms`
|
|
211
|
+
});
|
|
212
|
+
const result = {
|
|
213
|
+
taskId: quote.data.task_id,
|
|
214
|
+
agentId: quote.data.agent_id,
|
|
215
|
+
agentName: quote.data.agent_name,
|
|
216
|
+
agentWallet: quote.data.agent_wallet,
|
|
217
|
+
command: quote.data.command,
|
|
218
|
+
pricing: quote.data.pricing,
|
|
219
|
+
expiresAt: new Date(quote.data.expires_at)
|
|
220
|
+
};
|
|
221
|
+
this.pendingQuotes.set(result.taskId, result);
|
|
222
|
+
return result;
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Confirms a quote and executes the task with payment.
|
|
226
|
+
* Can optionally wait for the task response.
|
|
227
|
+
*/
|
|
228
|
+
async confirmQuote(taskId, options) {
|
|
229
|
+
if (!this.wsClient.isConnected) {
|
|
230
|
+
throw new events_1.SDKError("Not connected to Teneo network", error_codes_1.ErrorCode.NOT_CONNECTED);
|
|
231
|
+
}
|
|
232
|
+
const quote = this.pendingQuotes.get(taskId);
|
|
233
|
+
if (!quote) {
|
|
234
|
+
throw new events_1.ValidationError(`No pending quote found for task ${taskId}`);
|
|
235
|
+
}
|
|
236
|
+
if (new Date() > quote.expiresAt) {
|
|
237
|
+
this.pendingQuotes.delete(taskId);
|
|
238
|
+
throw new events_1.SDKError("Quote has expired", error_codes_1.ErrorCode.QUOTE_EXPIRED);
|
|
239
|
+
}
|
|
240
|
+
// Check price limit
|
|
241
|
+
if (this.maxPricePerRequest !== undefined) {
|
|
242
|
+
const priceInUnits = quote.pricing.pricePerUnit * 1_000_000;
|
|
243
|
+
if (priceInUnits > this.maxPricePerRequest) {
|
|
244
|
+
this.emit("payment:blocked", {
|
|
245
|
+
agentId: quote.agentId,
|
|
246
|
+
agentPrice: priceInUnits,
|
|
247
|
+
maxPrice: this.maxPricePerRequest
|
|
248
|
+
});
|
|
249
|
+
throw new events_1.PaymentError(`Quote price exceeds limit: ${priceInUnits} > ${this.maxPricePerRequest}`, error_codes_1.ErrorCode.PRICE_LIMIT_EXCEEDED, { agentId: quote.agentId, agentPrice: priceInUnits, maxPrice: this.maxPricePerRequest });
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
let paymentHeader;
|
|
253
|
+
// Create payment header if payment client is configured and price > 0
|
|
254
|
+
if (this.paymentClient && quote.pricing.pricePerUnit > 0) {
|
|
255
|
+
try {
|
|
256
|
+
paymentHeader = await this.paymentClient.createPaymentHeader(quote.pricing.pricePerUnit * 1_000_000, quote.agentWallet, (0, payment_client_1.buildX402ResourceUrl)(this.wsUrl));
|
|
257
|
+
this.emit("payment:attached", {
|
|
258
|
+
agentId: quote.agentId,
|
|
259
|
+
amount: quote.pricing.pricePerUnit * 1_000_000,
|
|
260
|
+
command: quote.command
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
catch (error) {
|
|
264
|
+
this.logger.error("Failed to create payment header for quote confirmation", error);
|
|
265
|
+
throw new events_1.PaymentError("Failed to create payment", error_codes_1.ErrorCode.PAYMENT_FAILED, {
|
|
266
|
+
agentId: quote.agentId
|
|
267
|
+
});
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
const confirmMessage = (0, types_1.createConfirmTask)(taskId, paymentHeader);
|
|
271
|
+
this.logger.debug("MessageRouter: Confirming quote", { taskId });
|
|
272
|
+
await this.wsClient.sendMessage(confirmMessage);
|
|
273
|
+
// Delete quote only after successful send (enables retry on network failure)
|
|
274
|
+
this.pendingQuotes.delete(taskId);
|
|
275
|
+
if (options?.waitForResponse) {
|
|
276
|
+
const timeout = options.timeout ?? this.messageTimeout;
|
|
277
|
+
const response = await (0, event_waiter_1.waitForEvent)(this.wsClient, "agent:response", {
|
|
278
|
+
timeout,
|
|
279
|
+
filter: (r) => r.taskId === taskId,
|
|
280
|
+
timeoutMessage: `Task response timed out after ${timeout}ms (taskId: ${taskId})`
|
|
281
|
+
});
|
|
282
|
+
return response;
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* Gets a pending quote by task ID.
|
|
287
|
+
*/
|
|
288
|
+
getPendingQuote(taskId) {
|
|
289
|
+
return this.pendingQuotes.get(taskId);
|
|
290
|
+
}
|
|
144
291
|
/**
|
|
145
292
|
* Send message and wait for agent response
|
|
146
293
|
* Uses event-waiter utility for clean Promise-based waiting with automatic cleanup
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-router.js","sourceRoot":"","sources":["../../src/managers/message-router.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"message-router.js","sourceRoot":"","sources":["../../src/managers/message-router.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RoomManagementManager - Manages room CRUD operations (v2.0.0)
|
|
3
|
+
* Handles creating, updating, and deleting private rooms
|
|
4
|
+
* Tracks owned vs shared rooms with local caching
|
|
5
|
+
*/
|
|
6
|
+
import { EventEmitter } from "eventemitter3";
|
|
7
|
+
import { WebSocketClient } from "../core/websocket-client";
|
|
8
|
+
import { RoomInfo, Logger } from "../types";
|
|
9
|
+
import { SDKEvents } from "../types/events";
|
|
10
|
+
export interface CreateRoomOptions {
|
|
11
|
+
name: string;
|
|
12
|
+
description?: string;
|
|
13
|
+
}
|
|
14
|
+
export interface UpdateRoomOptions {
|
|
15
|
+
name?: string;
|
|
16
|
+
description?: string;
|
|
17
|
+
}
|
|
18
|
+
export declare class RoomManagementManager extends EventEmitter<SDKEvents> {
|
|
19
|
+
private readonly wsClient;
|
|
20
|
+
private readonly logger;
|
|
21
|
+
private readonly ownedRooms;
|
|
22
|
+
private readonly sharedRooms;
|
|
23
|
+
private maxPrivateRooms;
|
|
24
|
+
constructor(wsClient: WebSocketClient, logger: Logger);
|
|
25
|
+
/**
|
|
26
|
+
* Creates a new private room.
|
|
27
|
+
* Checks room limit before creating.
|
|
28
|
+
*
|
|
29
|
+
* @param options - Room creation options
|
|
30
|
+
* @returns Promise that resolves when room is created
|
|
31
|
+
* @throws {SDKError} If not connected, over limit, or validation fails
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```typescript
|
|
35
|
+
* const room = await sdk.rooms.createRoom({
|
|
36
|
+
* name: 'My Private Room',
|
|
37
|
+
* description: 'A room for my project'
|
|
38
|
+
* });
|
|
39
|
+
* console.log(`Created room: ${room.id}`);
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
createRoom(options: CreateRoomOptions): Promise<RoomInfo>;
|
|
43
|
+
/**
|
|
44
|
+
* Updates an existing room's name and/or description.
|
|
45
|
+
* User must own the room to update it.
|
|
46
|
+
*
|
|
47
|
+
* @param roomId - ID of room to update
|
|
48
|
+
* @param updates - Fields to update
|
|
49
|
+
* @returns Promise that resolves when room is updated
|
|
50
|
+
* @throws {SDKError} If not connected, not owner, or validation fails
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* ```typescript
|
|
54
|
+
* await sdk.rooms.updateRoom('room-123', {
|
|
55
|
+
* name: 'Updated Room Name',
|
|
56
|
+
* description: 'New description'
|
|
57
|
+
* });
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
updateRoom(roomId: string, updates: UpdateRoomOptions): Promise<RoomInfo>;
|
|
61
|
+
/**
|
|
62
|
+
* Deletes a room permanently.
|
|
63
|
+
* User must own the room to delete it.
|
|
64
|
+
*
|
|
65
|
+
* @param roomId - ID of room to delete
|
|
66
|
+
* @returns Promise that resolves when room is deleted
|
|
67
|
+
* @throws {SDKError} If not connected or not owner
|
|
68
|
+
*
|
|
69
|
+
* @example
|
|
70
|
+
* ```typescript
|
|
71
|
+
* await sdk.rooms.deleteRoom('room-123');
|
|
72
|
+
* console.log('Room deleted successfully');
|
|
73
|
+
* ```
|
|
74
|
+
*/
|
|
75
|
+
deleteRoom(roomId: string): Promise<void>;
|
|
76
|
+
/**
|
|
77
|
+
* Gets all rooms owned by the current user.
|
|
78
|
+
* Synchronous method that returns cached data.
|
|
79
|
+
*
|
|
80
|
+
* @returns Array of owned room info
|
|
81
|
+
*
|
|
82
|
+
* @example
|
|
83
|
+
* ```typescript
|
|
84
|
+
* const myRooms = sdk.rooms.getOwnedRooms();
|
|
85
|
+
* console.log(`I own ${myRooms.length} rooms`);
|
|
86
|
+
* ```
|
|
87
|
+
*/
|
|
88
|
+
getOwnedRooms(): ReadonlyArray<Readonly<RoomInfo>>;
|
|
89
|
+
/**
|
|
90
|
+
* Gets all rooms the user is a member of (but doesn't own).
|
|
91
|
+
* Synchronous method that returns cached data.
|
|
92
|
+
*
|
|
93
|
+
* @returns Array of shared room info
|
|
94
|
+
*
|
|
95
|
+
* @example
|
|
96
|
+
* ```typescript
|
|
97
|
+
* const sharedRooms = sdk.rooms.getSharedRooms();
|
|
98
|
+
* console.log(`I'm a member of ${sharedRooms.length} shared rooms`);
|
|
99
|
+
* ```
|
|
100
|
+
*/
|
|
101
|
+
getSharedRooms(): ReadonlyArray<Readonly<RoomInfo>>;
|
|
102
|
+
/**
|
|
103
|
+
* Gets all rooms the user has access to (both owned and shared).
|
|
104
|
+
* Convenience method that combines getOwnedRooms() and getSharedRooms().
|
|
105
|
+
* Synchronous method that returns cached data.
|
|
106
|
+
*
|
|
107
|
+
* @returns Array of all room info (owned + shared)
|
|
108
|
+
*
|
|
109
|
+
* @example
|
|
110
|
+
* ```typescript
|
|
111
|
+
* const allRooms = sdk.getAllRooms();
|
|
112
|
+
* console.log(`I have access to ${allRooms.length} total rooms`);
|
|
113
|
+
*
|
|
114
|
+
* // Filter by ownership if needed
|
|
115
|
+
* const myRooms = allRooms.filter(r => r.is_owner);
|
|
116
|
+
* const sharedWithMe = allRooms.filter(r => !r.is_owner);
|
|
117
|
+
* ```
|
|
118
|
+
*/
|
|
119
|
+
getAllRooms(): ReadonlyArray<Readonly<RoomInfo>>;
|
|
120
|
+
/**
|
|
121
|
+
* Gets a specific room by ID.
|
|
122
|
+
* Checks both owned and shared room caches.
|
|
123
|
+
*
|
|
124
|
+
* @param roomId - Room ID to look up
|
|
125
|
+
* @returns Room info if found, undefined otherwise
|
|
126
|
+
*
|
|
127
|
+
* @example
|
|
128
|
+
* ```typescript
|
|
129
|
+
* const room = sdk.rooms.getRoomById('room-123');
|
|
130
|
+
* if (room) {
|
|
131
|
+
* console.log(`Room: ${room.name}`);
|
|
132
|
+
* }
|
|
133
|
+
* ```
|
|
134
|
+
*/
|
|
135
|
+
getRoomById(roomId: string): Readonly<RoomInfo> | undefined;
|
|
136
|
+
/**
|
|
137
|
+
* Gets the maximum number of private rooms the user can create.
|
|
138
|
+
* Based on user's subscription/plan.
|
|
139
|
+
*
|
|
140
|
+
* @returns Maximum private room limit
|
|
141
|
+
*
|
|
142
|
+
* @example
|
|
143
|
+
* ```typescript
|
|
144
|
+
* const limit = sdk.rooms.getRoomLimit();
|
|
145
|
+
* console.log(`You can create up to ${limit} private rooms`);
|
|
146
|
+
* ```
|
|
147
|
+
*/
|
|
148
|
+
getRoomLimit(): number;
|
|
149
|
+
/**
|
|
150
|
+
* Checks if user can create another private room.
|
|
151
|
+
* Compares current owned room count against limit.
|
|
152
|
+
*
|
|
153
|
+
* @returns True if under limit, false otherwise
|
|
154
|
+
*
|
|
155
|
+
* @example
|
|
156
|
+
* ```typescript
|
|
157
|
+
* if (sdk.rooms.canCreateRoom()) {
|
|
158
|
+
* await sdk.rooms.createRoom({ name: 'New Room' });
|
|
159
|
+
* } else {
|
|
160
|
+
* console.log('Room limit reached!');
|
|
161
|
+
* }
|
|
162
|
+
* ```
|
|
163
|
+
*/
|
|
164
|
+
canCreateRoom(): boolean;
|
|
165
|
+
/**
|
|
166
|
+
* Gets the current count of owned private rooms.
|
|
167
|
+
*
|
|
168
|
+
* @returns Number of rooms user owns
|
|
169
|
+
*
|
|
170
|
+
* @example
|
|
171
|
+
* ```typescript
|
|
172
|
+
* const count = sdk.rooms.getOwnedRoomCount();
|
|
173
|
+
* const limit = sdk.rooms.getRoomLimit();
|
|
174
|
+
* console.log(`Using ${count}/${limit} room slots`);
|
|
175
|
+
* ```
|
|
176
|
+
*/
|
|
177
|
+
getOwnedRoomCount(): number;
|
|
178
|
+
/**
|
|
179
|
+
* Sets the room limit from auth response.
|
|
180
|
+
* @internal
|
|
181
|
+
*/
|
|
182
|
+
setRoomLimit(limit: number): void;
|
|
183
|
+
/**
|
|
184
|
+
* Initializes owned rooms cache from auth response.
|
|
185
|
+
* @internal
|
|
186
|
+
*/
|
|
187
|
+
setOwnedRooms(rooms: RoomInfo[]): void;
|
|
188
|
+
/**
|
|
189
|
+
* Initializes shared rooms cache from auth response.
|
|
190
|
+
* @internal
|
|
191
|
+
*/
|
|
192
|
+
setSharedRooms(rooms: RoomInfo[]): void;
|
|
193
|
+
/**
|
|
194
|
+
* Adds or updates a room in the appropriate cache.
|
|
195
|
+
* Determines owned vs shared based on is_owner flag.
|
|
196
|
+
* @internal
|
|
197
|
+
*/
|
|
198
|
+
upsertRoom(room: RoomInfo): void;
|
|
199
|
+
/**
|
|
200
|
+
* Removes a room from cache.
|
|
201
|
+
* Checks both owned and shared caches.
|
|
202
|
+
* @internal
|
|
203
|
+
*/
|
|
204
|
+
removeRoom(roomId: string): void;
|
|
205
|
+
/**
|
|
206
|
+
* Clears all caches. Called on disconnect.
|
|
207
|
+
* @internal
|
|
208
|
+
*/
|
|
209
|
+
clearCaches(): void;
|
|
210
|
+
private validateRoomName;
|
|
211
|
+
private validateRoomDescription;
|
|
212
|
+
}
|
|
213
|
+
//# sourceMappingURL=room-management-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"room-management-manager.d.ts","sourceRoot":"","sources":["../../src/managers/room-management-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,QAAQ,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAY,MAAM,iBAAiB,CAAC;AAGtD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,qBAAsB,SAAQ,YAAY,CAAC,SAAS,CAAC;IAChE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAGhC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA+B;IAC1D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA+B;IAC3D,OAAO,CAAC,eAAe,CAAa;gBAExB,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM;IAUrD;;;;;;;;;;;;;;;;OAgBG;IACU,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC;IA4DtE;;;;;;;;;;;;;;;;OAgBG;IACU,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC;IA2EtF;;;;;;;;;;;;;OAaG;IACU,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4DtD;;;;;;;;;;;OAWG;IACI,aAAa,IAAI,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAIzD;;;;;;;;;;;OAWG;IACI,cAAc,IAAI,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAI1D;;;;;;;;;;;;;;;;OAgBG;IACI,WAAW,IAAI,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAIvD;;;;;;;;;;;;;;OAcG;IACI,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,SAAS;IAUlE;;;;;;;;;;;OAWG;IACI,YAAY,IAAI,MAAM;IAI7B;;;;;;;;;;;;;;OAcG;IACI,aAAa,IAAI,OAAO;IAI/B;;;;;;;;;;;OAWG;IACI,iBAAiB,IAAI,MAAM;IAQlC;;;OAGG;IACI,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKxC;;;OAGG;IACI,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI;IAQ7C;;;OAGG;IACI,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI;IAQ9C;;;;OAIG;IACI,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IAcvC;;;;OAIG;IACI,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAavC;;;OAGG;IACI,WAAW,IAAI,IAAI;IAW1B,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,uBAAuB;CAQhC"}
|