Class: RubynCode::Tools::Task
Constant Summary collapse
- TOOL_NAME =
'task'- DESCRIPTION =
'Manage tasks: create, update, complete, list, or get tasks ' \ 'for tracking work items and dependencies.'
- PARAMETERS =
{ action: { type: :string, required: true, description: 'Action to perform: create, update, complete, list, get' }, title: { type: :string, required: false, description: 'Task title (required for create)' }, description: { type: :string, required: false, description: 'Task description' }, task_id: { type: :string, required: false, description: 'Task ID (required for update, complete, get)' }, status: { type: :string, required: false, description: 'Filter by status (for list) or set status (for update)' }, session_id: { type: :string, required: false, description: 'Session ID for scoping tasks' }, priority: { type: :integer, required: false, description: 'Task priority (higher = more important)' }, blocked_by: { type: :array, required: false, description: 'Array of task IDs this task depends on (for create)' }, result: { type: :string, required: false, description: 'Result text (for complete)' }, owner: { type: :string, required: false, description: 'Owner identifier (for update)' } }.freeze
- RISK_LEVEL =
:write- REQUIRES_CONFIRMATION =
false- TASK_OPTIONAL_FIELDS =
%i[owner result session_id description].freeze
Instance Attribute Summary
Attributes inherited from Base
Instance Method Summary collapse
Methods inherited from Base
description, #initialize, parameters, requires_confirmation?, risk_level, #safe_path, summarize, to_schema, tool_name, #truncate
Constructor Details
This class inherits a constructor from RubynCode::Tools::Base
Instance Method Details
#execute(action:, **params) ⇒ Object
57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/rubyn_code/tools/task.rb', line 57 def execute(action:, **params) manager = Tasks::Manager.new(DB::Connection.instance) case action when 'create' then execute_create(manager, **params) when 'update' then execute_update(manager, **params) when 'complete' then execute_complete(manager, **params) when 'list' then execute_list(manager, **params) when 'get' then execute_get(manager, **params) else raise Error, "Unknown task action: #{action}. Valid: create, update, complete, list, get" end end |