@adhd/agent-mcp 0.0.9 → 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/0004_brief_shocker.sql +4 -0
- package/drizzle/0005_clear_lenny_balinger.sql +25 -0
- package/drizzle/meta/0004_snapshot.json +551 -0
- package/drizzle/meta/0005_snapshot.json +545 -0
- package/drizzle/meta/_journal.json +14 -0
- package/package.json +1 -1
- 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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"}
|