Update log.messages: owner_id, players_id, master_player, flag_id, items, loc_id
This commit is contained in:
29
docs/LOG.md
29
docs/LOG.md
@@ -12,14 +12,18 @@ Registra todos los mensajes entre usuarios y agentes IA.
|
||||
| hash | CHAR(64) | SHA256 único del mensaje |
|
||||
| session_hash | CHAR(64) | SHA256 de la sesión |
|
||||
| thread_hash | CHAR(64) | SHA256 del hilo (nullable) |
|
||||
| sender_id | CHAR(64) | Hash del emisor (ref players) |
|
||||
| receiver_id | CHAR(64) | Hash del receptor (ref players) |
|
||||
| leader_id | CHAR(64) | Coordinador multiagente (nullable) |
|
||||
| owner_id | CHAR(64) | Emisor del mensaje (→ ply) |
|
||||
| players_id | CHAR(64)[] | Receptores (→ ply) |
|
||||
| master_player | CHAR(64) | Líder/coordinador (→ ply, nullable) |
|
||||
| role | TEXT | Rol del emisor |
|
||||
| content | TEXT | Contenido del mensaje |
|
||||
| attachments | JSONB | Adjuntos |
|
||||
| prev_hash | CHAR(64) | Hash mensaje anterior (cadena integridad) |
|
||||
| hashtags | CHAR(64)[] | Etiquetas asociadas |
|
||||
| hashtags | CHAR(64)[] | Etiquetas (→ hst) |
|
||||
| flag_id | CHAR(64) | Jurisdicción (→ flg, nullable) |
|
||||
| master_item_id | CHAR(64) | Item principal (→ itm, nullable) |
|
||||
| item_id | CHAR(64)[] | Items relacionados (→ itm) |
|
||||
| loc_id | CHAR(64) | Ubicación (→ loc, nullable) |
|
||||
| ambient | JSONB | Contexto ambiental (nullable) |
|
||||
| created_at | TIMESTAMPTZ | Timestamp |
|
||||
|
||||
@@ -65,11 +69,15 @@ Primer mensaje de sesión: `prev_hash = NULL`
|
||||
### log.messages
|
||||
- `session_hash` - Mensajes de una sesión
|
||||
- `thread_hash` - Mensajes de un hilo
|
||||
- `sender_id` - Mensajes enviados
|
||||
- `receiver_id` - Mensajes recibidos
|
||||
- `owner_id` - Mensajes enviados por
|
||||
- `master_player` - Mensajes con líder
|
||||
- `prev_hash` - Cadena de integridad
|
||||
- `created_at` - Orden cronológico
|
||||
- `hashtags` (GIN) - Búsqueda por etiquetas
|
||||
- `players_id` (GIN) - Búsqueda por receptores
|
||||
- `item_id` (GIN) - Búsqueda por items
|
||||
- `flag_id` - Filtrar por jurisdicción
|
||||
- `loc_id` - Filtrar por ubicación
|
||||
|
||||
### log.message_refs
|
||||
- `message_hash` - Referencias de un mensaje
|
||||
@@ -77,10 +85,13 @@ Primer mensaje de sesión: `prev_hash = NULL`
|
||||
- `ref_type` - Filtrar por tipo
|
||||
- `thread_hash` - Referencias de un hilo
|
||||
|
||||
## Relaciones externas
|
||||
## Relaciones externas (Sistema de Componentes TZZR)
|
||||
|
||||
- `sender_id`, `receiver_id`, `leader_id` → `core.players`
|
||||
- `hashtags` → `core.hashtags`
|
||||
- `owner_id`, `players_id`, `master_player` → `ply` (Players)
|
||||
- `hashtags` → `hst` (Hash Semantic Tagging)
|
||||
- `flag_id` → `flg` (Flags/Jurisdicciones)
|
||||
- `master_item_id`, `item_id` → `itm` (Items)
|
||||
- `loc_id` → `loc` (Locations)
|
||||
- `ref_hash` (context) → `log.messages`
|
||||
- `ref_hash` (accountant) → libros contables
|
||||
- `ref_hash` (secretary) → registros secretaría
|
||||
|
||||
@@ -20,25 +20,33 @@ CREATE TABLE log.messages (
|
||||
hash CHAR(64) UNIQUE NOT NULL,
|
||||
session_hash CHAR(64) NOT NULL,
|
||||
thread_hash CHAR(64),
|
||||
sender_id CHAR(64) NOT NULL,
|
||||
receiver_id CHAR(64) NOT NULL,
|
||||
leader_id CHAR(64),
|
||||
owner_id CHAR(64) NOT NULL,
|
||||
players_id CHAR(64)[] DEFAULT '{}',
|
||||
master_player CHAR(64),
|
||||
role TEXT,
|
||||
content TEXT NOT NULL,
|
||||
attachments JSONB DEFAULT '{}',
|
||||
prev_hash CHAR(64),
|
||||
hashtags CHAR(64)[] DEFAULT '{}',
|
||||
flag_id CHAR(64),
|
||||
master_item_id CHAR(64),
|
||||
item_id CHAR(64)[] DEFAULT '{}',
|
||||
loc_id CHAR(64),
|
||||
ambient JSONB,
|
||||
created_at TIMESTAMPTZ DEFAULT NOW()
|
||||
);
|
||||
|
||||
CREATE INDEX idx_messages_session ON log.messages(session_hash);
|
||||
CREATE INDEX idx_messages_thread ON log.messages(thread_hash);
|
||||
CREATE INDEX idx_messages_sender ON log.messages(sender_id);
|
||||
CREATE INDEX idx_messages_receiver ON log.messages(receiver_id);
|
||||
CREATE INDEX idx_messages_owner ON log.messages(owner_id);
|
||||
CREATE INDEX idx_messages_master_player ON log.messages(master_player);
|
||||
CREATE INDEX idx_messages_prev ON log.messages(prev_hash);
|
||||
CREATE INDEX idx_messages_created ON log.messages(created_at);
|
||||
CREATE INDEX idx_messages_hashtags ON log.messages USING gin(hashtags);
|
||||
CREATE INDEX idx_messages_players ON log.messages USING gin(players_id);
|
||||
CREATE INDEX idx_messages_items ON log.messages USING gin(item_id);
|
||||
CREATE INDEX idx_messages_flag ON log.messages(flag_id);
|
||||
CREATE INDEX idx_messages_loc ON log.messages(loc_id);
|
||||
|
||||
-- ============================================
|
||||
-- Tabla 2: message_refs
|
||||
|
||||
Reference in New Issue
Block a user