lex-lex 0.3.0 → 0.3.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: 6dc3e76881ecf51e9b1db09057880ced19b7daffcb8b997ec3c338166a924f4a
4
- data.tar.gz: 248dffd3c5999db11f7248cccd5a23330f261905eb62e32e649d7fd08364c2c7
3
+ metadata.gz: f6c3db20f78dae302bec9c04c1061f5136964e2b44a78771f79b0267f432b1bf
4
+ data.tar.gz: d21510d677b80216f17239f5d62d99cbddd815d1c150cfab0f9923adc150e6b1
5
5
  SHA512:
6
- metadata.gz: 480a5427ba9ccf651a4b09c1e6f0a531cb099a4f53478969b62f41030199e00ace1a94aa89b7dde66ef82a357d293b2eb71d53f5cfea4f61501328d93bc72105
7
- data.tar.gz: a0f7ac11038cdcb7b3cbe2e3b362e95389b624bb8c57e2cb92b3908d743288179a5b1ec96a1585328ac367d2aef9c32e12c1a6cf3188c2fa061cba4455ef4d22
6
+ metadata.gz: 2cf1137f8bf4562089538d76cc37447125b7e1283a5d43dc7eef47bf10c9424fd546cda40cebf509719bd525def136525457a3ed8fe6d37539d5bbb1f974976b
7
+ data.tar.gz: 4bcf02a4e9d7e7e11d9c704679fccf7f5942ee46cac5bd7ffcd404503c26aac10c77227cf94ec480240cd5ea018e8c323727ef235532573c078a223b1588a25d
data/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.3.2] - 2026-03-20
4
+
5
+ ### Fixed
6
+ - `Actor::AgentWatcher` now overrides `runner_class` to return `self.class`, preventing the framework from attempting to resolve the non-existent `Runners::AgentWatcher` constant
7
+
8
+ ## [0.3.1] - 2026-03-20
9
+
10
+ ### Added
11
+ - `Actor::AgentWatcher` — interval actor (every 30s) that detects file modifications to loaded YAML agent definitions and triggers hot-reload via `Legion::Extensions.load_yaml_agents`
12
+ - Conditional require of `AgentWatcher` in entry point (only when `Legion::Extensions::Actors::Every` is available)
13
+
3
14
  ## [0.3.0] - 2026-03-18
4
15
 
5
16
  ### Fixed
data/CLAUDE.md CHANGED
@@ -67,7 +67,7 @@ Startup (after all extensions load):
67
67
 
68
68
  ```bash
69
69
  bundle install
70
- bundle exec rspec # 55 specs
70
+ bundle exec rspec # 71 specs, 0 failures
71
71
  bundle exec rubocop # 0 offenses
72
72
  ```
73
73
 
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Legion
4
+ module Extensions
5
+ module Lex
6
+ module Actor
7
+ class AgentWatcher < Legion::Extensions::Actors::Every
8
+ def runner_class
9
+ self.class
10
+ end
11
+
12
+ def time = 30
13
+ def run_now? = false
14
+ def use_runner? = false
15
+ def check_subtask? = false
16
+ def generate_task? = false
17
+
18
+ def action(**_opts)
19
+ current = Legion::Extensions.instance_variable_get(:@load_yaml_agents) || []
20
+ reloaded = 0
21
+
22
+ current.each do |agent|
23
+ path = agent[:_source_path]
24
+ next unless path && File.exist?(path)
25
+ next unless File.mtime(path) > agent[:_source_mtime]
26
+
27
+ reloaded += 1
28
+ end
29
+
30
+ if reloaded.positive?
31
+ Legion::Extensions.instance_variable_set(:@load_yaml_agents, nil)
32
+ Legion::Extensions.load_yaml_agents
33
+ end
34
+
35
+ { reloaded: reloaded }
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -3,7 +3,7 @@
3
3
  module Legion
4
4
  module Extensions
5
5
  module Lex
6
- VERSION = '0.3.0'
6
+ VERSION = '0.3.2'
7
7
  end
8
8
  end
9
9
  end
@@ -6,6 +6,7 @@ require_relative 'lex/runners/runner'
6
6
  require_relative 'lex/runners/function'
7
7
  require_relative 'lex/runners/register'
8
8
  require_relative 'lex/runners/sync'
9
+ require_relative 'lex/actors/agent_watcher' if defined?(Legion::Extensions::Actors::Every)
9
10
 
10
11
  module Legion
11
12
  module Extensions
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lex-lex
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Esity
@@ -112,6 +112,7 @@ files:
112
112
  - README.md
113
113
  - lex-lex.gemspec
114
114
  - lib/legion/extensions/lex.rb
115
+ - lib/legion/extensions/lex/actors/agent_watcher.rb
115
116
  - lib/legion/extensions/lex/actors/sync.rb
116
117
  - lib/legion/extensions/lex/runners/extension.rb
117
118
  - lib/legion/extensions/lex/runners/function.rb