OXYGENHUB
# a9f1c0bf403a oxygenhub / crates / hub / migrations / 0035_assistants.sql
1.1 KiB · SQL · last changed AI assistants: settings per site, organisation and repository 1 month ago source blame history raw
1
-- AI assistants (hub spec §13.4, #97): chat-completion endpoints the hub
2
-- may ask to review a proposal or draft its description. Each lives at
3
-- one level (site: scope_id 0; an organisation; a repository) and each
4
-- level may add a prompt. Tokens are sealed with keys/assistants.key.
5
CREATE TABLE assistants (
6
    id          INTEGER PRIMARY KEY,
7
    scope       TEXT NOT NULL CHECK (scope IN ('site', 'org', 'repo')),
8
    scope_id    INTEGER NOT NULL DEFAULT 0,
9
    name        TEXT NOT NULL COLLATE NOCASE,
10
    endpoint    TEXT NOT NULL,
11
    api         TEXT NOT NULL,
12
    model       TEXT NOT NULL,
13
    headers     TEXT NOT NULL DEFAULT '',
14
    token       BLOB NOT NULL,
15
    enabled     INTEGER NOT NULL DEFAULT 1,
16
    budget      INTEGER NOT NULL DEFAULT 120000,
17
    created_ms  INTEGER NOT NULL,
18
    updated_ms  INTEGER NOT NULL,
19
    UNIQUE (scope, scope_id, name)
20
);
21
CREATE TABLE assistant_prompts (
22
    scope       TEXT NOT NULL CHECK (scope IN ('site', 'org', 'repo')),
23
    scope_id    INTEGER NOT NULL DEFAULT 0,
24
    prompt      TEXT NOT NULL,
25
    updated_ms  INTEGER NOT NULL,
26
    PRIMARY KEY (scope, scope_id)
27
);