Class: Google::ADK::BaseSessionService

Inherits:
Object
  • Object
show all
Defined in:
lib/google/adk/session.rb

Overview

Base class for session services

Direct Known Subclasses

InMemorySessionService

Instance Method Summary collapse

Instance Method Details

#append_event(app_name: nil, user_id: nil, session_id: nil, event: nil) ⇒ Session?

Append event to session

Parameters:

  • app_name (String) (defaults to: nil)

    Application name

  • user_id (String) (defaults to: nil)

    User ID

  • session_id (String) (defaults to: nil)

    Session ID

  • event (Event) (defaults to: nil)

    Event to append

Returns:

  • (Session, nil)

    Updated session or nil if not found

Raises:

  • (NotImplementedError)


99
100
101
# File 'lib/google/adk/session.rb', line 99

def append_event(app_name: nil, user_id: nil, session_id: nil, event: nil)
  raise NotImplementedError, "Subclasses must implement #append_event"
end

#create_session(app_name: nil, user_id: nil, initial_state: nil) ⇒ Session

Create a new session

Parameters:

  • app_name (String) (defaults to: nil)

    Application name

  • user_id (String) (defaults to: nil)

    User ID

  • initial_state (Hash) (defaults to: nil)

    Initial state (optional)

Returns:

Raises:

  • (NotImplementedError)


67
68
69
# File 'lib/google/adk/session.rb', line 67

def create_session(app_name: nil, user_id: nil, initial_state: nil)
  raise NotImplementedError, "Subclasses must implement #create_session"
end

#delete_session(app_name: nil, user_id: nil, session_id: nil) ⇒ Boolean

Delete a session

Parameters:

  • app_name (String) (defaults to: nil)

    Application name

  • user_id (String) (defaults to: nil)

    User ID

  • session_id (String) (defaults to: nil)

    Session ID

Returns:

  • (Boolean)

    True if deleted, false otherwise

Raises:

  • (NotImplementedError)


109
110
111
# File 'lib/google/adk/session.rb', line 109

def delete_session(app_name: nil, user_id: nil, session_id: nil)
  raise NotImplementedError, "Subclasses must implement #delete_session"
end

#get_session(app_name: nil, user_id: nil, session_id: nil) ⇒ Session?

Get a session

Parameters:

  • app_name (String) (defaults to: nil)

    Application name

  • user_id (String) (defaults to: nil)

    User ID

  • session_id (String) (defaults to: nil)

    Session ID

Returns:

  • (Session, nil)

    Session or nil if not found

Raises:

  • (NotImplementedError)


77
78
79
# File 'lib/google/adk/session.rb', line 77

def get_session(app_name: nil, user_id: nil, session_id: nil)
  raise NotImplementedError, "Subclasses must implement #get_session"
end

#list_sessions(app_name: nil, user_id: nil) ⇒ Array<Session>

List sessions for a user

Parameters:

  • app_name (String) (defaults to: nil)

    Application name

  • user_id (String) (defaults to: nil)

    User ID

Returns:

  • (Array<Session>)

    List of sessions

Raises:

  • (NotImplementedError)


118
119
120
# File 'lib/google/adk/session.rb', line 118

def list_sessions(app_name: nil, user_id: nil)
  raise NotImplementedError, "Subclasses must implement #list_sessions"
end

#update_session(app_name: nil, user_id: nil, session_id: nil, state_updates: nil) ⇒ Session?

Update session state

Parameters:

  • app_name (String) (defaults to: nil)

    Application name

  • user_id (String) (defaults to: nil)

    User ID

  • session_id (String) (defaults to: nil)

    Session ID

  • state_updates (Hash) (defaults to: nil)

    State updates

Returns:

  • (Session, nil)

    Updated session or nil if not found

Raises:

  • (NotImplementedError)


88
89
90
# File 'lib/google/adk/session.rb', line 88

def update_session(app_name: nil, user_id: nil, session_id: nil, state_updates: nil)
  raise NotImplementedError, "Subclasses must implement #update_session"
end