Skip to content

Graphorin API reference v0.1.0


Graphorin API reference / @graphorin/sessions / facade / Session

Interface: Session

Defined in: packages/sessions/src/facade.ts:142

Per-session ergonomic facade returned by SessionManager.create / SessionManager.get.

Stable

Properties

PropertyModifierTypeDescriptionDefined in
commentaryPolicyreadonlyCommentaryPolicyEffective commentary policy for this session.packages/sessions/src/facade.ts:146
idreadonlystring-packages/sessions/src/facade.ts:143
scopereadonlySessionScope-packages/sessions/src/facade.ts:144

Methods

appendHandoff()

ts
appendHandoff(record): Promise<HandoffRecord>;

Defined in: packages/sessions/src/facade.ts:164

Append a handoff record. Auto-fires from Agent.toTool() in @graphorin/agent.

Parameters

ParameterType
recordOmit&lt;HandoffRecord, "at"&gt; & { at?: string; }

Returns

Promise&lt;HandoffRecord&gt;


attachWorkflowRun()

ts
attachWorkflowRun(run): Promise<SessionWorkflowRun>;

Defined in: packages/sessions/src/facade.ts:173

Attach a workflow run to this session.

Parameters

ParameterType
runOmit&lt;SessionWorkflowRun, "sessionId" | "attachedAt"&gt; & { attachedAt?: string; }

Returns

Promise&lt;SessionWorkflowRun&gt;


audit()

ts
audit(opts?): Promise<readonly SessionAuditEntry[]>;

Defined in: packages/sessions/src/facade.ts:216

Recent audit rows for this session, newest-first.

Parameters

ParameterType
opts?{ limit?: number; }
opts.limit?number

Returns

Promise&lt;readonly SessionAuditEntry[]&gt;


close()

ts
close(): Promise<void>;

Defined in: packages/sessions/src/facade.ts:187

Mark the session closed. Idempotent.

Returns

Promise&lt;void&gt;


compact()

ts
compact(opts?): Promise<{
  removed: number;
  summarized: number;
  summary?: string;
}>;

Defined in: packages/sessions/src/facade.ts:158

Manual compaction — wraps memory.session.compact(...).

Parameters

ParameterType
opts?{ keepLastN?: number; }
opts.keepLastN?number

Returns

Promise<{ removed: number; summarized: number; summary?: string; }>


export()

ts
export(opts): Promise<SessionExportFooterRecord>;

Defined in: packages/sessions/src/facade.ts:201

Stream the session as a JSONL session-export 1.0 document.

Parameters

ParameterType
optsSessionExportOptions

Returns

Promise&lt;SessionExportFooterRecord&gt;


fork()

ts
fork(opts?): Promise<Session>;

Defined in: packages/sessions/src/facade.ts:199

Fork the session at a given point. Returns a fresh Session with copied session-level metadata; the new session id is autogenerated.

Note: forking copies SESSION-level metadata only. Replicating message rows is a downstream consumer concern — the agent runtime iterates the source's list({ sinceMessageId }) and writes via push() on the new session as needed. Full message-replicating forks remain post-v0.1.

Parameters

ParameterType
opts?{ title?: string; }
opts.title?string

Returns

Promise&lt;Session&gt;


handoffsByAgent()

ts
handoffsByAgent(agentId, direction?): Promise<readonly HandoffRecord[]>;

Defined in: packages/sessions/src/facade.ts:168

Filter handoffs by agent + direction.

Parameters

ParameterType
agentIdstring
direction?"from" | "to" | "both"

Returns

Promise&lt;readonly HandoffRecord[]&gt;


list()

ts
list(opts?): Promise<readonly Message[]>;

Defined in: packages/sessions/src/facade.ts:151

List messages — wraps memory.session.list(scope, ...).

Parameters

ParameterType
opts?SessionListOptions

Returns

Promise&lt;readonly Message[]&gt;


listHandoffs()

ts
listHandoffs(): Promise<readonly HandoffRecord[]>;

Defined in: packages/sessions/src/facade.ts:166

Every handoff in this session, oldest-first.

Returns

Promise&lt;readonly HandoffRecord[]&gt;


metadata()

ts
metadata(): Promise<SessionMetadata>;

Defined in: packages/sessions/src/facade.ts:147

Returns

Promise&lt;SessionMetadata&gt;


push()

ts
push(message): Promise<MessageRef>;

Defined in: packages/sessions/src/facade.ts:149

Persist a new message — wraps memory.session.push(scope, ...).

Parameters

ParameterType
messageMessage

Returns

Promise&lt;MessageRef&gt;


recordToolCassette()

ts
recordToolCassette(opts): ToolCassetteRecorder;

Defined in: packages/sessions/src/facade.ts:214

Begin recording a tool cassette. The recorder is wired into the agent runtime (@graphorin/agent) so each tool.execute.end / .error event flows through.

Parameters

ParameterType
optsSessionRecordCassetteOptions

Returns

ToolCassetteRecorder


replay()

ts
replay(opts?): AsyncIterable<SessionReplayEvent>;

Defined in: packages/sessions/src/facade.ts:203

Sanitized-by-default replay.

Parameters

ParameterType
opts?SessionReplayOptions & { liveInvocation?: (record) => Promise&lt;{ args: unknown; idempotencyKey?: string; validateRecordedOutput?: (output) => string | null; }>; traceSource?: | AsyncIterable<SpanRecord&lt;SpanType&gt;, any, any> | Iterable<SpanRecord&lt;SpanType&gt;, any, any>; }

Returns

AsyncIterable&lt;SessionReplayEvent&gt;


ts
search(query, opts?): Promise<readonly MemoryHit<MemoryRecord>[]>;

Defined in: packages/sessions/src/facade.ts:153

Hybrid (FTS5) search over messages — wraps memory.session.search(...).

Parameters

ParameterType
querystring
opts?{ signal?: AbortSignal; topK?: number; }
opts.signal?AbortSignal
opts.topK?number

Returns

Promise<readonly MemoryHit&lt;MemoryRecord&gt;[]>


updateWorkflowRunStatus()

ts
updateWorkflowRunStatus(
   workflowId, 
   threadId, 
status): Promise<void>;

Defined in: packages/sessions/src/facade.ts:181

Update a workflow run's status.

Parameters

ParameterType
workflowIdstring
threadIdstring
status"completed" | "failed" | "running" | "suspended"

Returns

Promise&lt;void&gt;


workflowRuns()

ts
workflowRuns(): Promise<readonly SessionWorkflowRun[]>;

Defined in: packages/sessions/src/facade.ts:179

List workflow runs attached to this session.

Returns

Promise&lt;readonly SessionWorkflowRun[]&gt;