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
.configuration ⇒ Object
72
73
74
|
# File 'lib/phronomy.rb', line 72
def configuration
@configuration ||= Configuration.new
end
|
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_configuration ⇒ Object
84
85
86
87
88
89
|
# File 'lib/phronomy.rb', line 84
def with_configuration
original = @configuration&.dup
yield configuration
ensure
@configuration = original
end
|