meta_workflows 0.8.22 → 0.8.23
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/app/views/meta_workflows/_lexi_chat_alpha_tray.html.erb +23 -23
- data/app/views/meta_workflows/_lexi_chat_right_tray.html.erb +4 -4
- data/app/views/meta_workflows/_response_form_lexi.html.erb +9 -6
- data/app/views/meta_workflows/_response_lexi.html.erb +8 -18
- data/lib/meta_workflows/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 697e8ea4740e9d9ed45cbe5f58988a7f2c60cf03cf9058b93393249377b08c5b
|
4
|
+
data.tar.gz: 4f19538406ed8c0b59bb8f81d1e3450a39d6249dfd88076c266c073e0fcb9b3e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d0feb63918822516e031947c8039f62b0b922de7ac1160c56e6296e9c9cf6a99de4375dccb5086ccd232a38c456c4cbad706b0661f27aa16caf8ffd296b68e54
|
7
|
+
data.tar.gz: f5c3df2d296acd2b3a8bbc8a084aaaf1eccdc0488a8ba8824efd34b0a9f5680b9237642b4666734220ac9bf4068b27a8ef1388eccaaed42c3b63759afbe3e19e
|
@@ -1,38 +1,38 @@
|
|
1
1
|
<%# Lexi Chat Alpha Tray (Center Display) %>
|
2
|
-
<div class="relative flex flex-col
|
3
|
-
<%# Header with Lexi logo and action icons %>
|
4
|
-
<div class="flex-shrink-0 flex items-center justify-between
|
5
|
-
<div class="flex items-center space-x-
|
6
|
-
<%= image_tag("lexi_logo_color.png", alt: "Lexi Logo", class: "h-
|
7
|
-
<h2 class="text-lg font-semibold text-gray-900">Lexi Assistant</h2>
|
2
|
+
<div class="relative flex flex-col h-[95vh] bg-white px-4">
|
3
|
+
<%# Header with Lexi logo and action icons - spans full width %>
|
4
|
+
<div class="flex-shrink-0 flex items-center justify-between pb-2 border-b border-gray-200">
|
5
|
+
<div class="flex items-center space-x-2">
|
6
|
+
<%= image_tag("lexi_logo_color.png", alt: "Lexi Logo", class: "h-14 w-auto") %>
|
8
7
|
</div>
|
9
8
|
<div class="flex items-center gap-2">
|
10
9
|
<button type="button" class="p-2 rounded-xl hover:bg-gray-100" aria-label="New Chat" disabled>
|
11
|
-
<i class="fa-solid fa-plus text-
|
10
|
+
<i class="fa-solid fa-plus text-xl"></i>
|
12
11
|
</button>
|
13
12
|
<button type="button" class="p-2 rounded-xl hover:bg-gray-100" aria-label="Chat History" disabled>
|
14
|
-
<i class="fa-solid fa-clock-rotate-left text-
|
13
|
+
<i class="fa-solid fa-clock-rotate-left text-xl"></i>
|
15
14
|
</button>
|
16
15
|
</div>
|
17
16
|
</div>
|
18
17
|
|
19
|
-
|
20
|
-
<div class="flex-1
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
18
|
+
<!-- Content area with chat and Lexi side by side -->
|
19
|
+
<div class="flex-1 flex min-h-0">
|
20
|
+
<!-- Lexi auto-width side column -->
|
21
|
+
<div class="flex-shrink-0 flex flex-col justify-end pb-4">
|
22
|
+
<%= image_tag("lexi-expanded.png", alt: "Lexi Avatar", class: "h-[375px] w-auto") %>
|
23
|
+
</div>
|
24
|
+
|
25
|
+
<!-- Main content area (chat + input) -->
|
26
|
+
<div class="flex-1 flex flex-col min-h-0">
|
27
|
+
<%# Chat messages area %>
|
28
|
+
<div class="flex-1 overflow-y-auto py-4 space-y-4 min-h-0">
|
29
|
+
<%= render partial: meta_loader, locals: {record: local_assigns[:record], step_progress: ["Generating draft course objectives...", "Talking to the LLM..."] } %>
|
30
30
|
</div>
|
31
|
-
|
32
|
-
|
33
|
-
<div class="flex-
|
31
|
+
|
32
|
+
<%# Input area %>
|
33
|
+
<div class="flex-shrink-0 pt-4 pb-10">
|
34
34
|
<!-- Recording notice -->
|
35
|
-
<p class="text-xs text-purple-
|
35
|
+
<p class="text-left text-xs text-purple-800 mb-2">This chat is being recorded.</p>
|
36
36
|
|
37
37
|
<!-- Input form -->
|
38
38
|
<div class="w-full">
|
@@ -21,11 +21,11 @@
|
|
21
21
|
</div>
|
22
22
|
|
23
23
|
<%# Lexi avatar and input area pinned to bottom %>
|
24
|
-
<div class="
|
24
|
+
<div class="relative bg-white h-[335px]">
|
25
25
|
<!-- Bottom section with recording notice and input area -->
|
26
26
|
<div class="absolute bottom-15 left-0 right-0 flex flex-col space-y-2 z-10">
|
27
27
|
<!-- Recording notice -->
|
28
|
-
<p class="text-
|
28
|
+
<p class="text-right text-xs text-purple-800 pr-4">This chat is being recorded.</p>
|
29
29
|
|
30
30
|
<!-- Input area -->
|
31
31
|
<div class="w-full">
|
@@ -34,7 +34,7 @@
|
|
34
34
|
</div>
|
35
35
|
</div>
|
36
36
|
|
37
|
-
<!-- Lexi image positioned absolutely to the
|
38
|
-
<%= image_tag("lexi-expanded.png", alt: "Lexi Avatar", class: "absolute bottom-10
|
37
|
+
<!-- Lexi image positioned absolutely to the left -->
|
38
|
+
<%= image_tag("lexi-expanded.png", alt: "Lexi Avatar", class: "absolute bottom-10 left-0 h-[300px] w-auto pointer-events-none") %>
|
39
39
|
</div>
|
40
40
|
</div>
|
@@ -8,7 +8,7 @@
|
|
8
8
|
<div class="flex flex-col max-h-[200px] border border-gray-300 rounded-lg bg-white/80 p-2">
|
9
9
|
<!-- Input area with icons -->
|
10
10
|
<div class="flex-1 relative">
|
11
|
-
<%= form.text_area :message, rows: 1, placeholder: random_chat_placeholder, disabled: local_assigns[:responding] || !local_assigns[:response_enabled], class: "w-full min-h-[
|
11
|
+
<%= form.text_area :message, rows: 1, placeholder: random_chat_placeholder, disabled: local_assigns[:responding] || !local_assigns[:response_enabled], class: "w-full min-h-[35px] border-0 resize-none focus:outline-none focus:ring-0 bg-transparent text-base overflow-y-auto" %>
|
12
12
|
</div>
|
13
13
|
|
14
14
|
<div class="flex justify-between">
|
@@ -30,7 +30,7 @@
|
|
30
30
|
<i class="fa-solid fa-arrow-up text-lg"></i>
|
31
31
|
</button>
|
32
32
|
<% else %>
|
33
|
-
<%= form.button type: "submit", class: "w-12 h-12 rounded-full flex items-center justify-center
|
33
|
+
<%= form.button type: "submit", class: "w-12 h-12 rounded-full flex items-center justify-center sm-btn sm-btn-primary" do %>
|
34
34
|
<i class="fa-solid fa-arrow-up text-lg"></i>
|
35
35
|
<% end %>
|
36
36
|
<% end %>
|
@@ -38,13 +38,16 @@
|
|
38
38
|
</div>
|
39
39
|
</div>
|
40
40
|
|
41
|
-
|
42
|
-
|
41
|
+
<div class="flex justify-end">
|
42
|
+
<% if local_assigns[:step_has_repetitions] %>
|
43
|
+
<!-- Empty placeholder to prevent layout jank -->
|
44
|
+
<div class="text-xs mb-2 h-4" aria-hidden="true"></div>
|
45
|
+
<% else %>
|
43
46
|
<%= form.button type: "submit", name: "advance", value: "true", class: "text-xs mb-2 #{local_assigns[:responding] ? 'opacity-50 cursor-not-allowed' : ''}", disabled: local_assigns[:responding] do %>
|
44
47
|
<i class="fa-light fa-arrow-right"></i> Next
|
45
48
|
<% end %>
|
46
|
-
|
47
|
-
|
49
|
+
<% end %>
|
50
|
+
</div>
|
48
51
|
</div>
|
49
52
|
</fieldset>
|
50
53
|
<% end %>
|
@@ -11,7 +11,7 @@
|
|
11
11
|
<% if message.role == 'user' %>
|
12
12
|
<!-- User message bubble (right-aligned, amber background) -->
|
13
13
|
<div class="flex justify-end">
|
14
|
-
<div class="max-w-[80%] bg-amber-100 rounded-xl px-
|
14
|
+
<div class="max-w-[80%] bg-amber-100 rounded-xl px-6 py-3">
|
15
15
|
<div class="text-sm">
|
16
16
|
<%= simple_format(message.content) %>
|
17
17
|
</div>
|
@@ -19,16 +19,11 @@
|
|
19
19
|
</div>
|
20
20
|
|
21
21
|
<% elsif message.role == 'assistant' %>
|
22
|
-
<!-- Lexi message bubble (left-aligned
|
23
|
-
<div class="flex
|
24
|
-
<!-- Lexi Avatar -->
|
25
|
-
<div class="flex-shrink-0">
|
26
|
-
<%= image_tag 'lexi-chaticon.png', alt: 'Lexi', class: 'w-auto h-10' %>
|
27
|
-
</div>
|
28
|
-
|
22
|
+
<!-- Lexi message bubble (left-aligned) -->
|
23
|
+
<div class="flex justify-start">
|
29
24
|
<!-- Message Bubble -->
|
30
|
-
<div class="max-w-[80%] bg-slate-100 rounded-xl px-
|
31
|
-
<div class="prose prose-sm max-w-none
|
25
|
+
<div class="max-w-[80%] bg-slate-100 rounded-xl px-6 py-3">
|
26
|
+
<div class="prose prose-sm max-w-none">
|
32
27
|
<%= markdown(message.content) %>
|
33
28
|
</div>
|
34
29
|
</div>
|
@@ -38,15 +33,10 @@
|
|
38
33
|
|
39
34
|
<!-- Show streaming response -->
|
40
35
|
<% if is_streaming %>
|
41
|
-
<div class="flex
|
42
|
-
<!-- Lexi Avatar -->
|
43
|
-
<div class="flex-shrink-0">
|
44
|
-
<%= image_tag 'lexi-chaticon.png', alt: 'Lexi', class: 'w-auto h-10' %>
|
45
|
-
</div>
|
46
|
-
|
36
|
+
<div class="flex justify-start">
|
47
37
|
<!-- Streaming Message Bubble -->
|
48
|
-
<div class="max-w-[80%] bg-slate-100 rounded-xl px-
|
49
|
-
<div class="prose prose-sm max-w-none
|
38
|
+
<div class="max-w-[80%] bg-slate-100 rounded-xl px-6 py-3">
|
39
|
+
<div class="prose prose-sm max-w-none">
|
50
40
|
<%= markdown(full_response) %>
|
51
41
|
</div>
|
52
42
|
</div>
|
@@ -3,7 +3,7 @@
|
|
3
3
|
module MetaWorkflows
|
4
4
|
MAJOR = 0
|
5
5
|
MINOR = 8
|
6
|
-
PATCH =
|
6
|
+
PATCH = 23 # this is automatically incremented by the build process
|
7
7
|
|
8
8
|
VERSION = "#{MetaWorkflows::MAJOR}.#{MetaWorkflows::MINOR}.#{MetaWorkflows::PATCH}".freeze
|
9
9
|
end
|