async-matrix 2.1.0 → 3.0.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 +4 -4
- data/Cargo.lock +8 -8
- data/README.md +33 -58
- data/ext/async_matrix_e2ee/Cargo.toml +7 -1
- data/lib/async/matrix/api/chain.rb +120 -94
- data/lib/async/matrix/api/concat.rb +28 -22
- data/lib/async/matrix/api/path_tree.rb +71 -44
- data/lib/async/matrix/api.rb +6 -1
- data/lib/async/matrix/auth_error.rb +20 -0
- data/lib/async/matrix/bad_json_error.rb +20 -0
- data/lib/async/matrix/client.rb +142 -110
- data/lib/async/matrix/config/vivify.rb +107 -0
- data/lib/async/matrix/config.rb +184 -0
- data/lib/async/matrix/content.rb +106 -0
- data/lib/async/matrix/double_puppet_client.rb +1 -1
- data/lib/async/matrix/error.rb +0 -27
- data/lib/async/matrix/{application_service/error_response.rb → error_response.rb} +10 -10
- data/lib/async/matrix/event.rb +197 -0
- data/lib/async/matrix/homeserver_error.rb +20 -0
- data/lib/async/matrix/invalid_endpoint_error.rb +20 -0
- data/lib/async/matrix/media_client.rb +46 -35
- data/lib/async/matrix/not_found_error.rb +20 -0
- data/lib/async/matrix/notifier.rb +7 -3
- data/lib/async/matrix/response_too_large_error.rb +20 -0
- data/lib/async/matrix/schema/registry.rb +367 -340
- data/lib/async/matrix/schema/validation_error.rb +221 -214
- data/lib/async/matrix/schema.rb +161 -161
- data/lib/async/matrix/version.rb +3 -3
- data/lib/async/matrix.rb +0 -7
- metadata +24 -132
- data/lib/async/discord/api/path_tree.rb +0 -127
- data/lib/async/discord/api.rb +0 -151
- data/lib/async/discord/client.rb +0 -283
- data/lib/async/discord/error.rb +0 -84
- data/lib/async/discord/gateway.rb +0 -359
- data/lib/async/discord.rb +0 -15
- data/lib/async/matrix/application_service/bot.rb +0 -232
- data/lib/async/matrix/application_service/config/schema/analytics.json +0 -21
- data/lib/async/matrix/application_service/config/schema/appservice.json +0 -82
- data/lib/async/matrix/application_service/config/schema/backfill.json +0 -91
- data/lib/async/matrix/application_service/config/schema/bridge.json +0 -209
- data/lib/async/matrix/application_service/config/schema/config.json +0 -61
- data/lib/async/matrix/application_service/config/schema/database.json +0 -38
- data/lib/async/matrix/application_service/config/schema/direct_media.json +0 -35
- data/lib/async/matrix/application_service/config/schema/double_puppet.json +0 -24
- data/lib/async/matrix/application_service/config/schema/encryption.json +0 -164
- data/lib/async/matrix/application_service/config/schema/homeserver.json +0 -58
- data/lib/async/matrix/application_service/config/schema/logging.json +0 -50
- data/lib/async/matrix/application_service/config/schema/management_room_texts.json +0 -25
- data/lib/async/matrix/application_service/config/schema/matrix.json +0 -45
- data/lib/async/matrix/application_service/config/schema/permissions.json +0 -54
- data/lib/async/matrix/application_service/config/schema/provisioning.json +0 -23
- data/lib/async/matrix/application_service/config/schema/public_media.json +0 -39
- data/lib/async/matrix/application_service/config/schema/relay.json +0 -43
- data/lib/async/matrix/application_service/config/vivify.rb +0 -109
- data/lib/async/matrix/application_service/config.rb +0 -225
- data/lib/async/matrix/application_service/dispatcher.rb +0 -185
- data/lib/async/matrix/application_service/event.rb +0 -285
- data/lib/async/matrix/application_service/server.rb +0 -430
- data/lib/async/matrix/application_service/transaction.rb +0 -66
- data/lib/async/matrix/application_service/transaction_handler.rb +0 -185
- data/lib/async/matrix/application_service/transaction_store.rb +0 -80
- data/lib/async/matrix/bridge/discord/db/connection.rb +0 -141
- data/lib/async/matrix/bridge/discord/db/file.rb +0 -118
- data/lib/async/matrix/bridge/discord/db/guild.rb +0 -120
- data/lib/async/matrix/bridge/discord/db/message.rb +0 -160
- data/lib/async/matrix/bridge/discord/db/migrations/001_create_users.rb +0 -14
- data/lib/async/matrix/bridge/discord/db/migrations/002_create_guilds.rb +0 -14
- data/lib/async/matrix/bridge/discord/db/migrations/003_create_portals.rb +0 -23
- data/lib/async/matrix/bridge/discord/db/migrations/004_create_puppets.rb +0 -19
- data/lib/async/matrix/bridge/discord/db/migrations/005_create_messages.rb +0 -20
- data/lib/async/matrix/bridge/discord/db/migrations/006_create_reactions.rb +0 -19
- data/lib/async/matrix/bridge/discord/db/migrations/007_create_files.rb +0 -18
- data/lib/async/matrix/bridge/discord/db/portal.rb +0 -150
- data/lib/async/matrix/bridge/discord/db/puppet.rb +0 -128
- data/lib/async/matrix/bridge/discord/db/reaction.rb +0 -165
- data/lib/async/matrix/bridge/discord/db/schema.rb +0 -18
- data/lib/async/matrix/bridge/discord/db/user.rb +0 -112
- data/lib/async/matrix/bridge/discord/db.rb +0 -138
data/lib/async/matrix/schema.rb
CHANGED
|
@@ -4,167 +4,167 @@
|
|
|
4
4
|
# Copyright, 2026, by General Intelligence Systems.
|
|
5
5
|
|
|
6
6
|
module Async
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
7
|
+
module Matrix
|
|
8
|
+
# Schema-driven validation for Matrix events using the official matrix-org/matrix-spec
|
|
9
|
+
# YAML schemas and the json_schemer gem.
|
|
10
|
+
#
|
|
11
|
+
# Schemas are loaded lazily from data/matrix-spec/event-schemas/schema/ and cached
|
|
12
|
+
# for the process lifetime. This ensures validation is always up-to-date with the
|
|
13
|
+
# spec -- just re-run `bin/fetch-matrix-schemas` to pull the latest.
|
|
14
|
+
#
|
|
15
|
+
# # Look up a schema by event type
|
|
16
|
+
# Async::Matrix::Schema["m.room.message"] # => JSONSchemer::Schema
|
|
17
|
+
#
|
|
18
|
+
# # Validate an event hash
|
|
19
|
+
# Async::Matrix::Schema.valid?(event_hash) # => true/false
|
|
20
|
+
# Async::Matrix::Schema.validate(event_hash) # => [errors]
|
|
21
|
+
#
|
|
22
|
+
# # List all known event types
|
|
23
|
+
# Async::Matrix::Schema.event_types # => ["m.accepted_terms", "m.call.answer", ...]
|
|
24
|
+
#
|
|
25
|
+
module Schema
|
|
26
|
+
class << self
|
|
27
|
+
# Look up a schema by Matrix event type.
|
|
28
|
+
# @param event_type [String] e.g. "m.room.message"
|
|
29
|
+
# @return [JSONSchemer::Schema, nil]
|
|
30
|
+
def [](event_type)
|
|
31
|
+
Registry.instance[event_type]
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
# Look up a variant schema.
|
|
35
|
+
# @param event_type [String] e.g. "m.room.message"
|
|
36
|
+
# @param subtype [String] e.g. "m.text"
|
|
37
|
+
# @return [JSONSchemer::Schema, nil]
|
|
38
|
+
def variant(event_type, subtype)
|
|
39
|
+
Registry.instance.variant(event_type, subtype)
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
# Validate an event hash against its schema.
|
|
43
|
+
# @param event_hash [Hash] the raw event data (string keys)
|
|
44
|
+
# @return [Array<Hash>] array of error hashes (empty if valid)
|
|
45
|
+
def validate(event_hash)
|
|
46
|
+
Registry.instance.validate(event_hash)
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
# Boolean validation.
|
|
50
|
+
# @param event_hash [Hash] the raw event data (string keys)
|
|
51
|
+
# @return [Boolean]
|
|
52
|
+
def valid?(event_hash)
|
|
53
|
+
Registry.instance.valid?(event_hash)
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
# All known base event types.
|
|
57
|
+
# @return [Array<String>] sorted
|
|
58
|
+
def event_types
|
|
59
|
+
Registry.instance.event_types
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
# All known variant types as [event_type, subtype] pairs.
|
|
63
|
+
# @return [Array<Array(String, String)>]
|
|
64
|
+
def variant_types
|
|
65
|
+
Registry.instance.variant_types
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
# Content properties defined by the schema for a given event type.
|
|
69
|
+
# @return [Array<String>]
|
|
70
|
+
def content_properties(event_type)
|
|
71
|
+
Registry.instance.content_properties(event_type)
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
# Parse a raw event hash into a schema-aware Event.
|
|
75
|
+
# @param event_hash [Hash] the raw event data (string keys)
|
|
76
|
+
# @return [Event]
|
|
77
|
+
def parse(event_hash)
|
|
78
|
+
Event.new(event_hash)
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
# Total schemas loaded (base + variants).
|
|
82
|
+
# @return [Integer]
|
|
83
|
+
def size
|
|
84
|
+
Registry.instance.size
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
end
|
|
89
89
|
end
|
|
90
90
|
|
|
91
91
|
__END__
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
92
|
+
describe "Async::Matrix::Schema" do
|
|
93
|
+
it "looks up schemas by event type" do
|
|
94
|
+
schema = Async::Matrix::Schema["m.room.message"]
|
|
95
|
+
schema.should.not.be.nil
|
|
96
|
+
schema.should.be.kind_of JSONSchemer::Schema
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
it "returns nil for unknown event types" do
|
|
100
|
+
Async::Matrix::Schema["m.fake.event"].should.be.nil
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
it "validates event hashes" do
|
|
104
|
+
valid_event = {
|
|
105
|
+
"type" => "m.room.message",
|
|
106
|
+
"content" => {"msgtype" => "m.text", "body" => "hello"},
|
|
107
|
+
"event_id" => "$abc123",
|
|
108
|
+
"sender" => "@alice:example.org",
|
|
109
|
+
"origin_server_ts" => 1234567890,
|
|
110
|
+
"room_id" => "!room:example.org"
|
|
111
|
+
}
|
|
112
|
+
Async::Matrix::Schema.valid?(valid_event).should == true
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
it "returns errors for invalid events" do
|
|
116
|
+
invalid_event = {
|
|
117
|
+
"type" => "m.room.message",
|
|
118
|
+
"content" => {"msgtype" => "m.text"},
|
|
119
|
+
"event_id" => "$abc123",
|
|
120
|
+
"sender" => "@alice:example.org",
|
|
121
|
+
"origin_server_ts" => 1234567890,
|
|
122
|
+
"room_id" => "!room:example.org"
|
|
123
|
+
}
|
|
124
|
+
errors = Async::Matrix::Schema.validate(invalid_event)
|
|
125
|
+
errors.should.not.be.empty
|
|
126
|
+
end
|
|
127
|
+
|
|
128
|
+
it "lists event types" do
|
|
129
|
+
types = Async::Matrix::Schema.event_types
|
|
130
|
+
types.should.be.kind_of Array
|
|
131
|
+
types.should.include "m.room.message"
|
|
132
|
+
types.should.include "m.room.member"
|
|
133
|
+
end
|
|
134
|
+
|
|
135
|
+
it "lists variant types" do
|
|
136
|
+
variants = Async::Matrix::Schema.variant_types
|
|
137
|
+
variants.should.not.be.empty
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
it "looks up variant schemas" do
|
|
141
|
+
schema = Async::Matrix::Schema.variant("m.room.message", "m.text")
|
|
142
|
+
schema.should.not.be.nil
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
it "returns content properties" do
|
|
146
|
+
props = Async::Matrix::Schema.content_properties("m.room.message")
|
|
147
|
+
props.should.include "msgtype"
|
|
148
|
+
props.should.include "body"
|
|
149
|
+
end
|
|
150
|
+
|
|
151
|
+
it "reports total schema count" do
|
|
152
|
+
Async::Matrix::Schema.size.should.be > 50
|
|
153
|
+
end
|
|
154
|
+
|
|
155
|
+
it "parses a raw hash into a schema-aware Event" do
|
|
156
|
+
event = Async::Matrix::Schema.parse({
|
|
157
|
+
"type" => "m.room.message",
|
|
158
|
+
"content" => {"msgtype" => "m.text", "body" => "hello"},
|
|
159
|
+
"event_id" => "$abc123",
|
|
160
|
+
"sender" => "@alice:example.org",
|
|
161
|
+
"origin_server_ts" => 1234567890,
|
|
162
|
+
"room_id" => "!room:example.org"
|
|
163
|
+
})
|
|
164
|
+
event.should.be.kind_of Async::Matrix::Event
|
|
165
|
+
event.type.should == "m.room.message"
|
|
166
|
+
event.content.body.should == "hello"
|
|
167
|
+
event.valid?.should == true
|
|
168
|
+
event.schema.should.not.be.nil
|
|
169
|
+
end
|
|
170
|
+
end
|
data/lib/async/matrix/version.rb
CHANGED
data/lib/async/matrix.rb
CHANGED
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
# Released under the Apache License, Version 2.0.
|
|
4
4
|
# Copyright, 2026, by General Intelligence Systems.
|
|
5
5
|
|
|
6
|
-
require "bundler/setup"
|
|
7
6
|
require "async/http"
|
|
8
7
|
|
|
9
8
|
module Async
|
|
@@ -12,11 +11,5 @@ module Async
|
|
|
12
11
|
end
|
|
13
12
|
|
|
14
13
|
Dir.glob("#{__dir__}/matrix/**/*.rb").sort.each do |path|
|
|
15
|
-
next if path.include?("/migrations/")
|
|
16
|
-
# The Discord bridge is opt-in — it pulls in Sequel and opens a placeholder
|
|
17
|
-
# database at load time. Require "async/matrix/bridge/discord/db" explicitly
|
|
18
|
-
# when you need it, so plain Matrix use stays free of that dependency.
|
|
19
|
-
next if path.include?("/bridge/")
|
|
20
14
|
require path
|
|
21
15
|
end
|
|
22
|
-
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: async-matrix
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 3.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Nathan Kidd
|
|
@@ -15,84 +15,42 @@ dependencies:
|
|
|
15
15
|
requirements:
|
|
16
16
|
- - "~>"
|
|
17
17
|
- !ruby/object:Gem::Version
|
|
18
|
-
version: '2.
|
|
18
|
+
version: '2.46'
|
|
19
19
|
type: :runtime
|
|
20
20
|
prerelease: false
|
|
21
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
22
22
|
requirements:
|
|
23
23
|
- - "~>"
|
|
24
24
|
- !ruby/object:Gem::Version
|
|
25
|
-
version: '2.
|
|
25
|
+
version: '2.46'
|
|
26
26
|
- !ruby/object:Gem::Dependency
|
|
27
27
|
name: async-http
|
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
|
29
29
|
requirements:
|
|
30
30
|
- - "~>"
|
|
31
31
|
- !ruby/object:Gem::Version
|
|
32
|
-
version: '0.
|
|
32
|
+
version: '0.105'
|
|
33
33
|
type: :runtime
|
|
34
34
|
prerelease: false
|
|
35
35
|
version_requirements: !ruby/object:Gem::Requirement
|
|
36
36
|
requirements:
|
|
37
37
|
- - "~>"
|
|
38
38
|
- !ruby/object:Gem::Version
|
|
39
|
-
version: '0.
|
|
40
|
-
- !ruby/object:Gem::Dependency
|
|
41
|
-
name: async-websocket
|
|
42
|
-
requirement: !ruby/object:Gem::Requirement
|
|
43
|
-
requirements:
|
|
44
|
-
- - "~>"
|
|
45
|
-
- !ruby/object:Gem::Version
|
|
46
|
-
version: '0.30'
|
|
47
|
-
type: :runtime
|
|
48
|
-
prerelease: false
|
|
49
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
50
|
-
requirements:
|
|
51
|
-
- - "~>"
|
|
52
|
-
- !ruby/object:Gem::Version
|
|
53
|
-
version: '0.30'
|
|
54
|
-
- !ruby/object:Gem::Dependency
|
|
55
|
-
name: grape
|
|
56
|
-
requirement: !ruby/object:Gem::Requirement
|
|
57
|
-
requirements:
|
|
58
|
-
- - "~>"
|
|
59
|
-
- !ruby/object:Gem::Version
|
|
60
|
-
version: '3.3'
|
|
61
|
-
type: :runtime
|
|
62
|
-
prerelease: false
|
|
63
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
64
|
-
requirements:
|
|
65
|
-
- - "~>"
|
|
66
|
-
- !ruby/object:Gem::Version
|
|
67
|
-
version: '3.3'
|
|
39
|
+
version: '0.105'
|
|
68
40
|
- !ruby/object:Gem::Dependency
|
|
69
41
|
name: json_schemer
|
|
70
42
|
requirement: !ruby/object:Gem::Requirement
|
|
71
43
|
requirements:
|
|
72
44
|
- - "~>"
|
|
73
45
|
- !ruby/object:Gem::Version
|
|
74
|
-
version: '2.
|
|
46
|
+
version: '2.5'
|
|
75
47
|
type: :runtime
|
|
76
48
|
prerelease: false
|
|
77
49
|
version_requirements: !ruby/object:Gem::Requirement
|
|
78
50
|
requirements:
|
|
79
51
|
- - "~>"
|
|
80
52
|
- !ruby/object:Gem::Version
|
|
81
|
-
version: '2.
|
|
82
|
-
- !ruby/object:Gem::Dependency
|
|
83
|
-
name: sequel
|
|
84
|
-
requirement: !ruby/object:Gem::Requirement
|
|
85
|
-
requirements:
|
|
86
|
-
- - "~>"
|
|
87
|
-
- !ruby/object:Gem::Version
|
|
88
|
-
version: '5.0'
|
|
89
|
-
type: :runtime
|
|
90
|
-
prerelease: false
|
|
91
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
92
|
-
requirements:
|
|
93
|
-
- - "~>"
|
|
94
|
-
- !ruby/object:Gem::Version
|
|
95
|
-
version: '5.0'
|
|
53
|
+
version: '2.5'
|
|
96
54
|
- !ruby/object:Gem::Dependency
|
|
97
55
|
name: string_builder
|
|
98
56
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -135,20 +93,6 @@ dependencies:
|
|
|
135
93
|
- - "~>"
|
|
136
94
|
- !ruby/object:Gem::Version
|
|
137
95
|
version: '1.0'
|
|
138
|
-
- !ruby/object:Gem::Dependency
|
|
139
|
-
name: falcon
|
|
140
|
-
requirement: !ruby/object:Gem::Requirement
|
|
141
|
-
requirements:
|
|
142
|
-
- - "~>"
|
|
143
|
-
- !ruby/object:Gem::Version
|
|
144
|
-
version: '0.55'
|
|
145
|
-
type: :development
|
|
146
|
-
prerelease: false
|
|
147
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
148
|
-
requirements:
|
|
149
|
-
- - "~>"
|
|
150
|
-
- !ruby/object:Gem::Version
|
|
151
|
-
version: '0.55'
|
|
152
96
|
- !ruby/object:Gem::Dependency
|
|
153
97
|
name: logger
|
|
154
98
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -163,50 +107,37 @@ dependencies:
|
|
|
163
107
|
- - ">="
|
|
164
108
|
- !ruby/object:Gem::Version
|
|
165
109
|
version: '0'
|
|
166
|
-
- !ruby/object:Gem::Dependency
|
|
167
|
-
name: sqlite3
|
|
168
|
-
requirement: !ruby/object:Gem::Requirement
|
|
169
|
-
requirements:
|
|
170
|
-
- - ">="
|
|
171
|
-
- !ruby/object:Gem::Version
|
|
172
|
-
version: '0'
|
|
173
|
-
type: :development
|
|
174
|
-
prerelease: false
|
|
175
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
176
|
-
requirements:
|
|
177
|
-
- - ">="
|
|
178
|
-
- !ruby/object:Gem::Version
|
|
179
|
-
version: '0'
|
|
180
110
|
- !ruby/object:Gem::Dependency
|
|
181
111
|
name: rake-compiler
|
|
182
112
|
requirement: !ruby/object:Gem::Requirement
|
|
183
113
|
requirements:
|
|
184
114
|
- - "~>"
|
|
185
115
|
- !ruby/object:Gem::Version
|
|
186
|
-
version: '1.
|
|
116
|
+
version: '1.3'
|
|
187
117
|
type: :development
|
|
188
118
|
prerelease: false
|
|
189
119
|
version_requirements: !ruby/object:Gem::Requirement
|
|
190
120
|
requirements:
|
|
191
121
|
- - "~>"
|
|
192
122
|
- !ruby/object:Gem::Version
|
|
193
|
-
version: '1.
|
|
123
|
+
version: '1.3'
|
|
194
124
|
- !ruby/object:Gem::Dependency
|
|
195
125
|
name: lefthook
|
|
196
126
|
requirement: !ruby/object:Gem::Requirement
|
|
197
127
|
requirements:
|
|
198
128
|
- - "~>"
|
|
199
129
|
- !ruby/object:Gem::Version
|
|
200
|
-
version: '2.
|
|
130
|
+
version: '2.2'
|
|
201
131
|
type: :development
|
|
202
132
|
prerelease: false
|
|
203
133
|
version_requirements: !ruby/object:Gem::Requirement
|
|
204
134
|
requirements:
|
|
205
135
|
- - "~>"
|
|
206
136
|
- !ruby/object:Gem::Version
|
|
207
|
-
version: '2.
|
|
137
|
+
version: '2.2'
|
|
208
138
|
description: Async-native Matrix protocol primitives built on the Socketry async ecosystem.
|
|
209
|
-
Provides
|
|
139
|
+
Provides a Client-Server API client, schema-validated events, media and end-to-end
|
|
140
|
+
encryption.
|
|
210
141
|
email:
|
|
211
142
|
- nathankidd@hey.com
|
|
212
143
|
executables: []
|
|
@@ -517,69 +448,30 @@ files:
|
|
|
517
448
|
- ext/async_matrix_e2ee/Cargo.toml
|
|
518
449
|
- ext/async_matrix_e2ee/extconf.rb
|
|
519
450
|
- ext/async_matrix_e2ee/src/lib.rs
|
|
520
|
-
- lib/async/discord.rb
|
|
521
|
-
- lib/async/discord/api.rb
|
|
522
|
-
- lib/async/discord/api/path_tree.rb
|
|
523
|
-
- lib/async/discord/client.rb
|
|
524
|
-
- lib/async/discord/error.rb
|
|
525
|
-
- lib/async/discord/gateway.rb
|
|
526
451
|
- lib/async/matrix.rb
|
|
527
452
|
- lib/async/matrix/api.rb
|
|
528
453
|
- lib/async/matrix/api/chain.rb
|
|
529
454
|
- lib/async/matrix/api/concat.rb
|
|
530
455
|
- lib/async/matrix/api/path_tree.rb
|
|
531
|
-
- lib/async/matrix/
|
|
532
|
-
- lib/async/matrix/
|
|
533
|
-
- lib/async/matrix/application_service/config/schema/analytics.json
|
|
534
|
-
- lib/async/matrix/application_service/config/schema/appservice.json
|
|
535
|
-
- lib/async/matrix/application_service/config/schema/backfill.json
|
|
536
|
-
- lib/async/matrix/application_service/config/schema/bridge.json
|
|
537
|
-
- lib/async/matrix/application_service/config/schema/config.json
|
|
538
|
-
- lib/async/matrix/application_service/config/schema/database.json
|
|
539
|
-
- lib/async/matrix/application_service/config/schema/direct_media.json
|
|
540
|
-
- lib/async/matrix/application_service/config/schema/double_puppet.json
|
|
541
|
-
- lib/async/matrix/application_service/config/schema/encryption.json
|
|
542
|
-
- lib/async/matrix/application_service/config/schema/homeserver.json
|
|
543
|
-
- lib/async/matrix/application_service/config/schema/logging.json
|
|
544
|
-
- lib/async/matrix/application_service/config/schema/management_room_texts.json
|
|
545
|
-
- lib/async/matrix/application_service/config/schema/matrix.json
|
|
546
|
-
- lib/async/matrix/application_service/config/schema/permissions.json
|
|
547
|
-
- lib/async/matrix/application_service/config/schema/provisioning.json
|
|
548
|
-
- lib/async/matrix/application_service/config/schema/public_media.json
|
|
549
|
-
- lib/async/matrix/application_service/config/schema/relay.json
|
|
550
|
-
- lib/async/matrix/application_service/config/vivify.rb
|
|
551
|
-
- lib/async/matrix/application_service/dispatcher.rb
|
|
552
|
-
- lib/async/matrix/application_service/error_response.rb
|
|
553
|
-
- lib/async/matrix/application_service/event.rb
|
|
554
|
-
- lib/async/matrix/application_service/server.rb
|
|
555
|
-
- lib/async/matrix/application_service/transaction.rb
|
|
556
|
-
- lib/async/matrix/application_service/transaction_handler.rb
|
|
557
|
-
- lib/async/matrix/application_service/transaction_store.rb
|
|
558
|
-
- lib/async/matrix/bridge/discord/db.rb
|
|
559
|
-
- lib/async/matrix/bridge/discord/db/connection.rb
|
|
560
|
-
- lib/async/matrix/bridge/discord/db/file.rb
|
|
561
|
-
- lib/async/matrix/bridge/discord/db/guild.rb
|
|
562
|
-
- lib/async/matrix/bridge/discord/db/message.rb
|
|
563
|
-
- lib/async/matrix/bridge/discord/db/migrations/001_create_users.rb
|
|
564
|
-
- lib/async/matrix/bridge/discord/db/migrations/002_create_guilds.rb
|
|
565
|
-
- lib/async/matrix/bridge/discord/db/migrations/003_create_portals.rb
|
|
566
|
-
- lib/async/matrix/bridge/discord/db/migrations/004_create_puppets.rb
|
|
567
|
-
- lib/async/matrix/bridge/discord/db/migrations/005_create_messages.rb
|
|
568
|
-
- lib/async/matrix/bridge/discord/db/migrations/006_create_reactions.rb
|
|
569
|
-
- lib/async/matrix/bridge/discord/db/migrations/007_create_files.rb
|
|
570
|
-
- lib/async/matrix/bridge/discord/db/portal.rb
|
|
571
|
-
- lib/async/matrix/bridge/discord/db/puppet.rb
|
|
572
|
-
- lib/async/matrix/bridge/discord/db/reaction.rb
|
|
573
|
-
- lib/async/matrix/bridge/discord/db/schema.rb
|
|
574
|
-
- lib/async/matrix/bridge/discord/db/user.rb
|
|
456
|
+
- lib/async/matrix/auth_error.rb
|
|
457
|
+
- lib/async/matrix/bad_json_error.rb
|
|
575
458
|
- lib/async/matrix/client.rb
|
|
459
|
+
- lib/async/matrix/config.rb
|
|
460
|
+
- lib/async/matrix/config/vivify.rb
|
|
576
461
|
- lib/async/matrix/connection.rb
|
|
462
|
+
- lib/async/matrix/content.rb
|
|
577
463
|
- lib/async/matrix/double_puppet_client.rb
|
|
578
464
|
- lib/async/matrix/e2ee.rb
|
|
579
465
|
- lib/async/matrix/endpoint.rb
|
|
580
466
|
- lib/async/matrix/error.rb
|
|
467
|
+
- lib/async/matrix/error_response.rb
|
|
468
|
+
- lib/async/matrix/event.rb
|
|
469
|
+
- lib/async/matrix/homeserver_error.rb
|
|
470
|
+
- lib/async/matrix/invalid_endpoint_error.rb
|
|
581
471
|
- lib/async/matrix/media_client.rb
|
|
472
|
+
- lib/async/matrix/not_found_error.rb
|
|
582
473
|
- lib/async/matrix/notifier.rb
|
|
474
|
+
- lib/async/matrix/response_too_large_error.rb
|
|
583
475
|
- lib/async/matrix/schema.rb
|
|
584
476
|
- lib/async/matrix/schema/registry.rb
|
|
585
477
|
- lib/async/matrix/schema/validation_error.rb
|