はじめに
関連するタスクとコンテキストをグループ化するためにユーザーセッションを管理します。 注意事項:- ソフトデリートのみ。
DELETEはセッションを削除済みとしてマークし(データは保持)、204を返します。 - 削除されたセッションは読み取りから除外され、取得できません(404)。
セッションの一覧
limit(1–100, デフォルト20)offset(>= 0, デフォルト0)
セッションの取得
sessionId(UUIDまたはexternal_id文字列)
セッションIDのフォーマット
ShannonはセッションのためにデュアルIDパターンをサポートしています:- UUIDフォーマット (内部):
a0c2b1e2-fd3e-4567-890a-bcdef1234567 - 外部IDフォーマット (カスタム文字列):
"user-123-chat","analytics-session-456"
session_idでタスクを送信すると、Shannonは以下を行います:
- データベースストレージ用に内部UUIDを作成
context.external_idにカスタムIDを保存- すべてのセッションAPI呼び出しでいずれかのフォーマットを受け入れます
セッション履歴の取得
sessionId(UUIDまたはexternal_id文字列)
セッションイベントの取得(ターンごとにグループ化)
sessionId(UUIDまたはexternal_id文字列)
LLM_PARTIALは除外)。
クエリパラメータ:
limit(1–100, デフォルト10) — 返すターンの数offset(>= 0, デフォルト0) — スキップするターンの数
final_outputはタスク結果が空の場合、最初のLLM_OUTPUTイベントにフォールバックします。turn番号はグローバル(offset+index)です。- セッションが削除されているか、リクエスターの所有でない場合は404を返します。
セッションタイトルの更新
sessionId(UUIDまたはexternal_id)
- タイトルはトリムされ、制御文字は削除されます。
- 最大60文字(UTF-8安全)。長すぎるタイトルは拒否されます。
- 200 OK(更新されたタイトル)
- 400 無効なリクエスト(空または長すぎるタイトル)
- 401 認証されていない
- 403 禁止(所有者でない)
- 404 見つかりません
セッションの削除(ソフトデリート)
sessionId(UUIDまたはexternal_id文字列)
- セッションを削除済みとしてマークします(
deleted_at,deleted_by)、データは削除しません。 - 冪等性: 所有者に対して常に204を返します。
- 古い読み取りを防ぐためにセッションキャッシュをクリアします。
- 204 No Content
- 401 認証されていない
- 403 禁止(所有者でない)
- 404 見つかりません