DROP TABLE IF EXISTS task_runs;
CREATE TABLE task_runs (
    id              TEXT PRIMARY KEY,
    task_id         TEXT NOT NULL,
    status          TEXT CHECK(status IN ('Pending','Running','Failed','Success'))  NOT NULL DEFAULT 'pending',
    trigger_mode    TEXT CHECK(trigger_mode IN ('Manual','Webhook','Schedule'))  NOT NULL DEFAULT 'manual',
    exit_code       INT,
    runtime_details JSON,
    submitted_at    DATETIME,
    started_at      DATETIME,
    ended_at        DATETIME
);

DROP TABLE IF EXISTS logs_lines;
CREATE TABLE logs_lines (
    id              TEXT PRIMARY KEY,
    task_run_id     TEXT NOT NULL,
    kind            TEXT CHECK(kind IN ('Stdout', 'Stderr')),
    captured_at     INT, -- unix timestamp
    content         TEXT
)
