- opencode-rails.gemspec (Ruby >= 3.2, MIT)
- runtime: opencode-ruby ~> 0.0.1.alpha1
- runtime: activerecord/activestorage/activesupport >= 7.1, < 9.0
Per-sublibrary deps (not the rails umbrella) so host apps don't
pull in ActionMailer/ActionCable/ActionView just to use this gem.
- lib/opencode-rails.rb (umbrella; requires opencode-ruby then leaves
then session/turn)
- lib/opencode/rails/version.rb (Opencode::Rails::VERSION = 0.0.1.alpha1)
- Gemfile (sibling-path pull of opencode-ruby for local dev)
- Rakefile, .gitignore
Source files will be ported in the next commit.
38 lines
1.2 KiB
Ruby
38 lines
1.2 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
# opencode-rails — Production Rails integration for OpenCode.
|
|
#
|
|
# Loads the wire-level primitives from opencode-ruby, then layers on the
|
|
# AR-coupled session/turn/artifact stack. Caller-facing namespace stays
|
|
# flat at `Opencode::*` (no `Opencode::Rails::Session` etc.) so this gem
|
|
# can drop into any app that already uses opencode-ruby with zero
|
|
# rename work.
|
|
|
|
require "opencode-ruby"
|
|
|
|
require "active_support/core_ext/object/blank"
|
|
require "active_support/core_ext/object/try"
|
|
require "active_support/core_ext/hash/keys"
|
|
require "active_support/core_ext/string/inflections"
|
|
|
|
require_relative "opencode/rails/version"
|
|
require_relative "opencode/error_reporter"
|
|
|
|
# Tier 4 leaves (no deps on other rails-gem files)
|
|
require_relative "opencode/sandbox_file"
|
|
require_relative "opencode/sandbox"
|
|
require_relative "opencode/transform"
|
|
require_relative "opencode/impostor"
|
|
require_relative "opencode/artifact"
|
|
require_relative "opencode/message_artifacts"
|
|
require_relative "opencode/uploaded_files_prompt"
|
|
require_relative "opencode/tool_display"
|
|
require_relative "opencode/exchange"
|
|
|
|
# Tier 3 (depend on the leaves above)
|
|
require_relative "opencode/session"
|
|
require_relative "opencode/turn"
|
|
|
|
module Opencode
|
|
end
|