@teneo-protocol/sdk 1.0.0 → 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 +13 -0
- package/dist/core/websocket-client.d.ts.map +1 -1
- package/dist/core/websocket-client.js +34 -3
- 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/regular-message-handler.js +1 -0
- 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 +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/message-router.d.ts +1 -1
- package/dist/managers/message-router.d.ts.map +1 -1
- package/dist/managers/message-router.js +41 -4
- 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 +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 +1 -1
- package/dist/managers/room-manager.js.map +1 -1
- package/dist/teneo-sdk.d.ts +362 -14
- package/dist/teneo-sdk.d.ts.map +1 -1
- package/dist/teneo-sdk.js +497 -7
- 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 +9 -5
- 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/dist/types/validation.d.ts.map +1 -1
- package/dist/types/validation.js +1 -1
- package/dist/types/validation.js.map +1 -1
- package/dist/utils/bounded-queue.d.ts +1 -1
- package/dist/utils/bounded-queue.js +6 -6
- package/dist/utils/circuit-breaker.d.ts.map +1 -1
- package/dist/utils/circuit-breaker.js.map +1 -1
- package/dist/utils/event-waiter.d.ts.map +1 -1
- package/dist/utils/event-waiter.js +2 -1
- package/dist/utils/event-waiter.js.map +1 -1
- package/dist/utils/rate-limiter.d.ts.map +1 -1
- package/dist/utils/rate-limiter.js +4 -6
- package/dist/utils/rate-limiter.js.map +1 -1
- package/dist/utils/secure-private-key.d.ts.map +1 -1
- package/dist/utils/secure-private-key.js +9 -15
- package/dist/utils/secure-private-key.js.map +1 -1
- package/dist/utils/signature-verifier.d.ts +2 -2
- package/dist/utils/signature-verifier.d.ts.map +1 -1
- package/dist/utils/signature-verifier.js +5 -5
- package/dist/utils/signature-verifier.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 +117 -0
- package/examples/claude-agent-x-follower/QUICKSTART.md +243 -0
- package/examples/claude-agent-x-follower/README.md +540 -0
- package/examples/claude-agent-x-follower/index.ts +248 -0
- package/examples/claude-agent-x-follower/package.json +37 -0
- package/examples/claude-agent-x-follower/tsconfig.json +20 -0
- package/examples/n8n-teneo/.env.example +127 -0
- package/examples/n8n-teneo/Dockerfile +42 -0
- package/examples/n8n-teneo/README.md +564 -0
- package/examples/n8n-teneo/docker-compose.yml +71 -0
- package/examples/n8n-teneo/index.ts +177 -0
- package/examples/n8n-teneo/package.json +22 -0
- package/examples/n8n-teneo/tsconfig.json +12 -0
- package/examples/n8n-teneo/workflows/x-timeline.json +66 -0
- package/examples/openai-teneo/.env.example +130 -0
- package/examples/openai-teneo/README.md +635 -0
- package/examples/openai-teneo/index.ts +280 -0
- package/examples/openai-teneo/package.json +24 -0
- package/examples/openai-teneo/tsconfig.json +16 -0
- package/examples/production-dashboard/.env.example +5 -3
- package/examples/production-dashboard/README.md +839 -0
- package/examples/production-dashboard/pnpm-lock.yaml +92 -0
- package/examples/production-dashboard/public/dashboard.html +1150 -504
- package/examples/production-dashboard/server.ts +428 -12
- package/examples/room-management-example.ts +285 -0
- package/examples/usage/.env.example +17 -0
- package/examples/usage/01-connect.ts +116 -0
- package/examples/usage/02-list-agents.ts +153 -0
- package/examples/usage/03-pick-agent.ts +201 -0
- package/examples/usage/04-find-by-capability.ts +237 -0
- package/examples/usage/05-webhook-example.ts +319 -0
- package/examples/usage/06-simple-api-server.ts +396 -0
- package/examples/usage/07-event-listener.ts +402 -0
- package/examples/usage/README.md +383 -0
- package/examples/usage/package.json +42 -0
- package/package.json +13 -3
- package/src/core/websocket-client.ts +43 -9
- package/src/formatters/response-formatter.test.ts +8 -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/regular-message-handler.ts +1 -0
- package/src/handlers/message-handlers/room-operation-response-handler.ts +105 -0
- package/src/handlers/message-handlers/types.ts +6 -0
- package/src/handlers/webhook-handler.test.ts +13 -10
- package/src/managers/agent-room-manager.ts +609 -0
- package/src/managers/index.ts +2 -0
- package/src/managers/message-router.ts +48 -6
- package/src/managers/room-management-manager.ts +523 -0
- package/src/managers/room-manager.ts +12 -6
- package/src/teneo-sdk.ts +543 -10
- package/src/types/config.ts +13 -6
- 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/src/types/validation.ts +4 -1
- package/src/utils/bounded-queue.ts +9 -9
- package/src/utils/circuit-breaker.ts +4 -1
- package/src/utils/deduplication-cache.test.ts +2 -6
- package/src/utils/event-waiter.test.ts +4 -1
- package/src/utils/event-waiter.ts +5 -7
- package/src/utils/rate-limiter.test.ts +5 -17
- package/src/utils/rate-limiter.ts +6 -9
- package/src/utils/secure-private-key.test.ts +66 -59
- package/src/utils/secure-private-key.ts +10 -16
- package/src/utils/signature-verifier.test.ts +75 -70
- package/src/utils/signature-verifier.ts +7 -8
- package/src/utils/ssrf-validator.test.ts +3 -3
- 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
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
name: Publish Package
|
|
2
2
|
on:
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
push:
|
|
4
|
+
branches: [main]
|
|
5
5
|
|
|
6
6
|
permissions:
|
|
7
7
|
id-token: write # Required for OIDC
|
|
@@ -21,7 +21,10 @@ jobs:
|
|
|
21
21
|
with:
|
|
22
22
|
node-version: '20'
|
|
23
23
|
registry-url: 'https://registry.npmjs.org'
|
|
24
|
-
|
|
24
|
+
|
|
25
|
+
# Ensure npm 11.5.1 or later is installed (required for trusted publishing)
|
|
26
|
+
- name: Update npm
|
|
27
|
+
run: npm install -g npm@latest
|
|
25
28
|
|
|
26
29
|
- name: Install dependencies
|
|
27
30
|
run: pnpm install --frozen-lockfile
|
|
@@ -32,7 +35,6 @@ jobs:
|
|
|
32
35
|
- name: Test
|
|
33
36
|
run: pnpm test
|
|
34
37
|
|
|
38
|
+
# Trusted publishing automatically adds provenance, no flags needed
|
|
35
39
|
- name: Publish to npm
|
|
36
|
-
run: pnpm publish --access public --no-git-checks
|
|
37
|
-
env:
|
|
38
|
-
NODE_AUTH_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }}
|
|
40
|
+
run: pnpm publish --access public --no-git-checks
|
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to the Teneo Protocol SDK will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [2.0.0] - 2025-11-05
|
|
9
|
+
|
|
10
|
+
### 🎉 Major Release: Multi-Room & Agent Customization
|
|
11
|
+
|
|
12
|
+
Version 2.0 introduces comprehensive room management and per-room agent customization capabilities, enabling developers to create context-specific agent experiences.
|
|
13
|
+
|
|
14
|
+
### ✨ Added
|
|
15
|
+
|
|
16
|
+
#### Phase 1: Room Management System
|
|
17
|
+
|
|
18
|
+
- **Room CRUD Operations**
|
|
19
|
+
- `createRoom(name, description?)` - Create new private rooms with validation
|
|
20
|
+
- `updateRoom(roomId, updates)` - Update room name/description (owner only)
|
|
21
|
+
- `deleteRoom(roomId)` - Delete owned rooms
|
|
22
|
+
|
|
23
|
+
- **Room Query Methods**
|
|
24
|
+
- `getOwnedRooms()` - Get all rooms you created
|
|
25
|
+
- `getSharedRooms()` - Get rooms you were invited to
|
|
26
|
+
- `getAllRooms()` - Get all rooms (owned + shared) convenience method
|
|
27
|
+
- `getRoomById(roomId)` - Get specific room details
|
|
28
|
+
- `getRoomLimit()` - Check your room creation limit
|
|
29
|
+
- `canCreateRoom()` - Check if you can create more rooms
|
|
30
|
+
- `getOwnedRoomCount()` - Count your owned rooms
|
|
31
|
+
|
|
32
|
+
- **Room Management Events**
|
|
33
|
+
- `room:created` - Emitted when room is created
|
|
34
|
+
- `room:updated` - Emitted when room is updated
|
|
35
|
+
- `room:deleted` - Emitted when room is deleted
|
|
36
|
+
- `room:create_error` - Emitted on creation failure
|
|
37
|
+
- `room:update_error` - Emitted on update failure
|
|
38
|
+
- `room:delete_error` - Emitted on deletion failure
|
|
39
|
+
|
|
40
|
+
- **Room Management Manager**
|
|
41
|
+
- New `RoomManagementManager` class for room operations
|
|
42
|
+
- Ownership verification before CRUD operations
|
|
43
|
+
- Cached room state (owned vs shared)
|
|
44
|
+
- Room limit enforcement
|
|
45
|
+
- 6 new message handlers for room operations
|
|
46
|
+
|
|
47
|
+
#### Phase 2: Agent Room Management
|
|
48
|
+
|
|
49
|
+
- **Agent Room Operations**
|
|
50
|
+
- `addAgentToRoom(roomId, agentId)` - Add agent to your room (owner only)
|
|
51
|
+
- `removeAgentFromRoom(roomId, agentId)` - Remove agent from your room
|
|
52
|
+
- `listRoomAgents(roomId, useCache?)` - List agents in room with 5-min cache
|
|
53
|
+
- `listAvailableAgents(roomId, useCache?)` - List agents available to add
|
|
54
|
+
|
|
55
|
+
- **Agent Room Query Methods (Synchronous)**
|
|
56
|
+
- `getRoomAgents(roomId)` - Get cached room agents instantly
|
|
57
|
+
- `getAvailableAgents(roomId)` - Get cached available agents instantly
|
|
58
|
+
- `isAgentInRoom(roomId, agentId)` - Check if agent is in room (cached)
|
|
59
|
+
- `getRoomAgentCount(roomId)` - Get agent count from cache
|
|
60
|
+
|
|
61
|
+
- **Cache Management**
|
|
62
|
+
- `invalidateAgentRoomCache(roomId)` - Manually clear cache for specific room
|
|
63
|
+
- Intelligent 5-minute TTL caching for performance
|
|
64
|
+
- Automatic cache invalidation on agent add/remove
|
|
65
|
+
- Automatic cache invalidation on agent status updates
|
|
66
|
+
|
|
67
|
+
- **Agent Room Events**
|
|
68
|
+
- `agent_room:agent_added` - Emitted when agent added to room
|
|
69
|
+
- `agent_room:agent_removed` - Emitted when agent removed from room
|
|
70
|
+
- `agent_room:agents_listed` - Emitted when room agents listed
|
|
71
|
+
- `agent_room:available_agents_listed` - Emitted when available agents listed
|
|
72
|
+
- `agent_room:status_update` - Real-time agent status updates
|
|
73
|
+
- `agent_room:add_error` - Emitted on agent add failure
|
|
74
|
+
- `agent_room:remove_error` - Emitted on agent remove failure
|
|
75
|
+
- `agent_room:list_error` - Emitted on list failure
|
|
76
|
+
- `agent_room:list_available_error` - Emitted on available list failure
|
|
77
|
+
|
|
78
|
+
- **Agent Room Manager**
|
|
79
|
+
- New `AgentRoomManager` class for agent-room operations
|
|
80
|
+
- Ownership verification before operations
|
|
81
|
+
- Performance-optimized caching with TTL
|
|
82
|
+
- Real-time status update handling
|
|
83
|
+
- 5 new message handlers for agent room operations
|
|
84
|
+
|
|
85
|
+
#### Type System Updates
|
|
86
|
+
|
|
87
|
+
- Updated `RoomInfo` interface with `created_by` field (creator wallet address)
|
|
88
|
+
- Fixed `Capability` schema: `type` → `name`, description now optional
|
|
89
|
+
- Fixed `Command` schema: `command` → `trigger`, added `argument` field, description optional
|
|
90
|
+
- Updated `AuthenticationState` with room categorization:
|
|
91
|
+
- `privateRoomIds` - Array of owned room IDs
|
|
92
|
+
- `sharedRoomIds` - Array of shared room IDs
|
|
93
|
+
- `maxPrivateRooms` - Room creation limit
|
|
94
|
+
- New `AgentRoomInfo` interface for agent-room metadata
|
|
95
|
+
- 26 new message types and schemas for room/agent-room operations
|
|
96
|
+
|
|
97
|
+
### 📊 Testing
|
|
98
|
+
|
|
99
|
+
- Added 102 new unit tests for Phase 1 and Phase 2
|
|
100
|
+
- Total test count: 671 tests passing (100% pass rate)
|
|
101
|
+
- Comprehensive coverage of room management
|
|
102
|
+
- Comprehensive coverage of agent room management
|
|
103
|
+
- All manager and handler tests passing
|
|
104
|
+
|
|
105
|
+
### 🔄 Changed
|
|
106
|
+
|
|
107
|
+
- Message handlers now use `BaseMessageHandler` pattern
|
|
108
|
+
- Enhanced event system with 14 new event types
|
|
109
|
+
- WebSocketClient now manages room and agent-room managers
|
|
110
|
+
|
|
111
|
+
### 🐛 Fixed
|
|
112
|
+
|
|
113
|
+
- Schema field names now match backend source of truth
|
|
114
|
+
- Proper defensive copying for cache immutability
|
|
115
|
+
- Validation for empty room/agent IDs
|
|
116
|
+
- Proper room ownership checks before operations
|
|
117
|
+
- Auth handler now correctly parses `private_rooms` array from cached authentication messages
|
|
118
|
+
- Room management events now properly forward from WebSocket handlers to SDK instance
|
|
119
|
+
- Room persistence: Private rooms now correctly persist after page refresh via proper initialization of RoomManagementManager from auth state
|
|
120
|
+
|
|
121
|
+
### 📚 Documentation
|
|
122
|
+
|
|
123
|
+
- Comprehensive README updates with v2.0 features
|
|
124
|
+
- New "What's New in v2.0" section
|
|
125
|
+
- Complete Room Management API documentation
|
|
126
|
+
- Complete Agent Room Management API documentation
|
|
127
|
+
- Updated event system documentation with all new events
|
|
128
|
+
- Code examples for all new features
|
|
129
|
+
- Updated test count and status
|
|
130
|
+
|
|
131
|
+
### 🔐 Security
|
|
132
|
+
|
|
133
|
+
- Ownership verification for all room CRUD operations
|
|
134
|
+
- Ownership verification for agent-room operations
|
|
135
|
+
- Validation of room and agent IDs before operations
|
|
136
|
+
- Room existence checks before operations
|
|
137
|
+
|
|
138
|
+
### ⚡ Performance
|
|
139
|
+
|
|
140
|
+
- 5-minute cache TTL for agent room queries
|
|
141
|
+
- Automatic cache invalidation on updates
|
|
142
|
+
- Intelligent cache management per room
|
|
143
|
+
- Defensive copying to prevent cache mutation
|
|
144
|
+
- Synchronous query methods for instant cache access
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## [1.0.2] - 2025-10-XX
|
|
149
|
+
|
|
150
|
+
### Fixed
|
|
151
|
+
|
|
152
|
+
- Minor bug fixes and improvements
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## [1.0.0] - 2025-10-XX
|
|
157
|
+
|
|
158
|
+
### Initial Release
|
|
159
|
+
|
|
160
|
+
- WebSocket connection management
|
|
161
|
+
- Ethereum wallet authentication (challenge-response)
|
|
162
|
+
- Agent discovery and listing
|
|
163
|
+
- Message sending to agents
|
|
164
|
+
- Event-driven architecture
|
|
165
|
+
- Room subscription/unsubscription
|
|
166
|
+
- Webhook integration with circuit breaker
|
|
167
|
+
- Retry strategies (exponential, linear, constant)
|
|
168
|
+
- Message deduplication
|
|
169
|
+
- Signature verification
|
|
170
|
+
- Rate limiting
|
|
171
|
+
- Secure private key management (AES-256-GCM encryption)
|
|
172
|
+
- Comprehensive error handling
|
|
173
|
+
- TypeScript support
|
|
174
|
+
- 488 unit tests
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
## Migration Guide
|
|
179
|
+
|
|
180
|
+
### Upgrading from v1.x to v2.0
|
|
181
|
+
|
|
182
|
+
Version 2.0 is **backward compatible** with v1.x for basic operations. However, to take advantage of new features:
|
|
183
|
+
|
|
184
|
+
#### 1. Update Package Version
|
|
185
|
+
|
|
186
|
+
```bash
|
|
187
|
+
pnpm install @teneo-protocol/sdk@2.0.0
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
#### 2. Room Management (New Features)
|
|
191
|
+
|
|
192
|
+
**Before (v1.x):** Single room subscription
|
|
193
|
+
|
|
194
|
+
```typescript
|
|
195
|
+
await sdk.subscribeToRoom("room-id");
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
**After (v2.0):** Create and manage multiple rooms
|
|
199
|
+
|
|
200
|
+
```typescript
|
|
201
|
+
// Create your own rooms
|
|
202
|
+
const room = await sdk.createRoom("My Room", "Description");
|
|
203
|
+
|
|
204
|
+
// Get all your rooms
|
|
205
|
+
const ownedRooms = sdk.getOwnedRooms();
|
|
206
|
+
const sharedRooms = sdk.getSharedRooms();
|
|
207
|
+
|
|
208
|
+
// Update/delete rooms
|
|
209
|
+
await sdk.updateRoom(room.id, { name: "Updated Name" });
|
|
210
|
+
await sdk.deleteRoom(room.id);
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
#### 3. Agent Customization (New Features)
|
|
214
|
+
|
|
215
|
+
**New in v2.0:** Customize which agents are in each room
|
|
216
|
+
|
|
217
|
+
```typescript
|
|
218
|
+
// List available agents for a room
|
|
219
|
+
const available = await sdk.listAvailableAgents(room.id);
|
|
220
|
+
|
|
221
|
+
// Add specific agents
|
|
222
|
+
await sdk.addAgentToRoom(room.id, "agent-id");
|
|
223
|
+
|
|
224
|
+
// List agents in room
|
|
225
|
+
const roomAgents = await sdk.listRoomAgents(room.id);
|
|
226
|
+
|
|
227
|
+
// Remove agents
|
|
228
|
+
await sdk.removeAgentFromRoom(room.id, "agent-id");
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
#### 4. Type Changes
|
|
232
|
+
|
|
233
|
+
If you're using TypeScript and accessing agent data directly:
|
|
234
|
+
|
|
235
|
+
**Capability field name changed:**
|
|
236
|
+
|
|
237
|
+
```typescript
|
|
238
|
+
// Before: agent.capabilities[0].type
|
|
239
|
+
// After: agent.capabilities[0].name
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
**Command field name changed:**
|
|
243
|
+
|
|
244
|
+
```typescript
|
|
245
|
+
// Before: agent.commands[0].command
|
|
246
|
+
// After: agent.commands[0].trigger
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
#### 5. No Breaking Changes
|
|
250
|
+
|
|
251
|
+
All v1.x APIs continue to work:
|
|
252
|
+
|
|
253
|
+
- ✅ `connect()`, `disconnect()`
|
|
254
|
+
- ✅ `sendMessage()`
|
|
255
|
+
- ✅ `subscribeToRoom()`, `unsubscribeFromRoom()`
|
|
256
|
+
- ✅ `getAgents()`, `getAgent()`
|
|
257
|
+
- ✅ All existing events
|
|
258
|
+
|
|
259
|
+
---
|
|
260
|
+
|
|
261
|
+
## Support
|
|
262
|
+
|
|
263
|
+
- 📖 [Documentation](https://github.com/TeneoProtocolAI/teneo-sdk)
|
|
264
|
+
- 🐛 [Issue Tracker](https://github.com/TeneoProtocolAI/teneo-sdk/issues)
|
|
265
|
+
- 💬 [Discussions](https://github.com/TeneoProtocolAI/teneo-sdk/discussions)
|