envoy_ai 0.0.1 → 0.0.3

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.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +181 -2
  3. data/app/assets/stylesheets/envoy/chat.css +236 -0
  4. data/app/assets/stylesheets/envoy/console.css +50 -176
  5. data/app/controllers/envoy/conversations_controller.rb +1 -4
  6. data/app/controllers/envoy/panels_controller.rb +30 -0
  7. data/app/javascript/envoy/controllers/autoscroll_controller.js +26 -32
  8. data/app/jobs/envoy/run_job.rb +25 -4
  9. data/app/models/envoy/conversation.rb +33 -6
  10. data/app/views/envoy/conversations/_composer_input.html.erb +1 -1
  11. data/app/views/envoy/conversations/index.html.erb +0 -2
  12. data/app/views/envoy/conversations/new.html.erb +1 -7
  13. data/app/views/envoy/conversations/show.html.erb +1 -17
  14. data/app/views/envoy/messages/_error.html.erb +6 -0
  15. data/app/views/envoy/messages/_streaming.html.erb +1 -1
  16. data/app/views/envoy/messages/create.turbo_stream.erb +5 -5
  17. data/app/views/envoy/panels/_panel.html.erb +3 -0
  18. data/app/views/envoy/panels/_transcript.html.erb +21 -0
  19. data/config/routes.rb +1 -1
  20. data/db/migrate/20260716000001_drop_envoy_system_prompts.rb +12 -0
  21. data/db/migrate/20260716000002_add_surface_to_envoy_conversations.rb +15 -0
  22. data/lib/envoy/engine.rb +6 -0
  23. data/lib/envoy/errors.rb +4 -0
  24. data/lib/envoy/guard.rb +13 -1
  25. data/lib/envoy/library.rb +82 -0
  26. data/lib/envoy/llm.rb +1 -1
  27. data/lib/envoy/page_surface.rb +34 -0
  28. data/lib/envoy/prompt.rb +55 -0
  29. data/lib/envoy/runner.rb +17 -3
  30. data/lib/envoy/surface.rb +90 -0
  31. data/lib/envoy/tool_definition.rb +12 -2
  32. data/lib/envoy/version.rb +1 -1
  33. data/lib/envoy.rb +59 -0
  34. metadata +12 -12
  35. data/app/controllers/envoy/system_prompts_controller.rb +0 -52
  36. data/app/models/envoy/system_prompt.rb +0 -24
  37. data/app/models/envoy/system_prompt_version.rb +0 -14
  38. data/app/views/envoy/system_prompts/_form.html.erb +0 -14
  39. data/app/views/envoy/system_prompts/edit.html.erb +0 -2
  40. data/app/views/envoy/system_prompts/index.html.erb +0 -14
  41. data/app/views/envoy/system_prompts/new.html.erb +0 -2
  42. data/app/views/envoy/system_prompts/show.html.erb +0 -15
  43. data/db/migrate/20260711000001_create_envoy_system_prompts.rb +0 -10
  44. data/db/migrate/20260711000002_create_envoy_system_prompt_versions.rb +0 -13
  45. data/db/migrate/20260711000003_add_system_prompt_version_to_envoy_conversations.rb +0 -6
@@ -1,15 +0,0 @@
1
- <div class="envoy-header-row envoy-mb-3">
2
- <h1 class="envoy-title"><%= @system_prompt.name %></h1>
3
- <%= link_to "Edit", edit_system_prompt_path(@system_prompt), class: "envoy-btn" %>
4
- </div>
5
- <% if @system_prompt.description.present? %>
6
- <p class="envoy-muted envoy-mb-3"><%= @system_prompt.description %></p>
7
- <% end %>
8
- <pre class="envoy-prose-box envoy-mb-4"><%= @system_prompt.current_body %></pre>
9
- <h2 class="envoy-subtitle">Versions</h2>
10
- <ul class="envoy-list">
11
- <% @system_prompt.versions.order(version_number: :desc).each do |v| %>
12
- <li class="envoy-list__item envoy-muted">v<%= v.version_number %> · <%= v.created_at.strftime("%Y-%m-%d %H:%M") %></li>
13
- <% end %>
14
- </ul>
15
- <div class="envoy-mt-4"><%= link_to "← System prompts", system_prompts_path, class: "envoy-link" %></div>
@@ -1,10 +0,0 @@
1
- class CreateEnvoySystemPrompts < ActiveRecord::Migration[8.1]
2
- def change
3
- create_table :envoy_system_prompts do |t|
4
- t.string :name, null: false
5
- t.text :description
6
- t.timestamps
7
- end
8
- add_index :envoy_system_prompts, :name, unique: true
9
- end
10
- end
@@ -1,13 +0,0 @@
1
- class CreateEnvoySystemPromptVersions < ActiveRecord::Migration[8.1]
2
- def change
3
- create_table :envoy_system_prompt_versions do |t|
4
- t.references :system_prompt, null: false, index: true,
5
- foreign_key: { to_table: :envoy_system_prompts }
6
- t.integer :version_number, null: false
7
- t.text :body, null: false
8
- t.timestamps
9
- end
10
- add_index :envoy_system_prompt_versions, %i[system_prompt_id version_number],
11
- unique: true, name: "index_envoy_prompt_versions_on_prompt_and_number"
12
- end
13
- end
@@ -1,6 +0,0 @@
1
- class AddSystemPromptVersionToEnvoyConversations < ActiveRecord::Migration[8.1]
2
- def change
3
- add_reference :envoy_conversations, :system_prompt_version, null: true, index: true,
4
- foreign_key: { to_table: :envoy_system_prompt_versions }
5
- end
6
- end