Files
Codewalkers/apps/server/drizzle/meta/0035_snapshot.json
Lukas May 940b0f8ed2 feat: Add errands persistence layer — repository port, Drizzle adapter, migration, and tests
- Add errand-repository.ts port with ErrandRepository, ErrandWithAlias, ErrandStatus types
- Add DrizzleErrandRepository adapter with create, findById (left-joins agents for alias),
  findAll (optional projectId/status filters, desc by createdAt), update, delete
- Wire exports into repositories/index.ts and repositories/drizzle/index.ts
- Add migration 0035_faulty_human_fly.sql (CREATE TABLE errands) and drizzle snapshot
- Add 13 tests covering CRUD, filtering, ordering, agentAlias join, cascade/set-null FK behaviour
- Update docs/database.md to document the errands table and ErrandRepository

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-06 12:35:06 +01:00

1974 lines
51 KiB
JSON

{
"version": "6",
"dialect": "sqlite",
"id": "c84e499f-7df8-4091-b2a5-6b12847898bd",
"prevId": "5fbe1151-1dfb-4b0c-a7fa-2177369543fd",
"tables": {
"accounts": {
"name": "accounts",
"columns": {
"id": {
"name": "id",
"type": "text",
"primaryKey": true,
"notNull": true,
"autoincrement": false
},
"email": {
"name": "email",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"provider": {
"name": "provider",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false,
"default": "'claude'"
},
"config_json": {
"name": "config_json",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"credentials": {
"name": "credentials",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"is_exhausted": {
"name": "is_exhausted",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false,
"default": false
},
"exhausted_until": {
"name": "exhausted_until",
"type": "integer",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"last_used_at": {
"name": "last_used_at",
"type": "integer",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"sort_order": {
"name": "sort_order",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false,
"default": 0
},
"created_at": {
"name": "created_at",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"updated_at": {
"name": "updated_at",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false
}
},
"indexes": {},
"foreignKeys": {},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"checkConstraints": {}
},
"agent_log_chunks": {
"name": "agent_log_chunks",
"columns": {
"id": {
"name": "id",
"type": "text",
"primaryKey": true,
"notNull": true,
"autoincrement": false
},
"agent_id": {
"name": "agent_id",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"agent_name": {
"name": "agent_name",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"session_number": {
"name": "session_number",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false,
"default": 1
},
"content": {
"name": "content",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"created_at": {
"name": "created_at",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false
}
},
"indexes": {
"agent_log_chunks_agent_id_idx": {
"name": "agent_log_chunks_agent_id_idx",
"columns": [
"agent_id"
],
"isUnique": false
}
},
"foreignKeys": {},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"checkConstraints": {}
},
"agents": {
"name": "agents",
"columns": {
"id": {
"name": "id",
"type": "text",
"primaryKey": true,
"notNull": true,
"autoincrement": false
},
"name": {
"name": "name",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"task_id": {
"name": "task_id",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"initiative_id": {
"name": "initiative_id",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"session_id": {
"name": "session_id",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"worktree_id": {
"name": "worktree_id",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"provider": {
"name": "provider",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false,
"default": "'claude'"
},
"account_id": {
"name": "account_id",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"status": {
"name": "status",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false,
"default": "'idle'"
},
"mode": {
"name": "mode",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false,
"default": "'execute'"
},
"pid": {
"name": "pid",
"type": "integer",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"exit_code": {
"name": "exit_code",
"type": "integer",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"output_file_path": {
"name": "output_file_path",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"result": {
"name": "result",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"pending_questions": {
"name": "pending_questions",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"created_at": {
"name": "created_at",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"updated_at": {
"name": "updated_at",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"user_dismissed_at": {
"name": "user_dismissed_at",
"type": "integer",
"primaryKey": false,
"notNull": false,
"autoincrement": false
}
},
"indexes": {
"agents_name_unique": {
"name": "agents_name_unique",
"columns": [
"name"
],
"isUnique": true
}
},
"foreignKeys": {
"agents_task_id_tasks_id_fk": {
"name": "agents_task_id_tasks_id_fk",
"tableFrom": "agents",
"tableTo": "tasks",
"columnsFrom": [
"task_id"
],
"columnsTo": [
"id"
],
"onDelete": "set null",
"onUpdate": "no action"
},
"agents_initiative_id_initiatives_id_fk": {
"name": "agents_initiative_id_initiatives_id_fk",
"tableFrom": "agents",
"tableTo": "initiatives",
"columnsFrom": [
"initiative_id"
],
"columnsTo": [
"id"
],
"onDelete": "set null",
"onUpdate": "no action"
},
"agents_account_id_accounts_id_fk": {
"name": "agents_account_id_accounts_id_fk",
"tableFrom": "agents",
"tableTo": "accounts",
"columnsFrom": [
"account_id"
],
"columnsTo": [
"id"
],
"onDelete": "set null",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"checkConstraints": {}
},
"change_set_entries": {
"name": "change_set_entries",
"columns": {
"id": {
"name": "id",
"type": "text",
"primaryKey": true,
"notNull": true,
"autoincrement": false
},
"change_set_id": {
"name": "change_set_id",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"entity_type": {
"name": "entity_type",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"entity_id": {
"name": "entity_id",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"action": {
"name": "action",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"previous_state": {
"name": "previous_state",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"new_state": {
"name": "new_state",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"sort_order": {
"name": "sort_order",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false,
"default": 0
},
"created_at": {
"name": "created_at",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false
}
},
"indexes": {
"change_set_entries_change_set_id_idx": {
"name": "change_set_entries_change_set_id_idx",
"columns": [
"change_set_id"
],
"isUnique": false
}
},
"foreignKeys": {
"change_set_entries_change_set_id_change_sets_id_fk": {
"name": "change_set_entries_change_set_id_change_sets_id_fk",
"tableFrom": "change_set_entries",
"tableTo": "change_sets",
"columnsFrom": [
"change_set_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"checkConstraints": {}
},
"change_sets": {
"name": "change_sets",
"columns": {
"id": {
"name": "id",
"type": "text",
"primaryKey": true,
"notNull": true,
"autoincrement": false
},
"agent_id": {
"name": "agent_id",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"agent_name": {
"name": "agent_name",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"initiative_id": {
"name": "initiative_id",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"mode": {
"name": "mode",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"summary": {
"name": "summary",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"status": {
"name": "status",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false,
"default": "'applied'"
},
"reverted_at": {
"name": "reverted_at",
"type": "integer",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"created_at": {
"name": "created_at",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false
}
},
"indexes": {
"change_sets_initiative_id_idx": {
"name": "change_sets_initiative_id_idx",
"columns": [
"initiative_id"
],
"isUnique": false
}
},
"foreignKeys": {
"change_sets_agent_id_agents_id_fk": {
"name": "change_sets_agent_id_agents_id_fk",
"tableFrom": "change_sets",
"tableTo": "agents",
"columnsFrom": [
"agent_id"
],
"columnsTo": [
"id"
],
"onDelete": "set null",
"onUpdate": "no action"
},
"change_sets_initiative_id_initiatives_id_fk": {
"name": "change_sets_initiative_id_initiatives_id_fk",
"tableFrom": "change_sets",
"tableTo": "initiatives",
"columnsFrom": [
"initiative_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"checkConstraints": {}
},
"chat_messages": {
"name": "chat_messages",
"columns": {
"id": {
"name": "id",
"type": "text",
"primaryKey": true,
"notNull": true,
"autoincrement": false
},
"chat_session_id": {
"name": "chat_session_id",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"role": {
"name": "role",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"content": {
"name": "content",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"change_set_id": {
"name": "change_set_id",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"created_at": {
"name": "created_at",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false
}
},
"indexes": {
"chat_messages_session_id_idx": {
"name": "chat_messages_session_id_idx",
"columns": [
"chat_session_id"
],
"isUnique": false
}
},
"foreignKeys": {
"chat_messages_chat_session_id_chat_sessions_id_fk": {
"name": "chat_messages_chat_session_id_chat_sessions_id_fk",
"tableFrom": "chat_messages",
"tableTo": "chat_sessions",
"columnsFrom": [
"chat_session_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"chat_messages_change_set_id_change_sets_id_fk": {
"name": "chat_messages_change_set_id_change_sets_id_fk",
"tableFrom": "chat_messages",
"tableTo": "change_sets",
"columnsFrom": [
"change_set_id"
],
"columnsTo": [
"id"
],
"onDelete": "set null",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"checkConstraints": {}
},
"chat_sessions": {
"name": "chat_sessions",
"columns": {
"id": {
"name": "id",
"type": "text",
"primaryKey": true,
"notNull": true,
"autoincrement": false
},
"target_type": {
"name": "target_type",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"target_id": {
"name": "target_id",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"initiative_id": {
"name": "initiative_id",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"agent_id": {
"name": "agent_id",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"status": {
"name": "status",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false,
"default": "'active'"
},
"created_at": {
"name": "created_at",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"updated_at": {
"name": "updated_at",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false
}
},
"indexes": {
"chat_sessions_target_idx": {
"name": "chat_sessions_target_idx",
"columns": [
"target_type",
"target_id"
],
"isUnique": false
},
"chat_sessions_initiative_id_idx": {
"name": "chat_sessions_initiative_id_idx",
"columns": [
"initiative_id"
],
"isUnique": false
}
},
"foreignKeys": {
"chat_sessions_initiative_id_initiatives_id_fk": {
"name": "chat_sessions_initiative_id_initiatives_id_fk",
"tableFrom": "chat_sessions",
"tableTo": "initiatives",
"columnsFrom": [
"initiative_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"chat_sessions_agent_id_agents_id_fk": {
"name": "chat_sessions_agent_id_agents_id_fk",
"tableFrom": "chat_sessions",
"tableTo": "agents",
"columnsFrom": [
"agent_id"
],
"columnsTo": [
"id"
],
"onDelete": "set null",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"checkConstraints": {}
},
"conversations": {
"name": "conversations",
"columns": {
"id": {
"name": "id",
"type": "text",
"primaryKey": true,
"notNull": true,
"autoincrement": false
},
"from_agent_id": {
"name": "from_agent_id",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"to_agent_id": {
"name": "to_agent_id",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"initiative_id": {
"name": "initiative_id",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"phase_id": {
"name": "phase_id",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"task_id": {
"name": "task_id",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"question": {
"name": "question",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"answer": {
"name": "answer",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"status": {
"name": "status",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false,
"default": "'pending'"
},
"created_at": {
"name": "created_at",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"updated_at": {
"name": "updated_at",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false
}
},
"indexes": {
"conversations_to_agent_status_idx": {
"name": "conversations_to_agent_status_idx",
"columns": [
"to_agent_id",
"status"
],
"isUnique": false
},
"conversations_from_agent_idx": {
"name": "conversations_from_agent_idx",
"columns": [
"from_agent_id"
],
"isUnique": false
}
},
"foreignKeys": {
"conversations_from_agent_id_agents_id_fk": {
"name": "conversations_from_agent_id_agents_id_fk",
"tableFrom": "conversations",
"tableTo": "agents",
"columnsFrom": [
"from_agent_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"conversations_to_agent_id_agents_id_fk": {
"name": "conversations_to_agent_id_agents_id_fk",
"tableFrom": "conversations",
"tableTo": "agents",
"columnsFrom": [
"to_agent_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"conversations_initiative_id_initiatives_id_fk": {
"name": "conversations_initiative_id_initiatives_id_fk",
"tableFrom": "conversations",
"tableTo": "initiatives",
"columnsFrom": [
"initiative_id"
],
"columnsTo": [
"id"
],
"onDelete": "set null",
"onUpdate": "no action"
},
"conversations_phase_id_phases_id_fk": {
"name": "conversations_phase_id_phases_id_fk",
"tableFrom": "conversations",
"tableTo": "phases",
"columnsFrom": [
"phase_id"
],
"columnsTo": [
"id"
],
"onDelete": "set null",
"onUpdate": "no action"
},
"conversations_task_id_tasks_id_fk": {
"name": "conversations_task_id_tasks_id_fk",
"tableFrom": "conversations",
"tableTo": "tasks",
"columnsFrom": [
"task_id"
],
"columnsTo": [
"id"
],
"onDelete": "set null",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"checkConstraints": {}
},
"errands": {
"name": "errands",
"columns": {
"id": {
"name": "id",
"type": "text",
"primaryKey": true,
"notNull": true,
"autoincrement": false
},
"description": {
"name": "description",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"branch": {
"name": "branch",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"base_branch": {
"name": "base_branch",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false,
"default": "'main'"
},
"agent_id": {
"name": "agent_id",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"project_id": {
"name": "project_id",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"status": {
"name": "status",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false,
"default": "'active'"
},
"created_at": {
"name": "created_at",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"updated_at": {
"name": "updated_at",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false
}
},
"indexes": {},
"foreignKeys": {
"errands_agent_id_agents_id_fk": {
"name": "errands_agent_id_agents_id_fk",
"tableFrom": "errands",
"tableTo": "agents",
"columnsFrom": [
"agent_id"
],
"columnsTo": [
"id"
],
"onDelete": "set null",
"onUpdate": "no action"
},
"errands_project_id_projects_id_fk": {
"name": "errands_project_id_projects_id_fk",
"tableFrom": "errands",
"tableTo": "projects",
"columnsFrom": [
"project_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"checkConstraints": {}
},
"initiative_projects": {
"name": "initiative_projects",
"columns": {
"id": {
"name": "id",
"type": "text",
"primaryKey": true,
"notNull": true,
"autoincrement": false
},
"initiative_id": {
"name": "initiative_id",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"project_id": {
"name": "project_id",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"created_at": {
"name": "created_at",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false
}
},
"indexes": {
"initiative_project_unique": {
"name": "initiative_project_unique",
"columns": [
"initiative_id",
"project_id"
],
"isUnique": true
}
},
"foreignKeys": {
"initiative_projects_initiative_id_initiatives_id_fk": {
"name": "initiative_projects_initiative_id_initiatives_id_fk",
"tableFrom": "initiative_projects",
"tableTo": "initiatives",
"columnsFrom": [
"initiative_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"initiative_projects_project_id_projects_id_fk": {
"name": "initiative_projects_project_id_projects_id_fk",
"tableFrom": "initiative_projects",
"tableTo": "projects",
"columnsFrom": [
"project_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"checkConstraints": {}
},
"initiatives": {
"name": "initiatives",
"columns": {
"id": {
"name": "id",
"type": "text",
"primaryKey": true,
"notNull": true,
"autoincrement": false
},
"name": {
"name": "name",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"status": {
"name": "status",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false,
"default": "'active'"
},
"branch": {
"name": "branch",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"execution_mode": {
"name": "execution_mode",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false,
"default": "'review_per_phase'"
},
"created_at": {
"name": "created_at",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"updated_at": {
"name": "updated_at",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false
}
},
"indexes": {},
"foreignKeys": {},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"checkConstraints": {}
},
"messages": {
"name": "messages",
"columns": {
"id": {
"name": "id",
"type": "text",
"primaryKey": true,
"notNull": true,
"autoincrement": false
},
"sender_type": {
"name": "sender_type",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"sender_id": {
"name": "sender_id",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"recipient_type": {
"name": "recipient_type",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"recipient_id": {
"name": "recipient_id",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"type": {
"name": "type",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false,
"default": "'info'"
},
"content": {
"name": "content",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"requires_response": {
"name": "requires_response",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false,
"default": false
},
"status": {
"name": "status",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false,
"default": "'pending'"
},
"parent_message_id": {
"name": "parent_message_id",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"created_at": {
"name": "created_at",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"updated_at": {
"name": "updated_at",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false
}
},
"indexes": {},
"foreignKeys": {
"messages_sender_id_agents_id_fk": {
"name": "messages_sender_id_agents_id_fk",
"tableFrom": "messages",
"tableTo": "agents",
"columnsFrom": [
"sender_id"
],
"columnsTo": [
"id"
],
"onDelete": "set null",
"onUpdate": "no action"
},
"messages_recipient_id_agents_id_fk": {
"name": "messages_recipient_id_agents_id_fk",
"tableFrom": "messages",
"tableTo": "agents",
"columnsFrom": [
"recipient_id"
],
"columnsTo": [
"id"
],
"onDelete": "set null",
"onUpdate": "no action"
},
"messages_parent_message_id_messages_id_fk": {
"name": "messages_parent_message_id_messages_id_fk",
"tableFrom": "messages",
"tableTo": "messages",
"columnsFrom": [
"parent_message_id"
],
"columnsTo": [
"id"
],
"onDelete": "set null",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"checkConstraints": {}
},
"pages": {
"name": "pages",
"columns": {
"id": {
"name": "id",
"type": "text",
"primaryKey": true,
"notNull": true,
"autoincrement": false
},
"initiative_id": {
"name": "initiative_id",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"parent_page_id": {
"name": "parent_page_id",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"title": {
"name": "title",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"content": {
"name": "content",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"sort_order": {
"name": "sort_order",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false,
"default": 0
},
"created_at": {
"name": "created_at",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"updated_at": {
"name": "updated_at",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false
}
},
"indexes": {},
"foreignKeys": {
"pages_initiative_id_initiatives_id_fk": {
"name": "pages_initiative_id_initiatives_id_fk",
"tableFrom": "pages",
"tableTo": "initiatives",
"columnsFrom": [
"initiative_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"pages_parent_page_id_pages_id_fk": {
"name": "pages_parent_page_id_pages_id_fk",
"tableFrom": "pages",
"tableTo": "pages",
"columnsFrom": [
"parent_page_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"checkConstraints": {}
},
"phase_dependencies": {
"name": "phase_dependencies",
"columns": {
"id": {
"name": "id",
"type": "text",
"primaryKey": true,
"notNull": true,
"autoincrement": false
},
"phase_id": {
"name": "phase_id",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"depends_on_phase_id": {
"name": "depends_on_phase_id",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"created_at": {
"name": "created_at",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false
}
},
"indexes": {},
"foreignKeys": {
"phase_dependencies_phase_id_phases_id_fk": {
"name": "phase_dependencies_phase_id_phases_id_fk",
"tableFrom": "phase_dependencies",
"tableTo": "phases",
"columnsFrom": [
"phase_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"phase_dependencies_depends_on_phase_id_phases_id_fk": {
"name": "phase_dependencies_depends_on_phase_id_phases_id_fk",
"tableFrom": "phase_dependencies",
"tableTo": "phases",
"columnsFrom": [
"depends_on_phase_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"checkConstraints": {}
},
"phases": {
"name": "phases",
"columns": {
"id": {
"name": "id",
"type": "text",
"primaryKey": true,
"notNull": true,
"autoincrement": false
},
"initiative_id": {
"name": "initiative_id",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"name": {
"name": "name",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"content": {
"name": "content",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"status": {
"name": "status",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false,
"default": "'pending'"
},
"merge_base": {
"name": "merge_base",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"created_at": {
"name": "created_at",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"updated_at": {
"name": "updated_at",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false
}
},
"indexes": {},
"foreignKeys": {
"phases_initiative_id_initiatives_id_fk": {
"name": "phases_initiative_id_initiatives_id_fk",
"tableFrom": "phases",
"tableTo": "initiatives",
"columnsFrom": [
"initiative_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"checkConstraints": {}
},
"projects": {
"name": "projects",
"columns": {
"id": {
"name": "id",
"type": "text",
"primaryKey": true,
"notNull": true,
"autoincrement": false
},
"name": {
"name": "name",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"url": {
"name": "url",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"default_branch": {
"name": "default_branch",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false,
"default": "'main'"
},
"last_fetched_at": {
"name": "last_fetched_at",
"type": "integer",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"created_at": {
"name": "created_at",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"updated_at": {
"name": "updated_at",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false
}
},
"indexes": {
"projects_name_unique": {
"name": "projects_name_unique",
"columns": [
"name"
],
"isUnique": true
},
"projects_url_unique": {
"name": "projects_url_unique",
"columns": [
"url"
],
"isUnique": true
}
},
"foreignKeys": {},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"checkConstraints": {}
},
"review_comments": {
"name": "review_comments",
"columns": {
"id": {
"name": "id",
"type": "text",
"primaryKey": true,
"notNull": true,
"autoincrement": false
},
"phase_id": {
"name": "phase_id",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"file_path": {
"name": "file_path",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"line_number": {
"name": "line_number",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"line_type": {
"name": "line_type",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"body": {
"name": "body",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"author": {
"name": "author",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false,
"default": "'you'"
},
"parent_comment_id": {
"name": "parent_comment_id",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"resolved": {
"name": "resolved",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false,
"default": false
},
"created_at": {
"name": "created_at",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"updated_at": {
"name": "updated_at",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false
}
},
"indexes": {
"review_comments_phase_id_idx": {
"name": "review_comments_phase_id_idx",
"columns": [
"phase_id"
],
"isUnique": false
},
"review_comments_parent_id_idx": {
"name": "review_comments_parent_id_idx",
"columns": [
"parent_comment_id"
],
"isUnique": false
}
},
"foreignKeys": {
"review_comments_phase_id_phases_id_fk": {
"name": "review_comments_phase_id_phases_id_fk",
"tableFrom": "review_comments",
"tableTo": "phases",
"columnsFrom": [
"phase_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"review_comments_parent_comment_id_review_comments_id_fk": {
"name": "review_comments_parent_comment_id_review_comments_id_fk",
"tableFrom": "review_comments",
"tableTo": "review_comments",
"columnsFrom": [
"parent_comment_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"checkConstraints": {}
},
"task_dependencies": {
"name": "task_dependencies",
"columns": {
"id": {
"name": "id",
"type": "text",
"primaryKey": true,
"notNull": true,
"autoincrement": false
},
"task_id": {
"name": "task_id",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"depends_on_task_id": {
"name": "depends_on_task_id",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"created_at": {
"name": "created_at",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false
}
},
"indexes": {},
"foreignKeys": {
"task_dependencies_task_id_tasks_id_fk": {
"name": "task_dependencies_task_id_tasks_id_fk",
"tableFrom": "task_dependencies",
"tableTo": "tasks",
"columnsFrom": [
"task_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"task_dependencies_depends_on_task_id_tasks_id_fk": {
"name": "task_dependencies_depends_on_task_id_tasks_id_fk",
"tableFrom": "task_dependencies",
"tableTo": "tasks",
"columnsFrom": [
"depends_on_task_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"checkConstraints": {}
},
"tasks": {
"name": "tasks",
"columns": {
"id": {
"name": "id",
"type": "text",
"primaryKey": true,
"notNull": true,
"autoincrement": false
},
"phase_id": {
"name": "phase_id",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"initiative_id": {
"name": "initiative_id",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"parent_task_id": {
"name": "parent_task_id",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"name": {
"name": "name",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"description": {
"name": "description",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"type": {
"name": "type",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false,
"default": "'auto'"
},
"category": {
"name": "category",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false,
"default": "'execute'"
},
"priority": {
"name": "priority",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false,
"default": "'medium'"
},
"status": {
"name": "status",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false,
"default": "'pending'"
},
"order": {
"name": "order",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false,
"default": 0
},
"summary": {
"name": "summary",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"retry_count": {
"name": "retry_count",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false,
"default": 0
},
"created_at": {
"name": "created_at",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"updated_at": {
"name": "updated_at",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false
}
},
"indexes": {},
"foreignKeys": {
"tasks_phase_id_phases_id_fk": {
"name": "tasks_phase_id_phases_id_fk",
"tableFrom": "tasks",
"tableTo": "phases",
"columnsFrom": [
"phase_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"tasks_initiative_id_initiatives_id_fk": {
"name": "tasks_initiative_id_initiatives_id_fk",
"tableFrom": "tasks",
"tableTo": "initiatives",
"columnsFrom": [
"initiative_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"tasks_parent_task_id_tasks_id_fk": {
"name": "tasks_parent_task_id_tasks_id_fk",
"tableFrom": "tasks",
"tableTo": "tasks",
"columnsFrom": [
"parent_task_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"checkConstraints": {}
}
},
"views": {},
"enums": {},
"_meta": {
"schemas": {},
"tables": {},
"columns": {}
},
"internal": {
"indexes": {}
}
}