Observed since 20 Oct, 15:37 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Conversation entity, three-tier collection, and per-agent schema migrations shared by memory and tool packages
Canonical owner of the per-agent conversations table plus its entity and three-tier collection.
Tracks one row per user-facing conversation an agent is engaged in: ownership scope (agent_id, customer_id, user_id), external reference (channel_type, conversation_ref), lifecycle (status, summary), timestamps (date_created, date_updated, date_last_message).
This table is owned here because multiple packages key off conversation_id (memory, agent-tools context items, workspace bindings) and no single consumer is the natural owner of the shape. Owning the table here lets each downstream package depend on conversations without pulling in memory's extraction pipeline.
Exports (see src/threetears/conversations/__init__.py):
Conversation -- BaseEntity subclass for a single row.ConversationsCollection -- three-tier (L1 SQLite / L2 NATS KV / L3 postgres) collection with the usual get / save / subscript semantics.register(runner) -- agent-scope migration entry point. Contributes the conversations table creation to a canonical threetears.core.data.migrations.MigrationRunner. No depends_on edges; this is the root of the agent-schema dependency graph, so memory / workspace / tools migrations that reference conversations.id sort after it.from threetears.conversations import Conversation, ConversationsCollection, register
from threetears.core.data.migrations import MigrationRunner
# 1. register the package's migrations on the runner; run_migrations pins one
# pooled connection and holds the database-wide DDL lock for the whole run
runner = MigrationRunner()
register(runner)
await store.run_migrations(runner)
# 2. use the collection like any other 3tears collection
collection = ConversationsCollection(registry=registry)
conv = await collection.get(conversation_id)
conv.summary = "follow-up on last week's analysis"
await conv.save()
threetears.agent.memory, threetears.agent.tools (context items), threetears.agent.workspace (bindings)Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.72.0 | 20 Oct 2026 | 4 |
This describes our collected data; it is not a security assessment.
Shared repository data · GitHub
Public sponsor counts have not been collected. These signals belong to the repository owner.
github · 1 observations shown. Missing days are unknown.
| Date / source period | Value | Observed at |
|---|---|---|
| 2026-10-20 | 0 | 2026-10-20T17:18:19.8928356Z |
Observed since 20 Oct, 15:37 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:6a34230743abe38b9b34be121909eb6c7a229f64e887b6c31529ffd971049166