Skip to content

Release v1.0.0

Choose a tag to compare

@deepracticexs deepracticexs released this 08 Dec 09:11
· 289 commits to main since this release
42dbe4e

Release v1.0.0

Packages

@agentxjs/portagent@1.0.0
agentxjs@1.0.0
@agentxjs/ui@1.0.0

Changes

@agentxjs/portagent

Patch Changes

  • 4043daa: Architecture: Extract network layer + Fix WebSocket connection timeout (#142)

    Problem

    WebSocket connections were timing out after prolonged inactivity (60+ seconds), causing "WebSocket is already in CLOSING or CLOSED state" errors and request timeouts when creating new conversations.

    Solution

    1. New Package: @agentxjs/network

    Extracted network layer into a dedicated package with clean abstraction:

    • Channel Interface - Transport-agnostic client/server interfaces
    • WebSocketServer - Server implementation with built-in heartbeat (30s ping/pong)
    • WebSocketClient - Node.js client
    • BrowserWebSocketClient - Browser client with auto-reconnect (using reconnecting-websocket)

    2. Refactored agentx Package

    • Now depends on @agentxjs/network instead of direct WebSocket handling
    • Simplified codebase: removed 200+ lines of WebSocket management code
    • Cleaner separation: business logic vs network transport

    3. Fixed Connection Timeout

    • Server: Ping every 30s, terminate on timeout
    • Browser: Auto-reconnect with exponential backoff (1-10s, infinite retries)
    • Logging: Connection state changes logged for debugging

    Benefits

    ✅ Separation of Concerns - Network layer isolated from business logic
    ✅ Reusability - Channel interfaces can be implemented with HTTP/2, gRPC, etc.
    ✅ Testability - Easy to mock Channel for testing
    ✅ Maintainability - Network code in one place

    Migration

    No breaking changes for users - same API, better internals.

  • Updated dependencies [4043daa]

    • agentxjs@1.0.0
    • @agentxjs/ui@1.0.0
    • @agentxjs/runtime@1.0.0

agentxjs

Minor Changes

  • 4043daa: Architecture: Extract network layer + Fix WebSocket connection timeout (#142)

    Problem

    WebSocket connections were timing out after prolonged inactivity (60+ seconds), causing "WebSocket is already in CLOSING or CLOSED state" errors and request timeouts when creating new conversations.

    Solution

    1. New Package: @agentxjs/network

    Extracted network layer into a dedicated package with clean abstraction:

    • Channel Interface - Transport-agnostic client/server interfaces
    • WebSocketServer - Server implementation with built-in heartbeat (30s ping/pong)
    • WebSocketClient - Node.js client
    • BrowserWebSocketClient - Browser client with auto-reconnect (using reconnecting-websocket)

    2. Refactored agentx Package

    • Now depends on @agentxjs/network instead of direct WebSocket handling
    • Simplified codebase: removed 200+ lines of WebSocket management code
    • Cleaner separation: business logic vs network transport

    3. Fixed Connection Timeout

    • Server: Ping every 30s, terminate on timeout
    • Browser: Auto-reconnect with exponential backoff (1-10s, infinite retries)
    • Logging: Connection state changes logged for debugging

    Benefits

    ✅ Separation of Concerns - Network layer isolated from business logic
    ✅ Reusability - Channel interfaces can be implemented with HTTP/2, gRPC, etc.
    ✅ Testability - Easy to mock Channel for testing
    ✅ Maintainability - Network code in one place

    Migration

    No breaking changes for users - same API, better internals.

Patch Changes

  • Updated dependencies [4043daa]
    • @agentxjs/network@0.2.0
    • @agentxjs/runtime@1.0.0