Module: Phronomy
- Defined in:
- lib/phronomy.rb,
lib/phronomy/eval.rb,
lib/phronomy/tool.rb,
lib/phronomy/actor.rb,
lib/phronomy/agent.rb,
lib/phronomy/loader.rb,
lib/phronomy/memory.rb,
lib/phronomy/context.rb,
lib/phronomy/railtie.rb,
lib/phronomy/version.rb,
lib/phronomy/runnable.rb,
lib/phronomy/splitter.rb,
lib/phronomy/workflow.rb,
lib/phronomy/tool/base.rb,
lib/phronomy/agent/base.rb,
lib/phronomy/embeddings.rb,
lib/phronomy/eval/runner.rb,
lib/phronomy/eval/scorer.rb,
lib/phronomy/loader/base.rb,
lib/phronomy/state_store.rb,
lib/phronomy/token_usage.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/agent/handoff.rb,
lib/phronomy/configuration.rb,
lib/phronomy/output_parser.rb,
lib/phronomy/splitter/base.rb,
lib/phronomy/tool/mcp_tool.rb,
lib/phronomy/eval/eval_case.rb,
lib/phronomy/guardrail/base.rb,
lib/phronomy/memory/storage.rb,
lib/phronomy/trust_pipeline.rb,
lib/phronomy/context/builder.rb,
lib/phronomy/embeddings/base.rb,
lib/phronomy/eval/comparison.rb,
lib/phronomy/prompt_template.rb,
lib/phronomy/rails/agent_job.rb,
lib/phronomy/tool/agent_tool.rb,
lib/phronomy/workflow_runner.rb,
lib/phronomy/eval/eval_result.rb,
lib/phronomy/eval/scorer/base.rb,
lib/phronomy/knowledge_source.rb,
lib/phronomy/memory/retrieval.rb,
lib/phronomy/state_store/base.rb,
lib/phronomy/workflow_context.rb,
lib/phronomy/agent/react_agent.rb,
lib/phronomy/context/assembler.rb,
lib/phronomy/guardrail/builtin.rb,
lib/phronomy/loader/csv_loader.rb,
lib/phronomy/state_store/redis.rb,
lib/phronomy/vector_store/base.rb,
lib/phronomy/memory/compression.rb,
lib/phronomy/output_parser/base.rb,
lib/phronomy/memory/storage/base.rb,
lib/phronomy/tracing/null_tracer.rb,
lib/phronomy/context/token_budget.rb,
lib/phronomy/context/trim_context.rb,
lib/phronomy/active_record/acts_as.rb,
lib/phronomy/active_record/message.rb,
lib/phronomy/eval/scorer/llm_judge.rb,
lib/phronomy/knowledge_source/base.rb,
lib/phronomy/memory/retrieval/base.rb,
lib/phronomy/state_store/encryptor.rb,
lib/phronomy/state_store/in_memory.rb,
lib/phronomy/thread_actor_registry.rb,
lib/phronomy/vector_store/pgvector.rb,
lib/phronomy/loader/markdown_loader.rb,
lib/phronomy/vector_store/in_memory.rb,
lib/phronomy/context/token_estimator.rb,
lib/phronomy/context/trigger_context.rb,
lib/phronomy/eval/scorer/exact_match.rb,
lib/phronomy/memory/compression/base.rb,
lib/phronomy/memory/retrieval/recent.rb,
lib/phronomy/tracing/langfuse_tracer.rb,
lib/phronomy/active_record/checkpoint.rb,
lib/phronomy/active_record/extensions.rb,
lib/phronomy/loader/plain_text_loader.rb,
lib/phronomy/memory/storage/in_memory.rb,
lib/phronomy/guardrail/input_guardrail.rb,
lib/phronomy/memory/retrieval/semantic.rb,
lib/phronomy/output_parser/json_parser.rb,
lib/phronomy/state_store/active_record.rb,
lib/phronomy/vector_store/redis_search.rb,
lib/phronomy/context/compaction_context.rb,
lib/phronomy/guardrail/output_guardrail.rb,
lib/phronomy/memory/compression/summary.rb,
lib/phronomy/memory/retrieval/composite.rb,
lib/phronomy/state_store/encryptor/base.rb,
lib/phronomy/eval/scorer/includes_scorer.rb,
lib/phronomy/memory/conversation_manager.rb,
lib/phronomy/splitter/recursive_splitter.rb,
lib/phronomy/memory/storage/active_record.rb,
lib/phronomy/splitter/fixed_size_splitter.rb,
lib/phronomy/context/context_version_cache.rb,
lib/phronomy/tracing/open_telemetry_tracer.rb,
lib/phronomy/embeddings/ruby_llm_embeddings.rb,
lib/phronomy/knowledge_source/rag_knowledge.rb,
lib/phronomy/agent/before_completion_context.rb,
lib/phronomy/output_parser/structured_parser.rb,
lib/phronomy/knowledge_source/entity_knowledge.rb,
lib/phronomy/knowledge_source/static_knowledge.rb,
lib/generators/phronomy/install/install_generator.rb,
lib/phronomy/state_store/encryptor/active_support.rb,
lib/phronomy/memory/compression/tool_output_pruner.rb,
lib/phronomy/guardrail/builtin/pii_pattern_detector.rb,
lib/phronomy/guardrail/builtin/prompt_injection_detector.rb
Defined Under Namespace
Modules: ActiveRecord, Agent, Context, Embeddings, Eval, Generators, Guardrail, KnowledgeSource, Loader, Memory, OutputParser, Rails, Runnable, Splitter, StateStore, ThreadActorRegistry, Tool, Tracing, VectorStore, WorkflowContext Classes: Actor, Configuration, ConfigurationError, Error, GuardrailError, HandoffError, ParseError, PromptTemplate, Railtie, RecursionLimitError, TokenUsage, ToolError, TrustPipeline, Workflow, WorkflowRunner
Constant Summary collapse
- VERSION =
"0.2.0"
Class Attribute Summary collapse
-
.workflow_context_registry ⇒ Hash{String => Class}?
readonly
Returns the current registry Hash, or nil when no class has been registered.
Class Method Summary collapse
- .configuration ⇒ Object
- .configure {|configuration| ... } ⇒ Object
-
.register_workflow_context(*classes) ⇒ Object
Register one or more WorkflowContext classes that are allowed to be deserialized by StateStore backends.
-
.reset_configuration! ⇒ Object
Resets configuration; primarily used in tests.
-
.reset_workflow_context_registry! ⇒ Object
Clears the registry.
Class Attribute Details
.workflow_context_registry ⇒ Hash{String => Class}? (readonly)
Returns the current registry Hash, or nil when no class has been registered.
67 68 69 |
# File 'lib/phronomy.rb', line 67 def workflow_context_registry @workflow_context_registry end |
Class Method Details
.configuration ⇒ Object
74 75 76 |
# File 'lib/phronomy.rb', line 74 def configuration @configuration ||= Configuration.new end |
.configure {|configuration| ... } ⇒ Object
78 79 80 |
# File 'lib/phronomy.rb', line 78 def configure yield configuration end |
.register_workflow_context(*classes) ⇒ Object
Register one or more WorkflowContext classes that are allowed to be deserialized by StateStore backends. When at least one class is registered, only registered classes will be accepted by +StateStore::Base#safe_state_class+.
Call this once at application startup (e.g. in a Rails initializer).
55 56 57 58 59 60 61 62 63 |
# File 'lib/phronomy.rb', line 55 def register_workflow_context(*classes) @registry_mutex.synchronize do @workflow_context_registry ||= {} classes.each do |klass| raise ArgumentError, "#{klass.inspect} is not a Class" unless klass.is_a?(Class) @workflow_context_registry[klass.name] = klass end end end |
.reset_configuration! ⇒ Object
Resets configuration; primarily used in tests.
83 84 85 |
# File 'lib/phronomy.rb', line 83 def reset_configuration! @configuration = Configuration.new end |
.reset_workflow_context_registry! ⇒ Object
Clears the registry. Primarily used in tests.
70 71 72 |
# File 'lib/phronomy.rb', line 70 def reset_workflow_context_registry! @registry_mutex.synchronize { @workflow_context_registry = nil } end |