diff --git a/indexer/indexer/backfill.py b/indexer/indexer/backfill.py index d751fd5..4128ff1 100644 --- a/indexer/indexer/backfill.py +++ b/indexer/indexer/backfill.py @@ -33,6 +33,8 @@ COLLECTIONS = [ "systems.witchcraft.concept", "systems.witchcraft.memory", "systems.witchcraft.announcement", + # astral's essays + "site.standard.document", ] # Comind collective handles diff --git a/indexer/indexer/embeddings.py b/indexer/indexer/embeddings.py index 57f6af1..b8521a8 100644 --- a/indexer/indexer/embeddings.py +++ b/indexer/indexer/embeddings.py @@ -70,7 +70,15 @@ def extract_content(record: dict) -> Optional[str]: if description := record.get("description"): parts.append(description) if content := record.get("content"): - parts.append(content) + if isinstance(content, str): + parts.append(content) + elif isinstance(content, dict): + # Handle nested content (e.g., pub.leaflet.content) + for page in content.get("pages", []): + for block_wrapper in page.get("blocks", []): + block = block_wrapper.get("block", block_wrapper) + if plaintext := block.get("plaintext"): + parts.append(plaintext) if thought := record.get("thought"): parts.append(thought) if claim := record.get("claim"): diff --git a/indexer/indexer/worker.py b/indexer/indexer/worker.py index f3bba99..7258092 100644 --- a/indexer/indexer/worker.py +++ b/indexer/indexer/worker.py @@ -56,6 +56,8 @@ BASE_COLLECTIONS = [ "systems.witchcraft.concept", "systems.witchcraft.memory", "systems.witchcraft.announcement", + # site.standard.* - astral's essays + "site.standard.document", ] # Seed DIDs - always indexed, even without a profile record