Conversation
Manages the structured formats, timing, and active recording of conversations.
Data Model
Table participant { id string [pk] name string [note: 'Display name or alias'] deviceId string [null, note: 'Links to synchronization/device']}
Table format { id string [pk] name string description string [null]}
Table section { id string [pk] formatId string [ref: > format.id] order integer [note: 'Sequence within the format'] title string durationSeconds integer [note: 'Timebox duration for this section'] guidelines string [note: 'Instructions on how to speak, listen, or engage']}
Table session { id string [pk] formatId string [ref: > format.id] startedAt datetime endedAt datetime [null] duration integer [null, note: 'seconds']}
Table session_participant { sessionId string [ref: > session.id] participantId string [ref: > participant.id]}
Table marker { id string [pk] sessionId string [ref: > session.id] participantId string [null, ref: > participant.id] offsetMs integer [note: 'Millisecond offset from session start'] visibility string [note: 'private | shared; default: private']}API
start-session Starts a new conversation session using a specific format.
| Parameter | Type | Required | Description |
|---|---|---|---|
format-id | string | — | |
participants | array | — |
mark-moment Creates a timestamped flag during an active session.
| Parameter | Type | Required | Description |
|---|---|---|---|
session-id | string | — | |
timestamp | number | — |
end-session Ends an active conversation session.
| Parameter | Type | Required | Description |
|---|---|---|---|
session-id | string | — |
session-started Emitted when a new session begins.
| Parameter | Type | Required | Description |
|---|---|---|---|
session-id | string | — | |
format-id | string | — | |
timestamp | Date | — |
moment-marked Emitted when a user taps to mark an important moment.
| Parameter | Type | Required | Description |
|---|---|---|---|
marker-id | string | — | |
session-id | string | — | |
timestamp | Date | — |
session-ended Emitted when a session concludes.
| Parameter | Type | Required | Description |
|---|---|---|---|
session-id | string | — | |
duration | number | — | |
timestamp | Date | — |
enforce-timing Manages the turn-taking and timers defined by a format.
| Parameter | Type | Required | Description |
|---|---|---|---|
session-id | string | — | |
format-id | string | — |
| Error ID | Code | Category | Description |
|---|---|---|---|
session-not-found | TODO | | Thrown when a requested session does not exist. |
| Source | Condition | Reaction | Rule |
|---|---|---|---|
start-session | — | start-recording | Recording begins automatically when a session starts successfully. |
end-session | — | stop-recording | Recording is stopped when a session ends successfully. |
session-ended | — | request-transcription | Transcription is requested automatically after every session ends. |