@adhd/agent-mcp 2.1.0 → 2.1.2

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 (69) hide show
  1. package/docs/marketing/.catalog/capabilities.md +1 -1
  2. package/docs/plan/accounting/SCOPE.md +316 -0
  3. package/docs/provider-call-audit.md +83 -1
  4. package/drizzle/0000_nifty_sasquatch.sql +55 -0
  5. package/drizzle/0001_task_usage.sql +16 -0
  6. package/drizzle/0002_lumpy_silver_centurion.sql +2 -0
  7. package/drizzle/0003_nifty_shriek.sql +2 -0
  8. package/drizzle/0004_brief_shocker.sql +4 -0
  9. package/drizzle/0005_clear_lenny_balinger.sql +25 -0
  10. package/drizzle/0006_composed_prompts_cache.sql +24 -0
  11. package/drizzle/0007_smart_callisto.sql +40 -0
  12. package/drizzle/0008_cache_and_peak_context_usage.sql +19 -0
  13. package/drizzle/0009_restore_sessions_agent_fk.sql +29 -0
  14. package/drizzle/meta/0000_snapshot.json +387 -0
  15. package/drizzle/meta/0001_snapshot.json +495 -0
  16. package/drizzle/meta/0002_snapshot.json +509 -0
  17. package/drizzle/meta/0003_snapshot.json +523 -0
  18. package/drizzle/meta/0004_snapshot.json +551 -0
  19. package/drizzle/meta/0005_snapshot.json +545 -0
  20. package/drizzle/meta/0006_snapshot.json +651 -0
  21. package/drizzle/meta/0007_snapshot.json +658 -0
  22. package/drizzle/meta/_journal.json +76 -0
  23. package/package.json +14 -17
  24. package/src/config.d.ts +59 -30
  25. package/src/config.d.ts.map +1 -1
  26. package/src/config.js +202 -205
  27. package/src/config.js.map +1 -1
  28. package/src/db/client.d.ts.map +1 -1
  29. package/src/db/client.js +6 -2
  30. package/src/db/client.js.map +1 -1
  31. package/src/db/migrate-runner.d.ts.map +1 -1
  32. package/src/db/migrate-runner.js.map +1 -1
  33. package/src/db/migrate.d.ts.map +1 -1
  34. package/src/db/migrate.js.map +1 -1
  35. package/src/db/schema.d.ts.map +1 -1
  36. package/src/db/schema.js.map +1 -1
  37. package/src/index.d.ts.map +1 -1
  38. package/src/index.js +20 -13
  39. package/src/index.js.map +1 -1
  40. package/src/logger.d.ts.map +1 -1
  41. package/src/logger.js +2 -2
  42. package/src/logger.js.map +1 -1
  43. package/src/scripts/agent-mcp-tail.d.ts.map +1 -1
  44. package/src/scripts/agent-mcp-tail.js +202 -122
  45. package/src/scripts/agent-mcp-tail.js.map +1 -1
  46. package/src/server.d.ts.map +1 -1
  47. package/src/server.js +7 -7
  48. package/src/server.js.map +1 -1
  49. package/src/store/agent-store.d.ts.map +1 -1
  50. package/src/store/agent-store.js.map +1 -1
  51. package/src/streaming/chat-gateway.d.ts.map +1 -1
  52. package/src/streaming/chat-gateway.js.map +1 -1
  53. package/src/streaming/event-bus.d.ts.map +1 -1
  54. package/src/streaming/event-bus.js.map +1 -1
  55. package/src/streaming/sse-server.d.ts.map +1 -1
  56. package/src/streaming/sse-server.js +2 -2
  57. package/src/streaming/sse-server.js.map +1 -1
  58. package/src/__tests__/integration/harness.d.ts +0 -1027
  59. package/src/__tests__/integration/harness.d.ts.map +0 -1
  60. package/src/__tests__/integration/harness.js +0 -409
  61. package/src/__tests__/integration/harness.js.map +0 -1
  62. package/src/__tests__/integration/scripted-provider.d.ts +0 -43
  63. package/src/__tests__/integration/scripted-provider.d.ts.map +0 -1
  64. package/src/__tests__/integration/scripted-provider.js +0 -80
  65. package/src/__tests__/integration/scripted-provider.js.map +0 -1
  66. package/src/utils/load-env.d.ts +0 -2
  67. package/src/utils/load-env.d.ts.map +0 -1
  68. package/src/utils/load-env.js +0 -9
  69. package/src/utils/load-env.js.map +0 -1
@@ -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
+ }