legion-transport 1.2.1 → 1.2.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 20d83073e751d64eec5d0e1b9db42902a625e02a101e7d77ffbe700c9b474ac5
4
- data.tar.gz: 8808de957425981a0f4a1189a613773bc1950af8058746ad793d8a6229dcdf81
3
+ metadata.gz: b44d9bbca572702bcfe3d8f37f5ff0330b9e2fd5626d3a094bf32219470fb457
4
+ data.tar.gz: 36521e18cfe03a26403538bc1001d5f6b0203219c50b466447eae5f00bfaeec4
5
5
  SHA512:
6
- metadata.gz: b19ba5d5a843bf00a41e65a8506e6d3338ba453b7796750699ce2606fe688d304861b6512e82dd3830ca7e5897b24a29399e11e9810fe73155b11c1cf1d70345
7
- data.tar.gz: 0c41769245ad68caa4a6c73b4b0970538afee59a3e9e646e7033f5632cb5afbe8372875b8d3dc8f2118925df56705f7e11852e41d0a68392635f2a5314214800
6
+ metadata.gz: 131abad2f93409e13ed874eedf04f0014f61b89fa0d953449ad8747076ae48841e9a8a30a37174086e4cfc37a08fd039410d88d9b74c16b4eb81b7dca865798d
7
+ data.tar.gz: cbead836289a7df9f8fdc44d9e157fc86874b63795b587f2c27ecf4dd2cdeab8b8b3820fb6905086ca9e80af5dded515df51b77eb7e675c5bc9b0c8779b12718
data/CHANGELOG.md CHANGED
@@ -2,6 +2,13 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [1.2.2] - 2026-03-17
6
+
7
+ ### Added
8
+ - `Exchanges::Agent` topic exchange for identity-bound agent communication
9
+ - `Queues::Agent` per-agent queue (`agent.<agent_id>`) with auto-delete lifecycle
10
+ - Agent exchange separates identity-scoped traffic from infrastructure node traffic
11
+
5
12
  ## [1.2.1] - 2026-03-16
6
13
 
7
14
  ### Added
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Legion
4
+ module Transport
5
+ module Exchanges
6
+ class Agent < Legion::Transport::Exchange
7
+ def exchange_name
8
+ 'agent'
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
@@ -83,3 +83,4 @@ require_relative 'queues/node'
83
83
  require_relative 'queues/node_status'
84
84
  require_relative 'queues/task_log'
85
85
  require_relative 'queues/task_update'
86
+ require_relative 'queues/agent'
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Legion
4
+ module Transport
5
+ module Queues
6
+ class Agent < Legion::Transport::Queue
7
+ def initialize(agent_id: nil, **)
8
+ @agent_id = agent_id
9
+ super(**)
10
+ end
11
+
12
+ def queue_name
13
+ if @agent_id
14
+ "agent.#{@agent_id}"
15
+ else
16
+ "agent.#{Legion::Settings['client']['name']}"
17
+ end
18
+ end
19
+
20
+ def queue_options
21
+ { durable: false, auto_delete: true, arguments: { 'x-dead-letter-exchange': 'agent.dlx' } }
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Legion
4
4
  module Transport
5
- VERSION = '1.2.1'
5
+ VERSION = '1.2.2'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: legion-transport
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Esity
@@ -91,6 +91,7 @@ files:
91
91
  - lib/legion/transport/connection/vault.rb
92
92
  - lib/legion/transport/consumer.rb
93
93
  - lib/legion/transport/exchange.rb
94
+ - lib/legion/transport/exchanges/agent.rb
94
95
  - lib/legion/transport/exchanges/crypt.rb
95
96
  - lib/legion/transport/exchanges/extensions.rb
96
97
  - lib/legion/transport/exchanges/lex.rb
@@ -107,6 +108,7 @@ files:
107
108
  - lib/legion/transport/messages/task_log.rb
108
109
  - lib/legion/transport/messages/task_update.rb
109
110
  - lib/legion/transport/queue.rb
111
+ - lib/legion/transport/queues/agent.rb
110
112
  - lib/legion/transport/queues/node.rb
111
113
  - lib/legion/transport/queues/node_crypt.rb
112
114
  - lib/legion/transport/queues/node_status.rb