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/knowledge_source.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/fsm_runtime_adapter.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/knowledge/base.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/llm_context_window/assembler.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/agent/context/knowledge/entity_knowledge.rb,
lib/phronomy/agent/context/knowledge/static_knowledge.rb,
lib/phronomy/engine/concurrency/blocking_adapter_pool.rb,
lib/phronomy/llm_context_window/context_version_cache.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, KnowledgeSource, LLMAdapter, LlmContextWindow, Metrics, MultiAgent, OutputParser, Runnable, StateStore, Testing, Tools, Tracing, VectorStore, WorkflowContext Classes: ActionTimeoutError, 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, ScopeTimeoutError, StreamCallbackError, Task, TaskGroup, TimeoutError, TokenUsage, ToolError, TransportError, Workflow, WorkflowContextOwnershipError, WorkflowRunner
Constant Summary collapse
- VERSION =
"0.16.0"
Class Method Summary collapse
- .configuration ⇒ Object
- .configure {|configuration| ... } ⇒ Object
-
.reset_configuration! ⇒ Object
Resets the global Phronomy configuration to defaults.
-
.reset_runtime!(timeout: configuration.event_loop_stop_grace_seconds) ⇒ Phronomy::Runtime::ShutdownResult
Shuts down and clears the process-wide default Runtime, then resets global configuration.
-
.with_configuration {|config| ... } ⇒ Object
Yields the current Configuration object, then restores the original configuration on exit (even if the block raises).
Class Method Details
.configuration ⇒ Object
153 154 155 |
# File 'lib/phronomy.rb', line 153 def configuration @configuration ||= Configuration.new end |
.configure {|configuration| ... } ⇒ Object
157 158 159 |
# File 'lib/phronomy.rb', line 157 def configure yield configuration end |
.reset_configuration! ⇒ Object
Resets the global Phronomy configuration to defaults.
Intended for test suites only. Calling this in a production process will drop all runtime configuration (tracer, model, tokenizer, etc.) globally and immediately affect all subsequent agent and workflow calls.
Parallel test suites warning: When tests run in parallel (e.g.
parallel_tests or parallel_rspec), reset_configuration! in one
worker will clear configuration shared with other workers in the same
process. Prefer process-isolation strategies (forked workers) over
thread-based parallelism when using this method.
Typical usage in a sequential test suite:
after { Phronomy.reset_configuration! }
175 176 177 |
# File 'lib/phronomy.rb', line 175 def reset_configuration! @configuration = Configuration.new end |
.reset_runtime!(timeout: configuration.event_loop_stop_grace_seconds) ⇒ Phronomy::Runtime::ShutdownResult
Shuts down and clears the process-wide default Runtime, then resets global configuration. Intended for test suites only.
Runtime execution failure and resource cleanup are separate. The singleton is cleared when cleanup completed, even if execution failed.
208 209 210 211 212 213 214 215 216 217 218 |
# File 'lib/phronomy.rb', line 208 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_configuration {|config| ... } ⇒ Object
Yields the current Configuration object, then restores the original configuration on exit (even if the block raises).
Intended for test helpers that need to temporarily override settings without permanently mutating the global configuration.
191 192 193 194 195 196 |
# File 'lib/phronomy.rb', line 191 def with_configuration original = @configuration&.dup yield configuration ensure @configuration = original end |