c0de-agent 0.0.0 → 1.0.0

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 (330) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +101 -0
  3. package/dist/cli/commands/acp.d.ts +19 -0
  4. package/dist/cli/commands/acp.js +50 -0
  5. package/dist/cli/commands/chat.d.ts +13 -0
  6. package/dist/cli/commands/chat.js +26 -0
  7. package/dist/cli/commands/config.d.ts +17 -0
  8. package/dist/cli/commands/config.js +77 -0
  9. package/dist/cli/commands/init.d.ts +9 -0
  10. package/dist/cli/commands/init.js +14 -0
  11. package/dist/cli/commands/plugin.d.ts +11 -0
  12. package/dist/cli/commands/plugin.js +31 -0
  13. package/dist/cli/commands/serve.d.ts +18 -0
  14. package/dist/cli/commands/serve.js +35 -0
  15. package/dist/cli/commands/update.d.ts +24 -0
  16. package/dist/cli/commands/update.js +40 -0
  17. package/dist/cli/deps.d.ts +19 -0
  18. package/dist/cli/deps.js +57 -0
  19. package/dist/cli/index.d.ts +8 -0
  20. package/dist/cli/index.js +149 -0
  21. package/dist/cli/modes/acp.d.ts +18 -0
  22. package/dist/cli/modes/acp.js +57 -0
  23. package/dist/cli/modes/print.d.ts +16 -0
  24. package/dist/cli/modes/print.js +30 -0
  25. package/dist/cli/parser.d.ts +19 -0
  26. package/dist/cli/parser.js +28 -0
  27. package/dist/cli/utils/output.d.ts +11 -0
  28. package/dist/cli/utils/output.js +23 -0
  29. package/dist/cli/utils/prompt.d.ts +12 -0
  30. package/dist/cli/utils/prompt.js +18 -0
  31. package/dist/core/agent.d.ts +12 -0
  32. package/dist/core/agent.js +95 -0
  33. package/dist/core/agents/builtin.d.ts +6 -0
  34. package/dist/core/agents/builtin.js +76 -0
  35. package/dist/core/agents/discovery.d.ts +6 -0
  36. package/dist/core/agents/discovery.js +96 -0
  37. package/dist/core/agents/index.d.ts +6 -0
  38. package/dist/core/agents/index.js +4 -0
  39. package/dist/core/agents/parallel.d.ts +13 -0
  40. package/dist/core/agents/parallel.js +37 -0
  41. package/dist/core/agents/registry.d.ts +4 -0
  42. package/dist/core/agents/registry.js +23 -0
  43. package/dist/core/agents/types.d.ts +37 -0
  44. package/dist/core/agents/types.js +1 -0
  45. package/dist/core/compact.d.ts +11 -0
  46. package/dist/core/compact.js +31 -0
  47. package/dist/core/config.d.ts +7 -0
  48. package/dist/core/config.js +84 -0
  49. package/dist/core/context.d.ts +23 -0
  50. package/dist/core/context.js +93 -0
  51. package/dist/core/index.d.ts +13 -0
  52. package/dist/core/index.js +11 -0
  53. package/dist/core/loop.d.ts +25 -0
  54. package/dist/core/loop.js +651 -0
  55. package/dist/core/metrics.d.ts +27 -0
  56. package/dist/core/metrics.js +94 -0
  57. package/dist/core/prompt-registry.d.ts +21 -0
  58. package/dist/core/prompt-registry.js +200 -0
  59. package/dist/core/prompt.d.ts +11 -0
  60. package/dist/core/prompt.js +13 -0
  61. package/dist/core/secret.d.ts +12 -0
  62. package/dist/core/secret.js +51 -0
  63. package/dist/core/slash.d.ts +15 -0
  64. package/dist/core/slash.js +114 -0
  65. package/dist/core/steering.d.ts +8 -0
  66. package/dist/core/steering.js +15 -0
  67. package/dist/core/title.d.ts +42 -0
  68. package/dist/core/title.js +115 -0
  69. package/dist/core/tool-exec.d.ts +20 -0
  70. package/dist/core/tool-exec.js +64 -0
  71. package/dist/core/types.d.ts +95 -0
  72. package/dist/core/types.js +1 -0
  73. package/dist/core/worktree.d.ts +24 -0
  74. package/dist/core/worktree.js +68 -0
  75. package/dist/dap/index.d.ts +6 -0
  76. package/dist/dap/index.js +4 -0
  77. package/dist/dap/protocol.d.ts +40 -0
  78. package/dist/dap/protocol.js +132 -0
  79. package/dist/dap/session.d.ts +23 -0
  80. package/dist/dap/session.js +130 -0
  81. package/dist/dap/transport.d.ts +8 -0
  82. package/dist/dap/transport.js +30 -0
  83. package/dist/dap/types.d.ts +50 -0
  84. package/dist/dap/types.js +2 -0
  85. package/dist/db/client.d.ts +22 -0
  86. package/dist/db/client.js +39 -0
  87. package/dist/db/index.d.ts +6 -0
  88. package/dist/db/index.js +4 -0
  89. package/dist/db/migrate.d.ts +9 -0
  90. package/dist/db/migrate.js +15 -0
  91. package/dist/db/schema.d.ts +965 -0
  92. package/dist/db/schema.js +112 -0
  93. package/dist/db/types.d.ts +11 -0
  94. package/dist/db/types.js +1 -0
  95. package/dist/llm/index.d.ts +13 -0
  96. package/dist/llm/index.js +8 -0
  97. package/dist/llm/protocols/openai-compat.d.ts +139 -0
  98. package/dist/llm/protocols/openai-compat.js +214 -0
  99. package/dist/llm/protocols/utils/index.d.ts +2 -0
  100. package/dist/llm/protocols/utils/index.js +2 -0
  101. package/dist/llm/protocols/utils/lifecycle.d.ts +23 -0
  102. package/dist/llm/protocols/utils/lifecycle.js +46 -0
  103. package/dist/llm/protocols/utils/tool-stream.d.ts +46 -0
  104. package/dist/llm/protocols/utils/tool-stream.js +94 -0
  105. package/dist/llm/provider-error.d.ts +5 -0
  106. package/dist/llm/provider-error.js +33 -0
  107. package/dist/llm/provider.d.ts +32 -0
  108. package/dist/llm/provider.js +191 -0
  109. package/dist/llm/registry.d.ts +44 -0
  110. package/dist/llm/registry.js +107 -0
  111. package/dist/llm/retry.d.ts +37 -0
  112. package/dist/llm/retry.js +82 -0
  113. package/dist/llm/routing.d.ts +36 -0
  114. package/dist/llm/routing.js +53 -0
  115. package/dist/llm/schema/errors.d.ts +88 -0
  116. package/dist/llm/schema/errors.js +33 -0
  117. package/dist/llm/schema/events.d.ts +135 -0
  118. package/dist/llm/schema/events.js +35 -0
  119. package/dist/llm/schema/ids.d.ts +22 -0
  120. package/dist/llm/schema/ids.js +3 -0
  121. package/dist/llm/schema/index.d.ts +5 -0
  122. package/dist/llm/schema/index.js +5 -0
  123. package/dist/llm/schema/messages.d.ts +97 -0
  124. package/dist/llm/schema/messages.js +18 -0
  125. package/dist/llm/schema/options.d.ts +54 -0
  126. package/dist/llm/schema/options.js +54 -0
  127. package/dist/llm/token.d.ts +2 -0
  128. package/dist/llm/token.js +13 -0
  129. package/dist/llm/transport.d.ts +31 -0
  130. package/dist/llm/transport.js +165 -0
  131. package/dist/mcp/index.d.ts +1 -0
  132. package/dist/mcp/index.js +3 -0
  133. package/dist/plugins/builtin.d.ts +6 -0
  134. package/dist/plugins/builtin.js +54 -0
  135. package/dist/plugins/hooks.d.ts +3 -0
  136. package/dist/plugins/hooks.js +79 -0
  137. package/dist/plugins/index.d.ts +9 -0
  138. package/dist/plugins/index.js +8 -0
  139. package/dist/plugins/init.d.ts +23 -0
  140. package/dist/plugins/init.js +30 -0
  141. package/dist/plugins/lifecycle.d.ts +6 -0
  142. package/dist/plugins/lifecycle.js +74 -0
  143. package/dist/plugins/loader.d.ts +16 -0
  144. package/dist/plugins/loader.js +68 -0
  145. package/dist/plugins/logger.d.ts +4 -0
  146. package/dist/plugins/logger.js +31 -0
  147. package/dist/plugins/registry.d.ts +7 -0
  148. package/dist/plugins/registry.js +24 -0
  149. package/dist/plugins/types.d.ts +113 -0
  150. package/dist/plugins/types.js +1 -0
  151. package/dist/project/detect.d.ts +4 -0
  152. package/dist/project/detect.js +131 -0
  153. package/dist/project/index.d.ts +4 -0
  154. package/dist/project/index.js +2 -0
  155. package/dist/project/project.d.ts +23 -0
  156. package/dist/project/project.js +87 -0
  157. package/dist/project/resolve.d.ts +8 -0
  158. package/dist/project/resolve.js +81 -0
  159. package/dist/server/agent-manager.d.ts +32 -0
  160. package/dist/server/agent-manager.js +54 -0
  161. package/dist/server/app.d.ts +5 -0
  162. package/dist/server/app.js +75 -0
  163. package/dist/server/context.d.ts +20 -0
  164. package/dist/server/context.js +47 -0
  165. package/dist/server/dev.d.ts +11 -0
  166. package/dist/server/dev.js +83 -0
  167. package/dist/server/index.d.ts +11 -0
  168. package/dist/server/index.js +7 -0
  169. package/dist/server/middleware/auth.d.ts +15 -0
  170. package/dist/server/middleware/auth.js +29 -0
  171. package/dist/server/middleware/cors.d.ts +16 -0
  172. package/dist/server/middleware/cors.js +44 -0
  173. package/dist/server/middleware/error.d.ts +15 -0
  174. package/dist/server/middleware/error.js +11 -0
  175. package/dist/server/permission/interactive.d.ts +24 -0
  176. package/dist/server/permission/interactive.js +56 -0
  177. package/dist/server/permission/store.d.ts +30 -0
  178. package/dist/server/permission/store.js +47 -0
  179. package/dist/server/routes/agent.d.ts +4 -0
  180. package/dist/server/routes/agent.js +19 -0
  181. package/dist/server/routes/catalog.d.ts +42 -0
  182. package/dist/server/routes/catalog.js +194 -0
  183. package/dist/server/routes/chat.d.ts +8 -0
  184. package/dist/server/routes/chat.js +282 -0
  185. package/dist/server/routes/commands.d.ts +5 -0
  186. package/dist/server/routes/commands.js +17 -0
  187. package/dist/server/routes/config.d.ts +4 -0
  188. package/dist/server/routes/config.js +27 -0
  189. package/dist/server/routes/files.d.ts +4 -0
  190. package/dist/server/routes/files.js +183 -0
  191. package/dist/server/routes/filesystem.d.ts +29 -0
  192. package/dist/server/routes/filesystem.js +108 -0
  193. package/dist/server/routes/health.d.ts +3 -0
  194. package/dist/server/routes/health.js +13 -0
  195. package/dist/server/routes/permissions.d.ts +5 -0
  196. package/dist/server/routes/permissions.js +23 -0
  197. package/dist/server/routes/project.d.ts +4 -0
  198. package/dist/server/routes/project.js +51 -0
  199. package/dist/server/routes/provider.d.ts +16 -0
  200. package/dist/server/routes/provider.js +66 -0
  201. package/dist/server/routes/session.d.ts +4 -0
  202. package/dist/server/routes/session.js +130 -0
  203. package/dist/server/routes/tool.d.ts +4 -0
  204. package/dist/server/routes/tool.js +28 -0
  205. package/dist/server/routes/update.d.ts +14 -0
  206. package/dist/server/routes/update.js +49 -0
  207. package/dist/server/server.d.ts +43 -0
  208. package/dist/server/server.js +197 -0
  209. package/dist/server/types.d.ts +73 -0
  210. package/dist/server/types.js +2 -0
  211. package/dist/server/util/safe-path.d.ts +7 -0
  212. package/dist/server/util/safe-path.js +7 -0
  213. package/dist/session/archive.d.ts +15 -0
  214. package/dist/session/archive.js +129 -0
  215. package/dist/session/branch.d.ts +9 -0
  216. package/dist/session/branch.js +63 -0
  217. package/dist/session/compaction.d.ts +27 -0
  218. package/dist/session/compaction.js +192 -0
  219. package/dist/session/context.d.ts +16 -0
  220. package/dist/session/context.js +173 -0
  221. package/dist/session/index.d.ts +10 -0
  222. package/dist/session/index.js +10 -0
  223. package/dist/session/message.d.ts +22 -0
  224. package/dist/session/message.js +145 -0
  225. package/dist/session/session.d.ts +37 -0
  226. package/dist/session/session.js +144 -0
  227. package/dist/session/snapshot.d.ts +11 -0
  228. package/dist/session/snapshot.js +60 -0
  229. package/dist/session/squash.d.ts +9 -0
  230. package/dist/session/squash.js +88 -0
  231. package/dist/session/token.d.ts +10 -0
  232. package/dist/session/token.js +33 -0
  233. package/dist/session/types.d.ts +122 -0
  234. package/dist/session/types.js +1 -0
  235. package/dist/shared/index.d.ts +2 -0
  236. package/dist/shared/index.js +1 -0
  237. package/dist/shared/types/agent.d.ts +202 -0
  238. package/dist/shared/types/agent.js +1 -0
  239. package/dist/shared/types/base.d.ts +32 -0
  240. package/dist/shared/types/base.js +1 -0
  241. package/dist/shared/types/config.d.ts +104 -0
  242. package/dist/shared/types/config.js +1 -0
  243. package/dist/shared/types/index.d.ts +6 -0
  244. package/dist/shared/types/index.js +1 -0
  245. package/dist/shared/types/llm.d.ts +122 -0
  246. package/dist/shared/types/llm.js +1 -0
  247. package/dist/shared/types/message.d.ts +71 -0
  248. package/dist/shared/types/message.js +1 -0
  249. package/dist/shared/types/tool.d.ts +134 -0
  250. package/dist/shared/types/tool.js +1 -0
  251. package/dist/shared/utils/path.d.ts +15 -0
  252. package/dist/shared/utils/path.js +23 -0
  253. package/dist/shared/utils.d.ts +5 -0
  254. package/dist/shared/utils.js +10 -0
  255. package/dist/tools/builtin/bash.d.ts +12 -0
  256. package/dist/tools/builtin/bash.js +121 -0
  257. package/dist/tools/builtin/dap.d.ts +23 -0
  258. package/dist/tools/builtin/dap.js +231 -0
  259. package/dist/tools/builtin/edit.d.ts +12 -0
  260. package/dist/tools/builtin/edit.js +151 -0
  261. package/dist/tools/builtin/glob.d.ts +11 -0
  262. package/dist/tools/builtin/glob.js +120 -0
  263. package/dist/tools/builtin/grep.d.ts +6 -0
  264. package/dist/tools/builtin/grep.js +141 -0
  265. package/dist/tools/builtin/read.d.ts +6 -0
  266. package/dist/tools/builtin/read.js +73 -0
  267. package/dist/tools/builtin/resolvers.d.ts +12 -0
  268. package/dist/tools/builtin/resolvers.js +79 -0
  269. package/dist/tools/builtin/task.d.ts +9 -0
  270. package/dist/tools/builtin/task.js +100 -0
  271. package/dist/tools/builtin/write.d.ts +6 -0
  272. package/dist/tools/builtin/write.js +36 -0
  273. package/dist/tools/builtin/yield.d.ts +9 -0
  274. package/dist/tools/builtin/yield.js +40 -0
  275. package/dist/tools/executor.d.ts +9 -0
  276. package/dist/tools/executor.js +54 -0
  277. package/dist/tools/hashline/index.d.ts +2 -0
  278. package/dist/tools/hashline/index.js +3 -0
  279. package/dist/tools/hashline/patch.d.ts +48 -0
  280. package/dist/tools/hashline/patch.js +201 -0
  281. package/dist/tools/index.d.ts +30 -0
  282. package/dist/tools/index.js +55 -0
  283. package/dist/tools/permission.d.ts +13 -0
  284. package/dist/tools/permission.js +39 -0
  285. package/dist/tools/registry.d.ts +15 -0
  286. package/dist/tools/registry.js +54 -0
  287. package/dist/tools/resolver.d.ts +15 -0
  288. package/dist/tools/resolver.js +47 -0
  289. package/dist/tools/truncate.d.ts +8 -0
  290. package/dist/tools/truncate.js +50 -0
  291. package/dist/tools/types.d.ts +101 -0
  292. package/dist/tools/types.js +1 -0
  293. package/dist/tools/validate.d.ts +8 -0
  294. package/dist/tools/validate.js +130 -0
  295. package/dist/tools/websearch/fetch.d.ts +11 -0
  296. package/dist/tools/websearch/fetch.js +21 -0
  297. package/dist/tools/websearch/index.d.ts +19 -0
  298. package/dist/tools/websearch/index.js +78 -0
  299. package/dist/tools/websearch/providers/brave.d.ts +5 -0
  300. package/dist/tools/websearch/providers/brave.js +53 -0
  301. package/dist/tools/websearch/providers/duckduckgo.d.ts +3 -0
  302. package/dist/tools/websearch/providers/duckduckgo.js +75 -0
  303. package/dist/tools/websearch/providers/tavily.d.ts +11 -0
  304. package/dist/tools/websearch/providers/tavily.js +89 -0
  305. package/dist/tools/websearch/types.d.ts +51 -0
  306. package/dist/tools/websearch/types.js +18 -0
  307. package/dist/tools/websearch/websearch.d.ts +10 -0
  308. package/dist/tools/websearch/websearch.js +48 -0
  309. package/dist/update/index.d.ts +10 -0
  310. package/dist/update/index.js +6 -0
  311. package/dist/update/ipc.d.ts +15 -0
  312. package/dist/update/ipc.js +41 -0
  313. package/dist/update/scheduler.d.ts +34 -0
  314. package/dist/update/scheduler.js +57 -0
  315. package/dist/update/snapshot.d.ts +39 -0
  316. package/dist/update/snapshot.js +99 -0
  317. package/dist/update/updater.d.ts +48 -0
  318. package/dist/update/updater.js +83 -0
  319. package/dist/update/version.d.ts +18 -0
  320. package/dist/update/version.js +49 -0
  321. package/drizzle/0000_magical_nightshade.sql +55 -0
  322. package/drizzle/0001_chemical_doctor_faustus.sql +13 -0
  323. package/drizzle/0002_amusing_micromacro.sql +12 -0
  324. package/drizzle/0003_regular_purifiers.sql +2 -0
  325. package/drizzle/meta/0000_snapshot.json +448 -0
  326. package/drizzle/meta/0001_snapshot.json +539 -0
  327. package/drizzle/meta/0002_snapshot.json +633 -0
  328. package/drizzle/meta/0003_snapshot.json +645 -0
  329. package/drizzle/meta/_journal.json +34 -0
  330. package/package.json +100 -8
@@ -0,0 +1,633 @@
1
+ {
2
+ "id": "cd4c9564-4242-4576-b28e-23c86ffadb0c",
3
+ "prevId": "b80bc82c-966a-4286-b3a5-d13ac7ff757c",
4
+ "version": "7",
5
+ "dialect": "postgresql",
6
+ "tables": {
7
+ "public.compaction_archives": {
8
+ "name": "compaction_archives",
9
+ "schema": "",
10
+ "columns": {
11
+ "id": {
12
+ "name": "id",
13
+ "type": "uuid",
14
+ "primaryKey": true,
15
+ "notNull": true,
16
+ "default": "gen_random_uuid()"
17
+ },
18
+ "session_id": {
19
+ "name": "session_id",
20
+ "type": "uuid",
21
+ "primaryKey": false,
22
+ "notNull": true
23
+ },
24
+ "compaction_id": {
25
+ "name": "compaction_id",
26
+ "type": "uuid",
27
+ "primaryKey": false,
28
+ "notNull": true
29
+ },
30
+ "archive_type": {
31
+ "name": "archive_type",
32
+ "type": "text",
33
+ "primaryKey": false,
34
+ "notNull": true
35
+ },
36
+ "original_entries": {
37
+ "name": "original_entries",
38
+ "type": "jsonb",
39
+ "primaryKey": false,
40
+ "notNull": true
41
+ },
42
+ "file_snapshots": {
43
+ "name": "file_snapshots",
44
+ "type": "jsonb",
45
+ "primaryKey": false,
46
+ "notNull": false,
47
+ "default": "'[]'::jsonb"
48
+ },
49
+ "summary": {
50
+ "name": "summary",
51
+ "type": "text",
52
+ "primaryKey": false,
53
+ "notNull": true
54
+ },
55
+ "token_count": {
56
+ "name": "token_count",
57
+ "type": "integer",
58
+ "primaryKey": false,
59
+ "notNull": false
60
+ },
61
+ "searchable_text": {
62
+ "name": "searchable_text",
63
+ "type": "text",
64
+ "primaryKey": false,
65
+ "notNull": false
66
+ },
67
+ "created_at": {
68
+ "name": "created_at",
69
+ "type": "timestamp with time zone",
70
+ "primaryKey": false,
71
+ "notNull": true,
72
+ "default": "now()"
73
+ }
74
+ },
75
+ "indexes": {
76
+ "idx_archives_session": {
77
+ "name": "idx_archives_session",
78
+ "columns": [
79
+ {
80
+ "expression": "session_id",
81
+ "isExpression": false,
82
+ "asc": true,
83
+ "nulls": "last"
84
+ }
85
+ ],
86
+ "isUnique": false,
87
+ "concurrently": false,
88
+ "method": "btree",
89
+ "with": {}
90
+ }
91
+ },
92
+ "foreignKeys": {
93
+ "compaction_archives_session_id_sessions_id_fk": {
94
+ "name": "compaction_archives_session_id_sessions_id_fk",
95
+ "tableFrom": "compaction_archives",
96
+ "tableTo": "sessions",
97
+ "columnsFrom": [
98
+ "session_id"
99
+ ],
100
+ "columnsTo": [
101
+ "id"
102
+ ],
103
+ "onDelete": "cascade",
104
+ "onUpdate": "no action"
105
+ }
106
+ },
107
+ "compositePrimaryKeys": {},
108
+ "uniqueConstraints": {},
109
+ "policies": {},
110
+ "checkConstraints": {},
111
+ "isRLSEnabled": false
112
+ },
113
+ "public.file_snapshots": {
114
+ "name": "file_snapshots",
115
+ "schema": "",
116
+ "columns": {
117
+ "id": {
118
+ "name": "id",
119
+ "type": "uuid",
120
+ "primaryKey": true,
121
+ "notNull": true,
122
+ "default": "gen_random_uuid()"
123
+ },
124
+ "session_id": {
125
+ "name": "session_id",
126
+ "type": "uuid",
127
+ "primaryKey": false,
128
+ "notNull": true
129
+ },
130
+ "entry_id": {
131
+ "name": "entry_id",
132
+ "type": "uuid",
133
+ "primaryKey": false,
134
+ "notNull": false
135
+ },
136
+ "file_path": {
137
+ "name": "file_path",
138
+ "type": "text",
139
+ "primaryKey": false,
140
+ "notNull": true
141
+ },
142
+ "content": {
143
+ "name": "content",
144
+ "type": "text",
145
+ "primaryKey": false,
146
+ "notNull": true
147
+ },
148
+ "content_hash": {
149
+ "name": "content_hash",
150
+ "type": "text",
151
+ "primaryKey": false,
152
+ "notNull": true
153
+ },
154
+ "token_count": {
155
+ "name": "token_count",
156
+ "type": "integer",
157
+ "primaryKey": false,
158
+ "notNull": false,
159
+ "default": 0
160
+ },
161
+ "version": {
162
+ "name": "version",
163
+ "type": "integer",
164
+ "primaryKey": false,
165
+ "notNull": false,
166
+ "default": 1
167
+ },
168
+ "created_at": {
169
+ "name": "created_at",
170
+ "type": "timestamp with time zone",
171
+ "primaryKey": false,
172
+ "notNull": true,
173
+ "default": "now()"
174
+ }
175
+ },
176
+ "indexes": {
177
+ "idx_snapshots_session_path": {
178
+ "name": "idx_snapshots_session_path",
179
+ "columns": [
180
+ {
181
+ "expression": "session_id",
182
+ "isExpression": false,
183
+ "asc": true,
184
+ "nulls": "last"
185
+ },
186
+ {
187
+ "expression": "file_path",
188
+ "isExpression": false,
189
+ "asc": true,
190
+ "nulls": "last"
191
+ }
192
+ ],
193
+ "isUnique": false,
194
+ "concurrently": false,
195
+ "method": "btree",
196
+ "with": {}
197
+ },
198
+ "idx_snapshots_latest": {
199
+ "name": "idx_snapshots_latest",
200
+ "columns": [
201
+ {
202
+ "expression": "session_id",
203
+ "isExpression": false,
204
+ "asc": true,
205
+ "nulls": "last"
206
+ },
207
+ {
208
+ "expression": "file_path",
209
+ "isExpression": false,
210
+ "asc": true,
211
+ "nulls": "last"
212
+ },
213
+ {
214
+ "expression": "version",
215
+ "isExpression": false,
216
+ "asc": true,
217
+ "nulls": "last"
218
+ }
219
+ ],
220
+ "isUnique": true,
221
+ "concurrently": false,
222
+ "method": "btree",
223
+ "with": {}
224
+ }
225
+ },
226
+ "foreignKeys": {
227
+ "file_snapshots_session_id_sessions_id_fk": {
228
+ "name": "file_snapshots_session_id_sessions_id_fk",
229
+ "tableFrom": "file_snapshots",
230
+ "tableTo": "sessions",
231
+ "columnsFrom": [
232
+ "session_id"
233
+ ],
234
+ "columnsTo": [
235
+ "id"
236
+ ],
237
+ "onDelete": "cascade",
238
+ "onUpdate": "no action"
239
+ }
240
+ },
241
+ "compositePrimaryKeys": {},
242
+ "uniqueConstraints": {},
243
+ "policies": {},
244
+ "checkConstraints": {},
245
+ "isRLSEnabled": false
246
+ },
247
+ "public.projects": {
248
+ "name": "projects",
249
+ "schema": "",
250
+ "columns": {
251
+ "id": {
252
+ "name": "id",
253
+ "type": "text",
254
+ "primaryKey": true,
255
+ "notNull": true
256
+ },
257
+ "worktree": {
258
+ "name": "worktree",
259
+ "type": "text",
260
+ "primaryKey": false,
261
+ "notNull": true
262
+ },
263
+ "vcs": {
264
+ "name": "vcs",
265
+ "type": "text",
266
+ "primaryKey": false,
267
+ "notNull": false
268
+ },
269
+ "name": {
270
+ "name": "name",
271
+ "type": "text",
272
+ "primaryKey": false,
273
+ "notNull": false
274
+ },
275
+ "git_remote": {
276
+ "name": "git_remote",
277
+ "type": "text",
278
+ "primaryKey": false,
279
+ "notNull": false
280
+ },
281
+ "created_at": {
282
+ "name": "created_at",
283
+ "type": "timestamp with time zone",
284
+ "primaryKey": false,
285
+ "notNull": true,
286
+ "default": "now()"
287
+ },
288
+ "updated_at": {
289
+ "name": "updated_at",
290
+ "type": "timestamp with time zone",
291
+ "primaryKey": false,
292
+ "notNull": true,
293
+ "default": "now()"
294
+ }
295
+ },
296
+ "indexes": {},
297
+ "foreignKeys": {},
298
+ "compositePrimaryKeys": {},
299
+ "uniqueConstraints": {},
300
+ "policies": {},
301
+ "checkConstraints": {},
302
+ "isRLSEnabled": false
303
+ },
304
+ "public.session_entries": {
305
+ "name": "session_entries",
306
+ "schema": "",
307
+ "columns": {
308
+ "id": {
309
+ "name": "id",
310
+ "type": "uuid",
311
+ "primaryKey": true,
312
+ "notNull": true,
313
+ "default": "gen_random_uuid()"
314
+ },
315
+ "session_id": {
316
+ "name": "session_id",
317
+ "type": "uuid",
318
+ "primaryKey": false,
319
+ "notNull": true
320
+ },
321
+ "tag": {
322
+ "name": "tag",
323
+ "type": "text",
324
+ "primaryKey": false,
325
+ "notNull": true
326
+ },
327
+ "role": {
328
+ "name": "role",
329
+ "type": "text",
330
+ "primaryKey": false,
331
+ "notNull": false
332
+ },
333
+ "content": {
334
+ "name": "content",
335
+ "type": "jsonb",
336
+ "primaryKey": false,
337
+ "notNull": true
338
+ },
339
+ "tool_name": {
340
+ "name": "tool_name",
341
+ "type": "text",
342
+ "primaryKey": false,
343
+ "notNull": false
344
+ },
345
+ "token_count": {
346
+ "name": "token_count",
347
+ "type": "integer",
348
+ "primaryKey": false,
349
+ "notNull": false,
350
+ "default": 0
351
+ },
352
+ "created_at": {
353
+ "name": "created_at",
354
+ "type": "timestamp with time zone",
355
+ "primaryKey": false,
356
+ "notNull": true,
357
+ "default": "now()"
358
+ }
359
+ },
360
+ "indexes": {
361
+ "idx_entries_session": {
362
+ "name": "idx_entries_session",
363
+ "columns": [
364
+ {
365
+ "expression": "session_id",
366
+ "isExpression": false,
367
+ "asc": true,
368
+ "nulls": "last"
369
+ },
370
+ {
371
+ "expression": "created_at",
372
+ "isExpression": false,
373
+ "asc": true,
374
+ "nulls": "last"
375
+ }
376
+ ],
377
+ "isUnique": false,
378
+ "concurrently": false,
379
+ "method": "btree",
380
+ "with": {}
381
+ }
382
+ },
383
+ "foreignKeys": {
384
+ "session_entries_session_id_sessions_id_fk": {
385
+ "name": "session_entries_session_id_sessions_id_fk",
386
+ "tableFrom": "session_entries",
387
+ "tableTo": "sessions",
388
+ "columnsFrom": [
389
+ "session_id"
390
+ ],
391
+ "columnsTo": [
392
+ "id"
393
+ ],
394
+ "onDelete": "cascade",
395
+ "onUpdate": "no action"
396
+ }
397
+ },
398
+ "compositePrimaryKeys": {},
399
+ "uniqueConstraints": {},
400
+ "policies": {},
401
+ "checkConstraints": {},
402
+ "isRLSEnabled": false
403
+ },
404
+ "public.sessions": {
405
+ "name": "sessions",
406
+ "schema": "",
407
+ "columns": {
408
+ "id": {
409
+ "name": "id",
410
+ "type": "uuid",
411
+ "primaryKey": true,
412
+ "notNull": true,
413
+ "default": "gen_random_uuid()"
414
+ },
415
+ "title": {
416
+ "name": "title",
417
+ "type": "text",
418
+ "primaryKey": false,
419
+ "notNull": true
420
+ },
421
+ "parent_id": {
422
+ "name": "parent_id",
423
+ "type": "uuid",
424
+ "primaryKey": false,
425
+ "notNull": false
426
+ },
427
+ "project_id": {
428
+ "name": "project_id",
429
+ "type": "text",
430
+ "primaryKey": false,
431
+ "notNull": false
432
+ },
433
+ "branch_point": {
434
+ "name": "branch_point",
435
+ "type": "integer",
436
+ "primaryKey": false,
437
+ "notNull": false
438
+ },
439
+ "metadata": {
440
+ "name": "metadata",
441
+ "type": "jsonb",
442
+ "primaryKey": false,
443
+ "notNull": true,
444
+ "default": "'{}'::jsonb"
445
+ },
446
+ "created_at": {
447
+ "name": "created_at",
448
+ "type": "timestamp with time zone",
449
+ "primaryKey": false,
450
+ "notNull": true,
451
+ "default": "now()"
452
+ },
453
+ "updated_at": {
454
+ "name": "updated_at",
455
+ "type": "timestamp with time zone",
456
+ "primaryKey": false,
457
+ "notNull": true,
458
+ "default": "now()"
459
+ }
460
+ },
461
+ "indexes": {
462
+ "idx_sessions_parent": {
463
+ "name": "idx_sessions_parent",
464
+ "columns": [
465
+ {
466
+ "expression": "parent_id",
467
+ "isExpression": false,
468
+ "asc": true,
469
+ "nulls": "last"
470
+ }
471
+ ],
472
+ "isUnique": false,
473
+ "concurrently": false,
474
+ "method": "btree",
475
+ "with": {}
476
+ },
477
+ "idx_sessions_project": {
478
+ "name": "idx_sessions_project",
479
+ "columns": [
480
+ {
481
+ "expression": "project_id",
482
+ "isExpression": false,
483
+ "asc": true,
484
+ "nulls": "last"
485
+ }
486
+ ],
487
+ "isUnique": false,
488
+ "concurrently": false,
489
+ "method": "btree",
490
+ "with": {}
491
+ }
492
+ },
493
+ "foreignKeys": {
494
+ "sessions_parent_id_sessions_id_fk": {
495
+ "name": "sessions_parent_id_sessions_id_fk",
496
+ "tableFrom": "sessions",
497
+ "tableTo": "sessions",
498
+ "columnsFrom": [
499
+ "parent_id"
500
+ ],
501
+ "columnsTo": [
502
+ "id"
503
+ ],
504
+ "onDelete": "no action",
505
+ "onUpdate": "no action"
506
+ },
507
+ "sessions_project_id_projects_id_fk": {
508
+ "name": "sessions_project_id_projects_id_fk",
509
+ "tableFrom": "sessions",
510
+ "tableTo": "projects",
511
+ "columnsFrom": [
512
+ "project_id"
513
+ ],
514
+ "columnsTo": [
515
+ "id"
516
+ ],
517
+ "onDelete": "set null",
518
+ "onUpdate": "no action"
519
+ }
520
+ },
521
+ "compositePrimaryKeys": {},
522
+ "uniqueConstraints": {},
523
+ "policies": {},
524
+ "checkConstraints": {},
525
+ "isRLSEnabled": false
526
+ },
527
+ "public.tool_metrics": {
528
+ "name": "tool_metrics",
529
+ "schema": "",
530
+ "columns": {
531
+ "model": {
532
+ "name": "model",
533
+ "type": "text",
534
+ "primaryKey": false,
535
+ "notNull": true
536
+ },
537
+ "tool": {
538
+ "name": "tool",
539
+ "type": "text",
540
+ "primaryKey": false,
541
+ "notNull": true
542
+ },
543
+ "mode": {
544
+ "name": "mode",
545
+ "type": "text",
546
+ "primaryKey": false,
547
+ "notNull": true
548
+ },
549
+ "attempts": {
550
+ "name": "attempts",
551
+ "type": "integer",
552
+ "primaryKey": false,
553
+ "notNull": true,
554
+ "default": 0
555
+ },
556
+ "successes": {
557
+ "name": "successes",
558
+ "type": "integer",
559
+ "primaryKey": false,
560
+ "notNull": true,
561
+ "default": 0
562
+ },
563
+ "failures": {
564
+ "name": "failures",
565
+ "type": "integer",
566
+ "primaryKey": false,
567
+ "notNull": true,
568
+ "default": 0
569
+ },
570
+ "avg_latency_ms": {
571
+ "name": "avg_latency_ms",
572
+ "type": "real",
573
+ "primaryKey": false,
574
+ "notNull": true,
575
+ "default": 0
576
+ },
577
+ "last_used": {
578
+ "name": "last_used",
579
+ "type": "timestamp with time zone",
580
+ "primaryKey": false,
581
+ "notNull": true,
582
+ "default": "now()"
583
+ }
584
+ },
585
+ "indexes": {
586
+ "uq_tool_metrics_model_tool_mode": {
587
+ "name": "uq_tool_metrics_model_tool_mode",
588
+ "columns": [
589
+ {
590
+ "expression": "model",
591
+ "isExpression": false,
592
+ "asc": true,
593
+ "nulls": "last"
594
+ },
595
+ {
596
+ "expression": "tool",
597
+ "isExpression": false,
598
+ "asc": true,
599
+ "nulls": "last"
600
+ },
601
+ {
602
+ "expression": "mode",
603
+ "isExpression": false,
604
+ "asc": true,
605
+ "nulls": "last"
606
+ }
607
+ ],
608
+ "isUnique": true,
609
+ "concurrently": false,
610
+ "method": "btree",
611
+ "with": {}
612
+ }
613
+ },
614
+ "foreignKeys": {},
615
+ "compositePrimaryKeys": {},
616
+ "uniqueConstraints": {},
617
+ "policies": {},
618
+ "checkConstraints": {},
619
+ "isRLSEnabled": false
620
+ }
621
+ },
622
+ "enums": {},
623
+ "schemas": {},
624
+ "sequences": {},
625
+ "roles": {},
626
+ "policies": {},
627
+ "views": {},
628
+ "_meta": {
629
+ "columns": {},
630
+ "schemas": {},
631
+ "tables": {}
632
+ }
633
+ }