Conversation entity, three-tier collection, and per-agent schema migrations shared by memory and tool packages
Project description
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--BaseEntitysubclass for a single row.ConversationsCollection-- three-tier (L1SQLite /L2NATS KV /L3postgres) collection with the usualget/save/subscriptsemantics.register(runner)-- agent-scope migration entry point. Contributes theconversationstable creation to a canonicalthreetears.core.data.migrations.MigrationRunner. Nodepends_onedges; this is the root of the agent-schema dependency graph, so memory / workspace / tools migrations that referenceconversations.idsort 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
runner = MigrationRunner(store)
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)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file 3tears_conversations-0.22.1.tar.gz.
File metadata
- Download URL: 3tears_conversations-0.22.1.tar.gz
- Upload date:
- Size: 65.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
df44fbf4722d8b8ab103e646452e8a457171ddf92f1b7ba5af5774713d04f382
|
|
| MD5 |
8ba0c4b1998f5bec871a82b92bccbd33
|
|
| BLAKE2b-256 |
c175062cc2bb4cc214a3bc06fc5a97a776f271f9b1d9b8c28a385b32990be24e
|
Provenance
The following attestation bundles were made for 3tears_conversations-0.22.1.tar.gz:
Publisher:
release.yml on pacepace/3tears
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
3tears_conversations-0.22.1.tar.gz -
Subject digest:
df44fbf4722d8b8ab103e646452e8a457171ddf92f1b7ba5af5774713d04f382 - Sigstore transparency entry: 2283356526
- Sigstore integration time:
-
Permalink:
pacepace/3tears@39504e3078abf4da283e655ea853fe476ab6f892 -
Branch / Tag:
refs/tags/v0.22.1 - Owner: https://github.com/pacepace
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@39504e3078abf4da283e655ea853fe476ab6f892 -
Trigger Event:
push
-
Statement type:
File details
Details for the file 3tears_conversations-0.22.1-py3-none-any.whl.
File metadata
- Download URL: 3tears_conversations-0.22.1-py3-none-any.whl
- Upload date:
- Size: 55.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9415354190d5ada67dc91704811dd37c5cd35eca2d7308903ff9a8c648d419db
|
|
| MD5 |
c967b1cced4b7a676ad69da12479b6d6
|
|
| BLAKE2b-256 |
9373ca191c18b6945f595a67a0dfb1804928aa5fe06dca6fff4494cba1886797
|
Provenance
The following attestation bundles were made for 3tears_conversations-0.22.1-py3-none-any.whl:
Publisher:
release.yml on pacepace/3tears
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
3tears_conversations-0.22.1-py3-none-any.whl -
Subject digest:
9415354190d5ada67dc91704811dd37c5cd35eca2d7308903ff9a8c648d419db - Sigstore transparency entry: 2283357622
- Sigstore integration time:
-
Permalink:
pacepace/3tears@39504e3078abf4da283e655ea853fe476ab6f892 -
Branch / Tag:
refs/tags/v0.22.1 - Owner: https://github.com/pacepace
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@39504e3078abf4da283e655ea853fe476ab6f892 -
Trigger Event:
push
-
Statement type: