# agent_plan ## Description
Table Definition ```sql CREATE TABLE "agent_plan" ("id" varchar PRIMARY KEY NOT NULL, "threadId" varchar(128) NOT NULL, "revision" integer NOT NULL DEFAULT (1), "formatVersion" integer NOT NULL, "data" text NOT NULL, "closedAt" datetime(3), "createdAt" datetime(3) NOT NULL DEFAULT (STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW')), "updatedAt" datetime(3) NOT NULL DEFAULT (STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW')), CONSTRAINT "CHK_agent_plan_revision" CHECK ("revision" > 0), CONSTRAINT "CHK_agent_plan_format_version" CHECK ("formatVersion" > 0), CONSTRAINT "FK_a72ec0a4fc0c1d6aa1d7a177e32" FOREIGN KEY ("threadId") REFERENCES "agent_execution_threads" ("id") ON DELETE CASCADE) ```
## Columns | Name | Type | Default | Nullable | Children | Parents | Comment | | ---- | ---- | ------- | -------- | -------- | ------- | ------- | | closedAt | datetime(3) | | true | | | | | createdAt | datetime(3) | STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW') | false | | | | | data | TEXT | | false | | | | | formatVersion | INTEGER | | false | | | | | id | varchar | | false | [agent_background_job](agent_background_job.md) [agent_plan_history](agent_plan_history.md) | | | | revision | INTEGER | 1 | false | | | | | threadId | varchar(128) | | false | | [agent_execution_threads](agent_execution_threads.md) | | | updatedAt | datetime(3) | STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW') | false | | | | ## Constraints | Name | Type | Definition | | ---- | ---- | ---------- | | - | CHECK | CHECK ("revision" > 0) | | - | CHECK | CHECK ("formatVersion" > 0) | | - (Foreign key ID: 0) | FOREIGN KEY | FOREIGN KEY (threadId) REFERENCES agent_execution_threads (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE | | id | PRIMARY KEY | PRIMARY KEY (id) | | sqlite_autoindex_agent_plan_1 | PRIMARY KEY | PRIMARY KEY (id) | ## Indexes | Name | Definition | | ---- | ---------- | | IDX_a72ec0a4fc0c1d6aa1d7a177e3 | CREATE INDEX "IDX_a72ec0a4fc0c1d6aa1d7a177e3" ON "agent_plan" ("threadId") | | IDX_agent_plan_threadId | CREATE UNIQUE INDEX "IDX_agent_plan_threadId" ON "agent_plan" ("threadId") WHERE "closedAt" IS NULL | | sqlite_autoindex_agent_plan_1 | PRIMARY KEY (id) | ## Relations ```mermaid erDiagram "agent_background_job" }o--o| "agent_plan" : "FOREIGN KEY (planId) REFERENCES agent_plan (id) ON UPDATE NO ACTION ON DELETE SET NULL MATCH NONE" "agent_plan_history" |o--|| "agent_plan" : "FOREIGN KEY (planId) REFERENCES agent_plan (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE" "agent_plan" }o--|| "agent_execution_threads" : "FOREIGN KEY (threadId) REFERENCES agent_execution_threads (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE" "agent_plan" { datetime_3_ closedAt datetime_3_ createdAt TEXT data INTEGER formatVersion varchar id PK INTEGER revision varchar_128_ threadId FK datetime_3_ updatedAt } "agent_background_job" { varchar_36_ childExecutionId varchar_128_ childThreadId datetime_3_ createdAt TEXT error TEXT files varchar_36_ id PK varchar_16_ kind datetime_3_ notifiedAt varchar_36_ parentAgentId FK varchar_64_ parentPrincipalHash varchar_255_ parentResourceId varchar_128_ parentThreadId varchar pauseRequestId varchar planId FK varchar planTaskId TEXT result datetime_3_ settledAt TEXT skippedFiles varchar_36_ sourceExecutionId FK varchar_16_ status varchar_36_ subAgentId datetime_3_ timeoutAt varchar_255_ title datetime_3_ updatedAt varchar_36_ workflowId } "agent_plan_history" { datetime_3_ closedAt datetime_3_ createdAt TEXT data INTEGER formatVersion varchar planId PK INTEGER revision PK } "agent_execution_threads" { varchar_16_ accessScope varchar_36_ agentId FK varchar_255_ agentName datetime_3_ createdAt varchar_8_ emoji varchar_128_ id PK varchar ownerId FK varchar_36_ parentAgentId varchar_128_ parentThreadId varchar_255_ projectId FK INTEGER sessionNumber varchar_32_ taskId TEXT taskStop varchar_36_ taskVersionId FK varchar_255_ title INTEGER totalCompletionTokens REAL totalCost INTEGER totalDuration INTEGER totalPromptTokens datetime_3_ updatedAt } ``` --- > Generated by [tbls](https://github.com/k1LoW/tbls)