relay.app 0.2.0 → 0.4.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/CHANGELOG.md +27 -0
- data/app/init.rb +50 -0
- data/db/config.yml +17 -0
- data/lib/relay/version.rb +1 -1
- data/lib/relay.rb +1 -1
- data/libexec/relay/start +3 -1
- metadata +3 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 33a7bf5c6f70614bacde747c7fe5d4d1fb539d77f5a9e17476f67c0df017b198
|
|
4
|
+
data.tar.gz: 87d7ea6b0de2e0af28e0bdbc3734c5dec2226f5636894b4ea3049792d0bf893a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c5d822268bd771cea1a39b1b616878079296760a099be3ff8080f0a99789be16a83f2624cdce93e93b319c4e63595b7f0d493cf6fd327a2ae9c0ea32f8e96aa5
|
|
7
|
+
data.tar.gz: d4950efa3d6144de01419c2549161ecd130f056e0e5d41ed207da959913df44f32a664bf699a70ae930b136cb68b70f3e90af6523ccd9c62fe2f6a24b8522246
|
data/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,33 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
## v0.4.0
|
|
6
|
+
|
|
7
|
+
Gem startup and setup reliability release.
|
|
8
|
+
|
|
9
|
+
### Fix
|
|
10
|
+
|
|
11
|
+
* **Start Falcon from the bundled app root** <br>
|
|
12
|
+
Change `relay start` to run from `Relay.root` so Falcon resolves the
|
|
13
|
+
gem's bundled `config.ru` instead of looking in the user's current
|
|
14
|
+
working directory.
|
|
15
|
+
|
|
16
|
+
* **Ship `db/config.yml` in the packaged gem** <br>
|
|
17
|
+
Include the database config file in `spec.files` so `relay setup` and
|
|
18
|
+
other boot paths can initialize Sequel successfully after gem
|
|
19
|
+
installation.
|
|
20
|
+
|
|
21
|
+
## v0.3.0
|
|
22
|
+
|
|
23
|
+
Gem packaging reliability release.
|
|
24
|
+
|
|
25
|
+
### Fix
|
|
26
|
+
|
|
27
|
+
* **Ship `app/init.rb` in the packaged gem** <br>
|
|
28
|
+
Include the top-level app boot file in `spec.files` so `relay bootstrap`
|
|
29
|
+
and other libexec commands can require `app/init` successfully after gem
|
|
30
|
+
installation.
|
|
31
|
+
|
|
5
32
|
## v0.2.0
|
|
6
33
|
|
|
7
34
|
Gem packaging and installation release.
|
data/app/init.rb
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Relay
|
|
4
|
+
require "async"
|
|
5
|
+
require "async/websocket"
|
|
6
|
+
require "async/websocket/adapters/rack"
|
|
7
|
+
require "llm"
|
|
8
|
+
require "roda"
|
|
9
|
+
require "bcrypt"
|
|
10
|
+
require "test-cmd"
|
|
11
|
+
require "erb"
|
|
12
|
+
require "zeitwerk"
|
|
13
|
+
require "sequel"
|
|
14
|
+
require "yaml"
|
|
15
|
+
require "relay"
|
|
16
|
+
|
|
17
|
+
loader = Zeitwerk::Loader.new
|
|
18
|
+
loader.inflector.inflect(
|
|
19
|
+
"github" => "GitHub",
|
|
20
|
+
"list_mcp" => "ListMCP",
|
|
21
|
+
"mcp" => "MCP"
|
|
22
|
+
)
|
|
23
|
+
loader.ignore(
|
|
24
|
+
File.join(__dir__, "init.rb"),
|
|
25
|
+
File.join(__dir__, "init")
|
|
26
|
+
)
|
|
27
|
+
loader.push_dir(__dir__, namespace: self)
|
|
28
|
+
|
|
29
|
+
loader.enable_reloading if development?
|
|
30
|
+
loader.setup
|
|
31
|
+
|
|
32
|
+
##
|
|
33
|
+
# Returns the Zeitwerk loader used for application autoloading
|
|
34
|
+
# @return [Zeitwerk::Loader]
|
|
35
|
+
def self.loader
|
|
36
|
+
@loader
|
|
37
|
+
end
|
|
38
|
+
@loader = loader
|
|
39
|
+
|
|
40
|
+
FileUtils.mkdir_p Relay.home
|
|
41
|
+
FileUtils.mkdir_p File.join(Relay.home, "db")
|
|
42
|
+
FileUtils.mkdir_p Relay.images_dir
|
|
43
|
+
FileUtils.mkdir_p Relay.logs_dir
|
|
44
|
+
|
|
45
|
+
require_relative "init/env"
|
|
46
|
+
require_relative "init/database"
|
|
47
|
+
require_relative "init/router"
|
|
48
|
+
|
|
49
|
+
Relay.reload
|
|
50
|
+
end
|
data/db/config.yml
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
development:
|
|
2
|
+
adapter: sqlite3
|
|
3
|
+
database: db/development.sqlite3
|
|
4
|
+
pool: 5
|
|
5
|
+
timeout: 5000
|
|
6
|
+
|
|
7
|
+
test:
|
|
8
|
+
adapter: sqlite3
|
|
9
|
+
database: db/test.sqlite3
|
|
10
|
+
pool: 5
|
|
11
|
+
timeout: 5000
|
|
12
|
+
|
|
13
|
+
production:
|
|
14
|
+
adapter: sqlite3
|
|
15
|
+
database: db/production.sqlite3
|
|
16
|
+
pool: 5
|
|
17
|
+
timeout: 5000
|
data/lib/relay/version.rb
CHANGED
data/lib/relay.rb
CHANGED
|
@@ -169,7 +169,7 @@ module Relay
|
|
|
169
169
|
# @return [Array<String>]
|
|
170
170
|
def self.reload
|
|
171
171
|
LLM::Tool.clear_registry!
|
|
172
|
-
Relay.loader.reload
|
|
172
|
+
Relay.loader.reload if development?
|
|
173
173
|
paths = Dir[File.join(tools_dir, "*.rb")]
|
|
174
174
|
paths.concat Dir[File.join(home, "tools", "*.rb")]
|
|
175
175
|
paths.sort.each do
|
data/libexec/relay/start
CHANGED
|
@@ -21,7 +21,9 @@ def main(argv)
|
|
|
21
21
|
bind = String.new(DEFAULT_BIND)
|
|
22
22
|
option_parser(bind).parse!(argv)
|
|
23
23
|
bind = argv.shift || bind
|
|
24
|
-
|
|
24
|
+
Dir.chdir(Relay.root) do
|
|
25
|
+
exec "falcon", "serve", "--bind", bind
|
|
26
|
+
end
|
|
25
27
|
end
|
|
26
28
|
|
|
27
29
|
excode = catch(:exit) {
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: relay.app
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.4.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Antar Azri
|
|
@@ -326,6 +326,7 @@ files:
|
|
|
326
326
|
- app/forms/mcp/forgejo.rb
|
|
327
327
|
- app/forms/mcp/github.rb
|
|
328
328
|
- app/hooks/require_user.rb
|
|
329
|
+
- app/init.rb
|
|
329
330
|
- app/init/database.rb
|
|
330
331
|
- app/init/env.rb
|
|
331
332
|
- app/init/router.rb
|
|
@@ -409,6 +410,7 @@ files:
|
|
|
409
410
|
- app/views/partials/_sidebar.erb
|
|
410
411
|
- bin/relay
|
|
411
412
|
- config.ru
|
|
413
|
+
- db/config.yml
|
|
412
414
|
- db/migrate/20260319131927_create_users.rb
|
|
413
415
|
- db/migrate/20260327000000_create_contexts.rb
|
|
414
416
|
- db/migrate/20260426130000_create_mcps.rb
|