Module: Smith
- Extended by:
- Dry::Configurable
- Defined in:
- lib/smith.rb,
lib/smith/cli.rb,
lib/smith/tool.rb,
lib/smith/agent.rb,
lib/smith/error.rb,
lib/smith/event.rb,
lib/smith/tools.rb,
lib/smith/trace.rb,
lib/smith/types.rb,
lib/smith/budget.rb,
lib/smith/doctor.rb,
lib/smith/errors.rb,
lib/smith/events.rb,
lib/smith/models.rb,
lib/smith/context.rb,
lib/smith/pricing.rb,
lib/smith/railtie.rb,
lib/smith/version.rb,
lib/smith/workflow.rb,
lib/smith/artifacts.rb,
lib/smith/events/bus.rb,
lib/smith/guardrails.rb,
lib/smith/tool/policy.rb,
lib/smith/tools/think.rb,
lib/smith/doctor/check.rb,
lib/smith/tool/capture.rb,
lib/smith/trace/logger.rb,
lib/smith/trace/memory.rb,
lib/smith/workflow/dsl.rb,
lib/smith/budget/ledger.rb,
lib/smith/doctor/report.rb,
lib/smith/agent/registry.rb,
lib/smith/artifacts/file.rb,
lib/smith/doctor/printer.rb,
lib/smith/models/profile.rb,
lib/smith/workflow/claim.rb,
lib/smith/workflow/graph.rb,
lib/smith/agent/lifecycle.rb,
lib/smith/context/session.rb,
lib/smith/workflow/router.rb,
lib/smith/artifacts/memory.rb,
lib/smith/doctor/installer.rb,
lib/smith/models/inference.rb,
lib/smith/tools/web_search.rb,
lib/smith/guardrails/runner.rb,
lib/smith/models/normalizer.rb,
lib/smith/tools/url_fetcher.rb,
lib/smith/workflow/parallel.rb,
lib/smith/workflow/pipeline.rb,
lib/smith/budget/reservation.rb,
lib/smith/doctor/checks/live.rb,
lib/smith/tool/compatibility.rb,
lib/smith/workflow/execution.rb,
lib/smith/workflow/graph_dsl.rb,
lib/smith/budget/ledger_state.rb,
lib/smith/doctor/checks/rails.rb,
lib/smith/events/subscription.rb,
lib/smith/exponential_backoff.rb,
lib/smith/workflow/branch_env.rb,
lib/smith/workflow/durability.rb,
lib/smith/workflow/identifier.rb,
lib/smith/workflow/run_result.rb,
lib/smith/workflow/transition.rb,
lib/smith/persistence_adapters.rb,
lib/smith/trace/open_telemetry.rb,
lib/smith/workflow/persistence.rb,
lib/smith/workflow/usage_entry.rb,
lib/smith/events/step_completed.rb,
lib/smith/workflow/agent_result.rb,
lib/smith/workflow/graph/report.rb,
lib/smith/agent/registry_binding.rb,
lib/smith/artifacts/scoped_store.rb,
lib/smith/budget/amount_contract.rb,
lib/smith/budget/decimal_context.rb,
lib/smith/doctor/checks/baseline.rb,
lib/smith/workflow/graph/metrics.rb,
lib/smith/workflow/graph/targets.rb,
lib/smith/workflow/message_batch.rb,
lib/smith/workflow/prepared_step.rb,
lib/smith/context/state_injection.rb,
lib/smith/guardrails/url_verifier.rb,
lib/smith/tool/budget_enforcement.rb,
lib/smith/tool/capability_builder.rb,
lib/smith/doctor/checks/durability.rb,
lib/smith/providers/openai/routing.rb,
lib/smith/workflow/execution_frame.rb,
lib/smith/workflow/graph/reference.rb,
lib/smith/workflow/graph/validator.rb,
lib/smith/workflow/retry_execution.rb,
lib/smith/workflow/step_completion.rb,
lib/smith/workflow/string_snapshot.rb,
lib/smith/budget/ledger_publication.rb,
lib/smith/doctor/checks/persistence.rb,
lib/smith/workflow/fanout_execution.rb,
lib/smith/workflow/graph/diagnostic.rb,
lib/smith/workflow/nested_execution.rb,
lib/smith/workflow/worker_execution.rb,
lib/smith/persistence_adapters/retry.rb,
lib/smith/providers/openai/responses.rb,
lib/smith/workflow/event_integration.rb,
lib/smith/workflow/message_admission.rb,
lib/smith/budget/reservation_contract.rb,
lib/smith/context/observation_masking.rb,
lib/smith/doctor/checks/configuration.rb,
lib/smith/doctor/checks/serialization.rb,
lib/smith/persistence_adapters/memory.rb,
lib/smith/workflow/budget_integration.rb,
lib/smith/workflow/data_volume_policy.rb,
lib/smith/workflow/deterministic_step.rb,
lib/smith/workflow/graph/reachability.rb,
lib/smith/workflow/optimization_state.rb,
lib/smith/workflow/parallel_execution.rb,
lib/smith/agent/registry/introspection.rb,
lib/smith/budget/amount_representation.rb,
lib/smith/persistence_payload_conflict.rb,
lib/smith/workflow/definition_identity.rb,
lib/smith/workflow/evaluator_optimizer.rb,
lib/smith/workflow/orchestration_state.rb,
lib/smith/workflow/orchestrator_worker.rb,
lib/smith/budget/public_state_validator.rb,
lib/smith/doctor/checks/models_registry.rb,
lib/smith/doctor/checks/openai_api_mode.rb,
lib/smith/workflow/artifact_integration.rb,
lib/smith/workflow/deadline_enforcement.rb,
lib/smith/budget/ledger_state_transition.rb,
lib/smith/workflow/graph/diagnostic_path.rb,
lib/smith/workflow/graph/fanout_contract.rb,
lib/smith/workflow/guardrail_integration.rb,
lib/smith/workflow/parallel/cancellation.rb,
lib/smith/workflow/graph/contract_helpers.rb,
lib/smith/workflow/parallel_agent_binding.rb,
lib/smith/workflow/prepared_step_dispatch.rb,
lib/smith/workflow/prepared_step_recovery.rb,
lib/smith/workflow/split_step_persistence.rb,
lib/smith/agent/registry/mutation_boundary.rb,
lib/smith/persistence_adapters/cache_store.rb,
lib/smith/persistence_adapters/rails_cache.rb,
lib/smith/persistence_adapters/redis_store.rb,
lib/smith/workflow/deterministic_execution.rb,
lib/smith/workflow/graph/runtime_readiness.rb,
lib/smith/workflow/graph/state_diagnostics.rb,
lib/smith/workflow/parallel/root_execution.rb,
lib/smith/providers/openai/tools_extensions.rb,
lib/smith/workflow/message_value_normalizer.rb,
lib/smith/workflow/transition_actionability.rb,
lib/smith/doctor/checks/persistence_registry.rb,
lib/smith/workflow/execution_result_snapshot.rb,
lib/smith/workflow/graph/transition_contract.rb,
lib/smith/workflow/graph/transition_snapshot.rb,
lib/smith/workflow/parallel/nested_execution.rb,
lib/smith/workflow/graph/execution_successors.rb,
lib/smith/workflow/message_admission_boundary.rb,
lib/smith/workflow/parallel/execution_context.rb,
lib/generators/smith/install/install_generator.rb,
lib/smith/persistence_adapters/payload_version.rb,
lib/smith/workflow/graph/identifier_projection.rb,
lib/smith/workflow/graph/optimization_contract.rb,
lib/smith/workflow/execution_binding_resolution.rb,
lib/smith/workflow/graph/orchestration_contract.rb,
lib/smith/workflow/graph/transition_diagnostics.rb,
lib/smith/workflow/parallel/cancellation_signal.rb,
lib/smith/doctor/checks/persistence_capabilities.rb,
lib/smith/persistence_adapters/redis_exact_write.rb,
lib/smith/workflow/graph/retry_policy_diagnostic.rb,
lib/smith/workflow/prepared_step_execution_scope.rb,
lib/smith/workflow/graph/reachability_diagnostics.rb,
lib/smith/workflow/graph/runtime_readiness_report.rb,
lib/smith/workflow/prepared_step_execution_result.rb,
lib/smith/agent/registry/execution_binding_capture.rb,
lib/smith/persistence_adapters/active_record_store.rb,
lib/smith/persistence_adapters/redis_client_access.rb,
lib/smith/persistence_adapters/version_expectation.rb,
lib/smith/workflow/graph/runtime_readiness_metrics.rb,
lib/smith/workflow/split_step_persistence/boundary.rb,
lib/smith/workflow/split_step_persistence/payloads.rb,
lib/smith/workflow/split_step_persistence/recovery.rb,
lib/smith/workflow/split_step_persistence/execution.rb,
lib/smith/persistence_adapters/redis_versioned_write.rb,
lib/smith/workflow/definition_identity/class_methods.rb,
lib/smith/workflow/graph/runtime_binding_diagnostics.rb,
lib/smith/workflow/graph/runtime_readiness_traversal.rb,
lib/smith/workflow/split_step_persistence/checkpoint.rb,
lib/smith/workflow/graph/nested_readiness_diagnostics.rb,
lib/smith/workflow/split_step_persistence/inheritance.rb,
lib/smith/workflow/split_step_persistence/preparation.rb,
lib/smith/workflow/graph/transition_contract_attributes.rb,
lib/smith/persistence_adapters/active_record_exact_store.rb,
lib/smith/persistence_adapters/active_record_exact_write.rb,
lib/smith/workflow/prepared_step_execution_authorization.rb,
lib/smith/workflow/split_step_persistence/boundary_reset.rb,
lib/smith/workflow/split_step_persistence/dispatch_claim.rb,
lib/smith/workflow/split_step_persistence/state_snapshot.rb,
lib/smith/workflow/graph/runtime_readiness_report_builder.rb,
lib/smith/persistence_adapters/active_record_initial_write.rb,
lib/smith/workflow/split_step_persistence/checkpoint_state.rb,
lib/smith/workflow/graph/runtime_binding_diagnostic_builder.rb,
lib/smith/workflow/graph/transition_contract_configurations.rb,
lib/smith/workflow/split_step_persistence/dispatch_boundary.rb,
lib/smith/workflow/split_step_persistence/preparation_claim.rb,
lib/smith/workflow/split_step_persistence/recovery_boundary.rb,
lib/smith/workflow/split_step_persistence/subclass_boundary.rb,
lib/smith/persistence_adapters/active_record_exact_predicate.rb,
lib/smith/workflow/split_step_persistence/definition_boundary.rb,
lib/smith/workflow/split_step_persistence/preparation_payload.rb,
lib/smith/workflow/split_step_persistence/transition_contract.rb,
lib/smith/persistence_adapters/active_record_connection_errors.rb,
lib/smith/workflow/graph/transition_optimization_configuration.rb,
lib/smith/workflow/split_step_persistence/preparation_recovery.rb,
lib/smith/workflow/split_step_persistence/restart_safe_adapter.rb,
lib/smith/workflow/split_step_persistence/transaction_identity.rb,
lib/smith/workflow/split_step_persistence/dispatch_confirmation.rb,
lib/smith/workflow/split_step_persistence/dispatch_verification.rb,
lib/smith/workflow/split_step_persistence/execution_verification.rb,
lib/smith/workflow/split_step_persistence/recovery_class_methods.rb,
lib/smith/workflow/split_step_persistence/execution_authorization.rb,
lib/smith/workflow/split_step_persistence/replace_exact_signature.rb,
lib/smith/workflow/split_step_persistence/canonical_payload_digest.rb,
lib/smith/workflow/split_step_persistence/execution_result_capture.rb,
lib/smith/workflow/split_step_persistence/execution_binding_snapshot.rb,
lib/smith/workflow/split_step_persistence/execution_binding_collector.rb,
lib/smith/workflow/split_step_persistence/execution_workflow_snapshot.rb,
lib/smith/workflow/split_step_persistence/transition_contract_freezer.rb,
lib/smith/workflow/split_step_persistence/transition_contract_signature.rb,
lib/smith/workflow/split_step_persistence/transition_contract_structured_values.rb,
sig/smith.rbs
Defined Under Namespace
Modules: Artifacts, Budget, Doctor, Errors, Events, Models, PersistenceAdapters, Pricing, Providers, Tools, Trace, Types
Classes: Agent, AgentError, AgentRegistryError, BlankAgentOutputError, BudgetExceeded, CLI, Context, DeadlineExceeded, DeterministicStepFailure, Error, Event, ExponentialBackoff, GuardrailFailed, Guardrails, InstallGenerator, MaxTransitionsExceeded, PersistenceIOError, PersistencePayloadConflict, PersistenceSchemaMismatch, PersistenceVersionConflict, Railtie, SeedMismatch, SerializationError, StepInProgressOnRestore, Tool, ToolGuardrailFailed, ToolPolicyDenied, UnresolvedTransitionError, Workflow, WorkflowError
Constant Summary
collapse
- VERSION =
"0.5.0"
- EXECUTION_SEMANTICS_VERSION =
"1"
Class Method Summary
collapse
Class Method Details
.artifacts ⇒ Object
114
115
116
|
# File 'lib/smith.rb', line 114
def self.artifacts
scoped_artifacts || config.artifact_store || (@_default_artifacts ||= Artifacts::Memory.new)
end
|
.artifacts=(store) ⇒ Object
118
119
120
|
# File 'lib/smith.rb', line 118
def self.artifacts=(store)
config.artifact_store = store
end
|
.persistence_adapter ⇒ Object
130
131
132
133
134
135
136
137
138
139
140
141
|
# File 'lib/smith.rb', line 130
def self.persistence_adapter
raw_adapter = config.persistence_adapter
raw_options = config.persistence_options || {}
signature = persistence_signature(raw_adapter, raw_options, config.test_mode)
if defined?(@_persistence_adapter_signature) && @_persistence_adapter_signature == signature
return @_persistence_adapter
end
@_persistence_adapter_signature = signature
@_persistence_adapter = resolve_persistence_adapter(raw_adapter, raw_options)
end
|
.scoped_artifacts ⇒ Object
122
123
124
|
# File 'lib/smith.rb', line 122
def self.scoped_artifacts
Thread.current[:smith_scoped_artifacts]
end
|
.scoped_artifacts=(store) ⇒ Object
126
127
128
|
# File 'lib/smith.rb', line 126
def self.scoped_artifacts=(store)
Thread.current[:smith_scoped_artifacts] = store
end
|