@adhd/agent-mcp 2.0.1 → 2.1.1

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 (290) hide show
  1. package/AGENTS.md +236 -0
  2. package/CHANGELOG.md +115 -0
  3. package/LICENSE +21 -0
  4. package/README.md +201 -0
  5. package/adhd-agent-mcp-2.1.1.tgz +0 -0
  6. package/docs/architecture-and-security.md +405 -0
  7. package/docs/marketing/.catalog/capabilities.md +143 -0
  8. package/docs/marketing/.catalog/consumer.md +111 -0
  9. package/docs/marketing/.catalog/distribution.md +223 -0
  10. package/docs/marketing/.catalog/doc-conformance.md +237 -0
  11. package/docs/marketing/.catalog/doc-ops.md +98 -0
  12. package/docs/marketing/.catalog/metrics.md +119 -0
  13. package/docs/marketing/.catalog/required-tooling.md +224 -0
  14. package/docs/marketing/.catalog/review.md +164 -0
  15. package/docs/provider-call-audit.md +254 -0
  16. package/drizzle/0007_smart_callisto.sql +40 -0
  17. package/drizzle/0008_cache_and_peak_context_usage.sql +19 -0
  18. package/drizzle/0009_restore_sessions_agent_fk.sql +29 -0
  19. package/drizzle/meta/0007_snapshot.json +658 -0
  20. package/drizzle/meta/_journal.json +22 -1
  21. package/llms.txt +133 -0
  22. package/package.json +30 -51
  23. package/src/__tests__/integration/harness.d.ts +871 -39
  24. package/src/__tests__/integration/harness.d.ts.map +1 -1
  25. package/src/__tests__/integration/harness.js +93 -87
  26. package/src/__tests__/integration/harness.js.map +1 -1
  27. package/src/__tests__/integration/scripted-provider.d.ts +1 -2
  28. package/src/__tests__/integration/scripted-provider.d.ts.map +1 -1
  29. package/src/__tests__/integration/scripted-provider.js +1 -3
  30. package/src/__tests__/integration/scripted-provider.js.map +1 -1
  31. package/src/config.d.ts +6 -69
  32. package/src/config.d.ts.map +1 -1
  33. package/src/config.js +1 -50
  34. package/src/config.js.map +1 -1
  35. package/src/db/client.d.ts +1516 -2
  36. package/src/db/client.d.ts.map +1 -1
  37. package/src/db/client.js +4 -2
  38. package/src/db/client.js.map +1 -1
  39. package/src/db/migrate-runner.d.ts +0 -28
  40. package/src/db/migrate-runner.d.ts.map +1 -1
  41. package/src/db/migrate-runner.js +0 -24
  42. package/src/db/migrate-runner.js.map +1 -1
  43. package/src/db/migrate.d.ts +0 -7
  44. package/src/db/migrate.d.ts.map +1 -1
  45. package/src/db/migrate.js +0 -7
  46. package/src/db/migrate.js.map +1 -1
  47. package/src/db/schema.d.ts +0 -1260
  48. package/src/db/schema.d.ts.map +1 -1
  49. package/src/db/schema.js +2 -179
  50. package/src/db/schema.js.map +1 -1
  51. package/src/index.d.ts +3 -42
  52. package/src/index.d.ts.map +1 -1
  53. package/src/index.js +32 -123
  54. package/src/index.js.map +1 -1
  55. package/src/logger.d.ts +0 -8
  56. package/src/logger.d.ts.map +1 -1
  57. package/src/logger.js +1 -12
  58. package/src/logger.js.map +1 -1
  59. package/src/scripts/agent-mcp-tail.d.ts +3 -0
  60. package/src/scripts/agent-mcp-tail.d.ts.map +1 -0
  61. package/src/scripts/agent-mcp-tail.js +227 -0
  62. package/src/scripts/agent-mcp-tail.js.map +1 -0
  63. package/src/server.d.ts +13 -34
  64. package/src/server.d.ts.map +1 -1
  65. package/src/server.js +234 -326
  66. package/src/server.js.map +1 -1
  67. package/src/store/agent-store.d.ts +3 -16
  68. package/src/store/agent-store.d.ts.map +1 -1
  69. package/src/store/agent-store.js +38 -41
  70. package/src/store/agent-store.js.map +1 -1
  71. package/src/streaming/chat-gateway.d.ts +17 -0
  72. package/src/streaming/chat-gateway.d.ts.map +1 -0
  73. package/src/streaming/chat-gateway.js +336 -0
  74. package/src/streaming/chat-gateway.js.map +1 -0
  75. package/src/streaming/event-bus.d.ts +4 -0
  76. package/src/streaming/event-bus.d.ts.map +1 -1
  77. package/src/streaming/event-bus.js +14 -1
  78. package/src/streaming/event-bus.js.map +1 -1
  79. package/src/streaming/sse-server.d.ts +3 -14
  80. package/src/streaming/sse-server.d.ts.map +1 -1
  81. package/src/streaming/sse-server.js +37 -37
  82. package/src/streaming/sse-server.js.map +1 -1
  83. package/src/utils/load-env.d.ts +0 -14
  84. package/src/utils/load-env.d.ts.map +1 -1
  85. package/src/utils/load-env.js +0 -18
  86. package/src/utils/load-env.js.map +1 -1
  87. package/src/clients/http-client.d.ts +0 -24
  88. package/src/clients/http-client.d.ts.map +0 -1
  89. package/src/clients/http-client.js +0 -98
  90. package/src/clients/http-client.js.map +0 -1
  91. package/src/clients/in-process.d.ts +0 -27
  92. package/src/clients/in-process.d.ts.map +0 -1
  93. package/src/clients/in-process.js +0 -37
  94. package/src/clients/in-process.js.map +0 -1
  95. package/src/clients/index.d.ts +0 -7
  96. package/src/clients/index.d.ts.map +0 -1
  97. package/src/clients/index.js +0 -5
  98. package/src/clients/index.js.map +0 -1
  99. package/src/clients/registry.d.ts +0 -54
  100. package/src/clients/registry.d.ts.map +0 -1
  101. package/src/clients/registry.js +0 -164
  102. package/src/clients/registry.js.map +0 -1
  103. package/src/clients/stdio-client.d.ts +0 -16
  104. package/src/clients/stdio-client.d.ts.map +0 -1
  105. package/src/clients/stdio-client.js +0 -97
  106. package/src/clients/stdio-client.js.map +0 -1
  107. package/src/clients/tool-naming.d.ts +0 -44
  108. package/src/clients/tool-naming.d.ts.map +0 -1
  109. package/src/clients/tool-naming.js +0 -65
  110. package/src/clients/tool-naming.js.map +0 -1
  111. package/src/clients/types.d.ts +0 -18
  112. package/src/clients/types.d.ts.map +0 -1
  113. package/src/clients/types.js +0 -2
  114. package/src/clients/types.js.map +0 -1
  115. package/src/engine/dag-engine.d.ts +0 -62
  116. package/src/engine/dag-engine.d.ts.map +0 -1
  117. package/src/engine/dag-engine.js +0 -158
  118. package/src/engine/dag-engine.js.map +0 -1
  119. package/src/engine/hooks.d.ts +0 -24
  120. package/src/engine/hooks.d.ts.map +0 -1
  121. package/src/engine/hooks.js +0 -50
  122. package/src/engine/hooks.js.map +0 -1
  123. package/src/engine/orchestrator.d.ts +0 -40
  124. package/src/engine/orchestrator.d.ts.map +0 -1
  125. package/src/engine/orchestrator.js +0 -507
  126. package/src/engine/orchestrator.js.map +0 -1
  127. package/src/engine/policy.d.ts +0 -66
  128. package/src/engine/policy.d.ts.map +0 -1
  129. package/src/engine/policy.js +0 -112
  130. package/src/engine/policy.js.map +0 -1
  131. package/src/engine/prompt-resolver.d.ts +0 -89
  132. package/src/engine/prompt-resolver.d.ts.map +0 -1
  133. package/src/engine/prompt-resolver.js +0 -96
  134. package/src/engine/prompt-resolver.js.map +0 -1
  135. package/src/engine/queue.d.ts +0 -29
  136. package/src/engine/queue.d.ts.map +0 -1
  137. package/src/engine/queue.js +0 -56
  138. package/src/engine/queue.js.map +0 -1
  139. package/src/plugins/index.d.ts +0 -2
  140. package/src/plugins/index.d.ts.map +0 -1
  141. package/src/plugins/index.js +0 -2
  142. package/src/plugins/index.js.map +0 -1
  143. package/src/plugins/loader.d.ts +0 -65
  144. package/src/plugins/loader.d.ts.map +0 -1
  145. package/src/plugins/loader.js +0 -222
  146. package/src/plugins/loader.js.map +0 -1
  147. package/src/plugins/usage-plugin.d.ts +0 -27
  148. package/src/plugins/usage-plugin.d.ts.map +0 -1
  149. package/src/plugins/usage-plugin.js +0 -148
  150. package/src/plugins/usage-plugin.js.map +0 -1
  151. package/src/providers/anthropic.d.ts +0 -13
  152. package/src/providers/anthropic.d.ts.map +0 -1
  153. package/src/providers/anthropic.js +0 -260
  154. package/src/providers/anthropic.js.map +0 -1
  155. package/src/providers/claudecli.d.ts +0 -153
  156. package/src/providers/claudecli.d.ts.map +0 -1
  157. package/src/providers/claudecli.js +0 -510
  158. package/src/providers/claudecli.js.map +0 -1
  159. package/src/providers/factory.d.ts +0 -10
  160. package/src/providers/factory.d.ts.map +0 -1
  161. package/src/providers/factory.js +0 -24
  162. package/src/providers/factory.js.map +0 -1
  163. package/src/providers/index.d.ts +0 -6
  164. package/src/providers/index.d.ts.map +0 -1
  165. package/src/providers/index.js +0 -5
  166. package/src/providers/index.js.map +0 -1
  167. package/src/providers/openai.d.ts +0 -14
  168. package/src/providers/openai.d.ts.map +0 -1
  169. package/src/providers/openai.js +0 -162
  170. package/src/providers/openai.js.map +0 -1
  171. package/src/providers/types.d.ts +0 -36
  172. package/src/providers/types.d.ts.map +0 -1
  173. package/src/providers/types.js +0 -2
  174. package/src/providers/types.js.map +0 -1
  175. package/src/store/composed-prompt-store.d.ts +0 -24
  176. package/src/store/composed-prompt-store.d.ts.map +0 -1
  177. package/src/store/composed-prompt-store.js +0 -75
  178. package/src/store/composed-prompt-store.js.map +0 -1
  179. package/src/store/index.d.ts +0 -5
  180. package/src/store/index.d.ts.map +0 -1
  181. package/src/store/index.js +0 -5
  182. package/src/store/index.js.map +0 -1
  183. package/src/store/session-store.d.ts +0 -45
  184. package/src/store/session-store.d.ts.map +0 -1
  185. package/src/store/session-store.js +0 -197
  186. package/src/store/session-store.js.map +0 -1
  187. package/src/store/task-store.d.ts +0 -55
  188. package/src/store/task-store.d.ts.map +0 -1
  189. package/src/store/task-store.js +0 -186
  190. package/src/store/task-store.js.map +0 -1
  191. package/src/tools/agent-crud.d.ts +0 -15
  192. package/src/tools/agent-crud.d.ts.map +0 -1
  193. package/src/tools/agent-crud.js +0 -32
  194. package/src/tools/agent-crud.js.map +0 -1
  195. package/src/tools/session.d.ts +0 -33
  196. package/src/tools/session.d.ts.map +0 -1
  197. package/src/tools/session.js +0 -73
  198. package/src/tools/session.js.map +0 -1
  199. package/src/tools/task.d.ts +0 -86
  200. package/src/tools/task.d.ts.map +0 -1
  201. package/src/tools/task.js +0 -406
  202. package/src/tools/task.js.map +0 -1
  203. package/src/tools/usage.d.ts +0 -60
  204. package/src/tools/usage.d.ts.map +0 -1
  205. package/src/tools/usage.js +0 -174
  206. package/src/tools/usage.js.map +0 -1
  207. package/src/types/agent.d.ts +0 -2
  208. package/src/types/agent.d.ts.map +0 -1
  209. package/src/types/agent.js +0 -3
  210. package/src/types/agent.js.map +0 -1
  211. package/src/types/execution.d.ts +0 -2
  212. package/src/types/execution.d.ts.map +0 -1
  213. package/src/types/execution.js +0 -3
  214. package/src/types/execution.js.map +0 -1
  215. package/src/types/index.d.ts +0 -2
  216. package/src/types/index.d.ts.map +0 -1
  217. package/src/types/index.js +0 -2
  218. package/src/types/index.js.map +0 -1
  219. package/src/types/mcp.d.ts +0 -2
  220. package/src/types/mcp.d.ts.map +0 -1
  221. package/src/types/mcp.js +0 -3
  222. package/src/types/mcp.js.map +0 -1
  223. package/src/types/message.d.ts +0 -2
  224. package/src/types/message.d.ts.map +0 -1
  225. package/src/types/message.js +0 -3
  226. package/src/types/message.js.map +0 -1
  227. package/src/types/session.d.ts +0 -2
  228. package/src/types/session.d.ts.map +0 -1
  229. package/src/types/session.js +0 -3
  230. package/src/types/session.js.map +0 -1
  231. package/src/types/task.d.ts +0 -2
  232. package/src/types/task.d.ts.map +0 -1
  233. package/src/types/task.js +0 -3
  234. package/src/types/task.js.map +0 -1
  235. package/src/utils/ids.d.ts +0 -2
  236. package/src/utils/ids.d.ts.map +0 -1
  237. package/src/utils/ids.js +0 -5
  238. package/src/utils/ids.js.map +0 -1
  239. package/src/utils/logger.d.ts +0 -2
  240. package/src/utils/logger.d.ts.map +0 -1
  241. package/src/utils/logger.js +0 -5
  242. package/src/utils/logger.js.map +0 -1
  243. package/src/utils/timestamps.d.ts +0 -2
  244. package/src/utils/timestamps.d.ts.map +0 -1
  245. package/src/utils/timestamps.js +0 -4
  246. package/src/utils/timestamps.js.map +0 -1
  247. package/src/validation/agent.d.ts +0 -400
  248. package/src/validation/agent.d.ts.map +0 -1
  249. package/src/validation/agent.js +0 -251
  250. package/src/validation/agent.js.map +0 -1
  251. package/src/validation/agents.d.ts +0 -2
  252. package/src/validation/agents.d.ts.map +0 -1
  253. package/src/validation/agents.js +0 -3
  254. package/src/validation/agents.js.map +0 -1
  255. package/src/validation/errors.d.ts +0 -32
  256. package/src/validation/errors.d.ts.map +0 -1
  257. package/src/validation/errors.js +0 -42
  258. package/src/validation/errors.js.map +0 -1
  259. package/src/validation/execution.d.ts +0 -86
  260. package/src/validation/execution.d.ts.map +0 -1
  261. package/src/validation/execution.js +0 -28
  262. package/src/validation/execution.js.map +0 -1
  263. package/src/validation/index.d.ts +0 -9
  264. package/src/validation/index.d.ts.map +0 -1
  265. package/src/validation/index.js +0 -9
  266. package/src/validation/index.js.map +0 -1
  267. package/src/validation/mcp.d.ts +0 -42
  268. package/src/validation/mcp.d.ts.map +0 -1
  269. package/src/validation/mcp.js +0 -28
  270. package/src/validation/mcp.js.map +0 -1
  271. package/src/validation/message.d.ts +0 -43
  272. package/src/validation/message.d.ts.map +0 -1
  273. package/src/validation/message.js +0 -23
  274. package/src/validation/message.js.map +0 -1
  275. package/src/validation/session.d.ts +0 -49
  276. package/src/validation/session.d.ts.map +0 -1
  277. package/src/validation/session.js +0 -34
  278. package/src/validation/session.js.map +0 -1
  279. package/src/validation/task.d.ts +0 -146
  280. package/src/validation/task.d.ts.map +0 -1
  281. package/src/validation/task.js +0 -95
  282. package/src/validation/task.js.map +0 -1
  283. package/src/validation/tasks.d.ts +0 -2
  284. package/src/validation/tasks.d.ts.map +0 -1
  285. package/src/validation/tasks.js +0 -3
  286. package/src/validation/tasks.js.map +0 -1
  287. package/src/validation/usage.d.ts +0 -89
  288. package/src/validation/usage.d.ts.map +0 -1
  289. package/src/validation/usage.js +0 -98
  290. package/src/validation/usage.js.map +0 -1
@@ -0,0 +1,19 @@
1
+ -- BUG-ORCH-009 / BUG-ORCH-010 / FINDING-ORCH-007
2
+ --
3
+ -- task_usage previously recorded only CUMULATIVE input/output tokens. Two things were
4
+ -- unrepresentable:
5
+ --
6
+ -- 1. Cache performance. Cache-hit vs cache-miss input differs 50x in price on
7
+ -- deepseek-v4-flash ($0.0028/M vs $0.14/M), making it the largest cost signal in the
8
+ -- system — and it was recorded nowhere for the OpenAI-compatible provider family.
9
+ -- This is what allowed a context limiter to silently collapse cache hit rate from
10
+ -- ~98% to ~5% (BUG-ORCH-008) with no telemetry able to show it.
11
+ --
12
+ -- 2. Peak context. Every column accumulated with `+=`; nothing tracked a MAX. So a run
13
+ -- that billed 715K tokens across 24 calls was indistinguishable from one that held a
14
+ -- 715K context, when the true high-water mark was 43K. Callers could not tell "many
15
+ -- small calls" (fix: preserve the cache) from "one huge call" (fix: cap that input).
16
+ ALTER TABLE `task_usage` ADD `uncached_input_tokens` integer;--> statement-breakpoint
17
+ ALTER TABLE `task_usage` ADD `reasoning_tokens` integer;--> statement-breakpoint
18
+ ALTER TABLE `task_usage` ADD `peak_context_tokens` integer;--> statement-breakpoint
19
+ ALTER TABLE `task_usage` ADD `peak_context_at` integer;
@@ -0,0 +1,29 @@
1
+ -- BUG-ORCH-012 — restore the sessions.agent_name -> agents.name ON DELETE CASCADE FK.
2
+ --
3
+ -- Migration 0000 created `sessions` WITH this FK. The engine refactor moved `agentsTable`
4
+ -- (entrypoint/agent-mcp) and `sessionsTable` (agent-store-runtime) into different packages,
5
+ -- so drizzle-kit could no longer see the relationship and migration 0007 silently rebuilt
6
+ -- the table WITHOUT the FK. `AgentStore.delete()` relies entirely on this cascade, so with
7
+ -- it gone `agent_delete` orphans closed sessions + their messages forever, and reusing a
8
+ -- deleted agent's name resurfaces old orphaned sessions under the new agent.
9
+ --
10
+ -- This rebuilds `sessions` with the FK restored, matching the 0000 definition. The
11
+ -- migration runner disables foreign_keys for the duration of the rebuild (see
12
+ -- migrate-runner.ts), so copying existing rows will not trip the constraint mid-flight.
13
+ PRAGMA foreign_keys=OFF;--> statement-breakpoint
14
+ CREATE TABLE `__new_sessions` (
15
+ `id` text PRIMARY KEY NOT NULL,
16
+ `agent_name` text NOT NULL,
17
+ `agent_version` integer NOT NULL,
18
+ `agent_data` text NOT NULL,
19
+ `status` text DEFAULT 'active' NOT NULL,
20
+ `created_at` text NOT NULL,
21
+ `updated_at` text NOT NULL,
22
+ `closed_at` text,
23
+ `composed_prompt_id` text,
24
+ FOREIGN KEY (`agent_name`) REFERENCES `agents`(`name`) ON UPDATE no action ON DELETE cascade
25
+ );--> statement-breakpoint
26
+ INSERT INTO `__new_sessions`("id", "agent_name", "agent_version", "agent_data", "status", "created_at", "updated_at", "closed_at", "composed_prompt_id") SELECT "id", "agent_name", "agent_version", "agent_data", "status", "created_at", "updated_at", "closed_at", "composed_prompt_id" FROM `sessions`;--> statement-breakpoint
27
+ DROP TABLE `sessions`;--> statement-breakpoint
28
+ ALTER TABLE `__new_sessions` RENAME TO `sessions`;--> statement-breakpoint
29
+ PRAGMA foreign_keys=ON;
@@ -0,0 +1,658 @@
1
+ {
2
+ "version": "6",
3
+ "dialect": "sqlite",
4
+ "id": "4f72cfdf-e131-4e3b-ade1-751113c50d1a",
5
+ "prevId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
6
+ "tables": {
7
+ "agents": {
8
+ "name": "agents",
9
+ "columns": {
10
+ "name": {
11
+ "name": "name",
12
+ "type": "text",
13
+ "primaryKey": true,
14
+ "notNull": true,
15
+ "autoincrement": false
16
+ },
17
+ "version": {
18
+ "name": "version",
19
+ "type": "integer",
20
+ "primaryKey": false,
21
+ "notNull": true,
22
+ "autoincrement": false,
23
+ "default": 1
24
+ },
25
+ "data": {
26
+ "name": "data",
27
+ "type": "text",
28
+ "primaryKey": false,
29
+ "notNull": true,
30
+ "autoincrement": false
31
+ },
32
+ "created_at": {
33
+ "name": "created_at",
34
+ "type": "text",
35
+ "primaryKey": false,
36
+ "notNull": true,
37
+ "autoincrement": false
38
+ },
39
+ "updated_at": {
40
+ "name": "updated_at",
41
+ "type": "text",
42
+ "primaryKey": false,
43
+ "notNull": true,
44
+ "autoincrement": false
45
+ }
46
+ },
47
+ "indexes": {},
48
+ "foreignKeys": {},
49
+ "compositePrimaryKeys": {},
50
+ "uniqueConstraints": {},
51
+ "checkConstraints": {}
52
+ },
53
+ "composed_prompts": {
54
+ "name": "composed_prompts",
55
+ "columns": {
56
+ "id": {
57
+ "name": "id",
58
+ "type": "text",
59
+ "primaryKey": true,
60
+ "notNull": true,
61
+ "autoincrement": false
62
+ },
63
+ "agent_slug": {
64
+ "name": "agent_slug",
65
+ "type": "text",
66
+ "primaryKey": false,
67
+ "notNull": true,
68
+ "autoincrement": false
69
+ },
70
+ "context_hash": {
71
+ "name": "context_hash",
72
+ "type": "text",
73
+ "primaryKey": false,
74
+ "notNull": true,
75
+ "autoincrement": false
76
+ },
77
+ "content": {
78
+ "name": "content",
79
+ "type": "text",
80
+ "primaryKey": false,
81
+ "notNull": true,
82
+ "autoincrement": false
83
+ },
84
+ "component_versions": {
85
+ "name": "component_versions",
86
+ "type": "text",
87
+ "primaryKey": false,
88
+ "notNull": true,
89
+ "autoincrement": false
90
+ },
91
+ "created_at": {
92
+ "name": "created_at",
93
+ "type": "text",
94
+ "primaryKey": false,
95
+ "notNull": true,
96
+ "autoincrement": false
97
+ }
98
+ },
99
+ "indexes": {
100
+ "idx_composed_prompts_agent_ctx": {
101
+ "name": "idx_composed_prompts_agent_ctx",
102
+ "columns": [
103
+ "agent_slug",
104
+ "context_hash"
105
+ ],
106
+ "isUnique": true
107
+ }
108
+ },
109
+ "foreignKeys": {},
110
+ "compositePrimaryKeys": {},
111
+ "uniqueConstraints": {},
112
+ "checkConstraints": {}
113
+ },
114
+ "experiment_assignments": {
115
+ "name": "experiment_assignments",
116
+ "columns": {
117
+ "id": {
118
+ "name": "id",
119
+ "type": "text",
120
+ "primaryKey": true,
121
+ "notNull": true,
122
+ "autoincrement": false
123
+ },
124
+ "session_id": {
125
+ "name": "session_id",
126
+ "type": "text",
127
+ "primaryKey": false,
128
+ "notNull": true,
129
+ "autoincrement": false
130
+ },
131
+ "experiment_slug": {
132
+ "name": "experiment_slug",
133
+ "type": "text",
134
+ "primaryKey": false,
135
+ "notNull": true,
136
+ "autoincrement": false
137
+ },
138
+ "variant": {
139
+ "name": "variant",
140
+ "type": "text",
141
+ "primaryKey": false,
142
+ "notNull": true,
143
+ "autoincrement": false
144
+ },
145
+ "created_at": {
146
+ "name": "created_at",
147
+ "type": "text",
148
+ "primaryKey": false,
149
+ "notNull": true,
150
+ "autoincrement": false
151
+ }
152
+ },
153
+ "indexes": {},
154
+ "foreignKeys": {
155
+ "experiment_assignments_session_id_sessions_id_fk": {
156
+ "name": "experiment_assignments_session_id_sessions_id_fk",
157
+ "tableFrom": "experiment_assignments",
158
+ "tableTo": "sessions",
159
+ "columnsFrom": [
160
+ "session_id"
161
+ ],
162
+ "columnsTo": [
163
+ "id"
164
+ ],
165
+ "onDelete": "cascade",
166
+ "onUpdate": "no action"
167
+ }
168
+ },
169
+ "compositePrimaryKeys": {},
170
+ "uniqueConstraints": {},
171
+ "checkConstraints": {}
172
+ },
173
+ "messages": {
174
+ "name": "messages",
175
+ "columns": {
176
+ "id": {
177
+ "name": "id",
178
+ "type": "text",
179
+ "primaryKey": true,
180
+ "notNull": true,
181
+ "autoincrement": false
182
+ },
183
+ "session_id": {
184
+ "name": "session_id",
185
+ "type": "text",
186
+ "primaryKey": false,
187
+ "notNull": true,
188
+ "autoincrement": false
189
+ },
190
+ "role": {
191
+ "name": "role",
192
+ "type": "text",
193
+ "primaryKey": false,
194
+ "notNull": true,
195
+ "autoincrement": false
196
+ },
197
+ "content": {
198
+ "name": "content",
199
+ "type": "text",
200
+ "primaryKey": false,
201
+ "notNull": false,
202
+ "autoincrement": false
203
+ },
204
+ "tool_calls": {
205
+ "name": "tool_calls",
206
+ "type": "text",
207
+ "primaryKey": false,
208
+ "notNull": false,
209
+ "autoincrement": false
210
+ },
211
+ "tool_results": {
212
+ "name": "tool_results",
213
+ "type": "text",
214
+ "primaryKey": false,
215
+ "notNull": false,
216
+ "autoincrement": false
217
+ },
218
+ "created_at": {
219
+ "name": "created_at",
220
+ "type": "text",
221
+ "primaryKey": false,
222
+ "notNull": true,
223
+ "autoincrement": false
224
+ }
225
+ },
226
+ "indexes": {},
227
+ "foreignKeys": {
228
+ "messages_session_id_sessions_id_fk": {
229
+ "name": "messages_session_id_sessions_id_fk",
230
+ "tableFrom": "messages",
231
+ "tableTo": "sessions",
232
+ "columnsFrom": [
233
+ "session_id"
234
+ ],
235
+ "columnsTo": [
236
+ "id"
237
+ ],
238
+ "onDelete": "cascade",
239
+ "onUpdate": "no action"
240
+ }
241
+ },
242
+ "compositePrimaryKeys": {},
243
+ "uniqueConstraints": {},
244
+ "checkConstraints": {}
245
+ },
246
+ "sessions": {
247
+ "name": "sessions",
248
+ "columns": {
249
+ "id": {
250
+ "name": "id",
251
+ "type": "text",
252
+ "primaryKey": true,
253
+ "notNull": true,
254
+ "autoincrement": false
255
+ },
256
+ "agent_name": {
257
+ "name": "agent_name",
258
+ "type": "text",
259
+ "primaryKey": false,
260
+ "notNull": true,
261
+ "autoincrement": false
262
+ },
263
+ "agent_version": {
264
+ "name": "agent_version",
265
+ "type": "integer",
266
+ "primaryKey": false,
267
+ "notNull": true,
268
+ "autoincrement": false
269
+ },
270
+ "agent_data": {
271
+ "name": "agent_data",
272
+ "type": "text",
273
+ "primaryKey": false,
274
+ "notNull": true,
275
+ "autoincrement": false
276
+ },
277
+ "status": {
278
+ "name": "status",
279
+ "type": "text",
280
+ "primaryKey": false,
281
+ "notNull": true,
282
+ "autoincrement": false,
283
+ "default": "'active'"
284
+ },
285
+ "created_at": {
286
+ "name": "created_at",
287
+ "type": "text",
288
+ "primaryKey": false,
289
+ "notNull": true,
290
+ "autoincrement": false
291
+ },
292
+ "updated_at": {
293
+ "name": "updated_at",
294
+ "type": "text",
295
+ "primaryKey": false,
296
+ "notNull": true,
297
+ "autoincrement": false
298
+ },
299
+ "closed_at": {
300
+ "name": "closed_at",
301
+ "type": "text",
302
+ "primaryKey": false,
303
+ "notNull": false,
304
+ "autoincrement": false
305
+ },
306
+ "composed_prompt_id": {
307
+ "name": "composed_prompt_id",
308
+ "type": "text",
309
+ "primaryKey": false,
310
+ "notNull": false,
311
+ "autoincrement": false
312
+ }
313
+ },
314
+ "indexes": {},
315
+ "foreignKeys": {},
316
+ "compositePrimaryKeys": {},
317
+ "uniqueConstraints": {},
318
+ "checkConstraints": {}
319
+ },
320
+ "task_events": {
321
+ "name": "task_events",
322
+ "columns": {
323
+ "id": {
324
+ "name": "id",
325
+ "type": "text",
326
+ "primaryKey": true,
327
+ "notNull": true,
328
+ "autoincrement": false
329
+ },
330
+ "task_id": {
331
+ "name": "task_id",
332
+ "type": "text",
333
+ "primaryKey": false,
334
+ "notNull": true,
335
+ "autoincrement": false
336
+ },
337
+ "type": {
338
+ "name": "type",
339
+ "type": "text",
340
+ "primaryKey": false,
341
+ "notNull": true,
342
+ "autoincrement": false
343
+ },
344
+ "payload": {
345
+ "name": "payload",
346
+ "type": "text",
347
+ "primaryKey": false,
348
+ "notNull": false,
349
+ "autoincrement": false
350
+ },
351
+ "created_at": {
352
+ "name": "created_at",
353
+ "type": "text",
354
+ "primaryKey": false,
355
+ "notNull": true,
356
+ "autoincrement": false
357
+ }
358
+ },
359
+ "indexes": {},
360
+ "foreignKeys": {
361
+ "task_events_task_id_tasks_id_fk": {
362
+ "name": "task_events_task_id_tasks_id_fk",
363
+ "tableFrom": "task_events",
364
+ "tableTo": "tasks",
365
+ "columnsFrom": [
366
+ "task_id"
367
+ ],
368
+ "columnsTo": [
369
+ "id"
370
+ ],
371
+ "onDelete": "cascade",
372
+ "onUpdate": "no action"
373
+ }
374
+ },
375
+ "compositePrimaryKeys": {},
376
+ "uniqueConstraints": {},
377
+ "checkConstraints": {}
378
+ },
379
+ "task_usage": {
380
+ "name": "task_usage",
381
+ "columns": {
382
+ "task_id": {
383
+ "name": "task_id",
384
+ "type": "text",
385
+ "primaryKey": true,
386
+ "notNull": true,
387
+ "autoincrement": false
388
+ },
389
+ "root_task_id": {
390
+ "name": "root_task_id",
391
+ "type": "text",
392
+ "primaryKey": false,
393
+ "notNull": false,
394
+ "autoincrement": false
395
+ },
396
+ "agent_name": {
397
+ "name": "agent_name",
398
+ "type": "text",
399
+ "primaryKey": false,
400
+ "notNull": true,
401
+ "autoincrement": false
402
+ },
403
+ "provider_type": {
404
+ "name": "provider_type",
405
+ "type": "text",
406
+ "primaryKey": false,
407
+ "notNull": true,
408
+ "autoincrement": false
409
+ },
410
+ "model": {
411
+ "name": "model",
412
+ "type": "text",
413
+ "primaryKey": false,
414
+ "notNull": true,
415
+ "autoincrement": false
416
+ },
417
+ "input_tokens": {
418
+ "name": "input_tokens",
419
+ "type": "integer",
420
+ "primaryKey": false,
421
+ "notNull": true,
422
+ "autoincrement": false,
423
+ "default": 0
424
+ },
425
+ "output_tokens": {
426
+ "name": "output_tokens",
427
+ "type": "integer",
428
+ "primaryKey": false,
429
+ "notNull": true,
430
+ "autoincrement": false,
431
+ "default": 0
432
+ },
433
+ "tool_call_count": {
434
+ "name": "tool_call_count",
435
+ "type": "integer",
436
+ "primaryKey": false,
437
+ "notNull": true,
438
+ "autoincrement": false,
439
+ "default": 0
440
+ },
441
+ "model_calls": {
442
+ "name": "model_calls",
443
+ "type": "integer",
444
+ "primaryKey": false,
445
+ "notNull": true,
446
+ "autoincrement": false,
447
+ "default": 0
448
+ },
449
+ "latency_ms": {
450
+ "name": "latency_ms",
451
+ "type": "integer",
452
+ "primaryKey": false,
453
+ "notNull": true,
454
+ "autoincrement": false,
455
+ "default": 0
456
+ },
457
+ "is_complete": {
458
+ "name": "is_complete",
459
+ "type": "integer",
460
+ "primaryKey": false,
461
+ "notNull": true,
462
+ "autoincrement": false,
463
+ "default": 0
464
+ },
465
+ "stop_reason": {
466
+ "name": "stop_reason",
467
+ "type": "text",
468
+ "primaryKey": false,
469
+ "notNull": false,
470
+ "autoincrement": false
471
+ },
472
+ "max_tokens": {
473
+ "name": "max_tokens",
474
+ "type": "integer",
475
+ "primaryKey": false,
476
+ "notNull": false,
477
+ "autoincrement": false
478
+ },
479
+ "cache_read_input_tokens": {
480
+ "name": "cache_read_input_tokens",
481
+ "type": "integer",
482
+ "primaryKey": false,
483
+ "notNull": false,
484
+ "autoincrement": false
485
+ },
486
+ "cache_creation_input_tokens": {
487
+ "name": "cache_creation_input_tokens",
488
+ "type": "integer",
489
+ "primaryKey": false,
490
+ "notNull": false,
491
+ "autoincrement": false
492
+ },
493
+ "created_at": {
494
+ "name": "created_at",
495
+ "type": "text",
496
+ "primaryKey": false,
497
+ "notNull": true,
498
+ "autoincrement": false
499
+ }
500
+ },
501
+ "indexes": {
502
+ "idx_task_usage_root_task_id": {
503
+ "name": "idx_task_usage_root_task_id",
504
+ "columns": [
505
+ "root_task_id"
506
+ ],
507
+ "isUnique": false
508
+ }
509
+ },
510
+ "foreignKeys": {},
511
+ "compositePrimaryKeys": {},
512
+ "uniqueConstraints": {},
513
+ "checkConstraints": {}
514
+ },
515
+ "tasks": {
516
+ "name": "tasks",
517
+ "columns": {
518
+ "id": {
519
+ "name": "id",
520
+ "type": "text",
521
+ "primaryKey": true,
522
+ "notNull": true,
523
+ "autoincrement": false
524
+ },
525
+ "session_id": {
526
+ "name": "session_id",
527
+ "type": "text",
528
+ "primaryKey": false,
529
+ "notNull": false,
530
+ "autoincrement": false
531
+ },
532
+ "parent_task_id": {
533
+ "name": "parent_task_id",
534
+ "type": "text",
535
+ "primaryKey": false,
536
+ "notNull": false,
537
+ "autoincrement": false
538
+ },
539
+ "is_ephemeral": {
540
+ "name": "is_ephemeral",
541
+ "type": "integer",
542
+ "primaryKey": false,
543
+ "notNull": true,
544
+ "autoincrement": false,
545
+ "default": 0
546
+ },
547
+ "recursion_depth": {
548
+ "name": "recursion_depth",
549
+ "type": "integer",
550
+ "primaryKey": false,
551
+ "notNull": true,
552
+ "autoincrement": false,
553
+ "default": 0
554
+ },
555
+ "status": {
556
+ "name": "status",
557
+ "type": "text",
558
+ "primaryKey": false,
559
+ "notNull": true,
560
+ "autoincrement": false,
561
+ "default": "'pending'"
562
+ },
563
+ "prompt": {
564
+ "name": "prompt",
565
+ "type": "text",
566
+ "primaryKey": false,
567
+ "notNull": true,
568
+ "autoincrement": false
569
+ },
570
+ "result": {
571
+ "name": "result",
572
+ "type": "text",
573
+ "primaryKey": false,
574
+ "notNull": false,
575
+ "autoincrement": false
576
+ },
577
+ "error": {
578
+ "name": "error",
579
+ "type": "text",
580
+ "primaryKey": false,
581
+ "notNull": false,
582
+ "autoincrement": false
583
+ },
584
+ "created_at": {
585
+ "name": "created_at",
586
+ "type": "text",
587
+ "primaryKey": false,
588
+ "notNull": true,
589
+ "autoincrement": false
590
+ },
591
+ "updated_at": {
592
+ "name": "updated_at",
593
+ "type": "text",
594
+ "primaryKey": false,
595
+ "notNull": true,
596
+ "autoincrement": false
597
+ },
598
+ "completed_at": {
599
+ "name": "completed_at",
600
+ "type": "text",
601
+ "primaryKey": false,
602
+ "notNull": false,
603
+ "autoincrement": false
604
+ },
605
+ "cancelled_at": {
606
+ "name": "cancelled_at",
607
+ "type": "text",
608
+ "primaryKey": false,
609
+ "notNull": false,
610
+ "autoincrement": false
611
+ },
612
+ "depends_on": {
613
+ "name": "depends_on",
614
+ "type": "text",
615
+ "primaryKey": false,
616
+ "notNull": false,
617
+ "autoincrement": false
618
+ },
619
+ "on_upstream_failure": {
620
+ "name": "on_upstream_failure",
621
+ "type": "text",
622
+ "primaryKey": false,
623
+ "notNull": false,
624
+ "autoincrement": false
625
+ },
626
+ "inputs": {
627
+ "name": "inputs",
628
+ "type": "text",
629
+ "primaryKey": false,
630
+ "notNull": false,
631
+ "autoincrement": false
632
+ },
633
+ "resume_token": {
634
+ "name": "resume_token",
635
+ "type": "text",
636
+ "primaryKey": false,
637
+ "notNull": false,
638
+ "autoincrement": false
639
+ }
640
+ },
641
+ "indexes": {},
642
+ "foreignKeys": {},
643
+ "compositePrimaryKeys": {},
644
+ "uniqueConstraints": {},
645
+ "checkConstraints": {}
646
+ }
647
+ },
648
+ "views": {},
649
+ "enums": {},
650
+ "_meta": {
651
+ "schemas": {},
652
+ "tables": {},
653
+ "columns": {}
654
+ },
655
+ "internal": {
656
+ "indexes": {}
657
+ }
658
+ }