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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d92f0c660a85df76af61a45c752964c63ae5b052012542414c26f8a6ff93c734
4
- data.tar.gz: 5f6f2f6ef2cf3875205b92edff9d0ea5118ff3f6c86e68148a4d50993174d73e
3
+ metadata.gz: 33a7bf5c6f70614bacde747c7fe5d4d1fb539d77f5a9e17476f67c0df017b198
4
+ data.tar.gz: 87d7ea6b0de2e0af28e0bdbc3734c5dec2226f5636894b4ea3049792d0bf893a
5
5
  SHA512:
6
- metadata.gz: 811e4fa67e7026b4e27f59c427f35c2f14f32a1604bfaa44e31c8f38387bce78016d663e58c610534d8a949d412a33bb92006e1050834bbf728eb1702ed57f95
7
- data.tar.gz: 88e0e6087687685ba38fecdcf9ddba1885bf48ef44a9e2f46a56390ac4642ee0c6f70d59337fe98e3e3fd18f314fc352cb1f4c5ee249134f78a7d60e68b43267
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Relay
4
- VERSION = "0.2.0"
4
+ VERSION = "0.4.0"
5
5
  end
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
- exec "falcon", "serve", "--bind", bind
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.2.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