@adhd/agent-mcp 0.0.8 → 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.
- 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/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/_journal.json +48 -0
- package/package.json +4 -2
- package/src/__tests__/integration/harness.d.ts +195 -0
- package/src/__tests__/integration/harness.d.ts.map +1 -0
- package/src/__tests__/integration/harness.js +396 -0
- package/src/__tests__/integration/harness.js.map +1 -0
- package/src/__tests__/integration/scripted-provider.d.ts +44 -0
- package/src/__tests__/integration/scripted-provider.d.ts.map +1 -0
- package/src/__tests__/integration/scripted-provider.js +82 -0
- package/src/__tests__/integration/scripted-provider.js.map +1 -0
- package/src/clients/registry.d.ts +17 -0
- package/src/clients/registry.d.ts.map +1 -1
- package/src/clients/registry.js +45 -6
- package/src/clients/registry.js.map +1 -1
- package/src/clients/tool-naming.d.ts +20 -0
- package/src/clients/tool-naming.d.ts.map +1 -0
- package/src/clients/tool-naming.js +22 -0
- package/src/clients/tool-naming.js.map +1 -0
- package/src/db/client.d.ts +1 -0
- package/src/db/client.d.ts.map +1 -1
- package/src/db/client.js +1 -1
- package/src/db/client.js.map +1 -1
- package/src/db/migrate-runner.d.ts +38 -0
- package/src/db/migrate-runner.d.ts.map +1 -0
- package/src/db/migrate-runner.js +41 -0
- package/src/db/migrate-runner.js.map +1 -0
- package/src/db/migrate.d.ts +3 -0
- package/src/db/migrate.d.ts.map +1 -1
- package/src/db/migrate.js +6 -5
- package/src/db/migrate.js.map +1 -1
- package/src/db/schema.d.ts +96 -3
- package/src/db/schema.d.ts.map +1 -1
- package/src/db/schema.js +16 -6
- package/src/db/schema.js.map +1 -1
- package/src/engine/dag-engine.d.ts +62 -0
- package/src/engine/dag-engine.d.ts.map +1 -0
- package/src/engine/dag-engine.js +158 -0
- package/src/engine/dag-engine.js.map +1 -0
- package/src/engine/orchestrator.d.ts +14 -0
- package/src/engine/orchestrator.d.ts.map +1 -1
- package/src/engine/orchestrator.js +202 -57
- package/src/engine/orchestrator.js.map +1 -1
- package/src/engine/queue.d.ts +6 -0
- package/src/engine/queue.d.ts.map +1 -1
- package/src/engine/queue.js +8 -0
- package/src/engine/queue.js.map +1 -1
- package/src/index.js +75 -0
- package/src/index.js.map +1 -1
- package/src/providers/anthropic.d.ts.map +1 -1
- package/src/providers/anthropic.js +22 -3
- package/src/providers/anthropic.js.map +1 -1
- package/src/server.d.ts +18 -0
- package/src/server.d.ts.map +1 -1
- package/src/server.js +25 -2
- package/src/server.js.map +1 -1
- package/src/store/task-store.d.ts +7 -1
- package/src/store/task-store.d.ts.map +1 -1
- package/src/store/task-store.js +37 -5
- package/src/store/task-store.js.map +1 -1
- package/src/streaming/event-bus.d.ts +28 -0
- package/src/streaming/event-bus.d.ts.map +1 -0
- package/src/streaming/event-bus.js +12 -0
- package/src/streaming/event-bus.js.map +1 -0
- package/src/streaming/sse-server.d.ts +4 -0
- package/src/streaming/sse-server.d.ts.map +1 -0
- package/src/streaming/sse-server.js +95 -0
- package/src/streaming/sse-server.js.map +1 -0
- package/src/tools/task.d.ts +35 -0
- package/src/tools/task.d.ts.map +1 -1
- package/src/tools/task.js +200 -36
- package/src/tools/task.js.map +1 -1
- package/src/validation/agent.d.ts +3 -0
- package/src/validation/agent.d.ts.map +1 -1
- package/src/validation/agent.js +7 -0
- package/src/validation/agent.js.map +1 -1
- package/src/validation/errors.d.ts +1 -0
- package/src/validation/errors.d.ts.map +1 -1
- package/src/validation/errors.js +1 -0
- package/src/validation/errors.js.map +1 -1
- package/src/validation/execution.d.ts +2 -0
- package/src/validation/execution.d.ts.map +1 -1
- package/src/validation/execution.js +5 -0
- package/src/validation/execution.js.map +1 -1
- package/src/validation/task.d.ts +31 -1
- package/src/validation/task.d.ts.map +1 -1
- package/src/validation/task.js +24 -1
- package/src/validation/task.js.map +1 -1
package/src/validation/task.d.ts
CHANGED
|
@@ -5,11 +5,14 @@ export declare const taskStatusSchema: z.ZodEnum<{
|
|
|
5
5
|
completed: "completed";
|
|
6
6
|
failed: "failed";
|
|
7
7
|
cancelled: "cancelled";
|
|
8
|
+
waiting: "waiting";
|
|
9
|
+
awaiting_input: "awaiting_input";
|
|
8
10
|
}>;
|
|
9
11
|
export type { TaskStatus } from "@adhd/agent-mcp-types";
|
|
10
12
|
export declare const taskSchema: z.ZodObject<{
|
|
11
13
|
id: z.ZodString;
|
|
12
|
-
sessionId: z.ZodString
|
|
14
|
+
sessionId: z.ZodOptional<z.ZodString>;
|
|
15
|
+
isEphemeral: z.ZodDefault<z.ZodBoolean>;
|
|
13
16
|
parentTaskId: z.ZodOptional<z.ZodString>;
|
|
14
17
|
recursionDepth: z.ZodNumber;
|
|
15
18
|
status: z.ZodEnum<{
|
|
@@ -18,6 +21,8 @@ export declare const taskSchema: z.ZodObject<{
|
|
|
18
21
|
completed: "completed";
|
|
19
22
|
failed: "failed";
|
|
20
23
|
cancelled: "cancelled";
|
|
24
|
+
waiting: "waiting";
|
|
25
|
+
awaiting_input: "awaiting_input";
|
|
21
26
|
}>;
|
|
22
27
|
prompt: z.ZodString;
|
|
23
28
|
result: z.ZodOptional<z.ZodString>;
|
|
@@ -26,6 +31,13 @@ export declare const taskSchema: z.ZodObject<{
|
|
|
26
31
|
updatedAt: z.ZodString;
|
|
27
32
|
completedAt: z.ZodOptional<z.ZodString>;
|
|
28
33
|
cancelledAt: z.ZodOptional<z.ZodString>;
|
|
34
|
+
dependsOn: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodString>>>;
|
|
35
|
+
onUpstreamFailure: z.ZodNullable<z.ZodOptional<z.ZodEnum<{
|
|
36
|
+
fail: "fail";
|
|
37
|
+
skip: "skip";
|
|
38
|
+
}>>>;
|
|
39
|
+
inputs: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>>;
|
|
40
|
+
resumeToken: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
29
41
|
}, z.core.$strip>;
|
|
30
42
|
export type { Task } from "@adhd/agent-mcp-types";
|
|
31
43
|
export declare const taskEventTypeSchema: z.ZodEnum<{
|
|
@@ -58,9 +70,21 @@ export declare const taskToolInputSchema: z.ZodUnion<readonly [z.ZodObject<{
|
|
|
58
70
|
session_id: z.ZodString;
|
|
59
71
|
prompt: z.ZodString;
|
|
60
72
|
background: z.ZodDefault<z.ZodBoolean>;
|
|
73
|
+
depends_on: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
74
|
+
on_upstream_failure: z.ZodOptional<z.ZodEnum<{
|
|
75
|
+
fail: "fail";
|
|
76
|
+
skip: "skip";
|
|
77
|
+
}>>;
|
|
78
|
+
stream: z.ZodOptional<z.ZodBoolean>;
|
|
61
79
|
}, z.core.$strip>, z.ZodObject<{
|
|
62
80
|
agent_name: z.ZodString;
|
|
63
81
|
prompt: z.ZodString;
|
|
82
|
+
depends_on: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
83
|
+
on_upstream_failure: z.ZodOptional<z.ZodEnum<{
|
|
84
|
+
fail: "fail";
|
|
85
|
+
skip: "skip";
|
|
86
|
+
}>>;
|
|
87
|
+
stream: z.ZodOptional<z.ZodBoolean>;
|
|
64
88
|
}, z.core.$strip>]>;
|
|
65
89
|
export declare const taskToolOutputSchema: z.ZodObject<{
|
|
66
90
|
task_id: z.ZodString;
|
|
@@ -70,8 +94,11 @@ export declare const taskToolOutputSchema: z.ZodObject<{
|
|
|
70
94
|
completed: "completed";
|
|
71
95
|
failed: "failed";
|
|
72
96
|
cancelled: "cancelled";
|
|
97
|
+
waiting: "waiting";
|
|
98
|
+
awaiting_input: "awaiting_input";
|
|
73
99
|
}>;
|
|
74
100
|
result: z.ZodOptional<z.ZodString>;
|
|
101
|
+
stream_url: z.ZodOptional<z.ZodString>;
|
|
75
102
|
usage: z.ZodOptional<z.ZodObject<{
|
|
76
103
|
direct: z.ZodObject<{
|
|
77
104
|
inputTokens: z.ZodNumber;
|
|
@@ -100,7 +127,10 @@ export declare const taskListInputSchema: z.ZodObject<{
|
|
|
100
127
|
completed: "completed";
|
|
101
128
|
failed: "failed";
|
|
102
129
|
cancelled: "cancelled";
|
|
130
|
+
waiting: "waiting";
|
|
131
|
+
awaiting_input: "awaiting_input";
|
|
103
132
|
}>>;
|
|
133
|
+
is_ephemeral: z.ZodOptional<z.ZodBoolean>;
|
|
104
134
|
}, z.core.$strip>;
|
|
105
135
|
export declare const taskCancelInputSchema: z.ZodObject<{
|
|
106
136
|
task_id: z.ZodString;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../../../../../packages/ai/agent-mcp/src/validation/task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,gBAAgB
|
|
1
|
+
{"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../../../../../packages/ai/agent-mcp/src/validation/task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,gBAAgB;;;;;;;;EAQ3B,CAAC;AAEH,YAAY,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAqBrB,CAAC;AAEH,YAAY,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAElD,eAAO,MAAM,mBAAmB;;;;;;;;EAQ9B,CAAC;AAEH,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;iBAM1B,CAAC;AAEH,YAAY,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAyBvD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;mBAAoD,CAAC;AAErF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAW/B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;iBAK9B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;iBAEhC,CAAC;AAEH,eAAO,MAAM,iBAAiB;;iBAE5B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|
package/src/validation/task.js
CHANGED
|
@@ -6,10 +6,14 @@ export const taskStatusSchema = z.enum([
|
|
|
6
6
|
"completed",
|
|
7
7
|
"failed",
|
|
8
8
|
"cancelled",
|
|
9
|
+
"waiting", // blocked on depends_on; DagEngine dispatches when all deps complete
|
|
10
|
+
"awaiting_input", // suspended in HITL Promise; task_resume resolves it
|
|
9
11
|
]);
|
|
10
12
|
export const taskSchema = z.object({
|
|
11
13
|
id: z.string().uuid(),
|
|
12
|
-
|
|
14
|
+
// Nullable: ephemeral tasks (agent_name one-shot mode) have no session row.
|
|
15
|
+
sessionId: z.string().uuid().optional(),
|
|
16
|
+
isEphemeral: z.boolean().default(false),
|
|
13
17
|
parentTaskId: z.string().uuid().optional(),
|
|
14
18
|
recursionDepth: z.number().int().nonnegative(),
|
|
15
19
|
status: taskStatusSchema,
|
|
@@ -20,6 +24,12 @@ export const taskSchema = z.object({
|
|
|
20
24
|
updatedAt: z.string().datetime(),
|
|
21
25
|
completedAt: z.string().datetime().optional(),
|
|
22
26
|
cancelledAt: z.string().datetime().optional(),
|
|
27
|
+
// Dependency DAG fields
|
|
28
|
+
dependsOn: z.array(z.string().uuid()).optional().nullable(),
|
|
29
|
+
onUpstreamFailure: z.enum(["fail", "skip"]).optional().nullable(),
|
|
30
|
+
inputs: z.record(z.string(), z.string()).optional().nullable(),
|
|
31
|
+
// HITL suspension field (server-generated; not accepted from user input)
|
|
32
|
+
resumeToken: z.string().uuid().optional().nullable(),
|
|
23
33
|
});
|
|
24
34
|
export const taskEventTypeSchema = z.enum([
|
|
25
35
|
"MODEL_REQUEST",
|
|
@@ -43,17 +53,28 @@ const sessionModeSchema = z.object({
|
|
|
43
53
|
session_id: z.string().uuid(),
|
|
44
54
|
prompt: z.string().min(1),
|
|
45
55
|
background: z.boolean().default(false),
|
|
56
|
+
depends_on: z.array(z.string().uuid()).optional(),
|
|
57
|
+
on_upstream_failure: z.enum(["fail", "skip"]).optional(),
|
|
58
|
+
stream: z.boolean().optional(),
|
|
59
|
+
// resume_token is server-generated; not accepted from user input
|
|
46
60
|
});
|
|
47
61
|
// Ephemeral mode: one-shot execution, no session created, no messages persisted
|
|
48
62
|
const ephemeralModeSchema = z.object({
|
|
49
63
|
agent_name: z.string().min(1),
|
|
50
64
|
prompt: z.string().min(1),
|
|
65
|
+
depends_on: z.array(z.string().uuid()).optional(),
|
|
66
|
+
on_upstream_failure: z.enum(["fail", "skip"]).optional(),
|
|
67
|
+
stream: z.boolean().optional(),
|
|
68
|
+
// resume_token is server-generated; not accepted from user input
|
|
51
69
|
});
|
|
52
70
|
export const taskToolInputSchema = z.union([sessionModeSchema, ephemeralModeSchema]);
|
|
53
71
|
export const taskToolOutputSchema = z.object({
|
|
54
72
|
task_id: z.string().uuid(),
|
|
55
73
|
status: taskStatusSchema,
|
|
56
74
|
result: z.string().optional(),
|
|
75
|
+
// SSE stream URL — present when the task was created with stream: true.
|
|
76
|
+
// Format: ${SSE_BASE_URL}/tasks/${taskId}/stream
|
|
77
|
+
stream_url: z.string().optional(),
|
|
57
78
|
// Token usage rollup for this task and its delegation subtree. Absent when
|
|
58
79
|
// the task recorded zero model calls (still running, or cancelled before its
|
|
59
80
|
// first model call). See [shape:TaskUsageReport].
|
|
@@ -62,6 +83,8 @@ export const taskToolOutputSchema = z.object({
|
|
|
62
83
|
export const taskListInputSchema = z.object({
|
|
63
84
|
session_id: z.string().uuid().optional(),
|
|
64
85
|
status: taskStatusSchema.optional(),
|
|
86
|
+
// Optional filter: true = ephemeral-only, false = session-backed only, omitted = all
|
|
87
|
+
is_ephemeral: z.boolean().optional(),
|
|
65
88
|
});
|
|
66
89
|
export const taskCancelInputSchema = z.object({
|
|
67
90
|
task_id: z.string().uuid(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../../../../../packages/ai/agent-mcp/src/validation/task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEnD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC;IACrC,SAAS;IACT,SAAS;IACT,WAAW;IACX,QAAQ;IACR,WAAW;
|
|
1
|
+
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../../../../../packages/ai/agent-mcp/src/validation/task.ts"],"names":[],"mappings":"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"}
|