Skip to main content

3tears-conversations

Canonical owner of the per-agent conversations table plus its entity and three-tier collection.

Purpose

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.

Public API

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.

Minimal usage

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()

Reference

  • Downstream consumers: threetears.agent.memory, threetears.agent.tools (context items), threetears.agent.workspace (bindings)

Metadata

Release files for 3tears-conversations 0.81.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for 3tears-conversations 0.81.0
File Size Uploaded Provenance Actions
3tears_conversations-0.81.0.tar.gz 87.7 kB With provenance Details for 3tears_conversations-0.81.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for 3tears-conversations 0.81.0
File Interpreter ABI Platform Actions
3tears_conversations-0.81.0-py3-none-any.whl Python 3 none any Details for 3tears_conversations-0.81.0-py3-none-any.whl

Total release size: 150.4 kB

Release files / 3tears_conversations-0.81.0.tar.gz

Download URL 3tears_conversations-0.81.0.tar.gz
Size 87.7 kB
Tags Source
SHA-256 checksum
How to use checksums
eb2d863ef961395b3644227735d1a088ed977d75083f4ae92315dd38fd7e2e9e
BLAKE2b-256 checksum
How to use checksums
fdc68cd4bb99198a6c288cd7f867c62d3790e61b87dbeb4083ae12d31ba44129
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 28, 2026.

Transparency log

Release files / 3tears_conversations-0.81.0-py3-none-any.whl

Download URL 3tears_conversations-0.81.0-py3-none-any.whl
Size 62.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7b4cc35d483b9b69f2f825f282de9173057daa236908c43331664d526d8fcbf9
BLAKE2b-256 checksum
How to use checksums
9bf44c8dc047d40a91f77264df2236b412405d2b4a0a0b7b9a61f7ebd1d7c35d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 28, 2026.

Transparency log

Security for 3tears-conversations 0.81.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for 3tears_conversations-0.81.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 28, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.81.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page