lex-llm 0.4.15 → 0.4.18

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: 0d1285ba64b40e878ef58be2e434d7a9090a38c7e9a6a9a12c85fe756096196b
4
- data.tar.gz: 646974d7c04db898d1f1bbf251dd1c4f74df3d8c7b5b66803358b00e7d2663d4
3
+ metadata.gz: 251e67e07340b260806c156849759a36717aa0edded8d487e4781bc18dd6a796
4
+ data.tar.gz: 91cc4357b30623f8d05c26781838daaca04cc610bd0e9437f1dd8e3c7333d965
5
5
  SHA512:
6
- metadata.gz: 85d596886b1809404194d7394d5a727bc39464adfd7e847d5d510323d6b777d8831a1a4a2343ba3f814e15415a648afdb78821eb42401b0353f1803bd3ff446f
7
- data.tar.gz: 5778d0da0bf25dc6acf52553f956dc15eed37efd2de31143006026f3833287a7d872d2640ee260ab4292d16a8c0e04a0b9cde27a1b6f9ff9293d68ecfe17b155
6
+ metadata.gz: a221259bedc60837bab73ef1e497799d2b7712c3c0e9a74f782ba69e361878fc56d5bb3dc63fc0ffffd731d89ea10233a5e015b86033122550ff571cef667030
7
+ data.tar.gz: '0709a98c1239c7e053b8d333d19150e4153c4c1ace084520d92221ceb532cb3fdc01cece4734eda9f0ef37f351f36c4a8aa50d78a500b74af7558ad25ac82c86'
data/.rubocop.yml.new ADDED
@@ -0,0 +1,54 @@
1
+ AllCops:
2
+ TargetRubyVersion: 3.4
3
+ NewCops: enable
4
+ SuggestExtensions: false
5
+ Exclude:
6
+ - docs/**/*
7
+ - vendor/**/*
8
+ - gemfiles/**/*
9
+ - lib/generators/**/templates/**/*
10
+ plugins:
11
+ - rubocop-performance
12
+ - rubocop-rake
13
+ - rubocop-rspec
14
+ - rubocop-legion
15
+
16
+ Layout/LineLength:
17
+ Max: 160
18
+ Layout/SpaceAroundEqualsInParameterDefault:
19
+ EnforcedStyle: space
20
+ Layout/HashAlignment:
21
+ EnforcedHashRocketStyle: table
22
+ EnforcedColonStyle: table
23
+ Metrics/MethodLength:
24
+ Max: 60
25
+ Metrics/ClassLength:
26
+ Max: 1500
27
+ Metrics/ModuleLength:
28
+ Max: 1500
29
+ Metrics/BlockLength:
30
+ Max: 40
31
+ Exclude:
32
+ - 'spec/**/*'
33
+ Metrics/AbcSize:
34
+ Max: 85
35
+ Metrics/CyclomaticComplexity:
36
+ Max: 35
37
+ Metrics/PerceivedComplexity:
38
+ Max: 35
39
+ Style/Documentation:
40
+ Enabled: false
41
+ Style/SymbolArray:
42
+ Enabled: true
43
+ Style/FrozenStringLiteralComment:
44
+ Enabled: true
45
+ EnforcedStyle: always
46
+ Naming/FileName:
47
+ Enabled: false
48
+ Naming/PredicateMethod:
49
+ Enabled: false
50
+ Metrics/ParameterLists:
51
+ Max: 9
52
+ Style/RedundantConstantBase:
53
+ Exclude:
54
+ - 'spec/**/*'
data/CHANGELOG.md CHANGED
@@ -1,5 +1,32 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.4.18 - 2026-06-05
4
+
5
+ ### Fixed
6
+ - **Test suite** — All 377 specs passing. Specs exercise shared streaming, chat, models, fleet, credential sources, and provider contract behavior.
7
+ - **RuboCop** — Zero offenses across 110 files.
8
+
9
+ ## 0.4.17 - 2026-06-04
10
+
11
+ ### Added
12
+ - **faraday-typhoeus dependency** — Added `faraday-typhoeus >= 0.2` as a runtime dependency. Connection middleware now prefers `:typhoeus` (libcurl) adapter over `:net_http` to work around Ruby 4.0 + net-http-0.9.1 SSL keep-alive issues that drop connections mid-read (`connection.rb`)
13
+
14
+ ### Fixed
15
+ - **Streaming on_data rejects status 0/nil** — `v2_on_data` handler only accepted `env&.status == 200`, causing typhoeus streaming chunks (where status is nil or 0 during active streaming before headers arrive) to be treated as failed responses. Now accepts nil/0 status as valid streaming state (`streaming.rb`)
16
+
17
+ ## 0.4.16 - 2026-05-31
18
+
19
+ ### Security
20
+ - **FLEET-01**: `FleetRequest`, `FleetResponse`, and `FleetError` now encrypt via `Legion::Crypt` when `fleet.compliance.encrypt_fleet` is true (default). Node-to-node inference traffic with PHI was previously plaintext on AMQP.
21
+ - **FLEET-02**: JWT `verify_issuer` set to `true` — library now validates issuer claim cryptographically.
22
+ - **FLEET-03**: Hashable JWT claims (params, caller, message_context, trace_context) validated via content hash only. No raw PHI values in base64 JWT payloads.
23
+ - **CRED-01**: Credential source probing (claude/codex config files) gated behind `extensions.llm.security.credential_source_probing` setting. Disableable in production.
24
+ - **OPENAI-CRED-01**: Bearer token filter added to Faraday response logger — API keys redacted as `Bearer [REDACTED]` in debug output.
25
+
26
+ ### Fixed
27
+ - **FLEET-04**: `validate_policy!` no longer blocks all traffic when `require_policy` is enabled — logs warning and allows instead of raising unconditionally.
28
+ - **FLEET-IDEMPOTENCY-01**: 100k entry cap on replay JTI cache and idempotency cache with LRU eviction under memory pressure.
29
+
3
30
  ## 0.4.15 - 2026-05-21
4
31
 
5
32
  - Add `identity_headers` to base provider — all API calls now include x-legion-identity-* headers when Identity is resolved