Initial commit: Add logistics and order_detail message types
Some checks failed
Lock Threads / action (push) Has been cancelled
Mark stale issues and pull requests / stale (push) Has been cancelled
Publish Chatwoot EE docker images / build (linux/amd64, ubuntu-latest) (push) Has been cancelled
Publish Chatwoot EE docker images / build (linux/arm64, ubuntu-22.04-arm) (push) Has been cancelled
Publish Chatwoot EE docker images / merge (push) Has been cancelled
Publish Chatwoot CE docker images / build (linux/amd64, ubuntu-latest) (push) Has been cancelled
Publish Chatwoot CE docker images / build (linux/arm64, ubuntu-22.04-arm) (push) Has been cancelled
Publish Chatwoot CE docker images / merge (push) Has been cancelled
Run Chatwoot CE spec / lint-backend (push) Has been cancelled
Run Chatwoot CE spec / lint-frontend (push) Has been cancelled
Run Chatwoot CE spec / frontend-tests (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (0, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (1, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (10, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (11, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (12, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (13, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (14, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (15, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (2, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (3, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (4, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (5, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (6, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (7, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (8, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (9, 16) (push) Has been cancelled
Run Linux nightly installer / nightly (push) Has been cancelled

- Add Logistics component with progress tracking
- Add OrderDetail component for order information
- Support data-driven steps and actions
- Add blue color scale to widget SCSS
- Fix node overflow and progress bar rendering issues
- Add English translations for dashboard components

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
Liang XJ
2026-01-26 11:16:56 +08:00
commit 092fb2e083
7646 changed files with 975643 additions and 0 deletions

View File

@@ -0,0 +1,7 @@
FactoryBot.define do
factory :captain_assistant, class: 'Captain::Assistant' do
sequence(:name) { |n| "Assistant #{n}" }
description { 'Test description' }
association :account
end
end

View File

@@ -0,0 +1,13 @@
FactoryBot.define do
factory :captain_assistant_response, class: 'Captain::AssistantResponse' do
association :assistant, factory: :captain_assistant
association :account
sequence(:question) { |n| "Test question #{n}?" }
sequence(:answer) { |n| "Test answer #{n}" }
embedding { Array.new(1536) { rand(-1.0..1.0) } }
trait :with_document do
association :document, factory: :captain_document
end
end
end

View File

@@ -0,0 +1,8 @@
FactoryBot.define do
factory :captain_copilot_message, class: 'CopilotMessage' do
account
copilot_thread { association :captain_copilot_thread }
message { { content: 'This is a test message' } }
message_type { 0 }
end
end

View File

@@ -0,0 +1,8 @@
FactoryBot.define do
factory :captain_copilot_thread, class: 'CopilotThread' do
account
user
title { Faker::Lorem.sentence }
assistant { create(:captain_assistant, account: account) }
end
end

View File

@@ -0,0 +1,51 @@
FactoryBot.define do
factory :captain_custom_tool, class: 'Captain::CustomTool' do
sequence(:title) { |n| "Custom Tool #{n}" }
description { 'A custom HTTP tool for external API integration' }
endpoint_url { 'https://api.example.com/endpoint' }
http_method { 'GET' }
auth_type { 'none' }
auth_config { {} }
param_schema { [] }
enabled { true }
association :account
trait :with_post do
http_method { 'POST' }
request_template { '{ "key": "{{ value }}" }' }
end
trait :with_bearer_auth do
auth_type { 'bearer' }
auth_config { { token: 'test_bearer_token_123' } }
end
trait :with_basic_auth do
auth_type { 'basic' }
auth_config { { username: 'test_user', password: 'test_pass' } }
end
trait :with_api_key do
auth_type { 'api_key' }
auth_config { { key: 'test_api_key', location: 'header', name: 'X-API-Key' } }
end
trait :with_templates do
request_template { '{ "order_id": "{{ order_id }}", "source": "chatwoot" }' }
response_template { 'Order status: {{ response.status }}' }
end
trait :with_params do
param_schema do
[
{ 'name' => 'order_id', 'type' => 'string', 'description' => 'The order ID', 'required' => true },
{ 'name' => 'include_details', 'type' => 'boolean', 'description' => 'Include order details', 'required' => false }
]
end
end
trait :disabled do
enabled { false }
end
end
end

View File

@@ -0,0 +1,9 @@
FactoryBot.define do
factory :captain_document, class: 'Captain::Document' do
name { Faker::File.file_name }
external_link { Faker::Internet.unique.url }
content { Faker::Lorem.paragraphs.join("\n\n") }
association :assistant, factory: :captain_assistant
association :account
end
end

View File

@@ -0,0 +1,6 @@
FactoryBot.define do
factory :captain_inbox, class: 'CaptainInbox' do
association :captain_assistant, factory: :captain_assistant
association :inbox
end
end

View File

@@ -0,0 +1,11 @@
FactoryBot.define do
factory :captain_scenario, class: 'Captain::Scenario' do
sequence(:title) { |n| "Scenario #{n}" }
description { 'Test scenario description' }
instruction { 'Test scenario instruction for the assistant to follow' }
tools { [] }
enabled { true }
association :assistant, factory: :captain_assistant
association :account
end
end