agor-live 0.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (297) hide show
  1. package/LICENSE +94 -0
  2. package/README.md +163 -0
  3. package/bin/agor-daemon.js +20 -0
  4. package/bin/agor.js +14 -0
  5. package/dist/cli/base-command.d.ts +29 -0
  6. package/dist/cli/base-command.js +41 -0
  7. package/dist/cli/commands/board/add-session.d.ts +15 -0
  8. package/dist/cli/commands/board/add-session.js +102 -0
  9. package/dist/cli/commands/board/list.d.ts +14 -0
  10. package/dist/cli/commands/board/list.js +74 -0
  11. package/dist/cli/commands/config/clear.d.ts +13 -0
  12. package/dist/cli/commands/config/clear.js +21 -0
  13. package/dist/cli/commands/config/get.d.ts +13 -0
  14. package/dist/cli/commands/config/get.js +41 -0
  15. package/dist/cli/commands/config/index.d.ts +13 -0
  16. package/dist/cli/commands/config/index.js +118 -0
  17. package/dist/cli/commands/config/set.d.ts +14 -0
  18. package/dist/cli/commands/config/set.js +50 -0
  19. package/dist/cli/commands/config/unset.d.ts +13 -0
  20. package/dist/cli/commands/config/unset.js +35 -0
  21. package/dist/cli/commands/daemon/index.d.ts +13 -0
  22. package/dist/cli/commands/daemon/index.js +65 -0
  23. package/dist/cli/commands/daemon/logs.d.ts +13 -0
  24. package/dist/cli/commands/daemon/logs.js +78 -0
  25. package/dist/cli/commands/daemon/restart.d.ts +13 -0
  26. package/dist/cli/commands/daemon/restart.js +177 -0
  27. package/dist/cli/commands/daemon/start.d.ts +13 -0
  28. package/dist/cli/commands/daemon/start.js +193 -0
  29. package/dist/cli/commands/daemon/status.d.ts +13 -0
  30. package/dist/cli/commands/daemon/status.js +93 -0
  31. package/dist/cli/commands/daemon/stop.d.ts +13 -0
  32. package/dist/cli/commands/daemon/stop.js +108 -0
  33. package/dist/cli/commands/init.d.ts +44 -0
  34. package/dist/cli/commands/init.js +459 -0
  35. package/dist/cli/commands/mcp/add.d.ts +26 -0
  36. package/dist/cli/commands/mcp/add.js +162 -0
  37. package/dist/cli/commands/mcp/list.d.ts +16 -0
  38. package/dist/cli/commands/mcp/list.js +89 -0
  39. package/dist/cli/commands/mcp/remove.d.ts +17 -0
  40. package/dist/cli/commands/mcp/remove.js +86 -0
  41. package/dist/cli/commands/mcp/show.d.ts +14 -0
  42. package/dist/cli/commands/mcp/show.js +131 -0
  43. package/dist/cli/commands/repo/add.d.ts +16 -0
  44. package/dist/cli/commands/repo/add.js +105 -0
  45. package/dist/cli/commands/repo/list.d.ts +17 -0
  46. package/dist/cli/commands/repo/list.js +99 -0
  47. package/dist/cli/commands/repo/rm.d.ts +17 -0
  48. package/dist/cli/commands/repo/rm.js +126 -0
  49. package/dist/cli/commands/repo/worktree/add.d.ts +21 -0
  50. package/dist/cli/commands/repo/worktree/add.js +145 -0
  51. package/dist/cli/commands/repo/worktree/list.d.ts +21 -0
  52. package/dist/cli/commands/repo/worktree/list.js +136 -0
  53. package/dist/cli/commands/session/list.d.ts +30 -0
  54. package/dist/cli/commands/session/list.js +204 -0
  55. package/dist/cli/commands/session/load-claude.d.ts +16 -0
  56. package/dist/cli/commands/session/load-claude.js +211 -0
  57. package/dist/cli/commands/user/create-admin.d.ts +13 -0
  58. package/dist/cli/commands/user/create-admin.js +65 -0
  59. package/dist/cli/commands/user/create.d.ts +16 -0
  60. package/dist/cli/commands/user/create.js +126 -0
  61. package/dist/cli/commands/user/delete.d.ts +16 -0
  62. package/dist/cli/commands/user/delete.js +77 -0
  63. package/dist/cli/commands/user/list.d.ts +13 -0
  64. package/dist/cli/commands/user/list.js +78 -0
  65. package/dist/cli/commands/user/update.d.ts +19 -0
  66. package/dist/cli/commands/user/update.js +149 -0
  67. package/dist/cli/hooks/command-not-found.d.ts +9 -0
  68. package/dist/cli/hooks/command-not-found.js +14 -0
  69. package/dist/cli/lib/banner.d.ts +25 -0
  70. package/dist/cli/lib/banner.js +25 -0
  71. package/dist/cli/lib/context.d.ts +27 -0
  72. package/dist/cli/lib/context.js +32 -0
  73. package/dist/cli/lib/daemon-manager.d.ts +48 -0
  74. package/dist/cli/lib/daemon-manager.js +109 -0
  75. package/dist/cli/lib/help.d.ts +13 -0
  76. package/dist/cli/lib/help.js +46 -0
  77. package/dist/core/agentic-tool-B_gFNpk5.d.ts +33 -0
  78. package/dist/core/agentic-tool-DsyX8diw.d.cts +33 -0
  79. package/dist/core/api/index.cjs +98 -0
  80. package/dist/core/api/index.d.cts +174 -0
  81. package/dist/core/api/index.d.ts +174 -0
  82. package/dist/core/api/index.js +62 -0
  83. package/dist/core/board-comment-BUm0fpmD.d.cts +134 -0
  84. package/dist/core/board-comment-gC_-twPx.d.ts +134 -0
  85. package/dist/core/claude/index.cjs +673 -0
  86. package/dist/core/claude/index.d.cts +124 -0
  87. package/dist/core/claude/index.d.ts +124 -0
  88. package/dist/core/claude/index.js +629 -0
  89. package/dist/core/config/browser.cjs +165 -0
  90. package/dist/core/config/browser.d.cts +289 -0
  91. package/dist/core/config/browser.d.ts +289 -0
  92. package/dist/core/config/browser.js +131 -0
  93. package/dist/core/config/index.cjs +518 -0
  94. package/dist/core/config/index.d.cts +246 -0
  95. package/dist/core/config/index.d.ts +246 -0
  96. package/dist/core/config/index.js +451 -0
  97. package/dist/core/db/index.cjs +3726 -0
  98. package/dist/core/db/index.d.cts +631 -0
  99. package/dist/core/db/index.d.ts +631 -0
  100. package/dist/core/db/index.js +3649 -0
  101. package/dist/core/dist/agentic-tool-B_gFNpk5.d.ts +33 -0
  102. package/dist/core/dist/agentic-tool-DsyX8diw.d.cts +33 -0
  103. package/dist/core/dist/api/index.cjs +98 -0
  104. package/dist/core/dist/api/index.d.cts +174 -0
  105. package/dist/core/dist/api/index.d.ts +174 -0
  106. package/dist/core/dist/api/index.js +62 -0
  107. package/dist/core/dist/board-comment-BUm0fpmD.d.cts +134 -0
  108. package/dist/core/dist/board-comment-gC_-twPx.d.ts +134 -0
  109. package/dist/core/dist/claude/index.cjs +673 -0
  110. package/dist/core/dist/claude/index.d.cts +124 -0
  111. package/dist/core/dist/claude/index.d.ts +124 -0
  112. package/dist/core/dist/claude/index.js +629 -0
  113. package/dist/core/dist/config/browser.cjs +165 -0
  114. package/dist/core/dist/config/browser.d.cts +289 -0
  115. package/dist/core/dist/config/browser.d.ts +289 -0
  116. package/dist/core/dist/config/browser.js +131 -0
  117. package/dist/core/dist/config/index.cjs +518 -0
  118. package/dist/core/dist/config/index.d.cts +246 -0
  119. package/dist/core/dist/config/index.d.ts +246 -0
  120. package/dist/core/dist/config/index.js +451 -0
  121. package/dist/core/dist/db/index.cjs +3726 -0
  122. package/dist/core/dist/db/index.d.cts +631 -0
  123. package/dist/core/dist/db/index.d.ts +631 -0
  124. package/dist/core/dist/db/index.js +3649 -0
  125. package/dist/core/dist/environment/variable-resolver.cjs +92 -0
  126. package/dist/core/dist/environment/variable-resolver.d.cts +52 -0
  127. package/dist/core/dist/environment/variable-resolver.d.ts +52 -0
  128. package/dist/core/dist/environment/variable-resolver.js +53 -0
  129. package/dist/core/dist/feathers/index.cjs +66 -0
  130. package/dist/core/dist/feathers/index.d.cts +7 -0
  131. package/dist/core/dist/feathers/index.d.ts +7 -0
  132. package/dist/core/dist/feathers/index.js +25 -0
  133. package/dist/core/dist/feathers-BzHEPnpl.d.cts +228 -0
  134. package/dist/core/dist/feathers-BzHEPnpl.d.ts +228 -0
  135. package/dist/core/dist/git/index.cjs +302 -0
  136. package/dist/core/dist/git/index.d.cts +137 -0
  137. package/dist/core/dist/git/index.d.ts +137 -0
  138. package/dist/core/dist/git/index.js +260 -0
  139. package/dist/core/dist/id-DMqyogFB.d.cts +131 -0
  140. package/dist/core/dist/id-DMqyogFB.d.ts +131 -0
  141. package/dist/core/dist/index.cjs +4653 -0
  142. package/dist/core/dist/index.d.cts +23 -0
  143. package/dist/core/dist/index.d.ts +23 -0
  144. package/dist/core/dist/index.js +4509 -0
  145. package/dist/core/dist/message-BoxZISHg.d.cts +120 -0
  146. package/dist/core/dist/message-DvBzHu7V.d.ts +120 -0
  147. package/dist/core/dist/permissions/index.cjs +112 -0
  148. package/dist/core/dist/permissions/index.d.cts +81 -0
  149. package/dist/core/dist/permissions/index.d.ts +81 -0
  150. package/dist/core/dist/permissions/index.js +85 -0
  151. package/dist/core/dist/repo-3CUrCRbq.d.cts +405 -0
  152. package/dist/core/dist/repo-CnvJ0B6-.d.ts +405 -0
  153. package/dist/core/dist/session-BPjJlVdZ.d.cts +429 -0
  154. package/dist/core/dist/session-wAzjHatv.d.ts +429 -0
  155. package/dist/core/dist/task-BIEgT1DK.d.cts +163 -0
  156. package/dist/core/dist/task-DuIfiUbW.d.ts +163 -0
  157. package/dist/core/dist/templates/handlebars-helpers.cjs +156 -0
  158. package/dist/core/dist/templates/handlebars-helpers.d.cts +45 -0
  159. package/dist/core/dist/templates/handlebars-helpers.d.ts +45 -0
  160. package/dist/core/dist/templates/handlebars-helpers.js +119 -0
  161. package/dist/core/dist/tools/claude/models.cjs +70 -0
  162. package/dist/core/dist/tools/claude/models.d.cts +27 -0
  163. package/dist/core/dist/tools/claude/models.d.ts +27 -0
  164. package/dist/core/dist/tools/claude/models.js +44 -0
  165. package/dist/core/dist/tools/index.cjs +3367 -0
  166. package/dist/core/dist/tools/index.d.cts +967 -0
  167. package/dist/core/dist/tools/index.d.ts +967 -0
  168. package/dist/core/dist/tools/index.js +3314 -0
  169. package/dist/core/dist/tools/models.cjs +119 -0
  170. package/dist/core/dist/tools/models.d.cts +47 -0
  171. package/dist/core/dist/tools/models.d.ts +47 -0
  172. package/dist/core/dist/tools/models.js +86 -0
  173. package/dist/core/dist/types/index.cjs +152 -0
  174. package/dist/core/dist/types/index.d.cts +214 -0
  175. package/dist/core/dist/types/index.d.ts +214 -0
  176. package/dist/core/dist/types/index.js +112 -0
  177. package/dist/core/dist/user-BmL3kFol.d.ts +50 -0
  178. package/dist/core/dist/user-eUuKj7yM.d.cts +50 -0
  179. package/dist/core/dist/utils/pricing.cjs +102 -0
  180. package/dist/core/dist/utils/pricing.d.cts +43 -0
  181. package/dist/core/dist/utils/pricing.d.ts +43 -0
  182. package/dist/core/dist/utils/pricing.js +75 -0
  183. package/dist/core/dist/worktrees-BzIxB1U6.d.cts +2745 -0
  184. package/dist/core/dist/worktrees-CYem1ya2.d.ts +2745 -0
  185. package/dist/core/environment/variable-resolver.cjs +92 -0
  186. package/dist/core/environment/variable-resolver.d.cts +52 -0
  187. package/dist/core/environment/variable-resolver.d.ts +52 -0
  188. package/dist/core/environment/variable-resolver.js +53 -0
  189. package/dist/core/feathers/index.cjs +66 -0
  190. package/dist/core/feathers/index.d.cts +7 -0
  191. package/dist/core/feathers/index.d.ts +7 -0
  192. package/dist/core/feathers/index.js +25 -0
  193. package/dist/core/feathers-BzHEPnpl.d.cts +228 -0
  194. package/dist/core/feathers-BzHEPnpl.d.ts +228 -0
  195. package/dist/core/git/index.cjs +302 -0
  196. package/dist/core/git/index.d.cts +137 -0
  197. package/dist/core/git/index.d.ts +137 -0
  198. package/dist/core/git/index.js +260 -0
  199. package/dist/core/id-DMqyogFB.d.cts +131 -0
  200. package/dist/core/id-DMqyogFB.d.ts +131 -0
  201. package/dist/core/index.cjs +4653 -0
  202. package/dist/core/index.d.cts +23 -0
  203. package/dist/core/index.d.ts +23 -0
  204. package/dist/core/index.js +4509 -0
  205. package/dist/core/message-BoxZISHg.d.cts +120 -0
  206. package/dist/core/message-DvBzHu7V.d.ts +120 -0
  207. package/dist/core/package.json +133 -0
  208. package/dist/core/permissions/index.cjs +112 -0
  209. package/dist/core/permissions/index.d.cts +81 -0
  210. package/dist/core/permissions/index.d.ts +81 -0
  211. package/dist/core/permissions/index.js +85 -0
  212. package/dist/core/repo-3CUrCRbq.d.cts +405 -0
  213. package/dist/core/repo-CnvJ0B6-.d.ts +405 -0
  214. package/dist/core/session-BPjJlVdZ.d.cts +429 -0
  215. package/dist/core/session-wAzjHatv.d.ts +429 -0
  216. package/dist/core/task-BIEgT1DK.d.cts +163 -0
  217. package/dist/core/task-DuIfiUbW.d.ts +163 -0
  218. package/dist/core/templates/handlebars-helpers.cjs +156 -0
  219. package/dist/core/templates/handlebars-helpers.d.cts +45 -0
  220. package/dist/core/templates/handlebars-helpers.d.ts +45 -0
  221. package/dist/core/templates/handlebars-helpers.js +119 -0
  222. package/dist/core/tools/claude/models.cjs +70 -0
  223. package/dist/core/tools/claude/models.d.cts +27 -0
  224. package/dist/core/tools/claude/models.d.ts +27 -0
  225. package/dist/core/tools/claude/models.js +44 -0
  226. package/dist/core/tools/index.cjs +3367 -0
  227. package/dist/core/tools/index.d.cts +967 -0
  228. package/dist/core/tools/index.d.ts +967 -0
  229. package/dist/core/tools/index.js +3314 -0
  230. package/dist/core/tools/models.cjs +119 -0
  231. package/dist/core/tools/models.d.cts +47 -0
  232. package/dist/core/tools/models.d.ts +47 -0
  233. package/dist/core/tools/models.js +86 -0
  234. package/dist/core/types/index.cjs +152 -0
  235. package/dist/core/types/index.d.cts +214 -0
  236. package/dist/core/types/index.d.ts +214 -0
  237. package/dist/core/types/index.js +112 -0
  238. package/dist/core/user-BmL3kFol.d.ts +50 -0
  239. package/dist/core/user-eUuKj7yM.d.cts +50 -0
  240. package/dist/core/utils/pricing.cjs +102 -0
  241. package/dist/core/utils/pricing.d.cts +43 -0
  242. package/dist/core/utils/pricing.d.ts +43 -0
  243. package/dist/core/utils/pricing.js +75 -0
  244. package/dist/core/worktrees-BzIxB1U6.d.cts +2745 -0
  245. package/dist/core/worktrees-CYem1ya2.d.ts +2745 -0
  246. package/dist/daemon/adapters/drizzle.d.ts +114 -0
  247. package/dist/daemon/adapters/drizzle.js +219 -0
  248. package/dist/daemon/declarations.d.ts +101 -0
  249. package/dist/daemon/declarations.js +0 -0
  250. package/dist/daemon/index.d.ts +2 -0
  251. package/dist/daemon/index.js +4093 -0
  252. package/dist/daemon/mcp/routes.d.ts +15 -0
  253. package/dist/daemon/mcp/routes.js +641 -0
  254. package/dist/daemon/mcp/tokens.d.ts +50 -0
  255. package/dist/daemon/mcp/tokens.js +85 -0
  256. package/dist/daemon/services/board-comments.d.ts +97 -0
  257. package/dist/daemon/services/board-comments.js +326 -0
  258. package/dist/daemon/services/board-objects.d.ts +71 -0
  259. package/dist/daemon/services/board-objects.js +117 -0
  260. package/dist/daemon/services/boards.d.ts +64 -0
  261. package/dist/daemon/services/boards.js +286 -0
  262. package/dist/daemon/services/config.d.ts +35 -0
  263. package/dist/daemon/services/config.js +68 -0
  264. package/dist/daemon/services/context.d.ts +55 -0
  265. package/dist/daemon/services/context.js +113 -0
  266. package/dist/daemon/services/health-monitor.d.ts +58 -0
  267. package/dist/daemon/services/health-monitor.js +158 -0
  268. package/dist/daemon/services/mcp-servers.d.ts +42 -0
  269. package/dist/daemon/services/mcp-servers.js +275 -0
  270. package/dist/daemon/services/messages.d.ts +49 -0
  271. package/dist/daemon/services/messages.js +269 -0
  272. package/dist/daemon/services/repos.d.ts +61 -0
  273. package/dist/daemon/services/repos.js +350 -0
  274. package/dist/daemon/services/session-mcp-servers.d.ts +56 -0
  275. package/dist/daemon/services/session-mcp-servers.js +51 -0
  276. package/dist/daemon/services/sessions.d.ts +64 -0
  277. package/dist/daemon/services/sessions.js +398 -0
  278. package/dist/daemon/services/tasks.d.ts +55 -0
  279. package/dist/daemon/services/tasks.js +318 -0
  280. package/dist/daemon/services/terminals.d.ts +75 -0
  281. package/dist/daemon/services/terminals.js +110 -0
  282. package/dist/daemon/services/users.d.ts +98 -0
  283. package/dist/daemon/services/users.js +177 -0
  284. package/dist/daemon/services/worktrees.d.ts +98 -0
  285. package/dist/daemon/services/worktrees.js +719 -0
  286. package/dist/daemon/strategies/anonymous.d.ts +20 -0
  287. package/dist/daemon/strategies/anonymous.js +32 -0
  288. package/dist/ui/assets/cc-CYmbalCD.png +0 -0
  289. package/dist/ui/assets/codex-4sLD1mVS.png +0 -0
  290. package/dist/ui/assets/cursor-BUy5pFVL.png +0 -0
  291. package/dist/ui/assets/gemini-ajOb7iAl.png +0 -0
  292. package/dist/ui/assets/index-Dc4ELxry.css +32 -0
  293. package/dist/ui/assets/index-KfIu8v4V.js +578 -0
  294. package/dist/ui/favicon.png +0 -0
  295. package/dist/ui/index.html +26 -0
  296. package/dist/ui/vite.svg +1 -0
  297. package/package.json +90 -0
@@ -0,0 +1,2745 @@
1
+ import { x as Session, P as PermissionMode, e as BoardObject, p as MCPServer, r as CreateMCPServerInput, U as UpdateMCPServerInput, q as MCPServerFilters, M as MCPServerID, S as SessionMCPServer } from './session-BPjJlVdZ.cjs';
2
+ import { d as Message } from './message-BoxZISHg.cjs';
3
+ import { M as MessageID, a as SessionID, T as TaskID, U as UUID, W as WorktreeID } from './id-DMqyogFB.cjs';
4
+ import { c as Worktree } from './repo-3CUrCRbq.cjs';
5
+ import { LibSQLDatabase } from 'drizzle-orm/libsql';
6
+ import { e as Task } from './task-BIEgT1DK.cjs';
7
+ import * as drizzle_orm_sqlite_core from 'drizzle-orm/sqlite-core';
8
+
9
+ /**
10
+ * Sessions table - Core primitive for all agentic tool interactions
11
+ *
12
+ * Hybrid schema strategy:
13
+ * - Materialize columns we filter/join by (status, genealogy, agentic_tool, board)
14
+ * - JSON blob for nested/rarely-queried data (git_state, repo config, etc.)
15
+ */
16
+ declare const sessions: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
17
+ name: "sessions";
18
+ schema: undefined;
19
+ columns: {
20
+ session_id: drizzle_orm_sqlite_core.SQLiteColumn<{
21
+ name: "session_id";
22
+ tableName: "sessions";
23
+ dataType: "string";
24
+ columnType: "SQLiteText";
25
+ data: string;
26
+ driverParam: string;
27
+ notNull: true;
28
+ hasDefault: false;
29
+ isPrimaryKey: true;
30
+ isAutoincrement: false;
31
+ hasRuntimeDefault: false;
32
+ enumValues: [string, ...string[]];
33
+ baseColumn: never;
34
+ identity: undefined;
35
+ generated: undefined;
36
+ }, {}, {
37
+ length: 36;
38
+ }>;
39
+ created_at: drizzle_orm_sqlite_core.SQLiteColumn<{
40
+ name: "created_at";
41
+ tableName: "sessions";
42
+ dataType: "date";
43
+ columnType: "SQLiteTimestamp";
44
+ data: Date;
45
+ driverParam: number;
46
+ notNull: true;
47
+ hasDefault: false;
48
+ isPrimaryKey: false;
49
+ isAutoincrement: false;
50
+ hasRuntimeDefault: false;
51
+ enumValues: undefined;
52
+ baseColumn: never;
53
+ identity: undefined;
54
+ generated: undefined;
55
+ }, {}, {}>;
56
+ updated_at: drizzle_orm_sqlite_core.SQLiteColumn<{
57
+ name: "updated_at";
58
+ tableName: "sessions";
59
+ dataType: "date";
60
+ columnType: "SQLiteTimestamp";
61
+ data: Date;
62
+ driverParam: number;
63
+ notNull: false;
64
+ hasDefault: false;
65
+ isPrimaryKey: false;
66
+ isAutoincrement: false;
67
+ hasRuntimeDefault: false;
68
+ enumValues: undefined;
69
+ baseColumn: never;
70
+ identity: undefined;
71
+ generated: undefined;
72
+ }, {}, {}>;
73
+ created_by: drizzle_orm_sqlite_core.SQLiteColumn<{
74
+ name: "created_by";
75
+ tableName: "sessions";
76
+ dataType: "string";
77
+ columnType: "SQLiteText";
78
+ data: string;
79
+ driverParam: string;
80
+ notNull: true;
81
+ hasDefault: true;
82
+ isPrimaryKey: false;
83
+ isAutoincrement: false;
84
+ hasRuntimeDefault: false;
85
+ enumValues: [string, ...string[]];
86
+ baseColumn: never;
87
+ identity: undefined;
88
+ generated: undefined;
89
+ }, {}, {
90
+ length: 36;
91
+ }>;
92
+ status: drizzle_orm_sqlite_core.SQLiteColumn<{
93
+ name: "status";
94
+ tableName: "sessions";
95
+ dataType: "string";
96
+ columnType: "SQLiteText";
97
+ data: "running" | "idle" | "completed" | "failed";
98
+ driverParam: string;
99
+ notNull: true;
100
+ hasDefault: false;
101
+ isPrimaryKey: false;
102
+ isAutoincrement: false;
103
+ hasRuntimeDefault: false;
104
+ enumValues: ["idle", "running", "completed", "failed"];
105
+ baseColumn: never;
106
+ identity: undefined;
107
+ generated: undefined;
108
+ }, {}, {
109
+ length: number | undefined;
110
+ }>;
111
+ agentic_tool: drizzle_orm_sqlite_core.SQLiteColumn<{
112
+ name: "agentic_tool";
113
+ tableName: "sessions";
114
+ dataType: "string";
115
+ columnType: "SQLiteText";
116
+ data: "claude-code" | "cursor" | "codex" | "gemini";
117
+ driverParam: string;
118
+ notNull: true;
119
+ hasDefault: false;
120
+ isPrimaryKey: false;
121
+ isAutoincrement: false;
122
+ hasRuntimeDefault: false;
123
+ enumValues: ["claude-code", "cursor", "codex", "gemini"];
124
+ baseColumn: never;
125
+ identity: undefined;
126
+ generated: undefined;
127
+ }, {}, {
128
+ length: number | undefined;
129
+ }>;
130
+ board_id: drizzle_orm_sqlite_core.SQLiteColumn<{
131
+ name: "board_id";
132
+ tableName: "sessions";
133
+ dataType: "string";
134
+ columnType: "SQLiteText";
135
+ data: string;
136
+ driverParam: string;
137
+ notNull: false;
138
+ hasDefault: false;
139
+ isPrimaryKey: false;
140
+ isAutoincrement: false;
141
+ hasRuntimeDefault: false;
142
+ enumValues: [string, ...string[]];
143
+ baseColumn: never;
144
+ identity: undefined;
145
+ generated: undefined;
146
+ }, {}, {
147
+ length: 36;
148
+ }>;
149
+ parent_session_id: drizzle_orm_sqlite_core.SQLiteColumn<{
150
+ name: "parent_session_id";
151
+ tableName: "sessions";
152
+ dataType: "string";
153
+ columnType: "SQLiteText";
154
+ data: string;
155
+ driverParam: string;
156
+ notNull: false;
157
+ hasDefault: false;
158
+ isPrimaryKey: false;
159
+ isAutoincrement: false;
160
+ hasRuntimeDefault: false;
161
+ enumValues: [string, ...string[]];
162
+ baseColumn: never;
163
+ identity: undefined;
164
+ generated: undefined;
165
+ }, {}, {
166
+ length: 36;
167
+ }>;
168
+ forked_from_session_id: drizzle_orm_sqlite_core.SQLiteColumn<{
169
+ name: "forked_from_session_id";
170
+ tableName: "sessions";
171
+ dataType: "string";
172
+ columnType: "SQLiteText";
173
+ data: string;
174
+ driverParam: string;
175
+ notNull: false;
176
+ hasDefault: false;
177
+ isPrimaryKey: false;
178
+ isAutoincrement: false;
179
+ hasRuntimeDefault: false;
180
+ enumValues: [string, ...string[]];
181
+ baseColumn: never;
182
+ identity: undefined;
183
+ generated: undefined;
184
+ }, {}, {
185
+ length: 36;
186
+ }>;
187
+ worktree_id: drizzle_orm_sqlite_core.SQLiteColumn<{
188
+ name: "worktree_id";
189
+ tableName: "sessions";
190
+ dataType: "string";
191
+ columnType: "SQLiteText";
192
+ data: string;
193
+ driverParam: string;
194
+ notNull: true;
195
+ hasDefault: false;
196
+ isPrimaryKey: false;
197
+ isAutoincrement: false;
198
+ hasRuntimeDefault: false;
199
+ enumValues: [string, ...string[]];
200
+ baseColumn: never;
201
+ identity: undefined;
202
+ generated: undefined;
203
+ }, {}, {
204
+ length: 36;
205
+ }>;
206
+ data: drizzle_orm_sqlite_core.SQLiteColumn<{
207
+ name: "data";
208
+ tableName: "sessions";
209
+ dataType: "json";
210
+ columnType: "SQLiteTextJson";
211
+ data: {
212
+ agentic_tool_version?: string;
213
+ sdk_session_id?: string;
214
+ mcp_token?: string;
215
+ title?: string;
216
+ description?: string;
217
+ git_state: Session["git_state"];
218
+ genealogy: {
219
+ fork_point_task_id?: string;
220
+ fork_point_message_index?: number;
221
+ spawn_point_task_id?: string;
222
+ spawn_point_message_index?: number;
223
+ children: string[];
224
+ };
225
+ contextFiles: string[];
226
+ tasks: string[];
227
+ message_count: number;
228
+ tool_use_count: number;
229
+ permission_config?: {
230
+ allowedTools?: string[];
231
+ mode?: PermissionMode;
232
+ };
233
+ model_config?: {
234
+ mode: "alias" | "exact";
235
+ model: string;
236
+ updated_at: string;
237
+ notes?: string;
238
+ };
239
+ custom_context?: Record<string, unknown>;
240
+ };
241
+ driverParam: string;
242
+ notNull: true;
243
+ hasDefault: false;
244
+ isPrimaryKey: false;
245
+ isAutoincrement: false;
246
+ hasRuntimeDefault: false;
247
+ enumValues: undefined;
248
+ baseColumn: never;
249
+ identity: undefined;
250
+ generated: undefined;
251
+ }, {}, {
252
+ $type: {
253
+ agentic_tool_version?: string;
254
+ sdk_session_id?: string;
255
+ mcp_token?: string;
256
+ title?: string;
257
+ description?: string;
258
+ git_state: Session["git_state"];
259
+ genealogy: {
260
+ fork_point_task_id?: string;
261
+ fork_point_message_index?: number;
262
+ spawn_point_task_id?: string;
263
+ spawn_point_message_index?: number;
264
+ children: string[];
265
+ };
266
+ contextFiles: string[];
267
+ tasks: string[];
268
+ message_count: number;
269
+ tool_use_count: number;
270
+ permission_config?: {
271
+ allowedTools?: string[];
272
+ mode?: PermissionMode;
273
+ };
274
+ model_config?: {
275
+ mode: "alias" | "exact";
276
+ model: string;
277
+ updated_at: string;
278
+ notes?: string;
279
+ };
280
+ custom_context?: Record<string, unknown>;
281
+ };
282
+ }>;
283
+ };
284
+ dialect: "sqlite";
285
+ }>;
286
+ /**
287
+ * Tasks table - Granular work units within sessions
288
+ */
289
+ declare const tasks: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
290
+ name: "tasks";
291
+ schema: undefined;
292
+ columns: {
293
+ task_id: drizzle_orm_sqlite_core.SQLiteColumn<{
294
+ name: "task_id";
295
+ tableName: "tasks";
296
+ dataType: "string";
297
+ columnType: "SQLiteText";
298
+ data: string;
299
+ driverParam: string;
300
+ notNull: true;
301
+ hasDefault: false;
302
+ isPrimaryKey: true;
303
+ isAutoincrement: false;
304
+ hasRuntimeDefault: false;
305
+ enumValues: [string, ...string[]];
306
+ baseColumn: never;
307
+ identity: undefined;
308
+ generated: undefined;
309
+ }, {}, {
310
+ length: 36;
311
+ }>;
312
+ session_id: drizzle_orm_sqlite_core.SQLiteColumn<{
313
+ name: "session_id";
314
+ tableName: "tasks";
315
+ dataType: "string";
316
+ columnType: "SQLiteText";
317
+ data: string;
318
+ driverParam: string;
319
+ notNull: true;
320
+ hasDefault: false;
321
+ isPrimaryKey: false;
322
+ isAutoincrement: false;
323
+ hasRuntimeDefault: false;
324
+ enumValues: [string, ...string[]];
325
+ baseColumn: never;
326
+ identity: undefined;
327
+ generated: undefined;
328
+ }, {}, {
329
+ length: 36;
330
+ }>;
331
+ created_at: drizzle_orm_sqlite_core.SQLiteColumn<{
332
+ name: "created_at";
333
+ tableName: "tasks";
334
+ dataType: "date";
335
+ columnType: "SQLiteTimestamp";
336
+ data: Date;
337
+ driverParam: number;
338
+ notNull: true;
339
+ hasDefault: false;
340
+ isPrimaryKey: false;
341
+ isAutoincrement: false;
342
+ hasRuntimeDefault: false;
343
+ enumValues: undefined;
344
+ baseColumn: never;
345
+ identity: undefined;
346
+ generated: undefined;
347
+ }, {}, {}>;
348
+ completed_at: drizzle_orm_sqlite_core.SQLiteColumn<{
349
+ name: "completed_at";
350
+ tableName: "tasks";
351
+ dataType: "date";
352
+ columnType: "SQLiteTimestamp";
353
+ data: Date;
354
+ driverParam: number;
355
+ notNull: false;
356
+ hasDefault: false;
357
+ isPrimaryKey: false;
358
+ isAutoincrement: false;
359
+ hasRuntimeDefault: false;
360
+ enumValues: undefined;
361
+ baseColumn: never;
362
+ identity: undefined;
363
+ generated: undefined;
364
+ }, {}, {}>;
365
+ status: drizzle_orm_sqlite_core.SQLiteColumn<{
366
+ name: "status";
367
+ tableName: "tasks";
368
+ dataType: "string";
369
+ columnType: "SQLiteText";
370
+ data: "stopped" | "running" | "stopping" | "completed" | "failed" | "created" | "awaiting_permission";
371
+ driverParam: string;
372
+ notNull: true;
373
+ hasDefault: false;
374
+ isPrimaryKey: false;
375
+ isAutoincrement: false;
376
+ hasRuntimeDefault: false;
377
+ enumValues: ["created", "running", "stopping", "awaiting_permission", "completed", "failed", "stopped"];
378
+ baseColumn: never;
379
+ identity: undefined;
380
+ generated: undefined;
381
+ }, {}, {
382
+ length: number | undefined;
383
+ }>;
384
+ created_by: drizzle_orm_sqlite_core.SQLiteColumn<{
385
+ name: "created_by";
386
+ tableName: "tasks";
387
+ dataType: "string";
388
+ columnType: "SQLiteText";
389
+ data: string;
390
+ driverParam: string;
391
+ notNull: true;
392
+ hasDefault: true;
393
+ isPrimaryKey: false;
394
+ isAutoincrement: false;
395
+ hasRuntimeDefault: false;
396
+ enumValues: [string, ...string[]];
397
+ baseColumn: never;
398
+ identity: undefined;
399
+ generated: undefined;
400
+ }, {}, {
401
+ length: 36;
402
+ }>;
403
+ data: drizzle_orm_sqlite_core.SQLiteColumn<{
404
+ name: "data";
405
+ tableName: "tasks";
406
+ dataType: "json";
407
+ columnType: "SQLiteTextJson";
408
+ data: {
409
+ description: string;
410
+ full_prompt: string;
411
+ message_range: Task["message_range"];
412
+ git_state: Task["git_state"];
413
+ model: string;
414
+ tool_use_count: number;
415
+ usage?: Task["usage"];
416
+ duration_ms?: number;
417
+ agent_session_id?: string;
418
+ context_window?: number;
419
+ context_window_limit?: number;
420
+ report?: Task["report"];
421
+ permission_request?: Task["permission_request"];
422
+ };
423
+ driverParam: string;
424
+ notNull: true;
425
+ hasDefault: false;
426
+ isPrimaryKey: false;
427
+ isAutoincrement: false;
428
+ hasRuntimeDefault: false;
429
+ enumValues: undefined;
430
+ baseColumn: never;
431
+ identity: undefined;
432
+ generated: undefined;
433
+ }, {}, {
434
+ $type: {
435
+ description: string;
436
+ full_prompt: string;
437
+ message_range: Task["message_range"];
438
+ git_state: Task["git_state"];
439
+ model: string;
440
+ tool_use_count: number;
441
+ usage?: Task["usage"];
442
+ duration_ms?: number;
443
+ agent_session_id?: string;
444
+ context_window?: number;
445
+ context_window_limit?: number;
446
+ report?: Task["report"];
447
+ permission_request?: Task["permission_request"];
448
+ };
449
+ }>;
450
+ };
451
+ dialect: "sqlite";
452
+ }>;
453
+ /**
454
+ * Messages table - Conversation messages within sessions
455
+ *
456
+ * Stores individual messages (user, assistant, system) for full conversation replay.
457
+ * Messages are indexed by session_id, task_id, and position (index) for efficient queries.
458
+ */
459
+ declare const messages: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
460
+ name: "messages";
461
+ schema: undefined;
462
+ columns: {
463
+ message_id: drizzle_orm_sqlite_core.SQLiteColumn<{
464
+ name: "message_id";
465
+ tableName: "messages";
466
+ dataType: "string";
467
+ columnType: "SQLiteText";
468
+ data: string;
469
+ driverParam: string;
470
+ notNull: true;
471
+ hasDefault: false;
472
+ isPrimaryKey: true;
473
+ isAutoincrement: false;
474
+ hasRuntimeDefault: false;
475
+ enumValues: [string, ...string[]];
476
+ baseColumn: never;
477
+ identity: undefined;
478
+ generated: undefined;
479
+ }, {}, {
480
+ length: 36;
481
+ }>;
482
+ created_at: drizzle_orm_sqlite_core.SQLiteColumn<{
483
+ name: "created_at";
484
+ tableName: "messages";
485
+ dataType: "date";
486
+ columnType: "SQLiteTimestamp";
487
+ data: Date;
488
+ driverParam: number;
489
+ notNull: true;
490
+ hasDefault: false;
491
+ isPrimaryKey: false;
492
+ isAutoincrement: false;
493
+ hasRuntimeDefault: false;
494
+ enumValues: undefined;
495
+ baseColumn: never;
496
+ identity: undefined;
497
+ generated: undefined;
498
+ }, {}, {}>;
499
+ session_id: drizzle_orm_sqlite_core.SQLiteColumn<{
500
+ name: "session_id";
501
+ tableName: "messages";
502
+ dataType: "string";
503
+ columnType: "SQLiteText";
504
+ data: string;
505
+ driverParam: string;
506
+ notNull: true;
507
+ hasDefault: false;
508
+ isPrimaryKey: false;
509
+ isAutoincrement: false;
510
+ hasRuntimeDefault: false;
511
+ enumValues: [string, ...string[]];
512
+ baseColumn: never;
513
+ identity: undefined;
514
+ generated: undefined;
515
+ }, {}, {
516
+ length: 36;
517
+ }>;
518
+ task_id: drizzle_orm_sqlite_core.SQLiteColumn<{
519
+ name: "task_id";
520
+ tableName: "messages";
521
+ dataType: "string";
522
+ columnType: "SQLiteText";
523
+ data: string;
524
+ driverParam: string;
525
+ notNull: false;
526
+ hasDefault: false;
527
+ isPrimaryKey: false;
528
+ isAutoincrement: false;
529
+ hasRuntimeDefault: false;
530
+ enumValues: [string, ...string[]];
531
+ baseColumn: never;
532
+ identity: undefined;
533
+ generated: undefined;
534
+ }, {}, {
535
+ length: 36;
536
+ }>;
537
+ type: drizzle_orm_sqlite_core.SQLiteColumn<{
538
+ name: "type";
539
+ tableName: "messages";
540
+ dataType: "string";
541
+ columnType: "SQLiteText";
542
+ data: "user" | "assistant" | "system" | "file-history-snapshot" | "permission_request";
543
+ driverParam: string;
544
+ notNull: true;
545
+ hasDefault: false;
546
+ isPrimaryKey: false;
547
+ isAutoincrement: false;
548
+ hasRuntimeDefault: false;
549
+ enumValues: ["user", "assistant", "system", "file-history-snapshot", "permission_request"];
550
+ baseColumn: never;
551
+ identity: undefined;
552
+ generated: undefined;
553
+ }, {}, {
554
+ length: number | undefined;
555
+ }>;
556
+ role: drizzle_orm_sqlite_core.SQLiteColumn<{
557
+ name: "role";
558
+ tableName: "messages";
559
+ dataType: "string";
560
+ columnType: "SQLiteText";
561
+ data: "user" | "assistant" | "system";
562
+ driverParam: string;
563
+ notNull: true;
564
+ hasDefault: false;
565
+ isPrimaryKey: false;
566
+ isAutoincrement: false;
567
+ hasRuntimeDefault: false;
568
+ enumValues: ["user", "assistant", "system"];
569
+ baseColumn: never;
570
+ identity: undefined;
571
+ generated: undefined;
572
+ }, {}, {
573
+ length: number | undefined;
574
+ }>;
575
+ index: drizzle_orm_sqlite_core.SQLiteColumn<{
576
+ name: "index";
577
+ tableName: "messages";
578
+ dataType: "number";
579
+ columnType: "SQLiteInteger";
580
+ data: number;
581
+ driverParam: number;
582
+ notNull: true;
583
+ hasDefault: false;
584
+ isPrimaryKey: false;
585
+ isAutoincrement: false;
586
+ hasRuntimeDefault: false;
587
+ enumValues: undefined;
588
+ baseColumn: never;
589
+ identity: undefined;
590
+ generated: undefined;
591
+ }, {}, {}>;
592
+ timestamp: drizzle_orm_sqlite_core.SQLiteColumn<{
593
+ name: "timestamp";
594
+ tableName: "messages";
595
+ dataType: "date";
596
+ columnType: "SQLiteTimestamp";
597
+ data: Date;
598
+ driverParam: number;
599
+ notNull: true;
600
+ hasDefault: false;
601
+ isPrimaryKey: false;
602
+ isAutoincrement: false;
603
+ hasRuntimeDefault: false;
604
+ enumValues: undefined;
605
+ baseColumn: never;
606
+ identity: undefined;
607
+ generated: undefined;
608
+ }, {}, {}>;
609
+ content_preview: drizzle_orm_sqlite_core.SQLiteColumn<{
610
+ name: "content_preview";
611
+ tableName: "messages";
612
+ dataType: "string";
613
+ columnType: "SQLiteText";
614
+ data: string;
615
+ driverParam: string;
616
+ notNull: false;
617
+ hasDefault: false;
618
+ isPrimaryKey: false;
619
+ isAutoincrement: false;
620
+ hasRuntimeDefault: false;
621
+ enumValues: [string, ...string[]];
622
+ baseColumn: never;
623
+ identity: undefined;
624
+ generated: undefined;
625
+ }, {}, {
626
+ length: number | undefined;
627
+ }>;
628
+ data: drizzle_orm_sqlite_core.SQLiteColumn<{
629
+ name: "data";
630
+ tableName: "messages";
631
+ dataType: "json";
632
+ columnType: "SQLiteTextJson";
633
+ data: {
634
+ content: Message["content"];
635
+ tool_uses?: Message["tool_uses"];
636
+ metadata?: Message["metadata"];
637
+ };
638
+ driverParam: string;
639
+ notNull: true;
640
+ hasDefault: false;
641
+ isPrimaryKey: false;
642
+ isAutoincrement: false;
643
+ hasRuntimeDefault: false;
644
+ enumValues: undefined;
645
+ baseColumn: never;
646
+ identity: undefined;
647
+ generated: undefined;
648
+ }, {}, {
649
+ $type: {
650
+ content: Message["content"];
651
+ tool_uses?: Message["tool_uses"];
652
+ metadata?: Message["metadata"];
653
+ };
654
+ }>;
655
+ };
656
+ dialect: "sqlite";
657
+ }>;
658
+ /**
659
+ * Boards table - Organizational primitive for grouping sessions
660
+ */
661
+ declare const boards: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
662
+ name: "boards";
663
+ schema: undefined;
664
+ columns: {
665
+ board_id: drizzle_orm_sqlite_core.SQLiteColumn<{
666
+ name: "board_id";
667
+ tableName: "boards";
668
+ dataType: "string";
669
+ columnType: "SQLiteText";
670
+ data: string;
671
+ driverParam: string;
672
+ notNull: true;
673
+ hasDefault: false;
674
+ isPrimaryKey: true;
675
+ isAutoincrement: false;
676
+ hasRuntimeDefault: false;
677
+ enumValues: [string, ...string[]];
678
+ baseColumn: never;
679
+ identity: undefined;
680
+ generated: undefined;
681
+ }, {}, {
682
+ length: 36;
683
+ }>;
684
+ created_at: drizzle_orm_sqlite_core.SQLiteColumn<{
685
+ name: "created_at";
686
+ tableName: "boards";
687
+ dataType: "date";
688
+ columnType: "SQLiteTimestamp";
689
+ data: Date;
690
+ driverParam: number;
691
+ notNull: true;
692
+ hasDefault: false;
693
+ isPrimaryKey: false;
694
+ isAutoincrement: false;
695
+ hasRuntimeDefault: false;
696
+ enumValues: undefined;
697
+ baseColumn: never;
698
+ identity: undefined;
699
+ generated: undefined;
700
+ }, {}, {}>;
701
+ updated_at: drizzle_orm_sqlite_core.SQLiteColumn<{
702
+ name: "updated_at";
703
+ tableName: "boards";
704
+ dataType: "date";
705
+ columnType: "SQLiteTimestamp";
706
+ data: Date;
707
+ driverParam: number;
708
+ notNull: false;
709
+ hasDefault: false;
710
+ isPrimaryKey: false;
711
+ isAutoincrement: false;
712
+ hasRuntimeDefault: false;
713
+ enumValues: undefined;
714
+ baseColumn: never;
715
+ identity: undefined;
716
+ generated: undefined;
717
+ }, {}, {}>;
718
+ created_by: drizzle_orm_sqlite_core.SQLiteColumn<{
719
+ name: "created_by";
720
+ tableName: "boards";
721
+ dataType: "string";
722
+ columnType: "SQLiteText";
723
+ data: string;
724
+ driverParam: string;
725
+ notNull: true;
726
+ hasDefault: true;
727
+ isPrimaryKey: false;
728
+ isAutoincrement: false;
729
+ hasRuntimeDefault: false;
730
+ enumValues: [string, ...string[]];
731
+ baseColumn: never;
732
+ identity: undefined;
733
+ generated: undefined;
734
+ }, {}, {
735
+ length: 36;
736
+ }>;
737
+ name: drizzle_orm_sqlite_core.SQLiteColumn<{
738
+ name: "name";
739
+ tableName: "boards";
740
+ dataType: "string";
741
+ columnType: "SQLiteText";
742
+ data: string;
743
+ driverParam: string;
744
+ notNull: true;
745
+ hasDefault: false;
746
+ isPrimaryKey: false;
747
+ isAutoincrement: false;
748
+ hasRuntimeDefault: false;
749
+ enumValues: [string, ...string[]];
750
+ baseColumn: never;
751
+ identity: undefined;
752
+ generated: undefined;
753
+ }, {}, {
754
+ length: number | undefined;
755
+ }>;
756
+ slug: drizzle_orm_sqlite_core.SQLiteColumn<{
757
+ name: "slug";
758
+ tableName: "boards";
759
+ dataType: "string";
760
+ columnType: "SQLiteText";
761
+ data: string;
762
+ driverParam: string;
763
+ notNull: false;
764
+ hasDefault: false;
765
+ isPrimaryKey: false;
766
+ isAutoincrement: false;
767
+ hasRuntimeDefault: false;
768
+ enumValues: [string, ...string[]];
769
+ baseColumn: never;
770
+ identity: undefined;
771
+ generated: undefined;
772
+ }, {}, {
773
+ length: number | undefined;
774
+ }>;
775
+ data: drizzle_orm_sqlite_core.SQLiteColumn<{
776
+ name: "data";
777
+ tableName: "boards";
778
+ dataType: "json";
779
+ columnType: "SQLiteTextJson";
780
+ data: {
781
+ description?: string;
782
+ color?: string;
783
+ icon?: string;
784
+ objects?: Record<string, BoardObject>;
785
+ custom_context?: Record<string, unknown>;
786
+ };
787
+ driverParam: string;
788
+ notNull: true;
789
+ hasDefault: false;
790
+ isPrimaryKey: false;
791
+ isAutoincrement: false;
792
+ hasRuntimeDefault: false;
793
+ enumValues: undefined;
794
+ baseColumn: never;
795
+ identity: undefined;
796
+ generated: undefined;
797
+ }, {}, {
798
+ $type: {
799
+ description?: string;
800
+ color?: string;
801
+ icon?: string;
802
+ objects?: Record<string, BoardObject>;
803
+ custom_context?: Record<string, unknown>;
804
+ };
805
+ }>;
806
+ };
807
+ dialect: "sqlite";
808
+ }>;
809
+ /**
810
+ * Repos table - Git repositories managed by Agor
811
+ *
812
+ * All repos are cloned to ~/.agor/repos/{slug}
813
+ */
814
+ declare const repos: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
815
+ name: "repos";
816
+ schema: undefined;
817
+ columns: {
818
+ repo_id: drizzle_orm_sqlite_core.SQLiteColumn<{
819
+ name: "repo_id";
820
+ tableName: "repos";
821
+ dataType: "string";
822
+ columnType: "SQLiteText";
823
+ data: string;
824
+ driverParam: string;
825
+ notNull: true;
826
+ hasDefault: false;
827
+ isPrimaryKey: true;
828
+ isAutoincrement: false;
829
+ hasRuntimeDefault: false;
830
+ enumValues: [string, ...string[]];
831
+ baseColumn: never;
832
+ identity: undefined;
833
+ generated: undefined;
834
+ }, {}, {
835
+ length: 36;
836
+ }>;
837
+ created_at: drizzle_orm_sqlite_core.SQLiteColumn<{
838
+ name: "created_at";
839
+ tableName: "repos";
840
+ dataType: "date";
841
+ columnType: "SQLiteTimestamp";
842
+ data: Date;
843
+ driverParam: number;
844
+ notNull: true;
845
+ hasDefault: false;
846
+ isPrimaryKey: false;
847
+ isAutoincrement: false;
848
+ hasRuntimeDefault: false;
849
+ enumValues: undefined;
850
+ baseColumn: never;
851
+ identity: undefined;
852
+ generated: undefined;
853
+ }, {}, {}>;
854
+ updated_at: drizzle_orm_sqlite_core.SQLiteColumn<{
855
+ name: "updated_at";
856
+ tableName: "repos";
857
+ dataType: "date";
858
+ columnType: "SQLiteTimestamp";
859
+ data: Date;
860
+ driverParam: number;
861
+ notNull: false;
862
+ hasDefault: false;
863
+ isPrimaryKey: false;
864
+ isAutoincrement: false;
865
+ hasRuntimeDefault: false;
866
+ enumValues: undefined;
867
+ baseColumn: never;
868
+ identity: undefined;
869
+ generated: undefined;
870
+ }, {}, {}>;
871
+ slug: drizzle_orm_sqlite_core.SQLiteColumn<{
872
+ name: "slug";
873
+ tableName: "repos";
874
+ dataType: "string";
875
+ columnType: "SQLiteText";
876
+ data: string;
877
+ driverParam: string;
878
+ notNull: true;
879
+ hasDefault: false;
880
+ isPrimaryKey: false;
881
+ isAutoincrement: false;
882
+ hasRuntimeDefault: false;
883
+ enumValues: [string, ...string[]];
884
+ baseColumn: never;
885
+ identity: undefined;
886
+ generated: undefined;
887
+ }, {}, {
888
+ length: number | undefined;
889
+ }>;
890
+ data: drizzle_orm_sqlite_core.SQLiteColumn<{
891
+ name: "data";
892
+ tableName: "repos";
893
+ dataType: "json";
894
+ columnType: "SQLiteTextJson";
895
+ data: {
896
+ name: string;
897
+ remote_url: string;
898
+ local_path: string;
899
+ default_branch?: string;
900
+ environment_config?: {
901
+ up_command: string;
902
+ down_command: string;
903
+ health_check?: {
904
+ type: "http" | "tcp" | "process";
905
+ url_template?: string;
906
+ };
907
+ };
908
+ };
909
+ driverParam: string;
910
+ notNull: true;
911
+ hasDefault: false;
912
+ isPrimaryKey: false;
913
+ isAutoincrement: false;
914
+ hasRuntimeDefault: false;
915
+ enumValues: undefined;
916
+ baseColumn: never;
917
+ identity: undefined;
918
+ generated: undefined;
919
+ }, {}, {
920
+ $type: {
921
+ name: string;
922
+ remote_url: string;
923
+ local_path: string;
924
+ default_branch?: string;
925
+ environment_config?: {
926
+ up_command: string;
927
+ down_command: string;
928
+ health_check?: {
929
+ type: "http" | "tcp" | "process";
930
+ url_template?: string;
931
+ };
932
+ };
933
+ };
934
+ }>;
935
+ };
936
+ dialect: "sqlite";
937
+ }>;
938
+ /**
939
+ * Worktrees table - Git worktrees for isolated development contexts
940
+ *
941
+ * First-class entities for managing work contexts across sessions.
942
+ * Each worktree is an isolated git working directory with its own branch,
943
+ * environment configuration, and persistent work state.
944
+ */
945
+ declare const worktrees: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
946
+ name: "worktrees";
947
+ schema: undefined;
948
+ columns: {
949
+ worktree_id: drizzle_orm_sqlite_core.SQLiteColumn<{
950
+ name: "worktree_id";
951
+ tableName: "worktrees";
952
+ dataType: "string";
953
+ columnType: "SQLiteText";
954
+ data: string;
955
+ driverParam: string;
956
+ notNull: true;
957
+ hasDefault: false;
958
+ isPrimaryKey: true;
959
+ isAutoincrement: false;
960
+ hasRuntimeDefault: false;
961
+ enumValues: [string, ...string[]];
962
+ baseColumn: never;
963
+ identity: undefined;
964
+ generated: undefined;
965
+ }, {}, {
966
+ length: 36;
967
+ }>;
968
+ repo_id: drizzle_orm_sqlite_core.SQLiteColumn<{
969
+ name: "repo_id";
970
+ tableName: "worktrees";
971
+ dataType: "string";
972
+ columnType: "SQLiteText";
973
+ data: string;
974
+ driverParam: string;
975
+ notNull: true;
976
+ hasDefault: false;
977
+ isPrimaryKey: false;
978
+ isAutoincrement: false;
979
+ hasRuntimeDefault: false;
980
+ enumValues: [string, ...string[]];
981
+ baseColumn: never;
982
+ identity: undefined;
983
+ generated: undefined;
984
+ }, {}, {
985
+ length: 36;
986
+ }>;
987
+ created_at: drizzle_orm_sqlite_core.SQLiteColumn<{
988
+ name: "created_at";
989
+ tableName: "worktrees";
990
+ dataType: "date";
991
+ columnType: "SQLiteTimestamp";
992
+ data: Date;
993
+ driverParam: number;
994
+ notNull: true;
995
+ hasDefault: false;
996
+ isPrimaryKey: false;
997
+ isAutoincrement: false;
998
+ hasRuntimeDefault: false;
999
+ enumValues: undefined;
1000
+ baseColumn: never;
1001
+ identity: undefined;
1002
+ generated: undefined;
1003
+ }, {}, {}>;
1004
+ updated_at: drizzle_orm_sqlite_core.SQLiteColumn<{
1005
+ name: "updated_at";
1006
+ tableName: "worktrees";
1007
+ dataType: "date";
1008
+ columnType: "SQLiteTimestamp";
1009
+ data: Date;
1010
+ driverParam: number;
1011
+ notNull: false;
1012
+ hasDefault: false;
1013
+ isPrimaryKey: false;
1014
+ isAutoincrement: false;
1015
+ hasRuntimeDefault: false;
1016
+ enumValues: undefined;
1017
+ baseColumn: never;
1018
+ identity: undefined;
1019
+ generated: undefined;
1020
+ }, {}, {}>;
1021
+ created_by: drizzle_orm_sqlite_core.SQLiteColumn<{
1022
+ name: "created_by";
1023
+ tableName: "worktrees";
1024
+ dataType: "string";
1025
+ columnType: "SQLiteText";
1026
+ data: string;
1027
+ driverParam: string;
1028
+ notNull: true;
1029
+ hasDefault: true;
1030
+ isPrimaryKey: false;
1031
+ isAutoincrement: false;
1032
+ hasRuntimeDefault: false;
1033
+ enumValues: [string, ...string[]];
1034
+ baseColumn: never;
1035
+ identity: undefined;
1036
+ generated: undefined;
1037
+ }, {}, {
1038
+ length: 36;
1039
+ }>;
1040
+ name: drizzle_orm_sqlite_core.SQLiteColumn<{
1041
+ name: "name";
1042
+ tableName: "worktrees";
1043
+ dataType: "string";
1044
+ columnType: "SQLiteText";
1045
+ data: string;
1046
+ driverParam: string;
1047
+ notNull: true;
1048
+ hasDefault: false;
1049
+ isPrimaryKey: false;
1050
+ isAutoincrement: false;
1051
+ hasRuntimeDefault: false;
1052
+ enumValues: [string, ...string[]];
1053
+ baseColumn: never;
1054
+ identity: undefined;
1055
+ generated: undefined;
1056
+ }, {}, {
1057
+ length: number | undefined;
1058
+ }>;
1059
+ ref: drizzle_orm_sqlite_core.SQLiteColumn<{
1060
+ name: "ref";
1061
+ tableName: "worktrees";
1062
+ dataType: "string";
1063
+ columnType: "SQLiteText";
1064
+ data: string;
1065
+ driverParam: string;
1066
+ notNull: true;
1067
+ hasDefault: false;
1068
+ isPrimaryKey: false;
1069
+ isAutoincrement: false;
1070
+ hasRuntimeDefault: false;
1071
+ enumValues: [string, ...string[]];
1072
+ baseColumn: never;
1073
+ identity: undefined;
1074
+ generated: undefined;
1075
+ }, {}, {
1076
+ length: number | undefined;
1077
+ }>;
1078
+ worktree_unique_id: drizzle_orm_sqlite_core.SQLiteColumn<{
1079
+ name: "worktree_unique_id";
1080
+ tableName: "worktrees";
1081
+ dataType: "number";
1082
+ columnType: "SQLiteInteger";
1083
+ data: number;
1084
+ driverParam: number;
1085
+ notNull: true;
1086
+ hasDefault: false;
1087
+ isPrimaryKey: false;
1088
+ isAutoincrement: false;
1089
+ hasRuntimeDefault: false;
1090
+ enumValues: undefined;
1091
+ baseColumn: never;
1092
+ identity: undefined;
1093
+ generated: undefined;
1094
+ }, {}, {}>;
1095
+ board_id: drizzle_orm_sqlite_core.SQLiteColumn<{
1096
+ name: "board_id";
1097
+ tableName: "worktrees";
1098
+ dataType: "string";
1099
+ columnType: "SQLiteText";
1100
+ data: string;
1101
+ driverParam: string;
1102
+ notNull: false;
1103
+ hasDefault: false;
1104
+ isPrimaryKey: false;
1105
+ isAutoincrement: false;
1106
+ hasRuntimeDefault: false;
1107
+ enumValues: [string, ...string[]];
1108
+ baseColumn: never;
1109
+ identity: undefined;
1110
+ generated: undefined;
1111
+ }, {}, {
1112
+ length: 36;
1113
+ }>;
1114
+ data: drizzle_orm_sqlite_core.SQLiteColumn<{
1115
+ name: "data";
1116
+ tableName: "worktrees";
1117
+ dataType: "json";
1118
+ columnType: "SQLiteTextJson";
1119
+ data: {
1120
+ path: string;
1121
+ base_ref?: string;
1122
+ base_sha?: string;
1123
+ last_commit_sha?: string;
1124
+ tracking_branch?: string;
1125
+ new_branch: boolean;
1126
+ issue_url?: string;
1127
+ pull_request_url?: string;
1128
+ notes?: string;
1129
+ environment_instance?: {
1130
+ status: "stopped" | "starting" | "running" | "stopping" | "error";
1131
+ process?: {
1132
+ pid?: number;
1133
+ started_at?: string;
1134
+ uptime?: string;
1135
+ };
1136
+ last_health_check?: {
1137
+ timestamp: string;
1138
+ status: "healthy" | "unhealthy" | "unknown";
1139
+ message?: string;
1140
+ };
1141
+ access_urls?: Array<{
1142
+ name: string;
1143
+ url: string;
1144
+ }>;
1145
+ logs?: string[];
1146
+ };
1147
+ sessions: string[];
1148
+ last_used: string;
1149
+ custom_context?: Record<string, unknown>;
1150
+ };
1151
+ driverParam: string;
1152
+ notNull: true;
1153
+ hasDefault: false;
1154
+ isPrimaryKey: false;
1155
+ isAutoincrement: false;
1156
+ hasRuntimeDefault: false;
1157
+ enumValues: undefined;
1158
+ baseColumn: never;
1159
+ identity: undefined;
1160
+ generated: undefined;
1161
+ }, {}, {
1162
+ $type: {
1163
+ path: string;
1164
+ base_ref?: string;
1165
+ base_sha?: string;
1166
+ last_commit_sha?: string;
1167
+ tracking_branch?: string;
1168
+ new_branch: boolean;
1169
+ issue_url?: string;
1170
+ pull_request_url?: string;
1171
+ notes?: string;
1172
+ environment_instance?: {
1173
+ status: "stopped" | "starting" | "running" | "stopping" | "error";
1174
+ process?: {
1175
+ pid?: number;
1176
+ started_at?: string;
1177
+ uptime?: string;
1178
+ };
1179
+ last_health_check?: {
1180
+ timestamp: string;
1181
+ status: "healthy" | "unhealthy" | "unknown";
1182
+ message?: string;
1183
+ };
1184
+ access_urls?: Array<{
1185
+ name: string;
1186
+ url: string;
1187
+ }>;
1188
+ logs?: string[];
1189
+ };
1190
+ sessions: string[];
1191
+ last_used: string;
1192
+ custom_context?: Record<string, unknown>;
1193
+ };
1194
+ }>;
1195
+ };
1196
+ dialect: "sqlite";
1197
+ }>;
1198
+ /**
1199
+ * Users table - Authentication and authorization
1200
+ *
1201
+ * Optional table - only created when authentication is enabled via `agor auth init`.
1202
+ * In anonymous mode (default), this table doesn't exist and all operations are permitted.
1203
+ */
1204
+ declare const users: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
1205
+ name: "users";
1206
+ schema: undefined;
1207
+ columns: {
1208
+ user_id: drizzle_orm_sqlite_core.SQLiteColumn<{
1209
+ name: "user_id";
1210
+ tableName: "users";
1211
+ dataType: "string";
1212
+ columnType: "SQLiteText";
1213
+ data: string;
1214
+ driverParam: string;
1215
+ notNull: true;
1216
+ hasDefault: false;
1217
+ isPrimaryKey: true;
1218
+ isAutoincrement: false;
1219
+ hasRuntimeDefault: false;
1220
+ enumValues: [string, ...string[]];
1221
+ baseColumn: never;
1222
+ identity: undefined;
1223
+ generated: undefined;
1224
+ }, {}, {
1225
+ length: 36;
1226
+ }>;
1227
+ created_at: drizzle_orm_sqlite_core.SQLiteColumn<{
1228
+ name: "created_at";
1229
+ tableName: "users";
1230
+ dataType: "date";
1231
+ columnType: "SQLiteTimestamp";
1232
+ data: Date;
1233
+ driverParam: number;
1234
+ notNull: true;
1235
+ hasDefault: false;
1236
+ isPrimaryKey: false;
1237
+ isAutoincrement: false;
1238
+ hasRuntimeDefault: false;
1239
+ enumValues: undefined;
1240
+ baseColumn: never;
1241
+ identity: undefined;
1242
+ generated: undefined;
1243
+ }, {}, {}>;
1244
+ updated_at: drizzle_orm_sqlite_core.SQLiteColumn<{
1245
+ name: "updated_at";
1246
+ tableName: "users";
1247
+ dataType: "date";
1248
+ columnType: "SQLiteTimestamp";
1249
+ data: Date;
1250
+ driverParam: number;
1251
+ notNull: false;
1252
+ hasDefault: false;
1253
+ isPrimaryKey: false;
1254
+ isAutoincrement: false;
1255
+ hasRuntimeDefault: false;
1256
+ enumValues: undefined;
1257
+ baseColumn: never;
1258
+ identity: undefined;
1259
+ generated: undefined;
1260
+ }, {}, {}>;
1261
+ email: drizzle_orm_sqlite_core.SQLiteColumn<{
1262
+ name: "email";
1263
+ tableName: "users";
1264
+ dataType: "string";
1265
+ columnType: "SQLiteText";
1266
+ data: string;
1267
+ driverParam: string;
1268
+ notNull: true;
1269
+ hasDefault: false;
1270
+ isPrimaryKey: false;
1271
+ isAutoincrement: false;
1272
+ hasRuntimeDefault: false;
1273
+ enumValues: [string, ...string[]];
1274
+ baseColumn: never;
1275
+ identity: undefined;
1276
+ generated: undefined;
1277
+ }, {}, {
1278
+ length: number | undefined;
1279
+ }>;
1280
+ password: drizzle_orm_sqlite_core.SQLiteColumn<{
1281
+ name: "password";
1282
+ tableName: "users";
1283
+ dataType: "string";
1284
+ columnType: "SQLiteText";
1285
+ data: string;
1286
+ driverParam: string;
1287
+ notNull: true;
1288
+ hasDefault: false;
1289
+ isPrimaryKey: false;
1290
+ isAutoincrement: false;
1291
+ hasRuntimeDefault: false;
1292
+ enumValues: [string, ...string[]];
1293
+ baseColumn: never;
1294
+ identity: undefined;
1295
+ generated: undefined;
1296
+ }, {}, {
1297
+ length: number | undefined;
1298
+ }>;
1299
+ name: drizzle_orm_sqlite_core.SQLiteColumn<{
1300
+ name: "name";
1301
+ tableName: "users";
1302
+ dataType: "string";
1303
+ columnType: "SQLiteText";
1304
+ data: string;
1305
+ driverParam: string;
1306
+ notNull: false;
1307
+ hasDefault: false;
1308
+ isPrimaryKey: false;
1309
+ isAutoincrement: false;
1310
+ hasRuntimeDefault: false;
1311
+ enumValues: [string, ...string[]];
1312
+ baseColumn: never;
1313
+ identity: undefined;
1314
+ generated: undefined;
1315
+ }, {}, {
1316
+ length: number | undefined;
1317
+ }>;
1318
+ emoji: drizzle_orm_sqlite_core.SQLiteColumn<{
1319
+ name: "emoji";
1320
+ tableName: "users";
1321
+ dataType: "string";
1322
+ columnType: "SQLiteText";
1323
+ data: string;
1324
+ driverParam: string;
1325
+ notNull: false;
1326
+ hasDefault: false;
1327
+ isPrimaryKey: false;
1328
+ isAutoincrement: false;
1329
+ hasRuntimeDefault: false;
1330
+ enumValues: [string, ...string[]];
1331
+ baseColumn: never;
1332
+ identity: undefined;
1333
+ generated: undefined;
1334
+ }, {}, {
1335
+ length: number | undefined;
1336
+ }>;
1337
+ role: drizzle_orm_sqlite_core.SQLiteColumn<{
1338
+ name: "role";
1339
+ tableName: "users";
1340
+ dataType: "string";
1341
+ columnType: "SQLiteText";
1342
+ data: "owner" | "admin" | "member" | "viewer";
1343
+ driverParam: string;
1344
+ notNull: true;
1345
+ hasDefault: true;
1346
+ isPrimaryKey: false;
1347
+ isAutoincrement: false;
1348
+ hasRuntimeDefault: false;
1349
+ enumValues: ["owner", "admin", "member", "viewer"];
1350
+ baseColumn: never;
1351
+ identity: undefined;
1352
+ generated: undefined;
1353
+ }, {}, {
1354
+ length: number | undefined;
1355
+ }>;
1356
+ onboarding_completed: drizzle_orm_sqlite_core.SQLiteColumn<{
1357
+ name: "onboarding_completed";
1358
+ tableName: "users";
1359
+ dataType: "boolean";
1360
+ columnType: "SQLiteBoolean";
1361
+ data: boolean;
1362
+ driverParam: number;
1363
+ notNull: true;
1364
+ hasDefault: true;
1365
+ isPrimaryKey: false;
1366
+ isAutoincrement: false;
1367
+ hasRuntimeDefault: false;
1368
+ enumValues: undefined;
1369
+ baseColumn: never;
1370
+ identity: undefined;
1371
+ generated: undefined;
1372
+ }, {}, {}>;
1373
+ data: drizzle_orm_sqlite_core.SQLiteColumn<{
1374
+ name: "data";
1375
+ tableName: "users";
1376
+ dataType: "json";
1377
+ columnType: "SQLiteTextJson";
1378
+ data: {
1379
+ avatar?: string;
1380
+ preferences?: Record<string, unknown>;
1381
+ };
1382
+ driverParam: string;
1383
+ notNull: true;
1384
+ hasDefault: false;
1385
+ isPrimaryKey: false;
1386
+ isAutoincrement: false;
1387
+ hasRuntimeDefault: false;
1388
+ enumValues: undefined;
1389
+ baseColumn: never;
1390
+ identity: undefined;
1391
+ generated: undefined;
1392
+ }, {}, {
1393
+ $type: {
1394
+ avatar?: string;
1395
+ preferences?: Record<string, unknown>;
1396
+ };
1397
+ }>;
1398
+ };
1399
+ dialect: "sqlite";
1400
+ }>;
1401
+ /**
1402
+ * MCP Servers table - MCP server configurations
1403
+ *
1404
+ * Stores MCP (Model Context Protocol) server configurations that can be attached to sessions.
1405
+ * Supports stdio, HTTP, and SSE transports with scoped access control.
1406
+ */
1407
+ declare const mcpServers: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
1408
+ name: "mcp_servers";
1409
+ schema: undefined;
1410
+ columns: {
1411
+ mcp_server_id: drizzle_orm_sqlite_core.SQLiteColumn<{
1412
+ name: "mcp_server_id";
1413
+ tableName: "mcp_servers";
1414
+ dataType: "string";
1415
+ columnType: "SQLiteText";
1416
+ data: string;
1417
+ driverParam: string;
1418
+ notNull: true;
1419
+ hasDefault: false;
1420
+ isPrimaryKey: true;
1421
+ isAutoincrement: false;
1422
+ hasRuntimeDefault: false;
1423
+ enumValues: [string, ...string[]];
1424
+ baseColumn: never;
1425
+ identity: undefined;
1426
+ generated: undefined;
1427
+ }, {}, {
1428
+ length: 36;
1429
+ }>;
1430
+ created_at: drizzle_orm_sqlite_core.SQLiteColumn<{
1431
+ name: "created_at";
1432
+ tableName: "mcp_servers";
1433
+ dataType: "date";
1434
+ columnType: "SQLiteTimestamp";
1435
+ data: Date;
1436
+ driverParam: number;
1437
+ notNull: true;
1438
+ hasDefault: false;
1439
+ isPrimaryKey: false;
1440
+ isAutoincrement: false;
1441
+ hasRuntimeDefault: false;
1442
+ enumValues: undefined;
1443
+ baseColumn: never;
1444
+ identity: undefined;
1445
+ generated: undefined;
1446
+ }, {}, {}>;
1447
+ updated_at: drizzle_orm_sqlite_core.SQLiteColumn<{
1448
+ name: "updated_at";
1449
+ tableName: "mcp_servers";
1450
+ dataType: "date";
1451
+ columnType: "SQLiteTimestamp";
1452
+ data: Date;
1453
+ driverParam: number;
1454
+ notNull: false;
1455
+ hasDefault: false;
1456
+ isPrimaryKey: false;
1457
+ isAutoincrement: false;
1458
+ hasRuntimeDefault: false;
1459
+ enumValues: undefined;
1460
+ baseColumn: never;
1461
+ identity: undefined;
1462
+ generated: undefined;
1463
+ }, {}, {}>;
1464
+ name: drizzle_orm_sqlite_core.SQLiteColumn<{
1465
+ name: "name";
1466
+ tableName: "mcp_servers";
1467
+ dataType: "string";
1468
+ columnType: "SQLiteText";
1469
+ data: string;
1470
+ driverParam: string;
1471
+ notNull: true;
1472
+ hasDefault: false;
1473
+ isPrimaryKey: false;
1474
+ isAutoincrement: false;
1475
+ hasRuntimeDefault: false;
1476
+ enumValues: [string, ...string[]];
1477
+ baseColumn: never;
1478
+ identity: undefined;
1479
+ generated: undefined;
1480
+ }, {}, {
1481
+ length: number | undefined;
1482
+ }>;
1483
+ transport: drizzle_orm_sqlite_core.SQLiteColumn<{
1484
+ name: "transport";
1485
+ tableName: "mcp_servers";
1486
+ dataType: "string";
1487
+ columnType: "SQLiteText";
1488
+ data: "http" | "stdio" | "sse";
1489
+ driverParam: string;
1490
+ notNull: true;
1491
+ hasDefault: false;
1492
+ isPrimaryKey: false;
1493
+ isAutoincrement: false;
1494
+ hasRuntimeDefault: false;
1495
+ enumValues: ["stdio", "http", "sse"];
1496
+ baseColumn: never;
1497
+ identity: undefined;
1498
+ generated: undefined;
1499
+ }, {}, {
1500
+ length: number | undefined;
1501
+ }>;
1502
+ scope: drizzle_orm_sqlite_core.SQLiteColumn<{
1503
+ name: "scope";
1504
+ tableName: "mcp_servers";
1505
+ dataType: "string";
1506
+ columnType: "SQLiteText";
1507
+ data: "session" | "global" | "team" | "repo";
1508
+ driverParam: string;
1509
+ notNull: true;
1510
+ hasDefault: false;
1511
+ isPrimaryKey: false;
1512
+ isAutoincrement: false;
1513
+ hasRuntimeDefault: false;
1514
+ enumValues: ["global", "team", "repo", "session"];
1515
+ baseColumn: never;
1516
+ identity: undefined;
1517
+ generated: undefined;
1518
+ }, {}, {
1519
+ length: number | undefined;
1520
+ }>;
1521
+ enabled: drizzle_orm_sqlite_core.SQLiteColumn<{
1522
+ name: "enabled";
1523
+ tableName: "mcp_servers";
1524
+ dataType: "boolean";
1525
+ columnType: "SQLiteBoolean";
1526
+ data: boolean;
1527
+ driverParam: number;
1528
+ notNull: true;
1529
+ hasDefault: true;
1530
+ isPrimaryKey: false;
1531
+ isAutoincrement: false;
1532
+ hasRuntimeDefault: false;
1533
+ enumValues: undefined;
1534
+ baseColumn: never;
1535
+ identity: undefined;
1536
+ generated: undefined;
1537
+ }, {}, {}>;
1538
+ owner_user_id: drizzle_orm_sqlite_core.SQLiteColumn<{
1539
+ name: "owner_user_id";
1540
+ tableName: "mcp_servers";
1541
+ dataType: "string";
1542
+ columnType: "SQLiteText";
1543
+ data: string;
1544
+ driverParam: string;
1545
+ notNull: false;
1546
+ hasDefault: false;
1547
+ isPrimaryKey: false;
1548
+ isAutoincrement: false;
1549
+ hasRuntimeDefault: false;
1550
+ enumValues: [string, ...string[]];
1551
+ baseColumn: never;
1552
+ identity: undefined;
1553
+ generated: undefined;
1554
+ }, {}, {
1555
+ length: 36;
1556
+ }>;
1557
+ team_id: drizzle_orm_sqlite_core.SQLiteColumn<{
1558
+ name: "team_id";
1559
+ tableName: "mcp_servers";
1560
+ dataType: "string";
1561
+ columnType: "SQLiteText";
1562
+ data: string;
1563
+ driverParam: string;
1564
+ notNull: false;
1565
+ hasDefault: false;
1566
+ isPrimaryKey: false;
1567
+ isAutoincrement: false;
1568
+ hasRuntimeDefault: false;
1569
+ enumValues: [string, ...string[]];
1570
+ baseColumn: never;
1571
+ identity: undefined;
1572
+ generated: undefined;
1573
+ }, {}, {
1574
+ length: 36;
1575
+ }>;
1576
+ repo_id: drizzle_orm_sqlite_core.SQLiteColumn<{
1577
+ name: "repo_id";
1578
+ tableName: "mcp_servers";
1579
+ dataType: "string";
1580
+ columnType: "SQLiteText";
1581
+ data: string;
1582
+ driverParam: string;
1583
+ notNull: false;
1584
+ hasDefault: false;
1585
+ isPrimaryKey: false;
1586
+ isAutoincrement: false;
1587
+ hasRuntimeDefault: false;
1588
+ enumValues: [string, ...string[]];
1589
+ baseColumn: never;
1590
+ identity: undefined;
1591
+ generated: undefined;
1592
+ }, {}, {
1593
+ length: 36;
1594
+ }>;
1595
+ session_id: drizzle_orm_sqlite_core.SQLiteColumn<{
1596
+ name: "session_id";
1597
+ tableName: "mcp_servers";
1598
+ dataType: "string";
1599
+ columnType: "SQLiteText";
1600
+ data: string;
1601
+ driverParam: string;
1602
+ notNull: false;
1603
+ hasDefault: false;
1604
+ isPrimaryKey: false;
1605
+ isAutoincrement: false;
1606
+ hasRuntimeDefault: false;
1607
+ enumValues: [string, ...string[]];
1608
+ baseColumn: never;
1609
+ identity: undefined;
1610
+ generated: undefined;
1611
+ }, {}, {
1612
+ length: 36;
1613
+ }>;
1614
+ source: drizzle_orm_sqlite_core.SQLiteColumn<{
1615
+ name: "source";
1616
+ tableName: "mcp_servers";
1617
+ dataType: "string";
1618
+ columnType: "SQLiteText";
1619
+ data: "user" | "imported" | "agor";
1620
+ driverParam: string;
1621
+ notNull: true;
1622
+ hasDefault: false;
1623
+ isPrimaryKey: false;
1624
+ isAutoincrement: false;
1625
+ hasRuntimeDefault: false;
1626
+ enumValues: ["user", "imported", "agor"];
1627
+ baseColumn: never;
1628
+ identity: undefined;
1629
+ generated: undefined;
1630
+ }, {}, {
1631
+ length: number | undefined;
1632
+ }>;
1633
+ data: drizzle_orm_sqlite_core.SQLiteColumn<{
1634
+ name: "data";
1635
+ tableName: "mcp_servers";
1636
+ dataType: "json";
1637
+ columnType: "SQLiteTextJson";
1638
+ data: {
1639
+ display_name?: string;
1640
+ description?: string;
1641
+ import_path?: string;
1642
+ command?: string;
1643
+ args?: string[];
1644
+ url?: string;
1645
+ env?: Record<string, string>;
1646
+ tools?: Array<{
1647
+ name: string;
1648
+ description: string;
1649
+ input_schema: Record<string, unknown>;
1650
+ }>;
1651
+ resources?: Array<{
1652
+ uri: string;
1653
+ name: string;
1654
+ mimeType?: string;
1655
+ }>;
1656
+ prompts?: Array<{
1657
+ name: string;
1658
+ description: string;
1659
+ arguments?: Array<{
1660
+ name: string;
1661
+ description: string;
1662
+ required?: boolean;
1663
+ }>;
1664
+ }>;
1665
+ };
1666
+ driverParam: string;
1667
+ notNull: true;
1668
+ hasDefault: false;
1669
+ isPrimaryKey: false;
1670
+ isAutoincrement: false;
1671
+ hasRuntimeDefault: false;
1672
+ enumValues: undefined;
1673
+ baseColumn: never;
1674
+ identity: undefined;
1675
+ generated: undefined;
1676
+ }, {}, {
1677
+ $type: {
1678
+ display_name?: string;
1679
+ description?: string;
1680
+ import_path?: string;
1681
+ command?: string;
1682
+ args?: string[];
1683
+ url?: string;
1684
+ env?: Record<string, string>;
1685
+ tools?: Array<{
1686
+ name: string;
1687
+ description: string;
1688
+ input_schema: Record<string, unknown>;
1689
+ }>;
1690
+ resources?: Array<{
1691
+ uri: string;
1692
+ name: string;
1693
+ mimeType?: string;
1694
+ }>;
1695
+ prompts?: Array<{
1696
+ name: string;
1697
+ description: string;
1698
+ arguments?: Array<{
1699
+ name: string;
1700
+ description: string;
1701
+ required?: boolean;
1702
+ }>;
1703
+ }>;
1704
+ };
1705
+ }>;
1706
+ };
1707
+ dialect: "sqlite";
1708
+ }>;
1709
+ /**
1710
+ * Board Objects table - Positioned worktrees on boards
1711
+ *
1712
+ * Tracks which worktrees are positioned on which boards.
1713
+ * Sessions are accessed through the worktree card (session tree).
1714
+ */
1715
+ declare const boardObjects: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
1716
+ name: "board_objects";
1717
+ schema: undefined;
1718
+ columns: {
1719
+ object_id: drizzle_orm_sqlite_core.SQLiteColumn<{
1720
+ name: "object_id";
1721
+ tableName: "board_objects";
1722
+ dataType: "string";
1723
+ columnType: "SQLiteText";
1724
+ data: string;
1725
+ driverParam: string;
1726
+ notNull: true;
1727
+ hasDefault: false;
1728
+ isPrimaryKey: true;
1729
+ isAutoincrement: false;
1730
+ hasRuntimeDefault: false;
1731
+ enumValues: [string, ...string[]];
1732
+ baseColumn: never;
1733
+ identity: undefined;
1734
+ generated: undefined;
1735
+ }, {}, {
1736
+ length: 36;
1737
+ }>;
1738
+ board_id: drizzle_orm_sqlite_core.SQLiteColumn<{
1739
+ name: "board_id";
1740
+ tableName: "board_objects";
1741
+ dataType: "string";
1742
+ columnType: "SQLiteText";
1743
+ data: string;
1744
+ driverParam: string;
1745
+ notNull: true;
1746
+ hasDefault: false;
1747
+ isPrimaryKey: false;
1748
+ isAutoincrement: false;
1749
+ hasRuntimeDefault: false;
1750
+ enumValues: [string, ...string[]];
1751
+ baseColumn: never;
1752
+ identity: undefined;
1753
+ generated: undefined;
1754
+ }, {}, {
1755
+ length: 36;
1756
+ }>;
1757
+ created_at: drizzle_orm_sqlite_core.SQLiteColumn<{
1758
+ name: "created_at";
1759
+ tableName: "board_objects";
1760
+ dataType: "date";
1761
+ columnType: "SQLiteTimestamp";
1762
+ data: Date;
1763
+ driverParam: number;
1764
+ notNull: true;
1765
+ hasDefault: false;
1766
+ isPrimaryKey: false;
1767
+ isAutoincrement: false;
1768
+ hasRuntimeDefault: false;
1769
+ enumValues: undefined;
1770
+ baseColumn: never;
1771
+ identity: undefined;
1772
+ generated: undefined;
1773
+ }, {}, {}>;
1774
+ worktree_id: drizzle_orm_sqlite_core.SQLiteColumn<{
1775
+ name: "worktree_id";
1776
+ tableName: "board_objects";
1777
+ dataType: "string";
1778
+ columnType: "SQLiteText";
1779
+ data: string;
1780
+ driverParam: string;
1781
+ notNull: true;
1782
+ hasDefault: false;
1783
+ isPrimaryKey: false;
1784
+ isAutoincrement: false;
1785
+ hasRuntimeDefault: false;
1786
+ enumValues: [string, ...string[]];
1787
+ baseColumn: never;
1788
+ identity: undefined;
1789
+ generated: undefined;
1790
+ }, {}, {
1791
+ length: 36;
1792
+ }>;
1793
+ data: drizzle_orm_sqlite_core.SQLiteColumn<{
1794
+ name: "data";
1795
+ tableName: "board_objects";
1796
+ dataType: "json";
1797
+ columnType: "SQLiteTextJson";
1798
+ data: {
1799
+ position: {
1800
+ x: number;
1801
+ y: number;
1802
+ };
1803
+ zone_id?: string;
1804
+ };
1805
+ driverParam: string;
1806
+ notNull: true;
1807
+ hasDefault: false;
1808
+ isPrimaryKey: false;
1809
+ isAutoincrement: false;
1810
+ hasRuntimeDefault: false;
1811
+ enumValues: undefined;
1812
+ baseColumn: never;
1813
+ identity: undefined;
1814
+ generated: undefined;
1815
+ }, {}, {
1816
+ $type: {
1817
+ position: {
1818
+ x: number;
1819
+ y: number;
1820
+ };
1821
+ zone_id?: string;
1822
+ };
1823
+ }>;
1824
+ };
1825
+ dialect: "sqlite";
1826
+ }>;
1827
+ /**
1828
+ * Session-MCP Servers relationship table
1829
+ *
1830
+ * Many-to-many relationship between sessions and MCP servers.
1831
+ * Tracks which MCP servers are enabled for each session.
1832
+ */
1833
+ declare const sessionMcpServers: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
1834
+ name: "session_mcp_servers";
1835
+ schema: undefined;
1836
+ columns: {
1837
+ session_id: drizzle_orm_sqlite_core.SQLiteColumn<{
1838
+ name: "session_id";
1839
+ tableName: "session_mcp_servers";
1840
+ dataType: "string";
1841
+ columnType: "SQLiteText";
1842
+ data: string;
1843
+ driverParam: string;
1844
+ notNull: true;
1845
+ hasDefault: false;
1846
+ isPrimaryKey: false;
1847
+ isAutoincrement: false;
1848
+ hasRuntimeDefault: false;
1849
+ enumValues: [string, ...string[]];
1850
+ baseColumn: never;
1851
+ identity: undefined;
1852
+ generated: undefined;
1853
+ }, {}, {
1854
+ length: 36;
1855
+ }>;
1856
+ mcp_server_id: drizzle_orm_sqlite_core.SQLiteColumn<{
1857
+ name: "mcp_server_id";
1858
+ tableName: "session_mcp_servers";
1859
+ dataType: "string";
1860
+ columnType: "SQLiteText";
1861
+ data: string;
1862
+ driverParam: string;
1863
+ notNull: true;
1864
+ hasDefault: false;
1865
+ isPrimaryKey: false;
1866
+ isAutoincrement: false;
1867
+ hasRuntimeDefault: false;
1868
+ enumValues: [string, ...string[]];
1869
+ baseColumn: never;
1870
+ identity: undefined;
1871
+ generated: undefined;
1872
+ }, {}, {
1873
+ length: 36;
1874
+ }>;
1875
+ enabled: drizzle_orm_sqlite_core.SQLiteColumn<{
1876
+ name: "enabled";
1877
+ tableName: "session_mcp_servers";
1878
+ dataType: "boolean";
1879
+ columnType: "SQLiteBoolean";
1880
+ data: boolean;
1881
+ driverParam: number;
1882
+ notNull: true;
1883
+ hasDefault: true;
1884
+ isPrimaryKey: false;
1885
+ isAutoincrement: false;
1886
+ hasRuntimeDefault: false;
1887
+ enumValues: undefined;
1888
+ baseColumn: never;
1889
+ identity: undefined;
1890
+ generated: undefined;
1891
+ }, {}, {}>;
1892
+ added_at: drizzle_orm_sqlite_core.SQLiteColumn<{
1893
+ name: "added_at";
1894
+ tableName: "session_mcp_servers";
1895
+ dataType: "date";
1896
+ columnType: "SQLiteTimestamp";
1897
+ data: Date;
1898
+ driverParam: number;
1899
+ notNull: true;
1900
+ hasDefault: false;
1901
+ isPrimaryKey: false;
1902
+ isAutoincrement: false;
1903
+ hasRuntimeDefault: false;
1904
+ enumValues: undefined;
1905
+ baseColumn: never;
1906
+ identity: undefined;
1907
+ generated: undefined;
1908
+ }, {}, {}>;
1909
+ };
1910
+ dialect: "sqlite";
1911
+ }>;
1912
+ /**
1913
+ * Board Comments table - Human-to-human conversations and collaboration
1914
+ *
1915
+ * Flexible attachment strategy:
1916
+ * - Board-level: General conversations (no attachment foreign keys)
1917
+ * - Object-level: Attached to sessions, tasks, messages, or worktrees
1918
+ * - Spatial: Positioned on canvas (absolute or relative to objects)
1919
+ *
1920
+ * Supports threading, mentions, and resolve/unresolve workflows.
1921
+ */
1922
+ declare const boardComments: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
1923
+ name: "board_comments";
1924
+ schema: undefined;
1925
+ columns: {
1926
+ comment_id: drizzle_orm_sqlite_core.SQLiteColumn<{
1927
+ name: "comment_id";
1928
+ tableName: "board_comments";
1929
+ dataType: "string";
1930
+ columnType: "SQLiteText";
1931
+ data: string;
1932
+ driverParam: string;
1933
+ notNull: true;
1934
+ hasDefault: false;
1935
+ isPrimaryKey: true;
1936
+ isAutoincrement: false;
1937
+ hasRuntimeDefault: false;
1938
+ enumValues: [string, ...string[]];
1939
+ baseColumn: never;
1940
+ identity: undefined;
1941
+ generated: undefined;
1942
+ }, {}, {
1943
+ length: 36;
1944
+ }>;
1945
+ created_at: drizzle_orm_sqlite_core.SQLiteColumn<{
1946
+ name: "created_at";
1947
+ tableName: "board_comments";
1948
+ dataType: "date";
1949
+ columnType: "SQLiteTimestamp";
1950
+ data: Date;
1951
+ driverParam: number;
1952
+ notNull: true;
1953
+ hasDefault: false;
1954
+ isPrimaryKey: false;
1955
+ isAutoincrement: false;
1956
+ hasRuntimeDefault: false;
1957
+ enumValues: undefined;
1958
+ baseColumn: never;
1959
+ identity: undefined;
1960
+ generated: undefined;
1961
+ }, {}, {}>;
1962
+ updated_at: drizzle_orm_sqlite_core.SQLiteColumn<{
1963
+ name: "updated_at";
1964
+ tableName: "board_comments";
1965
+ dataType: "date";
1966
+ columnType: "SQLiteTimestamp";
1967
+ data: Date;
1968
+ driverParam: number;
1969
+ notNull: false;
1970
+ hasDefault: false;
1971
+ isPrimaryKey: false;
1972
+ isAutoincrement: false;
1973
+ hasRuntimeDefault: false;
1974
+ enumValues: undefined;
1975
+ baseColumn: never;
1976
+ identity: undefined;
1977
+ generated: undefined;
1978
+ }, {}, {}>;
1979
+ board_id: drizzle_orm_sqlite_core.SQLiteColumn<{
1980
+ name: "board_id";
1981
+ tableName: "board_comments";
1982
+ dataType: "string";
1983
+ columnType: "SQLiteText";
1984
+ data: string;
1985
+ driverParam: string;
1986
+ notNull: true;
1987
+ hasDefault: false;
1988
+ isPrimaryKey: false;
1989
+ isAutoincrement: false;
1990
+ hasRuntimeDefault: false;
1991
+ enumValues: [string, ...string[]];
1992
+ baseColumn: never;
1993
+ identity: undefined;
1994
+ generated: undefined;
1995
+ }, {}, {
1996
+ length: 36;
1997
+ }>;
1998
+ created_by: drizzle_orm_sqlite_core.SQLiteColumn<{
1999
+ name: "created_by";
2000
+ tableName: "board_comments";
2001
+ dataType: "string";
2002
+ columnType: "SQLiteText";
2003
+ data: string;
2004
+ driverParam: string;
2005
+ notNull: true;
2006
+ hasDefault: true;
2007
+ isPrimaryKey: false;
2008
+ isAutoincrement: false;
2009
+ hasRuntimeDefault: false;
2010
+ enumValues: [string, ...string[]];
2011
+ baseColumn: never;
2012
+ identity: undefined;
2013
+ generated: undefined;
2014
+ }, {}, {
2015
+ length: 36;
2016
+ }>;
2017
+ session_id: drizzle_orm_sqlite_core.SQLiteColumn<{
2018
+ name: "session_id";
2019
+ tableName: "board_comments";
2020
+ dataType: "string";
2021
+ columnType: "SQLiteText";
2022
+ data: string;
2023
+ driverParam: string;
2024
+ notNull: false;
2025
+ hasDefault: false;
2026
+ isPrimaryKey: false;
2027
+ isAutoincrement: false;
2028
+ hasRuntimeDefault: false;
2029
+ enumValues: [string, ...string[]];
2030
+ baseColumn: never;
2031
+ identity: undefined;
2032
+ generated: undefined;
2033
+ }, {}, {
2034
+ length: 36;
2035
+ }>;
2036
+ task_id: drizzle_orm_sqlite_core.SQLiteColumn<{
2037
+ name: "task_id";
2038
+ tableName: "board_comments";
2039
+ dataType: "string";
2040
+ columnType: "SQLiteText";
2041
+ data: string;
2042
+ driverParam: string;
2043
+ notNull: false;
2044
+ hasDefault: false;
2045
+ isPrimaryKey: false;
2046
+ isAutoincrement: false;
2047
+ hasRuntimeDefault: false;
2048
+ enumValues: [string, ...string[]];
2049
+ baseColumn: never;
2050
+ identity: undefined;
2051
+ generated: undefined;
2052
+ }, {}, {
2053
+ length: 36;
2054
+ }>;
2055
+ message_id: drizzle_orm_sqlite_core.SQLiteColumn<{
2056
+ name: "message_id";
2057
+ tableName: "board_comments";
2058
+ dataType: "string";
2059
+ columnType: "SQLiteText";
2060
+ data: string;
2061
+ driverParam: string;
2062
+ notNull: false;
2063
+ hasDefault: false;
2064
+ isPrimaryKey: false;
2065
+ isAutoincrement: false;
2066
+ hasRuntimeDefault: false;
2067
+ enumValues: [string, ...string[]];
2068
+ baseColumn: never;
2069
+ identity: undefined;
2070
+ generated: undefined;
2071
+ }, {}, {
2072
+ length: 36;
2073
+ }>;
2074
+ worktree_id: drizzle_orm_sqlite_core.SQLiteColumn<{
2075
+ name: "worktree_id";
2076
+ tableName: "board_comments";
2077
+ dataType: "string";
2078
+ columnType: "SQLiteText";
2079
+ data: string;
2080
+ driverParam: string;
2081
+ notNull: false;
2082
+ hasDefault: false;
2083
+ isPrimaryKey: false;
2084
+ isAutoincrement: false;
2085
+ hasRuntimeDefault: false;
2086
+ enumValues: [string, ...string[]];
2087
+ baseColumn: never;
2088
+ identity: undefined;
2089
+ generated: undefined;
2090
+ }, {}, {
2091
+ length: 36;
2092
+ }>;
2093
+ content: drizzle_orm_sqlite_core.SQLiteColumn<{
2094
+ name: "content";
2095
+ tableName: "board_comments";
2096
+ dataType: "string";
2097
+ columnType: "SQLiteText";
2098
+ data: string;
2099
+ driverParam: string;
2100
+ notNull: true;
2101
+ hasDefault: false;
2102
+ isPrimaryKey: false;
2103
+ isAutoincrement: false;
2104
+ hasRuntimeDefault: false;
2105
+ enumValues: [string, ...string[]];
2106
+ baseColumn: never;
2107
+ identity: undefined;
2108
+ generated: undefined;
2109
+ }, {}, {
2110
+ length: number | undefined;
2111
+ }>;
2112
+ content_preview: drizzle_orm_sqlite_core.SQLiteColumn<{
2113
+ name: "content_preview";
2114
+ tableName: "board_comments";
2115
+ dataType: "string";
2116
+ columnType: "SQLiteText";
2117
+ data: string;
2118
+ driverParam: string;
2119
+ notNull: true;
2120
+ hasDefault: false;
2121
+ isPrimaryKey: false;
2122
+ isAutoincrement: false;
2123
+ hasRuntimeDefault: false;
2124
+ enumValues: [string, ...string[]];
2125
+ baseColumn: never;
2126
+ identity: undefined;
2127
+ generated: undefined;
2128
+ }, {}, {
2129
+ length: number | undefined;
2130
+ }>;
2131
+ parent_comment_id: drizzle_orm_sqlite_core.SQLiteColumn<{
2132
+ name: "parent_comment_id";
2133
+ tableName: "board_comments";
2134
+ dataType: "string";
2135
+ columnType: "SQLiteText";
2136
+ data: string;
2137
+ driverParam: string;
2138
+ notNull: false;
2139
+ hasDefault: false;
2140
+ isPrimaryKey: false;
2141
+ isAutoincrement: false;
2142
+ hasRuntimeDefault: false;
2143
+ enumValues: [string, ...string[]];
2144
+ baseColumn: never;
2145
+ identity: undefined;
2146
+ generated: undefined;
2147
+ }, {}, {
2148
+ length: 36;
2149
+ }>;
2150
+ resolved: drizzle_orm_sqlite_core.SQLiteColumn<{
2151
+ name: "resolved";
2152
+ tableName: "board_comments";
2153
+ dataType: "boolean";
2154
+ columnType: "SQLiteBoolean";
2155
+ data: boolean;
2156
+ driverParam: number;
2157
+ notNull: true;
2158
+ hasDefault: true;
2159
+ isPrimaryKey: false;
2160
+ isAutoincrement: false;
2161
+ hasRuntimeDefault: false;
2162
+ enumValues: undefined;
2163
+ baseColumn: never;
2164
+ identity: undefined;
2165
+ generated: undefined;
2166
+ }, {}, {}>;
2167
+ edited: drizzle_orm_sqlite_core.SQLiteColumn<{
2168
+ name: "edited";
2169
+ tableName: "board_comments";
2170
+ dataType: "boolean";
2171
+ columnType: "SQLiteBoolean";
2172
+ data: boolean;
2173
+ driverParam: number;
2174
+ notNull: true;
2175
+ hasDefault: true;
2176
+ isPrimaryKey: false;
2177
+ isAutoincrement: false;
2178
+ hasRuntimeDefault: false;
2179
+ enumValues: undefined;
2180
+ baseColumn: never;
2181
+ identity: undefined;
2182
+ generated: undefined;
2183
+ }, {}, {}>;
2184
+ reactions: drizzle_orm_sqlite_core.SQLiteColumn<{
2185
+ name: "reactions";
2186
+ tableName: "board_comments";
2187
+ dataType: "json";
2188
+ columnType: "SQLiteTextJson";
2189
+ data: {
2190
+ user_id: string;
2191
+ emoji: string;
2192
+ }[];
2193
+ driverParam: string;
2194
+ notNull: true;
2195
+ hasDefault: true;
2196
+ isPrimaryKey: false;
2197
+ isAutoincrement: false;
2198
+ hasRuntimeDefault: false;
2199
+ enumValues: undefined;
2200
+ baseColumn: never;
2201
+ identity: undefined;
2202
+ generated: undefined;
2203
+ }, {}, {
2204
+ $type: {
2205
+ user_id: string;
2206
+ emoji: string;
2207
+ }[];
2208
+ }>;
2209
+ data: drizzle_orm_sqlite_core.SQLiteColumn<{
2210
+ name: "data";
2211
+ tableName: "board_comments";
2212
+ dataType: "json";
2213
+ columnType: "SQLiteTextJson";
2214
+ data: {
2215
+ position?: {
2216
+ absolute?: {
2217
+ x: number;
2218
+ y: number;
2219
+ };
2220
+ relative?: {
2221
+ session_id: string;
2222
+ offset_x: number;
2223
+ offset_y: number;
2224
+ };
2225
+ };
2226
+ mentions?: string[];
2227
+ };
2228
+ driverParam: string;
2229
+ notNull: true;
2230
+ hasDefault: false;
2231
+ isPrimaryKey: false;
2232
+ isAutoincrement: false;
2233
+ hasRuntimeDefault: false;
2234
+ enumValues: undefined;
2235
+ baseColumn: never;
2236
+ identity: undefined;
2237
+ generated: undefined;
2238
+ }, {}, {
2239
+ $type: {
2240
+ position?: {
2241
+ absolute?: {
2242
+ x: number;
2243
+ y: number;
2244
+ };
2245
+ relative?: {
2246
+ session_id: string;
2247
+ offset_x: number;
2248
+ offset_y: number;
2249
+ };
2250
+ };
2251
+ mentions?: string[];
2252
+ };
2253
+ }>;
2254
+ };
2255
+ dialect: "sqlite";
2256
+ }>;
2257
+ /**
2258
+ * Type exports for use with Drizzle ORM
2259
+ */
2260
+ type SessionRow = typeof sessions.$inferSelect;
2261
+ type SessionInsert = typeof sessions.$inferInsert;
2262
+ type TaskRow = typeof tasks.$inferSelect;
2263
+ type TaskInsert = typeof tasks.$inferInsert;
2264
+ type MessageRow = typeof messages.$inferSelect;
2265
+ type MessageInsert = typeof messages.$inferInsert;
2266
+ type BoardRow = typeof boards.$inferSelect;
2267
+ type BoardInsert = typeof boards.$inferInsert;
2268
+ type RepoRow = typeof repos.$inferSelect;
2269
+ type RepoInsert = typeof repos.$inferInsert;
2270
+ type WorktreeRow = typeof worktrees.$inferSelect;
2271
+ type WorktreeInsert = typeof worktrees.$inferInsert;
2272
+ type UserRow = typeof users.$inferSelect;
2273
+ type UserInsert = typeof users.$inferInsert;
2274
+ type MCPServerRow = typeof mcpServers.$inferSelect;
2275
+ type MCPServerInsert = typeof mcpServers.$inferInsert;
2276
+ type SessionMCPServerRow = typeof sessionMcpServers.$inferSelect;
2277
+ type SessionMCPServerInsert = typeof sessionMcpServers.$inferInsert;
2278
+ type BoardObjectRow = typeof boardObjects.$inferSelect;
2279
+ type BoardObjectInsert = typeof boardObjects.$inferInsert;
2280
+ type BoardCommentRow = typeof boardComments.$inferSelect;
2281
+ type BoardCommentInsert = typeof boardComments.$inferInsert;
2282
+
2283
+ type schema_BoardCommentInsert = BoardCommentInsert;
2284
+ type schema_BoardCommentRow = BoardCommentRow;
2285
+ type schema_BoardInsert = BoardInsert;
2286
+ type schema_BoardObjectInsert = BoardObjectInsert;
2287
+ type schema_BoardObjectRow = BoardObjectRow;
2288
+ type schema_BoardRow = BoardRow;
2289
+ type schema_MCPServerInsert = MCPServerInsert;
2290
+ type schema_MCPServerRow = MCPServerRow;
2291
+ type schema_MessageInsert = MessageInsert;
2292
+ type schema_MessageRow = MessageRow;
2293
+ type schema_RepoInsert = RepoInsert;
2294
+ type schema_RepoRow = RepoRow;
2295
+ type schema_SessionInsert = SessionInsert;
2296
+ type schema_SessionMCPServerInsert = SessionMCPServerInsert;
2297
+ type schema_SessionMCPServerRow = SessionMCPServerRow;
2298
+ type schema_SessionRow = SessionRow;
2299
+ type schema_TaskInsert = TaskInsert;
2300
+ type schema_TaskRow = TaskRow;
2301
+ type schema_UserInsert = UserInsert;
2302
+ type schema_UserRow = UserRow;
2303
+ type schema_WorktreeInsert = WorktreeInsert;
2304
+ type schema_WorktreeRow = WorktreeRow;
2305
+ declare const schema_boardComments: typeof boardComments;
2306
+ declare const schema_boardObjects: typeof boardObjects;
2307
+ declare const schema_boards: typeof boards;
2308
+ declare const schema_mcpServers: typeof mcpServers;
2309
+ declare const schema_messages: typeof messages;
2310
+ declare const schema_repos: typeof repos;
2311
+ declare const schema_sessionMcpServers: typeof sessionMcpServers;
2312
+ declare const schema_sessions: typeof sessions;
2313
+ declare const schema_tasks: typeof tasks;
2314
+ declare const schema_users: typeof users;
2315
+ declare const schema_worktrees: typeof worktrees;
2316
+ declare namespace schema {
2317
+ export { type schema_BoardCommentInsert as BoardCommentInsert, type schema_BoardCommentRow as BoardCommentRow, type schema_BoardInsert as BoardInsert, type schema_BoardObjectInsert as BoardObjectInsert, type schema_BoardObjectRow as BoardObjectRow, type schema_BoardRow as BoardRow, type schema_MCPServerInsert as MCPServerInsert, type schema_MCPServerRow as MCPServerRow, type schema_MessageInsert as MessageInsert, type schema_MessageRow as MessageRow, type schema_RepoInsert as RepoInsert, type schema_RepoRow as RepoRow, type schema_SessionInsert as SessionInsert, type schema_SessionMCPServerInsert as SessionMCPServerInsert, type schema_SessionMCPServerRow as SessionMCPServerRow, type schema_SessionRow as SessionRow, type schema_TaskInsert as TaskInsert, type schema_TaskRow as TaskRow, type schema_UserInsert as UserInsert, type schema_UserRow as UserRow, type schema_WorktreeInsert as WorktreeInsert, type schema_WorktreeRow as WorktreeRow, schema_boardComments as boardComments, schema_boardObjects as boardObjects, schema_boards as boards, schema_mcpServers as mcpServers, schema_messages as messages, schema_repos as repos, schema_sessionMcpServers as sessionMcpServers, schema_sessions as sessions, schema_tasks as tasks, schema_users as users, schema_worktrees as worktrees };
2318
+ }
2319
+
2320
+ /**
2321
+ * LibSQL Client Factory
2322
+ *
2323
+ * Creates and configures LibSQL database clients for Drizzle ORM.
2324
+ * Supports both local file-based SQLite and remote Turso endpoints.
2325
+ */
2326
+
2327
+ /**
2328
+ * Database configuration options
2329
+ */
2330
+ interface DbConfig {
2331
+ /**
2332
+ * Database URL
2333
+ * - Local file: 'file:~/.agor/agor.db' or 'file:/absolute/path/agor.db'
2334
+ * - Remote Turso: 'libsql://your-db.turso.io'
2335
+ */
2336
+ url: string;
2337
+ /**
2338
+ * Auth token for Turso (required for remote databases)
2339
+ */
2340
+ authToken?: string;
2341
+ /**
2342
+ * Sync URL for embedded replica (Turso only)
2343
+ * Enables offline-first mode with local replica
2344
+ */
2345
+ syncUrl?: string;
2346
+ /**
2347
+ * Sync interval in seconds (default: 60)
2348
+ * Only used when syncUrl is provided
2349
+ */
2350
+ syncInterval?: number;
2351
+ }
2352
+ /**
2353
+ * Error thrown when database connection fails
2354
+ */
2355
+ declare class DatabaseConnectionError extends Error {
2356
+ readonly cause?: unknown | undefined;
2357
+ constructor(message: string, cause?: unknown | undefined);
2358
+ }
2359
+ /**
2360
+ * Create Drizzle database instance
2361
+ *
2362
+ * @param config Database configuration
2363
+ * @returns Drizzle database instance with schema
2364
+ *
2365
+ * @example
2366
+ * ```typescript
2367
+ * // Local SQLite file
2368
+ * const db = createDatabase({ url: 'file:~/.agor/agor.db' });
2369
+ *
2370
+ * // Remote Turso
2371
+ * const db = createDatabase({
2372
+ * url: 'libsql://your-db.turso.io',
2373
+ * authToken: process.env.TURSO_AUTH_TOKEN
2374
+ * });
2375
+ *
2376
+ * // Embedded replica (offline-first)
2377
+ * const db = createDatabase({
2378
+ * url: 'file:~/.agor/agor.db',
2379
+ * syncUrl: 'libsql://your-db.turso.io',
2380
+ * authToken: process.env.TURSO_AUTH_TOKEN,
2381
+ * syncInterval: 60
2382
+ * });
2383
+ * ```
2384
+ */
2385
+ declare function createDatabase(config: DbConfig): LibSQLDatabase<typeof schema>;
2386
+ /**
2387
+ * Type alias for Drizzle database instance
2388
+ */
2389
+ type Database = LibSQLDatabase<typeof schema>;
2390
+ /**
2391
+ * Default database path for local development
2392
+ */
2393
+ declare const DEFAULT_DB_PATH = "file:~/.agor/agor.db";
2394
+ /**
2395
+ * Create database with default local configuration
2396
+ */
2397
+ declare function createLocalDatabase(customPath?: string): Database;
2398
+
2399
+ /**
2400
+ * Base Repository Interface
2401
+ *
2402
+ * Generic CRUD interface for type-safe repository pattern.
2403
+ * All repositories extend this base interface.
2404
+ */
2405
+ /**
2406
+ * Base repository interface with generic CRUD operations
2407
+ */
2408
+ interface BaseRepository<T, TInsert = T> {
2409
+ /**
2410
+ * Create a new entity
2411
+ */
2412
+ create(data: TInsert): Promise<T>;
2413
+ /**
2414
+ * Find entity by ID (supports short ID resolution)
2415
+ */
2416
+ findById(id: string): Promise<T | null>;
2417
+ /**
2418
+ * Find all entities
2419
+ */
2420
+ findAll(): Promise<T[]>;
2421
+ /**
2422
+ * Update entity by ID
2423
+ */
2424
+ update(id: string, updates: Partial<TInsert>): Promise<T>;
2425
+ /**
2426
+ * Delete entity by ID
2427
+ */
2428
+ delete(id: string): Promise<void>;
2429
+ }
2430
+ /**
2431
+ * Base repository error
2432
+ */
2433
+ declare class RepositoryError extends Error {
2434
+ readonly cause?: unknown | undefined;
2435
+ constructor(message: string, cause?: unknown | undefined);
2436
+ }
2437
+ /**
2438
+ * Entity not found error
2439
+ */
2440
+ declare class EntityNotFoundError extends RepositoryError {
2441
+ readonly entityType: string;
2442
+ readonly id: string;
2443
+ constructor(entityType: string, id: string);
2444
+ }
2445
+ /**
2446
+ * Ambiguous ID error
2447
+ */
2448
+ declare class AmbiguousIdError extends RepositoryError {
2449
+ readonly entityType: string;
2450
+ readonly prefix: string;
2451
+ readonly matches: string[];
2452
+ constructor(entityType: string, prefix: string, matches: string[]);
2453
+ }
2454
+
2455
+ /**
2456
+ * MCP Server Repository
2457
+ *
2458
+ * Type-safe CRUD operations for MCP servers with short ID support.
2459
+ */
2460
+
2461
+ /**
2462
+ * MCP Server repository implementation
2463
+ */
2464
+ declare class MCPServerRepository implements BaseRepository<MCPServer, CreateMCPServerInput | UpdateMCPServerInput> {
2465
+ private db;
2466
+ constructor(db: Database);
2467
+ /**
2468
+ * Convert database row to MCPServer type
2469
+ */
2470
+ private rowToMCPServer;
2471
+ /**
2472
+ * Convert MCPServer to database insert format
2473
+ */
2474
+ private mcpServerToInsert;
2475
+ /**
2476
+ * Resolve short ID to full ID
2477
+ */
2478
+ private resolveId;
2479
+ /**
2480
+ * Create a new MCP server
2481
+ */
2482
+ create(data: CreateMCPServerInput): Promise<MCPServer>;
2483
+ /**
2484
+ * Find MCP server by ID (supports short ID)
2485
+ */
2486
+ findById(id: string): Promise<MCPServer | null>;
2487
+ /**
2488
+ * Find all MCP servers
2489
+ */
2490
+ findAll(filters?: MCPServerFilters): Promise<MCPServer[]>;
2491
+ /**
2492
+ * Find MCP servers by scope
2493
+ */
2494
+ findByScope(scope: string, scopeId?: string): Promise<MCPServer[]>;
2495
+ /**
2496
+ * Update MCP server by ID
2497
+ */
2498
+ update(id: string, updates: UpdateMCPServerInput): Promise<MCPServer>;
2499
+ /**
2500
+ * Delete MCP server by ID
2501
+ */
2502
+ delete(id: string): Promise<void>;
2503
+ /**
2504
+ * Count total MCP servers
2505
+ */
2506
+ count(filters?: MCPServerFilters): Promise<number>;
2507
+ }
2508
+
2509
+ /**
2510
+ * Messages Repository
2511
+ *
2512
+ * CRUD operations for conversation messages.
2513
+ * Supports bulk inserts for session loading and queries by session/task.
2514
+ */
2515
+
2516
+ declare class MessagesRepository {
2517
+ private db;
2518
+ constructor(db: Database);
2519
+ /**
2520
+ * Convert database row to Message type
2521
+ */
2522
+ private rowToMessage;
2523
+ /**
2524
+ * Convert Message to database row
2525
+ */
2526
+ private messageToRow;
2527
+ /**
2528
+ * Create a single message
2529
+ */
2530
+ create(message: Message): Promise<Message>;
2531
+ /**
2532
+ * Bulk insert messages (optimized for session loading)
2533
+ */
2534
+ createMany(messageList: Message[]): Promise<Message[]>;
2535
+ /**
2536
+ * Get message by ID
2537
+ */
2538
+ findById(messageId: MessageID): Promise<Message | null>;
2539
+ /**
2540
+ * Get all messages (used by FeathersJS service adapter)
2541
+ */
2542
+ findAll(): Promise<Message[]>;
2543
+ /**
2544
+ * Get all messages for a session (ordered by index)
2545
+ */
2546
+ findBySessionId(sessionId: SessionID): Promise<Message[]>;
2547
+ /**
2548
+ * Get all messages for a task (ordered by index)
2549
+ */
2550
+ findByTaskId(taskId: TaskID): Promise<Message[]>;
2551
+ /**
2552
+ * Get messages in a range for a session
2553
+ * Used for task message_range queries
2554
+ */
2555
+ findByRange(sessionId: SessionID, startIndex: number, endIndex: number): Promise<Message[]>;
2556
+ /**
2557
+ * Update message (used by FeathersJS service adapter)
2558
+ */
2559
+ update(messageId: string, updates: Partial<Message>): Promise<Message>;
2560
+ /**
2561
+ * Update message task assignment
2562
+ */
2563
+ assignToTask(messageId: MessageID, taskId: TaskID): Promise<Message>;
2564
+ /**
2565
+ * Delete all messages for a session (cascades automatically via FK)
2566
+ */
2567
+ deleteBySessionId(sessionId: SessionID): Promise<void>;
2568
+ /**
2569
+ * Delete a single message
2570
+ */
2571
+ delete(messageId: MessageID): Promise<void>;
2572
+ }
2573
+
2574
+ /**
2575
+ * Session-MCP Server Relationship Repository
2576
+ *
2577
+ * Manages the many-to-many relationship between sessions and MCP servers.
2578
+ */
2579
+
2580
+ /**
2581
+ * Session-MCP Server repository implementation
2582
+ */
2583
+ declare class SessionMCPServerRepository {
2584
+ private db;
2585
+ private sessionRepo;
2586
+ private mcpServerRepo;
2587
+ constructor(db: Database);
2588
+ /**
2589
+ * Add MCP server to session
2590
+ */
2591
+ addServer(sessionId: SessionID, serverId: MCPServerID): Promise<void>;
2592
+ /**
2593
+ * Remove MCP server from session
2594
+ */
2595
+ removeServer(sessionId: SessionID, serverId: MCPServerID): Promise<void>;
2596
+ /**
2597
+ * Toggle MCP server enabled state for session
2598
+ */
2599
+ toggleServer(sessionId: SessionID, serverId: MCPServerID, enabled: boolean): Promise<void>;
2600
+ /**
2601
+ * List MCP servers for a session
2602
+ */
2603
+ listServers(sessionId: SessionID, enabledOnly?: boolean): Promise<MCPServer[]>;
2604
+ /**
2605
+ * Set MCP servers for a session (bulk operation)
2606
+ * Replaces existing relationships with new ones
2607
+ */
2608
+ setServers(sessionId: SessionID, serverIds: MCPServerID[]): Promise<void>;
2609
+ /**
2610
+ * Get relationship details
2611
+ */
2612
+ getRelationship(sessionId: SessionID, serverId: MCPServerID): Promise<SessionMCPServer | null>;
2613
+ /**
2614
+ * Count MCP servers for a session
2615
+ */
2616
+ count(sessionId: SessionID, enabledOnly?: boolean): Promise<number>;
2617
+ }
2618
+
2619
+ /**
2620
+ * Session Repository
2621
+ *
2622
+ * Type-safe CRUD operations for sessions with short ID support.
2623
+ */
2624
+
2625
+ /**
2626
+ * Session repository implementation
2627
+ */
2628
+ declare class SessionRepository implements BaseRepository<Session, Partial<Session>> {
2629
+ private db;
2630
+ constructor(db: Database);
2631
+ /**
2632
+ * Convert database row to Session type
2633
+ */
2634
+ private rowToSession;
2635
+ /**
2636
+ * Convert Session to database insert format
2637
+ */
2638
+ private sessionToInsert;
2639
+ /**
2640
+ * Resolve short ID to full ID
2641
+ */
2642
+ private resolveId;
2643
+ /**
2644
+ * Create a new session
2645
+ */
2646
+ create(data: Partial<Session>): Promise<Session>;
2647
+ /**
2648
+ * Find session by ID (supports short ID)
2649
+ */
2650
+ findById(id: string): Promise<Session | null>;
2651
+ /**
2652
+ * Find all sessions
2653
+ */
2654
+ findAll(): Promise<Session[]>;
2655
+ /**
2656
+ * Find sessions by status
2657
+ */
2658
+ findByStatus(status: Session['status']): Promise<Session[]>;
2659
+ /**
2660
+ * Find sessions by board ID
2661
+ */
2662
+ findByBoard(_boardId: string): Promise<Session[]>;
2663
+ /**
2664
+ * Find child sessions (forked or spawned from this session)
2665
+ */
2666
+ findChildren(sessionId: string): Promise<Session[]>;
2667
+ /**
2668
+ * Find ancestor sessions (parent chain)
2669
+ */
2670
+ findAncestors(sessionId: string): Promise<Session[]>;
2671
+ /**
2672
+ * Update session by ID
2673
+ */
2674
+ update(id: string, updates: Partial<Session>): Promise<Session>;
2675
+ /**
2676
+ * Delete session by ID
2677
+ */
2678
+ delete(id: string): Promise<void>;
2679
+ /**
2680
+ * Find sessions with running tasks
2681
+ */
2682
+ findRunning(): Promise<Session[]>;
2683
+ /**
2684
+ * Count total sessions
2685
+ */
2686
+ count(): Promise<number>;
2687
+ }
2688
+
2689
+ /**
2690
+ * Worktree Repository
2691
+ *
2692
+ * Type-safe CRUD operations for worktrees with short ID support.
2693
+ */
2694
+
2695
+ /**
2696
+ * Worktree repository implementation
2697
+ */
2698
+ declare class WorktreeRepository implements BaseRepository<Worktree, Partial<Worktree>> {
2699
+ private db;
2700
+ constructor(db: Database);
2701
+ /**
2702
+ * Convert database row to Worktree type
2703
+ */
2704
+ private rowToWorktree;
2705
+ /**
2706
+ * Convert Worktree to database insert format
2707
+ */
2708
+ private worktreeToInsert;
2709
+ /**
2710
+ * Create a new worktree
2711
+ */
2712
+ create(worktree: Partial<Worktree>): Promise<Worktree>;
2713
+ /**
2714
+ * Find worktree by exact ID or short ID prefix
2715
+ */
2716
+ findById(id: string): Promise<Worktree | null>;
2717
+ /**
2718
+ * Find all worktrees (with optional filters)
2719
+ */
2720
+ findAll(filter?: {
2721
+ repo_id?: UUID;
2722
+ }): Promise<Worktree[]>;
2723
+ /**
2724
+ * Update worktree by ID
2725
+ */
2726
+ update(id: string, updates: Partial<Worktree>): Promise<Worktree>;
2727
+ /**
2728
+ * Delete worktree by ID
2729
+ */
2730
+ delete(id: string): Promise<void>;
2731
+ /**
2732
+ * Find worktree by repo_id and name
2733
+ */
2734
+ findByRepoAndName(repoId: UUID, name: string): Promise<Worktree | null>;
2735
+ /**
2736
+ * Add session to worktree's sessions array
2737
+ */
2738
+ addSession(worktreeId: WorktreeID, sessionId: UUID): Promise<Worktree>;
2739
+ /**
2740
+ * Remove session from worktree's sessions array
2741
+ */
2742
+ removeSession(worktreeId: WorktreeID, sessionId: UUID): Promise<Worktree>;
2743
+ }
2744
+
2745
+ export { AmbiguousIdError as A, type BaseRepository as B, type RepoInsert as C, type DbConfig as D, EntityNotFoundError as E, type WorktreeRow as F, type WorktreeInsert as G, type UserInsert as H, type MCPServerRow as I, type MCPServerInsert as J, type SessionMCPServerRow as K, type SessionMCPServerInsert as L, MCPServerRepository as M, type BoardObjectRow as N, type BoardObjectInsert as O, type BoardCommentRow as P, type BoardCommentInsert as Q, RepositoryError as R, SessionMCPServerRepository as S, type TaskRow as T, type UserRow as U, WorktreeRepository as W, DatabaseConnectionError as a, type Database as b, createDatabase as c, DEFAULT_DB_PATH as d, createLocalDatabase as e, MessagesRepository as f, SessionRepository as g, boards as h, mcpServers as i, boardObjects as j, sessionMcpServers as k, boardComments as l, messages as m, type SessionRow as n, type SessionInsert as o, type TaskInsert as p, type MessageRow as q, repos as r, sessions as s, tasks as t, users as u, type MessageInsert as v, worktrees as w, type BoardRow as x, type BoardInsert as y, type RepoRow as z };