async-matrix 2.0.1 → 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/ext/async_matrix_e2ee/src/lib.rs +43 -2
- 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/e2ee.rb +37 -0
- 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 +28 -122
- 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.
|
|
75
|
-
type: :runtime
|
|
76
|
-
prerelease: false
|
|
77
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
78
|
-
requirements:
|
|
79
|
-
- - "~>"
|
|
80
|
-
- !ruby/object:Gem::Version
|
|
81
|
-
version: '2.0'
|
|
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'
|
|
46
|
+
version: '2.5'
|
|
89
47
|
type: :runtime
|
|
90
48
|
prerelease: false
|
|
91
49
|
version_requirements: !ruby/object:Gem::Requirement
|
|
92
50
|
requirements:
|
|
93
51
|
- - "~>"
|
|
94
52
|
- !ruby/object:Gem::Version
|
|
95
|
-
version: '5
|
|
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
|
|
@@ -164,35 +108,36 @@ dependencies:
|
|
|
164
108
|
- !ruby/object:Gem::Version
|
|
165
109
|
version: '0'
|
|
166
110
|
- !ruby/object:Gem::Dependency
|
|
167
|
-
name:
|
|
111
|
+
name: rake-compiler
|
|
168
112
|
requirement: !ruby/object:Gem::Requirement
|
|
169
113
|
requirements:
|
|
170
|
-
- - "
|
|
114
|
+
- - "~>"
|
|
171
115
|
- !ruby/object:Gem::Version
|
|
172
|
-
version: '
|
|
116
|
+
version: '1.3'
|
|
173
117
|
type: :development
|
|
174
118
|
prerelease: false
|
|
175
119
|
version_requirements: !ruby/object:Gem::Requirement
|
|
176
120
|
requirements:
|
|
177
|
-
- - "
|
|
121
|
+
- - "~>"
|
|
178
122
|
- !ruby/object:Gem::Version
|
|
179
|
-
version: '
|
|
123
|
+
version: '1.3'
|
|
180
124
|
- !ruby/object:Gem::Dependency
|
|
181
|
-
name:
|
|
125
|
+
name: lefthook
|
|
182
126
|
requirement: !ruby/object:Gem::Requirement
|
|
183
127
|
requirements:
|
|
184
128
|
- - "~>"
|
|
185
129
|
- !ruby/object:Gem::Version
|
|
186
|
-
version: '
|
|
130
|
+
version: '2.2'
|
|
187
131
|
type: :development
|
|
188
132
|
prerelease: false
|
|
189
133
|
version_requirements: !ruby/object:Gem::Requirement
|
|
190
134
|
requirements:
|
|
191
135
|
- - "~>"
|
|
192
136
|
- !ruby/object:Gem::Version
|
|
193
|
-
version: '
|
|
137
|
+
version: '2.2'
|
|
194
138
|
description: Async-native Matrix protocol primitives built on the Socketry async ecosystem.
|
|
195
|
-
Provides
|
|
139
|
+
Provides a Client-Server API client, schema-validated events, media and end-to-end
|
|
140
|
+
encryption.
|
|
196
141
|
email:
|
|
197
142
|
- nathankidd@hey.com
|
|
198
143
|
executables: []
|
|
@@ -503,69 +448,30 @@ files:
|
|
|
503
448
|
- ext/async_matrix_e2ee/Cargo.toml
|
|
504
449
|
- ext/async_matrix_e2ee/extconf.rb
|
|
505
450
|
- ext/async_matrix_e2ee/src/lib.rs
|
|
506
|
-
- lib/async/discord.rb
|
|
507
|
-
- lib/async/discord/api.rb
|
|
508
|
-
- lib/async/discord/api/path_tree.rb
|
|
509
|
-
- lib/async/discord/client.rb
|
|
510
|
-
- lib/async/discord/error.rb
|
|
511
|
-
- lib/async/discord/gateway.rb
|
|
512
451
|
- lib/async/matrix.rb
|
|
513
452
|
- lib/async/matrix/api.rb
|
|
514
453
|
- lib/async/matrix/api/chain.rb
|
|
515
454
|
- lib/async/matrix/api/concat.rb
|
|
516
455
|
- lib/async/matrix/api/path_tree.rb
|
|
517
|
-
- lib/async/matrix/
|
|
518
|
-
- lib/async/matrix/
|
|
519
|
-
- lib/async/matrix/application_service/config/schema/analytics.json
|
|
520
|
-
- lib/async/matrix/application_service/config/schema/appservice.json
|
|
521
|
-
- lib/async/matrix/application_service/config/schema/backfill.json
|
|
522
|
-
- lib/async/matrix/application_service/config/schema/bridge.json
|
|
523
|
-
- lib/async/matrix/application_service/config/schema/config.json
|
|
524
|
-
- lib/async/matrix/application_service/config/schema/database.json
|
|
525
|
-
- lib/async/matrix/application_service/config/schema/direct_media.json
|
|
526
|
-
- lib/async/matrix/application_service/config/schema/double_puppet.json
|
|
527
|
-
- lib/async/matrix/application_service/config/schema/encryption.json
|
|
528
|
-
- lib/async/matrix/application_service/config/schema/homeserver.json
|
|
529
|
-
- lib/async/matrix/application_service/config/schema/logging.json
|
|
530
|
-
- lib/async/matrix/application_service/config/schema/management_room_texts.json
|
|
531
|
-
- lib/async/matrix/application_service/config/schema/matrix.json
|
|
532
|
-
- lib/async/matrix/application_service/config/schema/permissions.json
|
|
533
|
-
- lib/async/matrix/application_service/config/schema/provisioning.json
|
|
534
|
-
- lib/async/matrix/application_service/config/schema/public_media.json
|
|
535
|
-
- lib/async/matrix/application_service/config/schema/relay.json
|
|
536
|
-
- lib/async/matrix/application_service/config/vivify.rb
|
|
537
|
-
- lib/async/matrix/application_service/dispatcher.rb
|
|
538
|
-
- lib/async/matrix/application_service/error_response.rb
|
|
539
|
-
- lib/async/matrix/application_service/event.rb
|
|
540
|
-
- lib/async/matrix/application_service/server.rb
|
|
541
|
-
- lib/async/matrix/application_service/transaction.rb
|
|
542
|
-
- lib/async/matrix/application_service/transaction_handler.rb
|
|
543
|
-
- lib/async/matrix/application_service/transaction_store.rb
|
|
544
|
-
- lib/async/matrix/bridge/discord/db.rb
|
|
545
|
-
- lib/async/matrix/bridge/discord/db/connection.rb
|
|
546
|
-
- lib/async/matrix/bridge/discord/db/file.rb
|
|
547
|
-
- lib/async/matrix/bridge/discord/db/guild.rb
|
|
548
|
-
- lib/async/matrix/bridge/discord/db/message.rb
|
|
549
|
-
- lib/async/matrix/bridge/discord/db/migrations/001_create_users.rb
|
|
550
|
-
- lib/async/matrix/bridge/discord/db/migrations/002_create_guilds.rb
|
|
551
|
-
- lib/async/matrix/bridge/discord/db/migrations/003_create_portals.rb
|
|
552
|
-
- lib/async/matrix/bridge/discord/db/migrations/004_create_puppets.rb
|
|
553
|
-
- lib/async/matrix/bridge/discord/db/migrations/005_create_messages.rb
|
|
554
|
-
- lib/async/matrix/bridge/discord/db/migrations/006_create_reactions.rb
|
|
555
|
-
- lib/async/matrix/bridge/discord/db/migrations/007_create_files.rb
|
|
556
|
-
- lib/async/matrix/bridge/discord/db/portal.rb
|
|
557
|
-
- lib/async/matrix/bridge/discord/db/puppet.rb
|
|
558
|
-
- lib/async/matrix/bridge/discord/db/reaction.rb
|
|
559
|
-
- lib/async/matrix/bridge/discord/db/schema.rb
|
|
560
|
-
- lib/async/matrix/bridge/discord/db/user.rb
|
|
456
|
+
- lib/async/matrix/auth_error.rb
|
|
457
|
+
- lib/async/matrix/bad_json_error.rb
|
|
561
458
|
- lib/async/matrix/client.rb
|
|
459
|
+
- lib/async/matrix/config.rb
|
|
460
|
+
- lib/async/matrix/config/vivify.rb
|
|
562
461
|
- lib/async/matrix/connection.rb
|
|
462
|
+
- lib/async/matrix/content.rb
|
|
563
463
|
- lib/async/matrix/double_puppet_client.rb
|
|
564
464
|
- lib/async/matrix/e2ee.rb
|
|
565
465
|
- lib/async/matrix/endpoint.rb
|
|
566
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
|
|
567
471
|
- lib/async/matrix/media_client.rb
|
|
472
|
+
- lib/async/matrix/not_found_error.rb
|
|
568
473
|
- lib/async/matrix/notifier.rb
|
|
474
|
+
- lib/async/matrix/response_too_large_error.rb
|
|
569
475
|
- lib/async/matrix/schema.rb
|
|
570
476
|
- lib/async/matrix/schema/registry.rb
|
|
571
477
|
- lib/async/matrix/schema/validation_error.rb
|