x_aeon_agents 2.1.0 → 2.2.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8b1e7041fddfc65c38861e98fbfc8fda9ea487cb11559f4303632536ca36b6f1
4
- data.tar.gz: 20e83d9866bd6c2bbb373cfa264341b37e3c19e88d23192fef88eda253bf273f
3
+ metadata.gz: 5f92902d46f24df17a53a218985801e0e9bf46a7f68baca87fc0f51bcc941409
4
+ data.tar.gz: e7f3821af21c86e308b690de3ca85943663a2e5fceed95a20cc361b7de595002
5
5
  SHA512:
6
- metadata.gz: a7b20717c0585a4e4ee6e95f818c22e0c7ebafc98d302c3af4beb1899fb0406dbac3f5ec59050523702cb0a7e26946072ecebb171e6f9fee5c5aee26adcbe2d1
7
- data.tar.gz: 318d0c1d1dbdd6d3e2dfef4626f1e1c227b491db5536eeda6cad082398036d1d25f757c350e54f8defcffe388eedfe922c4d64a7dbb2815ca2e53b27d3f28577
6
+ metadata.gz: dbbf138ea84abc33f30b04c9bef997eae604ce88dbb572968a9198973e32b0f8be95d276047e0c60ddb53a0773badf70972e3d59faffb533ecb77eed421b6fac
7
+ data.tar.gz: 79e7d6a39eab32a6813f6f10af4cf09640032ca0f2a061b2727116b196e78574268ea055ab117e6890985b8997b6b2c503c94e6a32881f5004396c622114cc0c
data/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ # [v2.2.0](https://github.com/Muriel-Salvan/x_aeon_agents/compare/v2.1.0...v2.2.0) (2026-10-26 12:38:46)
2
+
3
+ ### Features
4
+
5
+ * [feat: add non-interactive answer fallback for agents](https://github.com/Muriel-Salvan/x_aeon_agents/commit/fc2e01beb4f7b88ae6a5ba97af5ca69422147632)
6
+
1
7
  # [v2.1.0](https://github.com/Muriel-Salvan/x_aeon_agents/compare/v2.0.4...v2.1.0) (2026-10-22 13:25:41)
2
8
 
3
9
  ## Global changes
@@ -35,10 +35,16 @@ module XAeonAgents
35
35
  #
36
36
  # @param base [Class] The base class prepending this mixin
37
37
  def self.prepended(base)
38
- base.prepend ComposableAgents::Mixins::ArtifactContract unless base.ancestors.include?(ComposableAgents::Mixins::ArtifactContract)
39
- base.prepend ComposableAgents::Mixins::Resumable unless base.ancestors.include?(ComposableAgents::Mixins::Resumable)
38
+ mixins_to_prepend = [
39
+ ComposableAgents::Mixins::ArtifactContract,
40
+ ComposableAgents::Mixins::Resumable
41
+ ]
42
+ mixins_to_prepend << ComposableAgents::Mixins::UserInteraction if base.is_a?(ComposableAgents::Cline::Agent)
43
+ mixins_to_prepend << ComposableAgents::Mixins::AiAgentUserInteraction if base.is_a?(ComposableAgents::AiAgents::Agent)
44
+ mixins_to_prepend.each { |mixin| base.prepend mixin unless base.ancestors.include?(mixin) }
40
45
  # Make sure we always prepend at the top our initializer that sets all defaults
41
46
  base.prepend(
47
+ # TODO: Move this module into a dedicated mixin class and Ruby file.
42
48
  Module.new do
43
49
  # Constructor
44
50
  #
@@ -126,6 +132,20 @@ module XAeonAgents
126
132
  block&.call
127
133
  end
128
134
  end
135
+
136
+ # Answer an agent's question
137
+ #
138
+ # @param question [String] The agent's question
139
+ # @return [String] The answer that should be sent back to the agent
140
+ def answer_to(question)
141
+ if Config.interactive
142
+ super
143
+ else
144
+ 'You are running in non-interactive mode, so no human user is available to answer this question. ' \
145
+ 'Please continue using your best judgment and your existing knowledge to determine the most ' \
146
+ 'appropriate answer, and proceed with the task without further user input.'
147
+ end
148
+ end
129
149
  end
130
150
  )
131
151
  end
@@ -2,5 +2,5 @@ module XAeonAgents
2
2
  # @!group Global API
3
3
 
4
4
  # Gem version
5
- VERSION = '2.1.0'
5
+ VERSION = '2.2.0'
6
6
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: x_aeon_agents
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0
4
+ version: 2.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Muriel Salvan