@adhd/agent-mcp 2.1.0 → 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.
- package/adhd-agent-mcp-2.1.1.tgz +0 -0
- package/drizzle/0000_nifty_sasquatch.sql +55 -0
- package/drizzle/0001_task_usage.sql +16 -0
- package/drizzle/0002_lumpy_silver_centurion.sql +2 -0
- package/drizzle/0003_nifty_shriek.sql +2 -0
- package/drizzle/0004_brief_shocker.sql +4 -0
- package/drizzle/0005_clear_lenny_balinger.sql +25 -0
- package/drizzle/0006_composed_prompts_cache.sql +24 -0
- package/drizzle/0007_smart_callisto.sql +40 -0
- package/drizzle/0008_cache_and_peak_context_usage.sql +19 -0
- package/drizzle/0009_restore_sessions_agent_fk.sql +29 -0
- package/drizzle/meta/0000_snapshot.json +387 -0
- package/drizzle/meta/0001_snapshot.json +495 -0
- package/drizzle/meta/0002_snapshot.json +509 -0
- package/drizzle/meta/0003_snapshot.json +523 -0
- package/drizzle/meta/0004_snapshot.json +551 -0
- package/drizzle/meta/0005_snapshot.json +545 -0
- package/drizzle/meta/0006_snapshot.json +651 -0
- package/drizzle/meta/0007_snapshot.json +658 -0
- package/drizzle/meta/_journal.json +76 -0
- package/package.json +7 -7
|
Binary file
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
CREATE TABLE `agents` (
|
|
2
|
+
`name` text PRIMARY KEY NOT NULL,
|
|
3
|
+
`version` integer DEFAULT 1 NOT NULL,
|
|
4
|
+
`data` text NOT NULL,
|
|
5
|
+
`created_at` text NOT NULL,
|
|
6
|
+
`updated_at` text NOT NULL
|
|
7
|
+
);
|
|
8
|
+
--> statement-breakpoint
|
|
9
|
+
CREATE TABLE `messages` (
|
|
10
|
+
`id` text PRIMARY KEY NOT NULL,
|
|
11
|
+
`session_id` text NOT NULL,
|
|
12
|
+
`role` text NOT NULL,
|
|
13
|
+
`content` text,
|
|
14
|
+
`tool_calls` text,
|
|
15
|
+
`tool_results` text,
|
|
16
|
+
`created_at` text NOT NULL,
|
|
17
|
+
FOREIGN KEY (`session_id`) REFERENCES `sessions`(`id`) ON UPDATE no action ON DELETE cascade
|
|
18
|
+
);
|
|
19
|
+
--> statement-breakpoint
|
|
20
|
+
CREATE TABLE `sessions` (
|
|
21
|
+
`id` text PRIMARY KEY NOT NULL,
|
|
22
|
+
`agent_name` text NOT NULL,
|
|
23
|
+
`agent_version` integer NOT NULL,
|
|
24
|
+
`agent_data` text NOT NULL,
|
|
25
|
+
`status` text DEFAULT 'active' NOT NULL,
|
|
26
|
+
`created_at` text NOT NULL,
|
|
27
|
+
`updated_at` text NOT NULL,
|
|
28
|
+
`closed_at` text,
|
|
29
|
+
FOREIGN KEY (`agent_name`) REFERENCES `agents`(`name`) ON UPDATE no action ON DELETE cascade
|
|
30
|
+
);
|
|
31
|
+
--> statement-breakpoint
|
|
32
|
+
CREATE TABLE `task_events` (
|
|
33
|
+
`id` text PRIMARY KEY NOT NULL,
|
|
34
|
+
`task_id` text NOT NULL,
|
|
35
|
+
`type` text NOT NULL,
|
|
36
|
+
`payload` text,
|
|
37
|
+
`created_at` text NOT NULL,
|
|
38
|
+
FOREIGN KEY (`task_id`) REFERENCES `tasks`(`id`) ON UPDATE no action ON DELETE cascade
|
|
39
|
+
);
|
|
40
|
+
--> statement-breakpoint
|
|
41
|
+
CREATE TABLE `tasks` (
|
|
42
|
+
`id` text PRIMARY KEY NOT NULL,
|
|
43
|
+
`session_id` text NOT NULL,
|
|
44
|
+
`parent_task_id` text,
|
|
45
|
+
`recursion_depth` integer DEFAULT 0 NOT NULL,
|
|
46
|
+
`status` text DEFAULT 'pending' NOT NULL,
|
|
47
|
+
`prompt` text NOT NULL,
|
|
48
|
+
`result` text,
|
|
49
|
+
`error` text,
|
|
50
|
+
`created_at` text NOT NULL,
|
|
51
|
+
`updated_at` text NOT NULL,
|
|
52
|
+
`completed_at` text,
|
|
53
|
+
`cancelled_at` text,
|
|
54
|
+
FOREIGN KEY (`session_id`) REFERENCES `sessions`(`id`) ON UPDATE no action ON DELETE cascade
|
|
55
|
+
);
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
CREATE TABLE `task_usage` (
|
|
2
|
+
`task_id` text PRIMARY KEY NOT NULL,
|
|
3
|
+
`root_task_id` text,
|
|
4
|
+
`agent_name` text NOT NULL,
|
|
5
|
+
`provider_type` text NOT NULL,
|
|
6
|
+
`model` text NOT NULL,
|
|
7
|
+
`input_tokens` integer DEFAULT 0 NOT NULL,
|
|
8
|
+
`output_tokens` integer DEFAULT 0 NOT NULL,
|
|
9
|
+
`tool_call_count` integer DEFAULT 0 NOT NULL,
|
|
10
|
+
`model_calls` integer DEFAULT 0 NOT NULL,
|
|
11
|
+
`latency_ms` integer DEFAULT 0 NOT NULL,
|
|
12
|
+
`is_complete` integer DEFAULT 0 NOT NULL,
|
|
13
|
+
`created_at` text NOT NULL
|
|
14
|
+
);
|
|
15
|
+
--> statement-breakpoint
|
|
16
|
+
CREATE INDEX `idx_task_usage_root_task_id` ON `task_usage` (`root_task_id`);
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
PRAGMA foreign_keys=OFF;--> statement-breakpoint
|
|
2
|
+
CREATE TABLE `__new_tasks` (
|
|
3
|
+
`id` text PRIMARY KEY NOT NULL,
|
|
4
|
+
`session_id` text,
|
|
5
|
+
`parent_task_id` text,
|
|
6
|
+
`is_ephemeral` integer DEFAULT 0 NOT NULL,
|
|
7
|
+
`recursion_depth` integer DEFAULT 0 NOT NULL,
|
|
8
|
+
`status` text DEFAULT 'pending' NOT NULL,
|
|
9
|
+
`prompt` text NOT NULL,
|
|
10
|
+
`result` text,
|
|
11
|
+
`error` text,
|
|
12
|
+
`created_at` text NOT NULL,
|
|
13
|
+
`updated_at` text NOT NULL,
|
|
14
|
+
`completed_at` text,
|
|
15
|
+
`cancelled_at` text,
|
|
16
|
+
`depends_on` text,
|
|
17
|
+
`on_upstream_failure` text,
|
|
18
|
+
`inputs` text,
|
|
19
|
+
`resume_token` text
|
|
20
|
+
);
|
|
21
|
+
--> statement-breakpoint
|
|
22
|
+
INSERT INTO `__new_tasks`("id", "session_id", "parent_task_id", "is_ephemeral", "recursion_depth", "status", "prompt", "result", "error", "created_at", "updated_at", "completed_at", "cancelled_at", "depends_on", "on_upstream_failure", "inputs", "resume_token") SELECT "id", "session_id", "parent_task_id", 0, "recursion_depth", "status", "prompt", "result", "error", "created_at", "updated_at", "completed_at", "cancelled_at", "depends_on", "on_upstream_failure", "inputs", "resume_token" FROM `tasks`;--> statement-breakpoint
|
|
23
|
+
DROP TABLE `tasks`;--> statement-breakpoint
|
|
24
|
+
ALTER TABLE `__new_tasks` RENAME TO `tasks`;--> statement-breakpoint
|
|
25
|
+
PRAGMA foreign_keys=ON;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
-- runtime-sink-schema: composed_prompts cache + experiment_assignments + sessions.composed_prompt_id
|
|
2
|
+
-- Migration is additive (new tables + nullable column) — backward-compatible with existing rows.
|
|
3
|
+
|
|
4
|
+
CREATE TABLE `composed_prompts` (
|
|
5
|
+
`id` text PRIMARY KEY NOT NULL,
|
|
6
|
+
`agent_slug` text NOT NULL,
|
|
7
|
+
`context_hash` text NOT NULL,
|
|
8
|
+
`content` text NOT NULL,
|
|
9
|
+
`component_versions` text NOT NULL,
|
|
10
|
+
`created_at` text NOT NULL
|
|
11
|
+
);
|
|
12
|
+
--> statement-breakpoint
|
|
13
|
+
CREATE UNIQUE INDEX `idx_composed_prompts_agent_ctx` ON `composed_prompts` (`agent_slug`,`context_hash`);
|
|
14
|
+
--> statement-breakpoint
|
|
15
|
+
CREATE TABLE `experiment_assignments` (
|
|
16
|
+
`id` text PRIMARY KEY NOT NULL,
|
|
17
|
+
`session_id` text NOT NULL,
|
|
18
|
+
`experiment_slug` text NOT NULL,
|
|
19
|
+
`variant` text NOT NULL,
|
|
20
|
+
`created_at` text NOT NULL,
|
|
21
|
+
FOREIGN KEY (`session_id`) REFERENCES `sessions`(`id`) ON UPDATE no action ON DELETE cascade
|
|
22
|
+
);
|
|
23
|
+
--> statement-breakpoint
|
|
24
|
+
ALTER TABLE `sessions` ADD COLUMN `composed_prompt_id` text;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
PRAGMA foreign_keys=OFF;--> statement-breakpoint
|
|
2
|
+
CREATE TABLE `__new_sessions` (
|
|
3
|
+
`id` text PRIMARY KEY NOT NULL,
|
|
4
|
+
`agent_name` text NOT NULL,
|
|
5
|
+
`agent_version` integer NOT NULL,
|
|
6
|
+
`agent_data` text NOT NULL,
|
|
7
|
+
`status` text DEFAULT 'active' NOT NULL,
|
|
8
|
+
`created_at` text NOT NULL,
|
|
9
|
+
`updated_at` text NOT NULL,
|
|
10
|
+
`closed_at` text,
|
|
11
|
+
`composed_prompt_id` text
|
|
12
|
+
);
|
|
13
|
+
--> statement-breakpoint
|
|
14
|
+
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
|
|
15
|
+
DROP TABLE `sessions`;--> statement-breakpoint
|
|
16
|
+
ALTER TABLE `__new_sessions` RENAME TO `sessions`;--> statement-breakpoint
|
|
17
|
+
PRAGMA foreign_keys=ON;--> statement-breakpoint
|
|
18
|
+
CREATE TABLE `__new_task_usage` (
|
|
19
|
+
`task_id` text PRIMARY KEY NOT NULL,
|
|
20
|
+
`root_task_id` text,
|
|
21
|
+
`agent_name` text NOT NULL,
|
|
22
|
+
`provider_type` text NOT NULL,
|
|
23
|
+
`model` text NOT NULL,
|
|
24
|
+
`input_tokens` integer DEFAULT 0 NOT NULL,
|
|
25
|
+
`output_tokens` integer DEFAULT 0 NOT NULL,
|
|
26
|
+
`tool_call_count` integer DEFAULT 0 NOT NULL,
|
|
27
|
+
`model_calls` integer DEFAULT 0 NOT NULL,
|
|
28
|
+
`latency_ms` integer DEFAULT 0 NOT NULL,
|
|
29
|
+
`is_complete` integer DEFAULT 0 NOT NULL,
|
|
30
|
+
`stop_reason` text,
|
|
31
|
+
`max_tokens` integer,
|
|
32
|
+
`cache_read_input_tokens` integer,
|
|
33
|
+
`cache_creation_input_tokens` integer,
|
|
34
|
+
`created_at` text NOT NULL
|
|
35
|
+
);
|
|
36
|
+
--> statement-breakpoint
|
|
37
|
+
INSERT INTO `__new_task_usage`("task_id", "root_task_id", "agent_name", "provider_type", "model", "input_tokens", "output_tokens", "tool_call_count", "model_calls", "latency_ms", "is_complete", "stop_reason", "max_tokens", "cache_read_input_tokens", "cache_creation_input_tokens", "created_at") SELECT "task_id", "root_task_id", "agent_name", "provider_type", "model", "input_tokens", "output_tokens", "tool_call_count", "model_calls", "latency_ms", "is_complete", "stop_reason", "max_tokens", "cache_read_input_tokens", "cache_creation_input_tokens", "created_at" FROM `task_usage`;--> statement-breakpoint
|
|
38
|
+
DROP TABLE `task_usage`;--> statement-breakpoint
|
|
39
|
+
ALTER TABLE `__new_task_usage` RENAME TO `task_usage`;--> statement-breakpoint
|
|
40
|
+
CREATE INDEX `idx_task_usage_root_task_id` ON `task_usage` (`root_task_id`);
|
|
@@ -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,387 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "6",
|
|
3
|
+
"dialect": "sqlite",
|
|
4
|
+
"id": "2d4aefae-8746-4f36-9d30-5eac97187370",
|
|
5
|
+
"prevId": "00000000-0000-0000-0000-000000000000",
|
|
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
|
+
"messages": {
|
|
54
|
+
"name": "messages",
|
|
55
|
+
"columns": {
|
|
56
|
+
"id": {
|
|
57
|
+
"name": "id",
|
|
58
|
+
"type": "text",
|
|
59
|
+
"primaryKey": true,
|
|
60
|
+
"notNull": true,
|
|
61
|
+
"autoincrement": false
|
|
62
|
+
},
|
|
63
|
+
"session_id": {
|
|
64
|
+
"name": "session_id",
|
|
65
|
+
"type": "text",
|
|
66
|
+
"primaryKey": false,
|
|
67
|
+
"notNull": true,
|
|
68
|
+
"autoincrement": false
|
|
69
|
+
},
|
|
70
|
+
"role": {
|
|
71
|
+
"name": "role",
|
|
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": false,
|
|
82
|
+
"autoincrement": false
|
|
83
|
+
},
|
|
84
|
+
"tool_calls": {
|
|
85
|
+
"name": "tool_calls",
|
|
86
|
+
"type": "text",
|
|
87
|
+
"primaryKey": false,
|
|
88
|
+
"notNull": false,
|
|
89
|
+
"autoincrement": false
|
|
90
|
+
},
|
|
91
|
+
"tool_results": {
|
|
92
|
+
"name": "tool_results",
|
|
93
|
+
"type": "text",
|
|
94
|
+
"primaryKey": false,
|
|
95
|
+
"notNull": false,
|
|
96
|
+
"autoincrement": false
|
|
97
|
+
},
|
|
98
|
+
"created_at": {
|
|
99
|
+
"name": "created_at",
|
|
100
|
+
"type": "text",
|
|
101
|
+
"primaryKey": false,
|
|
102
|
+
"notNull": true,
|
|
103
|
+
"autoincrement": false
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
"indexes": {},
|
|
107
|
+
"foreignKeys": {
|
|
108
|
+
"messages_session_id_sessions_id_fk": {
|
|
109
|
+
"name": "messages_session_id_sessions_id_fk",
|
|
110
|
+
"tableFrom": "messages",
|
|
111
|
+
"tableTo": "sessions",
|
|
112
|
+
"columnsFrom": [
|
|
113
|
+
"session_id"
|
|
114
|
+
],
|
|
115
|
+
"columnsTo": [
|
|
116
|
+
"id"
|
|
117
|
+
],
|
|
118
|
+
"onDelete": "cascade",
|
|
119
|
+
"onUpdate": "no action"
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
"compositePrimaryKeys": {},
|
|
123
|
+
"uniqueConstraints": {},
|
|
124
|
+
"checkConstraints": {}
|
|
125
|
+
},
|
|
126
|
+
"sessions": {
|
|
127
|
+
"name": "sessions",
|
|
128
|
+
"columns": {
|
|
129
|
+
"id": {
|
|
130
|
+
"name": "id",
|
|
131
|
+
"type": "text",
|
|
132
|
+
"primaryKey": true,
|
|
133
|
+
"notNull": true,
|
|
134
|
+
"autoincrement": false
|
|
135
|
+
},
|
|
136
|
+
"agent_name": {
|
|
137
|
+
"name": "agent_name",
|
|
138
|
+
"type": "text",
|
|
139
|
+
"primaryKey": false,
|
|
140
|
+
"notNull": true,
|
|
141
|
+
"autoincrement": false
|
|
142
|
+
},
|
|
143
|
+
"agent_version": {
|
|
144
|
+
"name": "agent_version",
|
|
145
|
+
"type": "integer",
|
|
146
|
+
"primaryKey": false,
|
|
147
|
+
"notNull": true,
|
|
148
|
+
"autoincrement": false
|
|
149
|
+
},
|
|
150
|
+
"agent_data": {
|
|
151
|
+
"name": "agent_data",
|
|
152
|
+
"type": "text",
|
|
153
|
+
"primaryKey": false,
|
|
154
|
+
"notNull": true,
|
|
155
|
+
"autoincrement": false
|
|
156
|
+
},
|
|
157
|
+
"status": {
|
|
158
|
+
"name": "status",
|
|
159
|
+
"type": "text",
|
|
160
|
+
"primaryKey": false,
|
|
161
|
+
"notNull": true,
|
|
162
|
+
"autoincrement": false,
|
|
163
|
+
"default": "'active'"
|
|
164
|
+
},
|
|
165
|
+
"created_at": {
|
|
166
|
+
"name": "created_at",
|
|
167
|
+
"type": "text",
|
|
168
|
+
"primaryKey": false,
|
|
169
|
+
"notNull": true,
|
|
170
|
+
"autoincrement": false
|
|
171
|
+
},
|
|
172
|
+
"updated_at": {
|
|
173
|
+
"name": "updated_at",
|
|
174
|
+
"type": "text",
|
|
175
|
+
"primaryKey": false,
|
|
176
|
+
"notNull": true,
|
|
177
|
+
"autoincrement": false
|
|
178
|
+
},
|
|
179
|
+
"closed_at": {
|
|
180
|
+
"name": "closed_at",
|
|
181
|
+
"type": "text",
|
|
182
|
+
"primaryKey": false,
|
|
183
|
+
"notNull": false,
|
|
184
|
+
"autoincrement": false
|
|
185
|
+
}
|
|
186
|
+
},
|
|
187
|
+
"indexes": {},
|
|
188
|
+
"foreignKeys": {
|
|
189
|
+
"sessions_agent_name_agents_name_fk": {
|
|
190
|
+
"name": "sessions_agent_name_agents_name_fk",
|
|
191
|
+
"tableFrom": "sessions",
|
|
192
|
+
"tableTo": "agents",
|
|
193
|
+
"columnsFrom": [
|
|
194
|
+
"agent_name"
|
|
195
|
+
],
|
|
196
|
+
"columnsTo": [
|
|
197
|
+
"name"
|
|
198
|
+
],
|
|
199
|
+
"onDelete": "cascade",
|
|
200
|
+
"onUpdate": "no action"
|
|
201
|
+
}
|
|
202
|
+
},
|
|
203
|
+
"compositePrimaryKeys": {},
|
|
204
|
+
"uniqueConstraints": {},
|
|
205
|
+
"checkConstraints": {}
|
|
206
|
+
},
|
|
207
|
+
"task_events": {
|
|
208
|
+
"name": "task_events",
|
|
209
|
+
"columns": {
|
|
210
|
+
"id": {
|
|
211
|
+
"name": "id",
|
|
212
|
+
"type": "text",
|
|
213
|
+
"primaryKey": true,
|
|
214
|
+
"notNull": true,
|
|
215
|
+
"autoincrement": false
|
|
216
|
+
},
|
|
217
|
+
"task_id": {
|
|
218
|
+
"name": "task_id",
|
|
219
|
+
"type": "text",
|
|
220
|
+
"primaryKey": false,
|
|
221
|
+
"notNull": true,
|
|
222
|
+
"autoincrement": false
|
|
223
|
+
},
|
|
224
|
+
"type": {
|
|
225
|
+
"name": "type",
|
|
226
|
+
"type": "text",
|
|
227
|
+
"primaryKey": false,
|
|
228
|
+
"notNull": true,
|
|
229
|
+
"autoincrement": false
|
|
230
|
+
},
|
|
231
|
+
"payload": {
|
|
232
|
+
"name": "payload",
|
|
233
|
+
"type": "text",
|
|
234
|
+
"primaryKey": false,
|
|
235
|
+
"notNull": false,
|
|
236
|
+
"autoincrement": false
|
|
237
|
+
},
|
|
238
|
+
"created_at": {
|
|
239
|
+
"name": "created_at",
|
|
240
|
+
"type": "text",
|
|
241
|
+
"primaryKey": false,
|
|
242
|
+
"notNull": true,
|
|
243
|
+
"autoincrement": false
|
|
244
|
+
}
|
|
245
|
+
},
|
|
246
|
+
"indexes": {},
|
|
247
|
+
"foreignKeys": {
|
|
248
|
+
"task_events_task_id_tasks_id_fk": {
|
|
249
|
+
"name": "task_events_task_id_tasks_id_fk",
|
|
250
|
+
"tableFrom": "task_events",
|
|
251
|
+
"tableTo": "tasks",
|
|
252
|
+
"columnsFrom": [
|
|
253
|
+
"task_id"
|
|
254
|
+
],
|
|
255
|
+
"columnsTo": [
|
|
256
|
+
"id"
|
|
257
|
+
],
|
|
258
|
+
"onDelete": "cascade",
|
|
259
|
+
"onUpdate": "no action"
|
|
260
|
+
}
|
|
261
|
+
},
|
|
262
|
+
"compositePrimaryKeys": {},
|
|
263
|
+
"uniqueConstraints": {},
|
|
264
|
+
"checkConstraints": {}
|
|
265
|
+
},
|
|
266
|
+
"tasks": {
|
|
267
|
+
"name": "tasks",
|
|
268
|
+
"columns": {
|
|
269
|
+
"id": {
|
|
270
|
+
"name": "id",
|
|
271
|
+
"type": "text",
|
|
272
|
+
"primaryKey": true,
|
|
273
|
+
"notNull": true,
|
|
274
|
+
"autoincrement": false
|
|
275
|
+
},
|
|
276
|
+
"session_id": {
|
|
277
|
+
"name": "session_id",
|
|
278
|
+
"type": "text",
|
|
279
|
+
"primaryKey": false,
|
|
280
|
+
"notNull": true,
|
|
281
|
+
"autoincrement": false
|
|
282
|
+
},
|
|
283
|
+
"parent_task_id": {
|
|
284
|
+
"name": "parent_task_id",
|
|
285
|
+
"type": "text",
|
|
286
|
+
"primaryKey": false,
|
|
287
|
+
"notNull": false,
|
|
288
|
+
"autoincrement": false
|
|
289
|
+
},
|
|
290
|
+
"recursion_depth": {
|
|
291
|
+
"name": "recursion_depth",
|
|
292
|
+
"type": "integer",
|
|
293
|
+
"primaryKey": false,
|
|
294
|
+
"notNull": true,
|
|
295
|
+
"autoincrement": false,
|
|
296
|
+
"default": 0
|
|
297
|
+
},
|
|
298
|
+
"status": {
|
|
299
|
+
"name": "status",
|
|
300
|
+
"type": "text",
|
|
301
|
+
"primaryKey": false,
|
|
302
|
+
"notNull": true,
|
|
303
|
+
"autoincrement": false,
|
|
304
|
+
"default": "'pending'"
|
|
305
|
+
},
|
|
306
|
+
"prompt": {
|
|
307
|
+
"name": "prompt",
|
|
308
|
+
"type": "text",
|
|
309
|
+
"primaryKey": false,
|
|
310
|
+
"notNull": true,
|
|
311
|
+
"autoincrement": false
|
|
312
|
+
},
|
|
313
|
+
"result": {
|
|
314
|
+
"name": "result",
|
|
315
|
+
"type": "text",
|
|
316
|
+
"primaryKey": false,
|
|
317
|
+
"notNull": false,
|
|
318
|
+
"autoincrement": false
|
|
319
|
+
},
|
|
320
|
+
"error": {
|
|
321
|
+
"name": "error",
|
|
322
|
+
"type": "text",
|
|
323
|
+
"primaryKey": false,
|
|
324
|
+
"notNull": false,
|
|
325
|
+
"autoincrement": false
|
|
326
|
+
},
|
|
327
|
+
"created_at": {
|
|
328
|
+
"name": "created_at",
|
|
329
|
+
"type": "text",
|
|
330
|
+
"primaryKey": false,
|
|
331
|
+
"notNull": true,
|
|
332
|
+
"autoincrement": false
|
|
333
|
+
},
|
|
334
|
+
"updated_at": {
|
|
335
|
+
"name": "updated_at",
|
|
336
|
+
"type": "text",
|
|
337
|
+
"primaryKey": false,
|
|
338
|
+
"notNull": true,
|
|
339
|
+
"autoincrement": false
|
|
340
|
+
},
|
|
341
|
+
"completed_at": {
|
|
342
|
+
"name": "completed_at",
|
|
343
|
+
"type": "text",
|
|
344
|
+
"primaryKey": false,
|
|
345
|
+
"notNull": false,
|
|
346
|
+
"autoincrement": false
|
|
347
|
+
},
|
|
348
|
+
"cancelled_at": {
|
|
349
|
+
"name": "cancelled_at",
|
|
350
|
+
"type": "text",
|
|
351
|
+
"primaryKey": false,
|
|
352
|
+
"notNull": false,
|
|
353
|
+
"autoincrement": false
|
|
354
|
+
}
|
|
355
|
+
},
|
|
356
|
+
"indexes": {},
|
|
357
|
+
"foreignKeys": {
|
|
358
|
+
"tasks_session_id_sessions_id_fk": {
|
|
359
|
+
"name": "tasks_session_id_sessions_id_fk",
|
|
360
|
+
"tableFrom": "tasks",
|
|
361
|
+
"tableTo": "sessions",
|
|
362
|
+
"columnsFrom": [
|
|
363
|
+
"session_id"
|
|
364
|
+
],
|
|
365
|
+
"columnsTo": [
|
|
366
|
+
"id"
|
|
367
|
+
],
|
|
368
|
+
"onDelete": "cascade",
|
|
369
|
+
"onUpdate": "no action"
|
|
370
|
+
}
|
|
371
|
+
},
|
|
372
|
+
"compositePrimaryKeys": {},
|
|
373
|
+
"uniqueConstraints": {},
|
|
374
|
+
"checkConstraints": {}
|
|
375
|
+
}
|
|
376
|
+
},
|
|
377
|
+
"views": {},
|
|
378
|
+
"enums": {},
|
|
379
|
+
"_meta": {
|
|
380
|
+
"schemas": {},
|
|
381
|
+
"tables": {},
|
|
382
|
+
"columns": {}
|
|
383
|
+
},
|
|
384
|
+
"internal": {
|
|
385
|
+
"indexes": {}
|
|
386
|
+
}
|
|
387
|
+
}
|