fix: new tool syntax

This commit is contained in:
Shivam Mishra
2025-07-16 17:09:38 +05:30
parent fe68542547
commit 87fee33039
2 changed files with 8 additions and 8 deletions
+1 -1
View File
@@ -59,7 +59,7 @@ class Captain::Scenario < ApplicationRecord
end
def resolved_instructions
instruction.gsub(%r{\(tool://(\w+)\)}) do |match|
instruction.gsub(TOOL_REFERENCE_REGEX) do |match|
"#{match} tool "
end
end
@@ -58,7 +58,7 @@ RSpec.describe Captain::Scenario, type: :model do
scenario = build(:captain_scenario,
assistant: assistant,
account: account,
instruction: 'Use (tool://add_contact_note) to document')
instruction: 'Use [@Add Contact Note](tool://add_contact_note) to document')
expect(scenario).to be_valid
end
@@ -67,7 +67,7 @@ RSpec.describe Captain::Scenario, type: :model do
scenario = build(:captain_scenario,
assistant: assistant,
account: account,
instruction: 'Use (tool://invalid_tool) to process')
instruction: 'Use [@Invalid Tool](tool://invalid_tool) to process')
expect(scenario).not_to be_valid
expect(scenario.errors[:instruction]).to include('contains invalid tools: invalid_tool')
@@ -77,7 +77,7 @@ RSpec.describe Captain::Scenario, type: :model do
scenario = build(:captain_scenario,
assistant: assistant,
account: account,
instruction: 'Use (tool://invalid_tool) and (tool://another_invalid)')
instruction: 'Use [@Invalid Tool](tool://invalid_tool) and [@Another Invalid](tool://another_invalid)')
expect(scenario).not_to be_valid
expect(scenario.errors[:instruction]).to include('contains invalid tools: invalid_tool, another_invalid')
@@ -109,7 +109,7 @@ RSpec.describe Captain::Scenario, type: :model do
scenario = create(:captain_scenario,
assistant: assistant,
account: account,
instruction: 'First (tool://add_contact_note) then (tool://update_priority)')
instruction: 'First [@Add Contact Note](tool://add_contact_note) then [@Update Priority](tool://update_priority)')
expect(scenario.tools).to eq(%w[add_contact_note update_priority])
end
@@ -127,7 +127,7 @@ RSpec.describe Captain::Scenario, type: :model do
scenario = create(:captain_scenario,
assistant: assistant,
account: account,
instruction: 'Use (tool://add_contact_note) and (tool://add_contact_note) again')
instruction: 'Use [@Add Contact Note](tool://add_contact_note) and [@Contact Note](tool://add_contact_note) again')
expect(scenario.tools).to eq(['add_contact_note'])
end
@@ -136,11 +136,11 @@ RSpec.describe Captain::Scenario, type: :model do
scenario = create(:captain_scenario,
assistant: assistant,
account: account,
instruction: 'Use (tool://add_contact_note)')
instruction: 'Use [@Add Contact Note](tool://add_contact_note)')
expect(scenario.tools).to eq(['add_contact_note'])
scenario.update!(instruction: 'Use (tool://update_priority) instead')
scenario.update!(instruction: 'Use [@Update Priority](tool://update_priority) instead')
expect(scenario.tools).to eq(['update_priority'])
end
end