Class: Phronomy::Agent::ContextPolicies::Default
- Inherits:
-
Phronomy::Agent::ContextPolicy
- Object
- Phronomy::Agent::ContextPolicy
- Phronomy::Agent::ContextPolicies::Default
- Defined in:
- lib/phronomy/agent/context_policies/default.rb
Constant Summary collapse
- DESCRIPTOR =
ContextPolicyDescriptor.new( id: "default-recent-v1", version: 1, config: {} )
Instance Method Summary collapse
- #call(request) ⇒ Object
- #descriptor ⇒ Object
-
#initialize(config = {}) ⇒ Default
constructor
A new instance of Default.
Constructor Details
Instance Method Details
#call(request) ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/phronomy/agent/context_policies/default.rb', line 22 def call(request) units = request.parts.fetch(:unit_builder).build(request.candidates) units = request.parts.fetch(:required_context_resolver).resolve( request: request, units: units ) ordered = request.parts.fetch(:recent_first_selector).order( request: request, units: units ) selected = request.parts.fetch(:token_budget_packer).pack( request: request, units: ordered ) ContextPlan.new( selected_unit_ids: selected.map(&:unit_id), derived_contents: [], selected_tool_ids: [], ordering_hints: {"history" => "chronological"}, policy_descriptor: descriptor, metadata: { "candidate_count" => request.candidates.length, "unit_count" => units.length, "selected_unit_count" => selected.length } ) end |
#descriptor ⇒ Object
17 18 19 20 |
# File 'lib/phronomy/agent/context_policies/default.rb', line 17 def descriptor return DESCRIPTOR if @config.empty? ContextPolicyDescriptor.new(id: DESCRIPTOR.id, version: DESCRIPTOR.version, config: @config) end |