@teneo-protocol/sdk 1.0.1 → 2.0.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/.github/workflows/publish-npm.yml +8 -6
- package/CHANGELOG.md +265 -0
- package/README.md +406 -53
- package/dist/core/websocket-client.d.ts +12 -0
- package/dist/core/websocket-client.d.ts.map +1 -1
- package/dist/core/websocket-client.js +22 -2
- package/dist/core/websocket-client.js.map +1 -1
- 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 +70 -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-status-update-handler.d.ts +904 -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 +51 -0
- package/dist/handlers/message-handlers/agent-status-update-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-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 +65 -5
- 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-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 +46 -4
- package/dist/handlers/message-handlers/auth-success-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/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/index.d.ts +5 -0
- package/dist/handlers/message-handlers/index.d.ts.map +1 -1
- package/dist/handlers/message-handlers/index.js +23 -1
- package/dist/handlers/message-handlers/index.js.map +1 -1
- package/dist/handlers/message-handlers/list-available-agents-handler.d.ts +877 -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 +38 -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 +886 -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 +51 -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 +178 -89
- package/dist/handlers/message-handlers/list-rooms-response-handler.d.ts.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/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/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 +92 -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/types.d.ts +2 -0
- 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/managers/agent-room-manager.d.ts +222 -0
- package/dist/managers/agent-room-manager.d.ts.map +1 -0
- package/dist/managers/agent-room-manager.js +508 -0
- package/dist/managers/agent-room-manager.js.map +1 -0
- package/dist/managers/index.d.ts +2 -0
- package/dist/managers/index.d.ts.map +1 -1
- package/dist/managers/index.js +5 -1
- package/dist/managers/index.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 +440 -0
- package/dist/managers/room-management-manager.js.map +1 -0
- package/dist/managers/room-manager.d.ts +4 -4
- package/dist/managers/room-manager.d.ts.map +1 -1
- package/dist/managers/room-manager.js.map +1 -1
- package/dist/teneo-sdk.d.ts +333 -13
- package/dist/teneo-sdk.d.ts.map +1 -1
- package/dist/teneo-sdk.js +468 -1
- package/dist/teneo-sdk.js.map +1 -1
- package/dist/types/config.d.ts +63 -54
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/config.js +8 -4
- package/dist/types/config.js.map +1 -1
- package/dist/types/error-codes.d.ts +2 -0
- package/dist/types/error-codes.d.ts.map +1 -1
- package/dist/types/error-codes.js +3 -0
- package/dist/types/error-codes.js.map +1 -1
- package/dist/types/events.d.ts +132 -68
- package/dist/types/events.d.ts.map +1 -1
- package/dist/types/events.js.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +27 -2
- package/dist/types/index.js.map +1 -1
- package/dist/types/messages.d.ts +11396 -2559
- package/dist/types/messages.d.ts.map +1 -1
- package/dist/types/messages.js +294 -27
- package/dist/types/messages.js.map +1 -1
- package/examples/.env.example +1 -1
- package/examples/agent-room-management-example.ts +334 -0
- package/examples/claude-agent-x-follower/.env.example +2 -2
- package/examples/claude-agent-x-follower/QUICKSTART.md +1 -1
- package/examples/claude-agent-x-follower/README.md +1 -1
- package/examples/n8n-teneo/.env.example +2 -2
- package/examples/n8n-teneo/README.md +1 -1
- package/examples/openai-teneo/.env.example +2 -2
- package/examples/openai-teneo/README.md +1 -1
- package/examples/production-dashboard/.env.example +2 -2
- package/examples/production-dashboard/README.md +89 -12
- package/examples/production-dashboard/public/dashboard.html +1173 -601
- package/examples/production-dashboard/server.ts +347 -5
- package/examples/room-management-example.ts +285 -0
- package/examples/usage/.env.example +1 -1
- package/examples/usage/01-connect.ts +1 -1
- package/examples/usage/02-list-agents.ts +1 -1
- package/examples/usage/03-pick-agent.ts +1 -1
- package/examples/usage/04-find-by-capability.ts +1 -1
- package/examples/usage/05-webhook-example.ts +1 -1
- package/examples/usage/06-simple-api-server.ts +1 -1
- package/examples/usage/07-event-listener.ts +1 -1
- package/examples/usage/README.md +1 -1
- package/package.json +9 -1
- package/src/core/websocket-client.ts +26 -2
- package/src/handlers/message-handlers/agent-room-operation-response-handler.ts +83 -0
- package/src/handlers/message-handlers/agent-status-update-handler.ts +58 -0
- package/src/handlers/message-handlers/auth-message-handler.ts +73 -5
- package/src/handlers/message-handlers/auth-success-handler.ts +58 -6
- package/src/handlers/message-handlers/index.ts +19 -0
- package/src/handlers/message-handlers/list-available-agents-handler.ts +41 -0
- package/src/handlers/message-handlers/list-room-agents-handler.ts +61 -0
- package/src/handlers/message-handlers/room-operation-response-handler.ts +105 -0
- package/src/handlers/message-handlers/types.ts +6 -0
- package/src/managers/agent-room-manager.ts +609 -0
- package/src/managers/index.ts +2 -0
- package/src/managers/room-management-manager.ts +523 -0
- package/src/managers/room-manager.ts +4 -5
- package/src/teneo-sdk.ts +505 -4
- package/src/types/config.ts +10 -5
- package/src/types/error-codes.ts +4 -0
- package/src/types/events.ts +24 -0
- package/src/types/index.ts +55 -0
- package/src/types/messages.ts +374 -41
- package/tests/integration/room-management.test.ts +514 -0
- package/tests/integration/websocket.test.ts +1 -1
- package/tests/unit/handlers/agent-room-operation-response-handler.test.ts +394 -0
- package/tests/unit/handlers/agent-status-update-handler.test.ts +407 -0
- package/tests/unit/handlers/auth-success-handler-rooms.test.ts +699 -0
- package/tests/unit/handlers/list-available-agents-handler.test.ts +256 -0
- package/tests/unit/handlers/list-room-agents-handler.test.ts +294 -0
- package/tests/unit/handlers/room-operation-response-handler.test.ts +527 -0
- package/tests/unit/managers/agent-room-manager.test.ts +534 -0
- package/tests/unit/managers/room-management-manager.test.ts +438 -0
|
@@ -37,45 +37,67 @@ export declare class UnsubscribeResponseHandler extends BaseMessageHandler<Unsub
|
|
|
37
37
|
success: boolean;
|
|
38
38
|
subscriptions?: string[] | undefined;
|
|
39
39
|
}>;
|
|
40
|
-
}, "
|
|
41
|
-
|
|
42
|
-
|
|
40
|
+
}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
|
|
41
|
+
content: import("zod").ZodOptional<import("zod").ZodAny>;
|
|
42
|
+
content_type: import("zod").ZodOptional<import("zod").ZodEnum<["text/plain", "text/markdown", "text/html", "application/json", "image/*", "STRING", "JSON", "MD", "ARRAY"]>>;
|
|
43
|
+
from: import("zod").ZodOptional<import("zod").ZodString>;
|
|
44
|
+
to: import("zod").ZodOptional<import("zod").ZodString>;
|
|
45
|
+
room: import("zod").ZodOptional<import("zod").ZodString>;
|
|
46
|
+
timestamp: import("zod").ZodOptional<import("zod").ZodString>;
|
|
47
|
+
signature: import("zod").ZodOptional<import("zod").ZodString>;
|
|
48
|
+
publicKey: import("zod").ZodOptional<import("zod").ZodString>;
|
|
49
|
+
reasoning: import("zod").ZodOptional<import("zod").ZodString>;
|
|
50
|
+
task_id: import("zod").ZodOptional<import("zod").ZodString>;
|
|
51
|
+
id: import("zod").ZodOptional<import("zod").ZodString>;
|
|
52
|
+
} & {
|
|
53
|
+
type: import("zod").ZodLiteral<"unsubscribe">;
|
|
54
|
+
data: import("zod").ZodObject<{
|
|
55
|
+
room_id: import("zod").ZodString;
|
|
56
|
+
success: import("zod").ZodBoolean;
|
|
57
|
+
message: import("zod").ZodString;
|
|
58
|
+
subscriptions: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
|
|
59
|
+
}, "strip", import("zod").ZodTypeAny, {
|
|
60
|
+
message: string;
|
|
61
|
+
room_id: string;
|
|
62
|
+
success: boolean;
|
|
63
|
+
subscriptions?: string[] | undefined;
|
|
64
|
+
}, {
|
|
65
|
+
message: string;
|
|
66
|
+
room_id: string;
|
|
67
|
+
success: boolean;
|
|
68
|
+
subscriptions?: string[] | undefined;
|
|
69
|
+
}>;
|
|
70
|
+
}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
|
|
71
|
+
content: import("zod").ZodOptional<import("zod").ZodAny>;
|
|
72
|
+
content_type: import("zod").ZodOptional<import("zod").ZodEnum<["text/plain", "text/markdown", "text/html", "application/json", "image/*", "STRING", "JSON", "MD", "ARRAY"]>>;
|
|
73
|
+
from: import("zod").ZodOptional<import("zod").ZodString>;
|
|
74
|
+
to: import("zod").ZodOptional<import("zod").ZodString>;
|
|
75
|
+
room: import("zod").ZodOptional<import("zod").ZodString>;
|
|
76
|
+
timestamp: import("zod").ZodOptional<import("zod").ZodString>;
|
|
77
|
+
signature: import("zod").ZodOptional<import("zod").ZodString>;
|
|
78
|
+
publicKey: import("zod").ZodOptional<import("zod").ZodString>;
|
|
79
|
+
reasoning: import("zod").ZodOptional<import("zod").ZodString>;
|
|
80
|
+
task_id: import("zod").ZodOptional<import("zod").ZodString>;
|
|
81
|
+
id: import("zod").ZodOptional<import("zod").ZodString>;
|
|
82
|
+
} & {
|
|
83
|
+
type: import("zod").ZodLiteral<"unsubscribe">;
|
|
84
|
+
data: import("zod").ZodObject<{
|
|
85
|
+
room_id: import("zod").ZodString;
|
|
86
|
+
success: import("zod").ZodBoolean;
|
|
87
|
+
message: import("zod").ZodString;
|
|
88
|
+
subscriptions: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
|
|
89
|
+
}, "strip", import("zod").ZodTypeAny, {
|
|
43
90
|
message: string;
|
|
44
91
|
room_id: string;
|
|
45
92
|
success: boolean;
|
|
46
93
|
subscriptions?: string[] | undefined;
|
|
47
|
-
}
|
|
48
|
-
id?: string | undefined;
|
|
49
|
-
room?: string | undefined;
|
|
50
|
-
content?: any;
|
|
51
|
-
content_type?: "text/plain" | "text/markdown" | "text/html" | "application/json" | "image/*" | "STRING" | "JSON" | "MD" | "ARRAY" | undefined;
|
|
52
|
-
from?: string | undefined;
|
|
53
|
-
to?: string | undefined;
|
|
54
|
-
timestamp?: string | undefined;
|
|
55
|
-
signature?: string | undefined;
|
|
56
|
-
publicKey?: string | undefined;
|
|
57
|
-
reasoning?: string | undefined;
|
|
58
|
-
task_id?: string | undefined;
|
|
59
|
-
}, {
|
|
60
|
-
type: "unsubscribe";
|
|
61
|
-
data: {
|
|
94
|
+
}, {
|
|
62
95
|
message: string;
|
|
63
96
|
room_id: string;
|
|
64
97
|
success: boolean;
|
|
65
98
|
subscriptions?: string[] | undefined;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
room?: string | undefined;
|
|
69
|
-
content?: any;
|
|
70
|
-
content_type?: "text/plain" | "text/markdown" | "text/html" | "application/json" | "image/*" | "STRING" | "JSON" | "MD" | "ARRAY" | undefined;
|
|
71
|
-
from?: string | undefined;
|
|
72
|
-
to?: string | undefined;
|
|
73
|
-
timestamp?: string | undefined;
|
|
74
|
-
signature?: string | undefined;
|
|
75
|
-
publicKey?: string | undefined;
|
|
76
|
-
reasoning?: string | undefined;
|
|
77
|
-
task_id?: string | undefined;
|
|
78
|
-
}>;
|
|
99
|
+
}>;
|
|
100
|
+
}, import("zod").ZodTypeAny, "passthrough">>;
|
|
79
101
|
protected handleValidated(message: UnsubscribeResponse, context: HandlerContext): void;
|
|
80
102
|
}
|
|
81
103
|
//# sourceMappingURL=unsubscribe-response-handler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unsubscribe-response-handler.d.ts","sourceRoot":"","sources":["../../../src/handlers/message-handlers/unsubscribe-response-handler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,mBAAmB,EAA6B,MAAM,aAAa,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,qBAAa,0BAA2B,SAAQ,kBAAkB,CAAC,mBAAmB,CAAC;IACrF,QAAQ,CAAC,IAAI,EAAG,aAAa,CAAU;IACvC,QAAQ,CAAC,MAAM
|
|
1
|
+
{"version":3,"file":"unsubscribe-response-handler.d.ts","sourceRoot":"","sources":["../../../src/handlers/message-handlers/unsubscribe-response-handler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,mBAAmB,EAA6B,MAAM,aAAa,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,qBAAa,0BAA2B,SAAQ,kBAAkB,CAAC,mBAAmB,CAAC;IACrF,QAAQ,CAAC,IAAI,EAAG,aAAa,CAAU;IACvC,QAAQ,CAAC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iDAA6B;IAE5C,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI;CAiCvF"}
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AgentRoomManager - Manages agent-room associations (v2.0.0)
|
|
3
|
+
* Allows room owners to control which agents are available in their rooms
|
|
4
|
+
* Implements caching with 5-minute TTL for performance
|
|
5
|
+
*/
|
|
6
|
+
import { EventEmitter } from "eventemitter3";
|
|
7
|
+
import { WebSocketClient } from "../core/websocket-client";
|
|
8
|
+
import { Logger } from "../types";
|
|
9
|
+
import { SDKEvents } from "../types/events";
|
|
10
|
+
import { RoomManagementManager } from "./room-management-manager";
|
|
11
|
+
export interface AgentRoomInfo {
|
|
12
|
+
agent_id: string;
|
|
13
|
+
agent_name?: string;
|
|
14
|
+
description?: string;
|
|
15
|
+
capabilities?: Array<{
|
|
16
|
+
name: string;
|
|
17
|
+
description?: string;
|
|
18
|
+
}>;
|
|
19
|
+
commands?: Array<{
|
|
20
|
+
trigger: string;
|
|
21
|
+
argument?: string;
|
|
22
|
+
description?: string;
|
|
23
|
+
}>;
|
|
24
|
+
image?: string;
|
|
25
|
+
status?: string;
|
|
26
|
+
added_by?: string;
|
|
27
|
+
added_at?: string;
|
|
28
|
+
}
|
|
29
|
+
export declare class AgentRoomManager extends EventEmitter<SDKEvents> {
|
|
30
|
+
private readonly wsClient;
|
|
31
|
+
private readonly logger;
|
|
32
|
+
private readonly roomManagementManager;
|
|
33
|
+
private readonly roomAgentsCache;
|
|
34
|
+
private readonly availableAgentsCache;
|
|
35
|
+
private readonly roomAgentsCacheTime;
|
|
36
|
+
private readonly availableAgentsCacheTime;
|
|
37
|
+
constructor(wsClient: WebSocketClient, logger: Logger, roomManagementManager: RoomManagementManager);
|
|
38
|
+
/**
|
|
39
|
+
* Adds an agent to a room, making it available for interactions in that room.
|
|
40
|
+
* User must own the room to perform this operation.
|
|
41
|
+
*
|
|
42
|
+
* @param roomId - ID of the room to add agent to
|
|
43
|
+
* @param agentId - ID of the agent to add
|
|
44
|
+
* @returns Promise that resolves when agent is added
|
|
45
|
+
* @throws {SDKError} If not connected, not room owner, or operation fails
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* ```typescript
|
|
49
|
+
* await sdk.addAgentToRoom('room-123', 'agent-456');
|
|
50
|
+
* console.log('Agent added to room');
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
addAgentToRoom(roomId: string, agentId: string): Promise<void>;
|
|
54
|
+
/**
|
|
55
|
+
* Removes an agent from a room.
|
|
56
|
+
* User must own the room to perform this operation.
|
|
57
|
+
*
|
|
58
|
+
* @param roomId - ID of the room to remove agent from
|
|
59
|
+
* @param agentId - ID of the agent to remove
|
|
60
|
+
* @returns Promise that resolves when agent is removed
|
|
61
|
+
* @throws {SDKError} If not connected, not room owner, or operation fails
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* ```typescript
|
|
65
|
+
* await sdk.removeAgentFromRoom('room-123', 'agent-456');
|
|
66
|
+
* console.log('Agent removed from room');
|
|
67
|
+
* ```
|
|
68
|
+
*/
|
|
69
|
+
removeAgentFromRoom(roomId: string, agentId: string): Promise<void>;
|
|
70
|
+
/**
|
|
71
|
+
* Lists all agents currently in a room.
|
|
72
|
+
* Results are cached for 5 minutes for performance.
|
|
73
|
+
*
|
|
74
|
+
* @param roomId - ID of the room to list agents for
|
|
75
|
+
* @param useCache - Whether to use cached data (default: true)
|
|
76
|
+
* @returns Promise that resolves with array of agents
|
|
77
|
+
* @throws {SDKError} If not connected or operation fails
|
|
78
|
+
*
|
|
79
|
+
* @example
|
|
80
|
+
* ```typescript
|
|
81
|
+
* const agents = await sdk.listRoomAgents('room-123');
|
|
82
|
+
* console.log(`Room has ${agents.length} agents`);
|
|
83
|
+
*
|
|
84
|
+
* // Force fresh data
|
|
85
|
+
* const freshAgents = await sdk.listRoomAgents('room-123', false);
|
|
86
|
+
* ```
|
|
87
|
+
*/
|
|
88
|
+
listRoomAgents(roomId: string, useCache?: boolean): Promise<AgentRoomInfo[]>;
|
|
89
|
+
/**
|
|
90
|
+
* Lists all agents available to add to a room (not yet in the room).
|
|
91
|
+
* Results are cached for 5 minutes for performance.
|
|
92
|
+
*
|
|
93
|
+
* @param roomId - ID of the room to check available agents for
|
|
94
|
+
* @param useCache - Whether to use cached data (default: true)
|
|
95
|
+
* @returns Promise that resolves with array of available agents
|
|
96
|
+
* @throws {SDKError} If not connected or operation fails
|
|
97
|
+
*
|
|
98
|
+
* @example
|
|
99
|
+
* ```typescript
|
|
100
|
+
* const availableAgents = await sdk.listAvailableAgents('room-123');
|
|
101
|
+
* console.log(`${availableAgents.length} agents can be added`);
|
|
102
|
+
* ```
|
|
103
|
+
*/
|
|
104
|
+
listAvailableAgents(roomId: string, useCache?: boolean): Promise<AgentRoomInfo[]>;
|
|
105
|
+
/**
|
|
106
|
+
* Gets agents currently in a room from cache (synchronous).
|
|
107
|
+
* Returns undefined if not cached or cache expired.
|
|
108
|
+
*
|
|
109
|
+
* @param roomId - Room ID to query
|
|
110
|
+
* @returns Array of agents or undefined if not cached
|
|
111
|
+
*
|
|
112
|
+
* @example
|
|
113
|
+
* ```typescript
|
|
114
|
+
* const agents = sdk.getRoomAgents('room-123');
|
|
115
|
+
* if (agents) {
|
|
116
|
+
* console.log(`Found ${agents.length} agents in cache`);
|
|
117
|
+
* }
|
|
118
|
+
* ```
|
|
119
|
+
*/
|
|
120
|
+
getRoomAgents(roomId: string): AgentRoomInfo[] | undefined;
|
|
121
|
+
/**
|
|
122
|
+
* Gets available agents for a room from cache (synchronous).
|
|
123
|
+
* Returns undefined if not cached or cache expired.
|
|
124
|
+
*
|
|
125
|
+
* @param roomId - Room ID to query
|
|
126
|
+
* @returns Array of available agents or undefined if not cached
|
|
127
|
+
*
|
|
128
|
+
* @example
|
|
129
|
+
* ```typescript
|
|
130
|
+
* const available = sdk.getAvailableAgents('room-123');
|
|
131
|
+
* if (available) {
|
|
132
|
+
* console.log(`${available.length} agents can be added`);
|
|
133
|
+
* }
|
|
134
|
+
* ```
|
|
135
|
+
*/
|
|
136
|
+
getAvailableAgents(roomId: string): AgentRoomInfo[] | undefined;
|
|
137
|
+
/**
|
|
138
|
+
* Checks if an agent is currently in a room (from cache).
|
|
139
|
+
* Returns undefined if cache is invalid.
|
|
140
|
+
*
|
|
141
|
+
* @param roomId - Room ID to check
|
|
142
|
+
* @param agentId - Agent ID to check
|
|
143
|
+
* @returns True if agent in room, false if not, undefined if cache invalid
|
|
144
|
+
*
|
|
145
|
+
* @example
|
|
146
|
+
* ```typescript
|
|
147
|
+
* const isInRoom = sdk.isAgentInRoom('room-123', 'agent-456');
|
|
148
|
+
* if (isInRoom === true) {
|
|
149
|
+
* console.log('Agent is in this room');
|
|
150
|
+
* }
|
|
151
|
+
* ```
|
|
152
|
+
*/
|
|
153
|
+
isAgentInRoom(roomId: string, agentId: string): boolean | undefined;
|
|
154
|
+
/**
|
|
155
|
+
* Gets the count of agents in a room (from cache).
|
|
156
|
+
* Returns undefined if cache is invalid.
|
|
157
|
+
*
|
|
158
|
+
* @param roomId - Room ID to count agents for
|
|
159
|
+
* @returns Number of agents or undefined if cache invalid
|
|
160
|
+
*
|
|
161
|
+
* @example
|
|
162
|
+
* ```typescript
|
|
163
|
+
* const count = sdk.getRoomAgentCount('room-123');
|
|
164
|
+
* if (count !== undefined) {
|
|
165
|
+
* console.log(`Room has ${count} agents`);
|
|
166
|
+
* }
|
|
167
|
+
* ```
|
|
168
|
+
*/
|
|
169
|
+
getRoomAgentCount(roomId: string): number | undefined;
|
|
170
|
+
/**
|
|
171
|
+
* Manually invalidates all caches for a specific room.
|
|
172
|
+
* Useful after operations that might have changed agent assignments.
|
|
173
|
+
*
|
|
174
|
+
* @param roomId - Room ID to invalidate cache for
|
|
175
|
+
*
|
|
176
|
+
* @example
|
|
177
|
+
* ```typescript
|
|
178
|
+
* // After bulk operations
|
|
179
|
+
* sdk.invalidateCache('room-123');
|
|
180
|
+
* const freshAgents = await sdk.listRoomAgents('room-123', false);
|
|
181
|
+
* ```
|
|
182
|
+
*/
|
|
183
|
+
invalidateCache(roomId: string): void;
|
|
184
|
+
/**
|
|
185
|
+
* Clears all caches for all rooms.
|
|
186
|
+
* Called automatically on disconnect.
|
|
187
|
+
* @internal
|
|
188
|
+
*/
|
|
189
|
+
clearAllCaches(): void;
|
|
190
|
+
/**
|
|
191
|
+
* Handles agent status updates from server.
|
|
192
|
+
* Invalidates cache when agent status changes.
|
|
193
|
+
* @internal
|
|
194
|
+
*/
|
|
195
|
+
handleStatusUpdate(roomId: string, agentId: string, status: string): void;
|
|
196
|
+
/**
|
|
197
|
+
* Called by handlers to cache room agents.
|
|
198
|
+
* @internal
|
|
199
|
+
*/
|
|
200
|
+
cacheRoomAgents(roomId: string, agents: AgentRoomInfo[]): void;
|
|
201
|
+
/**
|
|
202
|
+
* Called by handlers to cache available agents.
|
|
203
|
+
* @internal
|
|
204
|
+
*/
|
|
205
|
+
cacheAvailableAgents(roomId: string, agents: AgentRoomInfo[]): void;
|
|
206
|
+
/**
|
|
207
|
+
* Checks if cache is still valid (within TTL)
|
|
208
|
+
*/
|
|
209
|
+
private isCacheValid;
|
|
210
|
+
/**
|
|
211
|
+
* Invalidates all caches for a specific room
|
|
212
|
+
*/
|
|
213
|
+
private invalidateRoomCaches;
|
|
214
|
+
/**
|
|
215
|
+
* Verifies user owns the room
|
|
216
|
+
*/
|
|
217
|
+
private validateRoomId;
|
|
218
|
+
private validateAgentId;
|
|
219
|
+
private roomExists;
|
|
220
|
+
private verifyOwnership;
|
|
221
|
+
}
|
|
222
|
+
//# sourceMappingURL=agent-room-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-room-manager.d.ts","sourceRoot":"","sources":["../../src/managers/agent-room-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,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,SAAS,EAAY,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAGlE,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7D,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAKD,qBAAa,gBAAiB,SAAQ,YAAY,CAAC,SAAS,CAAC;IAC3D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAwB;IAG9D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAsC;IACtE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAsC;IAC3E,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA6B;IACjE,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAA6B;gBAGpE,QAAQ,EAAE,eAAe,EACzB,MAAM,EAAE,MAAM,EACd,qBAAqB,EAAE,qBAAqB;IAY9C;;;;;;;;;;;;;;OAcG;IACU,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmE3E;;;;;;;;;;;;;;OAcG;IACU,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8DhF;;;;;;;;;;;;;;;;;OAiBG;IACU,cAAc,CACzB,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,OAAc,GACvB,OAAO,CAAC,aAAa,EAAE,CAAC;IA8D3B;;;;;;;;;;;;;;OAcG;IACU,mBAAmB,CAC9B,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,OAAc,GACvB,OAAO,CAAC,aAAa,EAAE,CAAC;IA8D3B;;;;;;;;;;;;;;OAcG;IACI,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,EAAE,GAAG,SAAS;IAQjE;;;;;;;;;;;;;;OAcG;IACI,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,EAAE,GAAG,SAAS;IAQtE;;;;;;;;;;;;;;;OAeG;IACI,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAM1E;;;;;;;;;;;;;;OAcG;IACI,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAS5D;;;;;;;;;;;;OAYG;IACI,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK5C;;;;OAIG;IACI,cAAc,IAAI,IAAI;IAY7B;;;;OAIG;IACI,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAWhF;;;OAGG;IACI,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI;IASrE;;;OAGG;IACI,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI;IAa1E;;OAEG;IACH,OAAO,CAAC,YAAY;IAQpB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAO5B;;OAEG;IACH,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,UAAU;IAalB,OAAO,CAAC,eAAe;CASxB"}
|