Files
knowledge-inbox/sql/schema.sql
joungmin 86a4104ae3 feat: initial knowledge-inbox pipeline implementation
- Oracle ADB queue table (sql/schema.sql)
- Queue CRUD: core/queue_db.py
- YouTube transcript: core/youtube.py
- Web page fetch: core/web.py
- LLM enrichment via OCI GenAI Gemini Flash: core/enricher.py
- Text chunker: core/chunker.py
- Obsidian note writer: core/obsidian.py
- Oracle vector store insertion: core/vector.py
- Polling daemon: daemon/worker.py
- Telegram bot: bot/telegram_bot.py
- Main runner: main.py
2026-02-28 08:16:11 +09:00

17 lines
934 B
MySQL

-- knowledge_queue table for processing pipeline
CREATE TABLE knowledge_queue (
id VARCHAR2(36) DEFAULT SYS_GUID() PRIMARY KEY,
input_type VARCHAR2(20) NOT NULL, -- 'youtube' | 'url' | 'text'
content CLOB NOT NULL, -- URL or raw text
status VARCHAR2(20) DEFAULT 'pending' NOT NULL,
-- pending | processing | done | error
title VARCHAR2(500), -- LLM-extracted title (after processing)
error_msg CLOB,
metadata_json CLOB, -- JSON: summary, tags, author, etc.
telegram_chat_id VARCHAR2(50), -- for future notification support
created_at TIMESTAMP DEFAULT SYSTIMESTAMP NOT NULL,
updated_at TIMESTAMP DEFAULT SYSTIMESTAMP NOT NULL
);
CREATE INDEX idx_kq_status ON knowledge_queue (status, created_at);