Class: Forem::AgentSession
- Inherits:
-
APIResource
- Object
- ForemObject
- APIResource
- Forem::AgentSession
- Extended by:
- Forem::APIOperations::Create, Forem::APIOperations::List, Forem::APIOperations::Retrieve
- Defined in:
- lib/forem/resources/agent_session.rb
Overview
Represents an agent session used for AI-assisted content workflows on Forem.
Agent sessions are coding conversation transcripts from CLI tools like Claude Code and other AI coding assistants.
A presign step generates upload credentials before session data is
submitted. After creation, the raw asset URL for the session can be
retrieved via the raw_url instance method.
Available operations (via mixins):
- +List+ — GET /api/agent_sessions (getAgentSessions)
- +Create+ — POST /api/agent_sessions (createAgentSession)
- +Retrieve+ — GET /api/agent_sessions/:id (getAgentSessionById)
AgentSession Fields
id(Integer)slug(String) — URL-friendly identifiertitle(String)tool_name(String) — Tool that produced the sessiontotal_messages(Integer)published(Boolean)url(String) — Public URL for the session
Constant Summary collapse
- OBJECT_NAME =
"agent_session"- RESOURCE_PATH =
"/api/agent_sessions"
Instance Attribute Summary
Attributes inherited from ForemObject
Class Method Summary collapse
-
.create(params = {}, opts = {}) ⇒ Forem::AgentSession
Create a new agent session (createAgentSession).
-
.presign(params = {}, opts = {}) ⇒ Forem::ForemObject
Obtain presigned upload credentials for a new agent session asset.
-
.retrieve(id, opts = {}) ⇒ Forem::AgentSession
Retrieve an agent session by ID or slug (getAgentSessionById).
Instance Method Summary collapse
-
#raw_url(opts = {}) ⇒ Forem::ForemObject
Return the raw asset URL associated with this agent session.
Methods included from Forem::APIOperations::Create
Methods included from Forem::APIOperations::List
Methods included from Forem::APIOperations::Retrieve
Methods inherited from APIResource
#refresh, resource_path, #resource_url
Methods inherited from ForemObject
#==, #[], #[]=, construct_from, cursor_list, #initialize, #inspect, #method_missing, paginated_list, #respond_to_missing?, #to_hash
Methods included from Forem::APIOperations::Request
Constructor Details
This class inherits a constructor from Forem::ForemObject
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Forem::ForemObject
Class Method Details
.create(params = {}, opts = {}) ⇒ Forem::AgentSession
Create a new agent session (createAgentSession).
Sends a POST request to /api/agent_sessions.
|
|
# File 'lib/forem/resources/agent_session.rb', line 50
|
.presign(params = {}, opts = {}) ⇒ Forem::ForemObject
Obtain presigned upload credentials for a new agent session asset.
Sends a POST request to /api/agent_sessions/presign. The returned
object contains a signed upload URL and any required form fields needed
to upload the session file directly to object storage.
90 91 92 93 |
# File 'lib/forem/resources/agent_session.rb', line 90 def self.presign(params = {}, opts = {}) resp = request(:post, "/api/agent_sessions/presign", params, opts) Forem::ForemObject.construct_from(resp.parsed_body) end |
.retrieve(id, opts = {}) ⇒ Forem::AgentSession
Retrieve an agent session by ID or slug (getAgentSessionById).
The id parameter can be a numeric ID or a slug string
(e.g., 'my-session-abc123').
Sends a GET request to /api/agent_sessions/:id.
|
|
# File 'lib/forem/resources/agent_session.rb', line 63
|
Instance Method Details
#raw_url(opts = {}) ⇒ Forem::ForemObject
Return the raw asset URL associated with this agent session.
Sends a GET request to /api/agent_sessions/:id/raw_url.
105 106 107 108 |
# File 'lib/forem/resources/agent_session.rb', line 105 def raw_url(opts = {}) resp = request(:get, "#{resource_url}/raw_url", {}, opts) Forem::ForemObject.construct_from(resp.parsed_body) end |