@adhd/agent-mcp 2.0.0 → 2.0.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/package.json +5 -3
- package/src/index.d.ts +23 -7
- package/src/index.d.ts.map +1 -1
- package/src/index.js +35 -15
- package/src/index.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adhd/agent-mcp",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.1",
|
|
4
4
|
"description": "Stateful MCP-native agent runtime with provider abstraction and recursive delegation",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"publishConfig": {
|
|
@@ -26,9 +26,11 @@
|
|
|
26
26
|
"db:generate": "drizzle-kit generate",
|
|
27
27
|
"db:migrate": "drizzle-kit migrate"
|
|
28
28
|
},
|
|
29
|
+
"optionalDependencies": {
|
|
30
|
+
"@adhd/agent-compiler": "0.0.1"
|
|
31
|
+
},
|
|
29
32
|
"dependencies": {
|
|
30
|
-
"@adhd/agent-
|
|
31
|
-
"@adhd/agent-mcp-types": "*",
|
|
33
|
+
"@adhd/agent-mcp-types": "2.0.0",
|
|
32
34
|
"@anthropic-ai/sdk": "0.96.0",
|
|
33
35
|
"@modelcontextprotocol/sdk": "1.29.0",
|
|
34
36
|
"better-sqlite3": "12.10.0",
|
package/src/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ export { HookRegistry } from "./engine/hooks.js";
|
|
|
3
3
|
export { ComposedPromptStore } from "./store/composed-prompt-store.js";
|
|
4
4
|
export { resolveComposedPrompt, computeContextHash } from "./engine/prompt-resolver.js";
|
|
5
5
|
export type { ResolveInput, ResolveResult, ResolveResult as PromptResolveResult, CompileAgentFn, PromptResolverDeps } from "./engine/prompt-resolver.js";
|
|
6
|
-
import type { PromptResolverDeps } from "./engine/prompt-resolver.js";
|
|
6
|
+
import type { CompileAgentFn, PromptResolverDeps } from "./engine/prompt-resolver.js";
|
|
7
7
|
export interface BuildPromptResolverOpts {
|
|
8
8
|
/** Path to the agent-registry SQLite file. Absent → resolver is undefined. */
|
|
9
9
|
registryDbPath?: string;
|
|
@@ -12,15 +12,30 @@ export interface BuildPromptResolverOpts {
|
|
|
12
12
|
* Must already have agent-mcp migrations applied.
|
|
13
13
|
*/
|
|
14
14
|
agentMcpDb: any;
|
|
15
|
+
/**
|
|
16
|
+
* The compileAgent function from @adhd/agent-compiler. When absent (the
|
|
17
|
+
* package is not installed), the resolver returns undefined and every agent
|
|
18
|
+
* falls back to its flat systemPrompt — the same graceful path used when the
|
|
19
|
+
* registry DB itself is absent.
|
|
20
|
+
*
|
|
21
|
+
* In production, main() performs a dynamic optional import and passes the
|
|
22
|
+
* resolved function here. Tests that exercise compiler integration inject a
|
|
23
|
+
* real or stubbed compileAgentFn directly.
|
|
24
|
+
*/
|
|
25
|
+
compileAgentFn?: CompileAgentFn;
|
|
15
26
|
}
|
|
16
27
|
/**
|
|
17
|
-
* Build a {@link PromptResolverDeps} from a registry DB path
|
|
18
|
-
* DB handle.
|
|
28
|
+
* Build a {@link PromptResolverDeps} from a registry DB path, an optional
|
|
29
|
+
* compile function, and the agent-mcp DB handle.
|
|
30
|
+
*
|
|
31
|
+
* Returns `undefined` (flat-systemPrompt fallback) when ANY of the following is
|
|
32
|
+
* true:
|
|
33
|
+
* - `registryDbPath` is absent (undefined / empty string).
|
|
34
|
+
* - `compileAgentFn` is absent — @adhd/agent-compiler is not installed.
|
|
35
|
+
* - The registry SQLite file cannot be opened (file missing, directory absent).
|
|
19
36
|
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
* - When `registryDbPath` is absent (undefined / empty string), returns
|
|
23
|
-
* `undefined` — the legacy flat-systemPrompt path is used unchanged.
|
|
37
|
+
* When all three prerequisites are satisfied, opens the SQLite file in WAL mode,
|
|
38
|
+
* wraps it with Drizzle, and returns a fully-wired {@link PromptResolverDeps}.
|
|
24
39
|
*
|
|
25
40
|
* This function has no observable side-effects beyond opening the SQLite file
|
|
26
41
|
* when a path is supplied, so it is safe to call in tests with a real on-disk
|
|
@@ -28,6 +43,7 @@ export interface BuildPromptResolverOpts {
|
|
|
28
43
|
*
|
|
29
44
|
* @param opts.registryDbPath - Path to the agent-registry SQLite file.
|
|
30
45
|
* @param opts.agentMcpDb - Drizzle handle for the agent-mcp DB.
|
|
46
|
+
* @param opts.compileAgentFn - Compile function from @adhd/agent-compiler (optional).
|
|
31
47
|
* @returns Wired {@link PromptResolverDeps} or `undefined`.
|
|
32
48
|
*/
|
|
33
49
|
export declare function buildPromptResolver(opts: BuildPromptResolverOpts): PromptResolverDeps | undefined;
|
package/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/ai/agent-mcp/src/index.ts"],"names":[],"mappings":";AAOA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAEvE,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACxF,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,IAAI,mBAAmB,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/ai/agent-mcp/src/index.ts"],"names":[],"mappings":";AAOA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAEvE,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACxF,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,IAAI,mBAAmB,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAWzJ,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAyBtF,MAAM,WAAW,uBAAuB;IACpC,+EAA+E;IAC/E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IAEH,UAAU,EAAE,GAAG,CAAC;IAChB;;;;;;;;;OASG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;CACnC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,uBAAuB,GAAG,kBAAkB,GAAG,SAAS,CA+CjG"}
|
package/src/index.js
CHANGED
|
@@ -7,7 +7,6 @@ export { ComposedPromptStore } from "./store/composed-prompt-store.js";
|
|
|
7
7
|
export { resolveComposedPrompt, computeContextHash } from "./engine/prompt-resolver.js";
|
|
8
8
|
import Database from "better-sqlite3";
|
|
9
9
|
import { drizzle } from "drizzle-orm/better-sqlite3";
|
|
10
|
-
import { compileAgent } from "@adhd/agent-compiler";
|
|
11
10
|
import { db } from "./db/client.js";
|
|
12
11
|
import { runMigrations } from "./db/migrate.js";
|
|
13
12
|
import { logger } from "./logger.js";
|
|
@@ -28,13 +27,17 @@ import { tasksTable } from "./db/schema.js";
|
|
|
28
27
|
import { eq } from "drizzle-orm";
|
|
29
28
|
import { ToolError } from "./validation/errors.js";
|
|
30
29
|
/**
|
|
31
|
-
* Build a {@link PromptResolverDeps} from a registry DB path
|
|
32
|
-
* DB handle.
|
|
30
|
+
* Build a {@link PromptResolverDeps} from a registry DB path, an optional
|
|
31
|
+
* compile function, and the agent-mcp DB handle.
|
|
33
32
|
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
* -
|
|
37
|
-
*
|
|
33
|
+
* Returns `undefined` (flat-systemPrompt fallback) when ANY of the following is
|
|
34
|
+
* true:
|
|
35
|
+
* - `registryDbPath` is absent (undefined / empty string).
|
|
36
|
+
* - `compileAgentFn` is absent — @adhd/agent-compiler is not installed.
|
|
37
|
+
* - The registry SQLite file cannot be opened (file missing, directory absent).
|
|
38
|
+
*
|
|
39
|
+
* When all three prerequisites are satisfied, opens the SQLite file in WAL mode,
|
|
40
|
+
* wraps it with Drizzle, and returns a fully-wired {@link PromptResolverDeps}.
|
|
38
41
|
*
|
|
39
42
|
* This function has no observable side-effects beyond opening the SQLite file
|
|
40
43
|
* when a path is supplied, so it is safe to call in tests with a real on-disk
|
|
@@ -42,13 +45,20 @@ import { ToolError } from "./validation/errors.js";
|
|
|
42
45
|
*
|
|
43
46
|
* @param opts.registryDbPath - Path to the agent-registry SQLite file.
|
|
44
47
|
* @param opts.agentMcpDb - Drizzle handle for the agent-mcp DB.
|
|
48
|
+
* @param opts.compileAgentFn - Compile function from @adhd/agent-compiler (optional).
|
|
45
49
|
* @returns Wired {@link PromptResolverDeps} or `undefined`.
|
|
46
50
|
*/
|
|
47
51
|
export function buildPromptResolver(opts) {
|
|
48
|
-
const { registryDbPath, agentMcpDb } = opts;
|
|
52
|
+
const { registryDbPath, agentMcpDb, compileAgentFn } = opts;
|
|
49
53
|
if (!registryDbPath) {
|
|
50
54
|
return undefined;
|
|
51
55
|
}
|
|
56
|
+
// When the compiler package is not installed (optional dependency), degrade
|
|
57
|
+
// gracefully to the flat-systemPrompt path — same as when the registry DB is absent.
|
|
58
|
+
if (!compileAgentFn) {
|
|
59
|
+
logger.info("@adhd/agent-compiler not available — registry/compiler integration disabled; using flat system-prompts");
|
|
60
|
+
return undefined;
|
|
61
|
+
}
|
|
52
62
|
// Graceful degradation: the registry DB at the default path
|
|
53
63
|
// (~/.adhd/agent-mcp/registry.db) will be absent or unmigrated until Plan 7
|
|
54
64
|
// imports the corpus. Opening a nonexistent directory throws; an empty /
|
|
@@ -72,7 +82,7 @@ export function buildPromptResolver(opts) {
|
|
|
72
82
|
const composedPromptStore = new ComposedPromptStore(agentMcpDb);
|
|
73
83
|
return {
|
|
74
84
|
composedPromptStore,
|
|
75
|
-
compileAgentFn
|
|
85
|
+
compileAgentFn,
|
|
76
86
|
registryDb,
|
|
77
87
|
};
|
|
78
88
|
}
|
|
@@ -172,17 +182,27 @@ async function main() {
|
|
|
172
182
|
// Delegates to buildPromptResolver() — the exported factory that is also
|
|
173
183
|
// exercised directly by index-wiring.test.ts (Plan 6 gap F-P6-8b).
|
|
174
184
|
//
|
|
175
|
-
//
|
|
176
|
-
//
|
|
185
|
+
// @adhd/agent-compiler is an OPTIONAL dependency: the dynamic import below
|
|
186
|
+
// succeeds only when the package is installed. On failure (standalone install
|
|
187
|
+
// without the compiler), the catch logs an info message and leaves
|
|
188
|
+
// compileAgentFn undefined — buildPromptResolver then returns undefined and
|
|
189
|
+
// every agent falls back to its flat systemPrompt.
|
|
190
|
+
//
|
|
191
|
+
// When ADHD_AGENT_REGISTRY_DB_PATH is set AND the compiler is installed,
|
|
192
|
+
// buildPromptResolver opens the SQLite file and wires compileAgentFn. Every
|
|
177
193
|
// `agent` tool call then resolves the system-prompt via the compiler (with
|
|
178
194
|
// a composed_prompts cache look-up) before creating the session.
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
195
|
+
let compileAgentFn;
|
|
196
|
+
try {
|
|
197
|
+
({ compileAgent: compileAgentFn } = await import("@adhd/agent-compiler"));
|
|
198
|
+
}
|
|
199
|
+
catch {
|
|
200
|
+
logger.info("@adhd/agent-compiler not installed — registry/compiler integration disabled; using flat system-prompts");
|
|
201
|
+
}
|
|
183
202
|
const promptResolver = buildPromptResolver({
|
|
184
203
|
registryDbPath: config.server.registryDbPath,
|
|
185
204
|
agentMcpDb: dbAny,
|
|
205
|
+
compileAgentFn,
|
|
186
206
|
});
|
|
187
207
|
// ── Startup env-ref verification (§4) ─────────────────────────────────
|
|
188
208
|
// Must run after store init so we can list all agents.
|
package/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/ai/agent-mcp/src/index.ts"],"names":[],"mappings":";AAMA,0FAA0F;AAC1F,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,kFAAkF;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,6EAA6E;AAC7E,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAGxF,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAErD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/ai/agent-mcp/src/index.ts"],"names":[],"mappings":"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"}
|