Module: Agent::SessionContext

Defined in:
lib/agent/session_context.rb,
lib/agent/session_context/cli.rb,
lib/agent/session_context/item.rb,
lib/agent/session_context/loop.rb,
lib/agent/session_context/config.rb,
lib/agent/session_context/errors.rb,
lib/agent/session_context/prompt.rb,
lib/agent/session_context/builder.rb,
lib/agent/session_context/version.rb,
lib/agent/session_context/snapshot.rb,
lib/agent/session_context/loop_view.rb,
lib/agent/session_context/tool_call.rb,
lib/agent/session_context/source_ref.rb,
lib/agent/session_context/transcript.rb,
lib/agent/session_context/cli/options.rb,
lib/agent/session_context/summarizers.rb,
lib/agent/session_context/renderers/json.rb,
lib/agent/session_context/renderers/text.rb,
lib/agent/session_context/summary_parser.rb,
lib/agent/session_context/evidence_packet.rb,
lib/agent/session_context/immutable_value.rb,
lib/agent/session_context/semantic_schema.rb,
lib/agent/session_context/injected_context.rb,
lib/agent/session_context/prompt_extractor.rb,
lib/agent/session_context/session_resolver.rb,
lib/agent/session_context/semantic_pipeline.rb,
lib/agent/session_context/subprocess_runner.rb,
lib/agent/session_context/summarizers/codex.rb,
lib/agent/session_context/evidence_collector.rb,
lib/agent/session_context/renderers/markdown.rb,
lib/agent/session_context/summarizers/claude.rb,
lib/agent/session_context/semantic_categories.rb,
lib/agent/session_context/renderers/json_lines.rb,
lib/agent/session_context/renderers/serializer.rb,
lib/agent/session_context/renderers/human_display.rb,
lib/agent/session_context/injected_context_collector.rb,
lib/agent/session_context/summarizers/command_execution_policy.rb

Defined Under Namespace

Modules: ImmutableValue, Renderers, Summarizers Classes: AmbiguousSession, Builder, CLI, Config, ConfigurationError, CurrentSessionUnavailable, Error, EvidenceCollector, EvidencePacket, InjectedContext, InjectedContextCollector, InvalidSummary, Item, Loop, LoopView, Prompt, PromptExtractor, SemanticCategories, SemanticPipeline, SemanticSchema, SessionNotFound, SessionResolver, Snapshot, SourceRef, SubprocessRunner, SummarizerFailed, SummarizerUnavailable, SummaryParser, ToolCall, Transcript, TranscriptEntry, TranscriptPart, UnsupportedAgent

Constant Summary collapse

VERSION =
"1.0.0"

Class Method Summary collapse

Class Method Details

.current(agent: nil, env: ENV, catalog: Agent::Sessions) ⇒ Object



22
23
24
# File 'lib/agent/session_context.rb', line 22

def current(agent: nil, env: ENV, catalog: Agent::Sessions)
  SessionResolver.new(catalog:, env: env).current(agent:)
end

.loop(session) ⇒ Object



34
35
36
# File 'lib/agent/session_context.rb', line 34

def loop(session, **)
  Builder.new(**).loop(session)
end

.prompts(session) ⇒ Object



30
31
32
# File 'lib/agent/session_context.rb', line 30

def prompts(session, **)
  Builder.new(**).prompts(session)
end

.resolve(identifier, agent: nil, env: ENV, catalog: Agent::Sessions) ⇒ Object



18
19
20
# File 'lib/agent/session_context.rb', line 18

def resolve(identifier, agent: nil, env: ENV, catalog: Agent::Sessions)
  SessionResolver.new(catalog:, env: env).resolve(identifier, agent: agent)
end

.show(session, include_injected: false) ⇒ Object



26
27
28
# File 'lib/agent/session_context.rb', line 26

def show(session, include_injected: false, **)
  Builder.new(**).show(session, include_injected:)
end

.summarize(session, using: nil, summarizer: nil, timeout: nil, env: ENV, config_loader: Config, backend_factory: Summarizers) ⇒ Object



38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/agent/session_context.rb', line 38

def summarize(
  session,
  using: nil,
  summarizer: nil,
  timeout: nil,
  env: ENV,
  config_loader: Config,
  backend_factory: Summarizers,
  **
)
  if summarizer
    raise ArgumentError, "timeout applies only to built-in summarizers" unless timeout.nil?

    return Builder.new(**).summarize(session, summarizer:)
  end

  config = config_loader.load(session:, env:, timeout:)
  backend = backend_factory.for(using || session.agent, timeout_seconds: config.timeout_seconds)
  Builder.new(**).summarize(session, summarizer: backend)
end