lex-microsoft_teams 0.5.0 → 0.5.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 +4 -4
- data/CHANGELOG.md +12 -0
- data/CLAUDE.md +2 -2
- data/lib/legion/extensions/microsoft_teams/helpers/callback_server.rb +10 -7
- data/lib/legion/extensions/microsoft_teams/transport.rb +11 -0
- data/lib/legion/extensions/microsoft_teams/version.rb +1 -1
- metadata +2 -2
- data/Gemfile.lock +0 -103
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 04b94ffb46a95a36eb66ec477890cdde5fe1c438cd1e4e6b93ecd1759a7d36d4
|
|
4
|
+
data.tar.gz: 22010f036440e7e63e03c55c432ef22e2ecee592adb7d124cc55bc7444201ec6
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1ab613f4985c7131d7c748802b6b2ae0239e88d8e1f73ae375912d2a5bdfe05755fdd9d0592bce9cccbba3a48796868a727df8ea109d308d08aa408703cf665e
|
|
7
|
+
data.tar.gz: ae176b71bf531f00831483b8a77c610165ceb65350f03bfbe2407eb587c7c348f06adb24d5c53179efd20441707095f80586f95429a6001482fd4652e5c8f811
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.5.2] - 2026-03-18
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
- CallbackServer Ruby 4.0 compatibility: replaced `CGI.parse` with `URI.decode_www_form` (avoids extracted cgi gem dependency)
|
|
7
|
+
- CallbackServer header drain loop: fixed infinite loop when client disconnects before sending empty line
|
|
8
|
+
- Broadened rescue in listen thread to `StandardError` to prevent silent thread death
|
|
9
|
+
|
|
10
|
+
## [0.5.1] - 2026-03-17
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
- `Transport` module extending `Legion::Extensions::Transport` to provide the `build` method expected by LegionIO's `build_transport`
|
|
14
|
+
|
|
3
15
|
## [0.5.0] - 2026-03-16
|
|
4
16
|
|
|
5
17
|
### Added
|
data/CLAUDE.md
CHANGED
|
@@ -10,7 +10,7 @@ Legion Extension that connects LegionIO to Microsoft Teams via Graph API and Bot
|
|
|
10
10
|
|
|
11
11
|
**GitHub**: https://github.com/LegionIO/lex-microsoft_teams
|
|
12
12
|
**License**: MIT
|
|
13
|
-
**Version**: 0.5.
|
|
13
|
+
**Version**: 0.5.1
|
|
14
14
|
|
|
15
15
|
## Architecture
|
|
16
16
|
|
|
@@ -197,7 +197,7 @@ Optional framework dependencies (guarded with `defined?`, not in gemspec):
|
|
|
197
197
|
|
|
198
198
|
```bash
|
|
199
199
|
bundle install
|
|
200
|
-
bundle exec rspec # 185 specs (as of v0.5.
|
|
200
|
+
bundle exec rspec # 185 specs (as of v0.5.1)
|
|
201
201
|
bundle exec rubocop # Clean
|
|
202
202
|
```
|
|
203
203
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require 'socket'
|
|
4
|
-
require '
|
|
4
|
+
require 'uri'
|
|
5
5
|
|
|
6
6
|
module Legion
|
|
7
7
|
module Extensions
|
|
@@ -53,16 +53,19 @@ module Legion
|
|
|
53
53
|
client = @server.accept
|
|
54
54
|
request_line = client.gets
|
|
55
55
|
# drain headers
|
|
56
|
-
|
|
56
|
+
loop do
|
|
57
|
+
line = client.gets
|
|
58
|
+
break if line.nil? || line.strip.empty?
|
|
59
|
+
end
|
|
57
60
|
|
|
58
61
|
if request_line&.include?('/callback?')
|
|
59
62
|
query = request_line.split[1].split('?', 2).last
|
|
60
|
-
params =
|
|
63
|
+
params = URI.decode_www_form(query).to_h
|
|
61
64
|
|
|
62
65
|
@mutex.synchronize do
|
|
63
66
|
@result = {
|
|
64
|
-
code: params['code']
|
|
65
|
-
state: params['state']
|
|
67
|
+
code: params['code'],
|
|
68
|
+
state: params['state']
|
|
66
69
|
}
|
|
67
70
|
@cv.broadcast
|
|
68
71
|
end
|
|
@@ -72,8 +75,8 @@ module Legion
|
|
|
72
75
|
client.close
|
|
73
76
|
break if @result
|
|
74
77
|
end
|
|
75
|
-
rescue
|
|
76
|
-
nil # server closed
|
|
78
|
+
rescue StandardError
|
|
79
|
+
nil # server closed or unexpected error
|
|
77
80
|
end
|
|
78
81
|
end
|
|
79
82
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: lex-microsoft_teams
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.5.
|
|
4
|
+
version: 0.5.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Esity
|
|
@@ -66,7 +66,6 @@ files:
|
|
|
66
66
|
- CLAUDE.md
|
|
67
67
|
- Dockerfile
|
|
68
68
|
- Gemfile
|
|
69
|
-
- Gemfile.lock
|
|
70
69
|
- LICENSE
|
|
71
70
|
- README.md
|
|
72
71
|
- docs/plans/2026-03-15-meetings-transcripts-design.md
|
|
@@ -105,6 +104,7 @@ files:
|
|
|
105
104
|
- lib/legion/extensions/microsoft_teams/runners/subscriptions.rb
|
|
106
105
|
- lib/legion/extensions/microsoft_teams/runners/teams.rb
|
|
107
106
|
- lib/legion/extensions/microsoft_teams/runners/transcripts.rb
|
|
107
|
+
- lib/legion/extensions/microsoft_teams/transport.rb
|
|
108
108
|
- lib/legion/extensions/microsoft_teams/transport/exchanges/messages.rb
|
|
109
109
|
- lib/legion/extensions/microsoft_teams/transport/messages/teams_message.rb
|
|
110
110
|
- lib/legion/extensions/microsoft_teams/transport/queues/messages_process.rb
|
data/Gemfile.lock
DELETED
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
PATH
|
|
2
|
-
remote: .
|
|
3
|
-
specs:
|
|
4
|
-
lex-microsoft_teams (0.5.0)
|
|
5
|
-
base64 (>= 0.1)
|
|
6
|
-
faraday (>= 2.0)
|
|
7
|
-
snappy (>= 0.5)
|
|
8
|
-
|
|
9
|
-
GEM
|
|
10
|
-
remote: https://rubygems.org/
|
|
11
|
-
specs:
|
|
12
|
-
addressable (2.8.9)
|
|
13
|
-
public_suffix (>= 2.0.2, < 8.0)
|
|
14
|
-
ast (2.4.3)
|
|
15
|
-
base64 (0.3.0)
|
|
16
|
-
bigdecimal (4.0.1)
|
|
17
|
-
diff-lcs (1.6.2)
|
|
18
|
-
docile (1.4.1)
|
|
19
|
-
faraday (2.14.1)
|
|
20
|
-
faraday-net_http (>= 2.0, < 3.5)
|
|
21
|
-
json
|
|
22
|
-
logger
|
|
23
|
-
faraday-net_http (3.4.2)
|
|
24
|
-
net-http (~> 0.5)
|
|
25
|
-
json (2.19.1)
|
|
26
|
-
json-schema (6.2.0)
|
|
27
|
-
addressable (~> 2.8)
|
|
28
|
-
bigdecimal (>= 3.1, < 5)
|
|
29
|
-
language_server-protocol (3.17.0.5)
|
|
30
|
-
lint_roller (1.1.0)
|
|
31
|
-
logger (1.7.0)
|
|
32
|
-
mcp (0.8.0)
|
|
33
|
-
json-schema (>= 4.1)
|
|
34
|
-
net-http (0.9.1)
|
|
35
|
-
uri (>= 0.11.1)
|
|
36
|
-
parallel (1.27.0)
|
|
37
|
-
parser (3.3.10.2)
|
|
38
|
-
ast (~> 2.4.1)
|
|
39
|
-
racc
|
|
40
|
-
prism (1.9.0)
|
|
41
|
-
public_suffix (7.0.5)
|
|
42
|
-
racc (1.8.1)
|
|
43
|
-
rainbow (3.1.1)
|
|
44
|
-
rake (13.3.1)
|
|
45
|
-
regexp_parser (2.11.3)
|
|
46
|
-
rspec (3.13.2)
|
|
47
|
-
rspec-core (~> 3.13.0)
|
|
48
|
-
rspec-expectations (~> 3.13.0)
|
|
49
|
-
rspec-mocks (~> 3.13.0)
|
|
50
|
-
rspec-core (3.13.6)
|
|
51
|
-
rspec-support (~> 3.13.0)
|
|
52
|
-
rspec-expectations (3.13.5)
|
|
53
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
|
54
|
-
rspec-support (~> 3.13.0)
|
|
55
|
-
rspec-mocks (3.13.8)
|
|
56
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
|
57
|
-
rspec-support (~> 3.13.0)
|
|
58
|
-
rspec-support (3.13.7)
|
|
59
|
-
rspec_junit_formatter (0.6.0)
|
|
60
|
-
rspec-core (>= 2, < 4, != 2.12.0)
|
|
61
|
-
rubocop (1.85.1)
|
|
62
|
-
json (~> 2.3)
|
|
63
|
-
language_server-protocol (~> 3.17.0.2)
|
|
64
|
-
lint_roller (~> 1.1.0)
|
|
65
|
-
mcp (~> 0.6)
|
|
66
|
-
parallel (~> 1.10)
|
|
67
|
-
parser (>= 3.3.0.2)
|
|
68
|
-
rainbow (>= 2.2.2, < 4.0)
|
|
69
|
-
regexp_parser (>= 2.9.3, < 3.0)
|
|
70
|
-
rubocop-ast (>= 1.49.0, < 2.0)
|
|
71
|
-
ruby-progressbar (~> 1.7)
|
|
72
|
-
unicode-display_width (>= 2.4.0, < 4.0)
|
|
73
|
-
rubocop-ast (1.49.1)
|
|
74
|
-
parser (>= 3.3.7.2)
|
|
75
|
-
prism (~> 1.7)
|
|
76
|
-
ruby-progressbar (1.13.0)
|
|
77
|
-
simplecov (0.22.0)
|
|
78
|
-
docile (~> 1.1)
|
|
79
|
-
simplecov-html (~> 0.11)
|
|
80
|
-
simplecov_json_formatter (~> 0.1)
|
|
81
|
-
simplecov-html (0.13.2)
|
|
82
|
-
simplecov_json_formatter (0.1.4)
|
|
83
|
-
snappy (0.5.0)
|
|
84
|
-
unicode-display_width (3.2.0)
|
|
85
|
-
unicode-emoji (~> 4.1)
|
|
86
|
-
unicode-emoji (4.2.0)
|
|
87
|
-
uri (1.1.1)
|
|
88
|
-
|
|
89
|
-
PLATFORMS
|
|
90
|
-
arm64-darwin-25
|
|
91
|
-
ruby
|
|
92
|
-
x86_64-linux
|
|
93
|
-
|
|
94
|
-
DEPENDENCIES
|
|
95
|
-
lex-microsoft_teams!
|
|
96
|
-
rake
|
|
97
|
-
rspec
|
|
98
|
-
rspec_junit_formatter
|
|
99
|
-
rubocop
|
|
100
|
-
simplecov
|
|
101
|
-
|
|
102
|
-
BUNDLED WITH
|
|
103
|
-
2.6.9
|