mirror of
https://github.com/openai/codex.git
synced 2026-08-31 14:28:48 +00:00
## What changed - Add SQLite-backed `project/list`, `project/read`, `project/create`, `project/import`, `project/update`, `project/move`, and `project/delete` endpoints with ordered roots, metadata, manual positioning, pagination, and idempotent creation. - Add project assignment to thread start, metadata updates, list filtering, and fork inheritance. Project deletion clears assignments without deleting threads. - Emit `project/changed` and `thread/project/updated` notifications after committed changes, and export the new protocol schemas and TypeScript types. ## Testing - Cover project lifecycle and ordering, idempotency, atomic imports, cursor and filter validation, thread assignment, deletion, and fork inheritance. GitOrigin-RevId: 47ae621be01ab8ef70a74a629fb29a5c5709ea33
31 lines
860 B
SQL
31 lines
860 B
SQL
CREATE TABLE projects (
|
|
id TEXT PRIMARY KEY,
|
|
name TEXT NOT NULL,
|
|
metadata TEXT NOT NULL DEFAULT '{}',
|
|
position INTEGER NOT NULL,
|
|
created_at_ms INTEGER NOT NULL,
|
|
updated_at_ms INTEGER NOT NULL
|
|
);
|
|
|
|
CREATE TABLE project_roots (
|
|
project_id TEXT NOT NULL REFERENCES projects(id) ON DELETE CASCADE,
|
|
position INTEGER NOT NULL,
|
|
path TEXT NOT NULL,
|
|
PRIMARY KEY (project_id, position)
|
|
);
|
|
|
|
CREATE TABLE project_idempotency_keys (
|
|
key TEXT PRIMARY KEY,
|
|
project_id TEXT NOT NULL,
|
|
created_at_ms INTEGER NOT NULL
|
|
);
|
|
|
|
ALTER TABLE threads ADD COLUMN project_id TEXT
|
|
REFERENCES projects(id) ON DELETE SET NULL;
|
|
|
|
CREATE INDEX idx_projects_position
|
|
ON projects(position ASC, id ASC);
|
|
CREATE INDEX idx_threads_project_id
|
|
ON threads(project_id, archived, created_at_ms DESC, id DESC)
|
|
WHERE project_id IS NOT NULL;
|