Module: Phronomy

Defined in:
lib/phronomy.rb,
lib/phronomy/eval.rb,
lib/phronomy/agent.rb,
lib/phronomy/event.rb,
lib/phronomy/metrics.rb,
lib/phronomy/testing.rb,
lib/phronomy/version.rb,
lib/phronomy/runnable.rb,
lib/phronomy/workflow.rb,
lib/phronomy/tools/mcp.rb,
lib/phronomy/agent/base.rb,
lib/phronomy/diagnostics.rb,
lib/phronomy/engine/task.rb,
lib/phronomy/eval/runner.rb,
lib/phronomy/eval/scorer.rb,
lib/phronomy/filter/base.rb,
lib/phronomy/llm_adapter.rb,
lib/phronomy/persistence.rb,
lib/phronomy/token_usage.rb,
lib/phronomy/tools/agent.rb,
lib/phronomy/agent/runner.rb,
lib/phronomy/eval/dataset.rb,
lib/phronomy/eval/metrics.rb,
lib/phronomy/tracing/base.rb,
lib/phronomy/vector_store.rb,
lib/phronomy/configuration.rb,
lib/phronomy/output_parser.rb,
lib/phronomy/canonical_json.rb,
lib/phronomy/engine/runtime.rb,
lib/phronomy/eval/eval_case.rb,
lib/phronomy/agent/immutable.rb,
lib/phronomy/eval/comparison.rb,
lib/phronomy/workflow_runner.rb,
lib/phronomy/agent/agent_root.rb,
lib/phronomy/agent_busy_error.rb,
lib/phronomy/eval/eval_result.rb,
lib/phronomy/eval/scorer/base.rb,
lib/phronomy/llm_adapter/base.rb,
lib/phronomy/state_store/base.rb,
lib/phronomy/workflow_context.rb,
lib/phronomy/engine/event_loop.rb,
lib/phronomy/engine/task_group.rb,
lib/phronomy/vector_store/base.rb,
lib/phronomy/agent/context_plan.rb,
lib/phronomy/agent/shared_state.rb,
lib/phronomy/content_store/base.rb,
lib/phronomy/engine/fsm_session.rb,
lib/phronomy/generator_verifier.rb,
lib/phronomy/invocation_context.rb,
lib/phronomy/output_parser/base.rb,
lib/phronomy/testing/fake_clock.rb,
lib/phronomy/agent/tool_executor.rb,
lib/phronomy/engine/task/backend.rb,
lib/phronomy/multi_agent/handoff.rb,
lib/phronomy/tools/vector_search.rb,
lib/phronomy/tracing/null_tracer.rb,
lib/phronomy/agent/context_policy.rb,
lib/phronomy/agent/journal_record.rb,
lib/phronomy/llm_adapter/ruby_llm.rb,
lib/phronomy/agent/agent_execution.rb,
lib/phronomy/agent/async_event_api.rb,
lib/phronomy/agent/context_request.rb,
lib/phronomy/agent/llm_call_record.rb,
lib/phronomy/agent/llm_input_patch.rb,
lib/phronomy/agent/tool_invocation.rb,
lib/phronomy/eval/scorer/llm_judge.rb,
lib/phronomy/persistence/in_memory.rb,
lib/phronomy/state_store/in_memory.rb,
lib/phronomy/stream_callback_error.rb,
lib/phronomy/vector_store/pgvector.rb,
lib/phronomy/agent/agent_invocation.rb,
lib/phronomy/agent/context_importer.rb,
lib/phronomy/testing/fake_scheduler.rb,
lib/phronomy/vector_store/in_memory.rb,
lib/phronomy/agent/context_assembler.rb,
lib/phronomy/agent/context_candidate.rb,
lib/phronomy/eval/scorer/exact_match.rb,
lib/phronomy/tracing/langfuse_tracer.rb,
lib/phronomy/agent/journal_projection.rb,
lib/phronomy/agent/llm_input_manifest.rb,
lib/phronomy/engine/runtime/scheduler.rb,
lib/phronomy/multi_agent/orchestrator.rb,
lib/phronomy/vector_store/loader/base.rb,
lib/phronomy/agent/activation_registry.rb,
lib/phronomy/agent/concerns/filterable.rb,
lib/phronomy/agent/tool_definition_set.rb,
lib/phronomy/engine/task/fiber_backend.rb,
lib/phronomy/output_parser/json_parser.rb,
lib/phronomy/testing/scheduler_helpers.rb,
lib/phronomy/vector_store/redis_search.rb,
lib/phronomy/agent/derived_content_spec.rb,
lib/phronomy/agent/llm_operation_result.rb,
lib/phronomy/engine/runtime/timer_queue.rb,
lib/phronomy/engine/task/mapped_backend.rb,
lib/phronomy/engine/task/thread_backend.rb,
lib/phronomy/vector_store/async_backend.rb,
lib/phronomy/vector_store/splitter/base.rb,
lib/phronomy/agent/execution_coordinator.rb,
lib/phronomy/agent/phase_machine_builder.rb,
lib/phronomy/agent/provider_call_outcome.rb,
lib/phronomy/agent/ruby_llm_materializer.rb,
lib/phronomy/agent/token_budget_resolver.rb,
lib/phronomy/agent/tool_approval_request.rb,
lib/phronomy/agent/tool_call_intercepted.rb,
lib/phronomy/engine/concurrency/deadline.rb,
lib/phronomy/eval/scorer/includes_scorer.rb,
lib/phronomy/agent/context_plan_validator.rb,
lib/phronomy/agent/context_selection_unit.rb,
lib/phronomy/engine/runtime/task_registry.rb,
lib/phronomy/engine/runtime/timer_service.rb,
lib/phronomy/engine/task/deferred_backend.rb,
lib/phronomy/multi_agent/team_coordinator.rb,
lib/phronomy/vector_store/embeddings/base.rb,
lib/phronomy/agent/context/capability/base.rb,
lib/phronomy/agent/context_policy_registry.rb,
lib/phronomy/agent/llm_input_build_context.rb,
lib/phronomy/context_budget_exceeded_error.rb,
lib/phronomy/engine/runtime/fake_scheduler.rb,
lib/phronomy/engine/task/immediate_backend.rb,
lib/phronomy/tracing/open_telemetry_tracer.rb,
lib/phronomy/agent/context_policies/default.rb,
lib/phronomy/engine/concurrency/async_queue.rb,
lib/phronomy/engine/runtime/runtime_metrics.rb,
lib/phronomy/engine/runtime/shutdown_result.rb,
lib/phronomy/filter/prompt_injection_filter.rb,
lib/phronomy/multi_agent/parallel_tool_chat.rb,
lib/phronomy/vector_store/loader/csv_loader.rb,
lib/phronomy/workflow/phase_machine_builder.rb,
lib/phronomy/agent/concerns/before_llm_input.rb,
lib/phronomy/agent/context_policy_descriptor.rb,
lib/phronomy/engine/runtime/thread_scheduler.rb,
lib/phronomy/llm_context_window/token_budget.rb,
lib/phronomy/output_parser/structured_parser.rb,
lib/phronomy/agent/agent_execution_activation.rb,
lib/phronomy/agent/concerns/error_translation.rb,
lib/phronomy/agent/context_candidate_resolver.rb,
lib/phronomy/engine/concurrency/pool_registry.rb,
lib/phronomy/invalid_async_entry_action_error.rb,
lib/phronomy/agent/approval_evaluation_request.rb,
lib/phronomy/llm_context_window/token_estimator.rb,
lib/phronomy/invalid_async_workflow_action_error.rb,
lib/phronomy/vector_store/loader/markdown_loader.rb,
lib/phronomy/execution_rehydration_required_error.rb,
lib/phronomy/agent/tool_invocation_session_builder.rb,
lib/phronomy/engine/concurrency/cancellation_scope.rb,
lib/phronomy/engine/concurrency/cancellation_token.rb,
lib/phronomy/invalid_async_transition_action_error.rb,
lib/phronomy/vector_store/loader/plain_text_loader.rb,
lib/phronomy/agent/agent_invocation_session_builder.rb,
lib/phronomy/engine/runtime/deterministic_scheduler.rb,
lib/phronomy/engine/runtime/scheduler_timer_adapter.rb,
lib/phronomy/engine/concurrency/blocking_adapter_pool.rb,
lib/phronomy/vector_store/splitter/recursive_splitter.rb,
lib/phronomy/agent/context/instruction/prompt_template.rb,
lib/phronomy/vector_store/splitter/fixed_size_splitter.rb,
lib/phronomy/invalid_context_budget_configuration_error.rb,
lib/phronomy/vector_store/embeddings/ruby_llm_embeddings.rb,
lib/phronomy/agent/context_parts/budget/token_budget_packer.rb,
lib/phronomy/agent/context_parts/selectors/recent_first_selector.rb,
lib/phronomy/agent/context_parts/validators/final_budget_validator.rb,
lib/phronomy/agent/context_parts/requirements/required_context_resolver.rb,
lib/phronomy/agent/context_parts/unit_builders/dependency_aware_unit_builder.rb

Defined Under Namespace

Modules: Agent, Concurrency, ContentStore, Diagnostics, Eval, Filter, LLMAdapter, LlmContextWindow, Metrics, MultiAgent, OutputParser, Runnable, StateStore, Testing, Tools, Tracing, VectorStore, WorkflowContext Classes: AgentBusyError, AuthenticationError, BackpressureError, CancellationError, CanonicalJSON, Configuration, ConfigurationError, ContextBudgetExceededError, ContextLengthError, Error, Event, EventLoop, ExecutionRehydrationRequiredError, FSMSession, FilterBlockError, GeneratorVerifier, HandoffError, InvalidAsyncEntryActionError, InvalidAsyncTransitionActionError, InvalidAsyncWorkflowActionError, InvalidContextBudgetConfigurationError, InvocationContext, LowConfidenceError, ParseError, Persistence, PoolShutdownError, RateLimitError, RecursionLimitError, Runtime, RuntimeShutdownError, RuntimeShutdownReentrancyError, SchedulerReentrancyError, StreamCallbackError, Task, TaskGroup, TimeoutError, TokenUsage, ToolError, TransportError, Workflow, WorkflowContextOwnershipError, WorkflowRunner

Constant Summary collapse

VERSION =
"0.17.0"

Class Method Summary collapse

Class Method Details

.configurationObject



72
73
74
# File 'lib/phronomy.rb', line 72

def configuration
  @configuration ||= Configuration.new
end

.configure {|configuration| ... } ⇒ Object

Yields:



76
77
78
# File 'lib/phronomy.rb', line 76

def configure
  yield configuration
end

.reset_configuration!Object



80
81
82
# File 'lib/phronomy.rb', line 80

def reset_configuration!
  @configuration = Configuration.new
end

.reset_runtime!(timeout: configuration.event_loop_stop_grace_seconds) ⇒ Object



91
92
93
94
95
96
97
98
99
100
101
# File 'lib/phronomy.rb', line 91

def reset_runtime!(timeout: configuration.event_loop_stop_grace_seconds)
  previous_grace = @configuration&.event_loop_stop_grace_seconds
  result = Runtime.reset_default!(timeout: timeout)

  new_configuration = Configuration.new
  if previous_grace
    new_configuration.event_loop_stop_grace_seconds = previous_grace
  end
  @configuration = new_configuration
  result
end

.with_configurationObject



84
85
86
87
88
89
# File 'lib/phronomy.rb', line 84

def with_configuration
  original = @configuration&.dup
  yield configuration
ensure
  @configuration = original
end