lex-agentic-affect 0.1.2 → 0.1.4

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: 64e47fe3d5e4b6c59bb58ed12d8acf1c1888e1668e4fe164a69461911050afff
4
- data.tar.gz: 5d95cdf190ff874aaa8c46e184e079d73849b76891ec0138ef54fd40ac912b75
3
+ metadata.gz: 46a3d66340a3b897d7014f77a1a52bddaf13f82bd483a680ead791d5cb1cf0ca
4
+ data.tar.gz: bf48115264eab61c0512d3e6a3d8860810be000146cea84477daf3cc7aa1aa5e
5
5
  SHA512:
6
- metadata.gz: 8ec5b239a2ed5f20ebfa28c0c5e9c2e19032b2a474aa1fe3d4583e1c34092fcbee3673df7433460b5fdf67f1b562c7f253f261219ada523a0f349eb58941cc70
7
- data.tar.gz: df01ac0b9ea74775059fde392e081f0b97a793a95d76b0011930d428b78f667482c3a77a97cf7c276a3c1dd6684e45419fb66b33c6ff4c435c70c1d6a43461f5
6
+ metadata.gz: 26f7e72563bef63f1bad598c0d5f2123e15f24697af56213aa809eee699a3b0590663e6753281e3f3b1cca9b1c5f9ce4d54e85b25e02538dc4b5a99cf1f5ef80
7
+ data.tar.gz: 6305bf2f65031dd1b3aec5826cf70235e4a4d3d5feac47abe6f8e9ae4fad86860aa1f65fcbcc7a7ae8d6acb52c039a6d6074a1eae44a5c66fe1f55bfe656b1f4
data/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.1.4] - 2026-03-23
4
+
5
+ ### Changed
6
+ - route llm calls through pipeline when available, add caller identity for attribution
7
+
8
+ ## [0.1.3] - 2026-03-22
9
+
10
+ ### Changed
11
+ - Add 7 runtime sub-gem dependencies to gemspec (legion-cache, legion-crypt, legion-data, legion-json, legion-logging, legion-settings, legion-transport)
12
+ - Replace stubbed spec_helper with real sub-gem helpers and proper Helpers::Lex wiring
13
+
3
14
  ## [0.1.1] - 2026-03-18
4
15
 
5
16
  ### Fixed
@@ -24,6 +24,14 @@ Gem::Specification.new do |spec|
24
24
  end
25
25
  spec.require_paths = ['lib']
26
26
 
27
+ spec.add_dependency 'legion-cache', '>= 1.3.11'
28
+ spec.add_dependency 'legion-crypt', '>= 1.4.9'
29
+ spec.add_dependency 'legion-data', '>= 1.4.17'
30
+ spec.add_dependency 'legion-json', '>= 1.2.1'
31
+ spec.add_dependency 'legion-logging', '>= 1.3.2'
32
+ spec.add_dependency 'legion-settings', '>= 1.3.14'
33
+ spec.add_dependency 'legion-transport', '>= 1.3.9'
34
+
27
35
  spec.add_development_dependency 'rspec', '~> 3.13'
28
36
  spec.add_development_dependency 'rubocop', '~> 1.60'
29
37
  spec.add_development_dependency 'rubocop-rspec', '~> 2.26'
@@ -38,12 +38,31 @@ module Legion
38
38
  end
39
39
 
40
40
  def llm_ask(prompt)
41
- chat = Legion::LLM.chat
42
- chat.with_instructions(SYSTEM_PROMPT)
43
- chat.ask(prompt)
41
+ if pipeline_available?
42
+ response = Legion::LLM::Pipeline::GaiaCaller.chat(
43
+ message: prompt,
44
+ phase: 'reappraisal',
45
+ caller: { extension: 'lex-agentic-affect', mode: :reappraisal }
46
+ )
47
+ content = response&.message&.dig(:content)
48
+ ::Struct.new(:content).new(content) if content
49
+ else
50
+ chat = Legion::LLM.chat
51
+ chat.with_instructions(SYSTEM_PROMPT)
52
+ chat.ask(prompt)
53
+ end
44
54
  end
45
55
  private_class_method :llm_ask
46
56
 
57
+ def pipeline_available?
58
+ !!(defined?(Legion::LLM::Pipeline::GaiaCaller) &&
59
+ Legion::LLM.respond_to?(:pipeline_enabled?) &&
60
+ Legion::LLM.pipeline_enabled?)
61
+ rescue StandardError
62
+ false
63
+ end
64
+ private_class_method :pipeline_available?
65
+
47
66
  def build_generate_reappraisal_prompt(event_content:, initial_appraisal:, strategy:, valence:, intensity:)
48
67
  <<~PROMPT
49
68
  An emotional event needs cognitive reappraisal.
@@ -4,7 +4,7 @@ module Legion
4
4
  module Extensions
5
5
  module Agentic
6
6
  module Affect
7
- VERSION = '0.1.2'
7
+ VERSION = '0.1.4'
8
8
  end
9
9
  end
10
10
  end
data/spec/spec_helper.rb CHANGED
@@ -1,41 +1,46 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'bundler/setup'
4
+ require 'legion/logging'
5
+ require 'legion/settings'
6
+ require 'legion/cache/helper'
7
+ require 'legion/crypt/helper'
8
+ require 'legion/data/helper'
9
+ require 'legion/json/helper'
10
+ require 'legion/transport'
4
11
 
5
12
  module Legion
6
- module Logging
7
- def self.debug(_msg); end
8
- def self.info(_msg); end
9
- def self.warn(_msg); end
10
- def self.error(_msg); end
11
- def self.fatal(_msg); end
12
- end
13
-
14
13
  module Extensions
15
- module Core
16
- def self.extended(_base); end
17
- end
18
-
19
14
  module Helpers
20
15
  module Lex
21
- def self.included(_base); end
16
+ include Legion::Logging::Helper
17
+ include Legion::Settings::Helper
18
+ include Legion::Cache::Helper
19
+ include Legion::Crypt::Helper
20
+ include Legion::Data::Helper
21
+ include Legion::JSON::Helper
22
+ include Legion::Transport::Helper
22
23
  end
23
24
  end
24
- end
25
- end
26
25
 
27
- # rubocop:disable Lint/EmptyClass, Style/OneClassPerFile
28
- module Legion
29
- module Extensions
30
26
  module Actors
31
- class Every; end
32
- class Once; end
27
+ class Every
28
+ include Helpers::Lex
29
+ end
30
+
31
+ class Once
32
+ include Helpers::Lex
33
+ end
34
+
35
+ class Subscription
36
+ include Helpers::Lex
37
+ end
33
38
  end
34
39
  end
35
40
  end
41
+
36
42
  $LOADED_FEATURES << 'legion/extensions/actors/every'
37
43
  $LOADED_FEATURES << 'legion/extensions/actors/once'
38
- # rubocop:enable Lint/EmptyClass, Style/OneClassPerFile
39
44
 
40
45
  require 'legion/extensions/agentic/affect'
41
46
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lex-agentic-affect
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Esity
@@ -9,6 +9,104 @@ bindir: bin
9
9
  cert_chain: []
10
10
  date: 1980-01-02 00:00:00.000000000 Z
11
11
  dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: legion-cache
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ">="
17
+ - !ruby/object:Gem::Version
18
+ version: 1.3.11
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - ">="
24
+ - !ruby/object:Gem::Version
25
+ version: 1.3.11
26
+ - !ruby/object:Gem::Dependency
27
+ name: legion-crypt
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 1.4.9
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: 1.4.9
40
+ - !ruby/object:Gem::Dependency
41
+ name: legion-data
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: 1.4.17
47
+ type: :runtime
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: 1.4.17
54
+ - !ruby/object:Gem::Dependency
55
+ name: legion-json
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: 1.2.1
61
+ type: :runtime
62
+ prerelease: false
63
+ version_requirements: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: 1.2.1
68
+ - !ruby/object:Gem::Dependency
69
+ name: legion-logging
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: 1.3.2
75
+ type: :runtime
76
+ prerelease: false
77
+ version_requirements: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: 1.3.2
82
+ - !ruby/object:Gem::Dependency
83
+ name: legion-settings
84
+ requirement: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: 1.3.14
89
+ type: :runtime
90
+ prerelease: false
91
+ version_requirements: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: 1.3.14
96
+ - !ruby/object:Gem::Dependency
97
+ name: legion-transport
98
+ requirement: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: 1.3.9
103
+ type: :runtime
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ version: 1.3.9
12
110
  - !ruby/object:Gem::Dependency
13
111
  name: rspec
14
112
  requirement: !ruby/object:Gem::Requirement