@adhd/agent-mcp 2.0.0 → 2.1.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/AGENTS.md +236 -0
- package/CHANGELOG.md +115 -0
- package/LICENSE +21 -0
- package/README.md +201 -0
- package/docs/architecture-and-security.md +405 -0
- package/docs/marketing/.catalog/capabilities.md +143 -0
- package/docs/marketing/.catalog/consumer.md +111 -0
- package/docs/marketing/.catalog/distribution.md +223 -0
- package/docs/marketing/.catalog/doc-conformance.md +237 -0
- package/docs/marketing/.catalog/doc-ops.md +98 -0
- package/docs/marketing/.catalog/metrics.md +119 -0
- package/docs/marketing/.catalog/required-tooling.md +224 -0
- package/docs/marketing/.catalog/review.md +164 -0
- package/docs/provider-call-audit.md +254 -0
- package/llms.txt +133 -0
- package/package.json +31 -50
- package/src/__tests__/integration/harness.d.ts +871 -39
- package/src/__tests__/integration/harness.d.ts.map +1 -1
- package/src/__tests__/integration/harness.js +93 -87
- package/src/__tests__/integration/harness.js.map +1 -1
- package/src/__tests__/integration/scripted-provider.d.ts +1 -2
- package/src/__tests__/integration/scripted-provider.d.ts.map +1 -1
- package/src/__tests__/integration/scripted-provider.js +1 -3
- package/src/__tests__/integration/scripted-provider.js.map +1 -1
- package/src/config.d.ts +6 -69
- package/src/config.d.ts.map +1 -1
- package/src/config.js +1 -50
- package/src/config.js.map +1 -1
- package/src/db/client.d.ts +1516 -2
- package/src/db/client.d.ts.map +1 -1
- package/src/db/client.js +4 -2
- package/src/db/client.js.map +1 -1
- package/src/db/migrate-runner.d.ts +0 -28
- package/src/db/migrate-runner.d.ts.map +1 -1
- package/src/db/migrate-runner.js +0 -24
- package/src/db/migrate-runner.js.map +1 -1
- package/src/db/migrate.d.ts +0 -7
- package/src/db/migrate.d.ts.map +1 -1
- package/src/db/migrate.js +0 -7
- package/src/db/migrate.js.map +1 -1
- package/src/db/schema.d.ts +0 -1260
- package/src/db/schema.d.ts.map +1 -1
- package/src/db/schema.js +2 -179
- package/src/db/schema.js.map +1 -1
- package/src/index.d.ts +4 -27
- package/src/index.d.ts.map +1 -1
- package/src/index.js +43 -114
- package/src/index.js.map +1 -1
- package/src/logger.d.ts +0 -8
- package/src/logger.d.ts.map +1 -1
- package/src/logger.js +1 -12
- package/src/logger.js.map +1 -1
- package/src/scripts/agent-mcp-tail.d.ts +3 -0
- package/src/scripts/agent-mcp-tail.d.ts.map +1 -0
- package/src/scripts/agent-mcp-tail.js +227 -0
- package/src/scripts/agent-mcp-tail.js.map +1 -0
- package/src/server.d.ts +13 -34
- package/src/server.d.ts.map +1 -1
- package/src/server.js +234 -326
- package/src/server.js.map +1 -1
- package/src/store/agent-store.d.ts +3 -16
- package/src/store/agent-store.d.ts.map +1 -1
- package/src/store/agent-store.js +38 -41
- package/src/store/agent-store.js.map +1 -1
- package/src/streaming/chat-gateway.d.ts +17 -0
- package/src/streaming/chat-gateway.d.ts.map +1 -0
- package/src/streaming/chat-gateway.js +336 -0
- package/src/streaming/chat-gateway.js.map +1 -0
- package/src/streaming/event-bus.d.ts +4 -0
- package/src/streaming/event-bus.d.ts.map +1 -1
- package/src/streaming/event-bus.js +14 -1
- package/src/streaming/event-bus.js.map +1 -1
- package/src/streaming/sse-server.d.ts +3 -14
- package/src/streaming/sse-server.d.ts.map +1 -1
- package/src/streaming/sse-server.js +37 -37
- package/src/streaming/sse-server.js.map +1 -1
- package/src/utils/load-env.d.ts +0 -14
- package/src/utils/load-env.d.ts.map +1 -1
- package/src/utils/load-env.js +0 -18
- package/src/utils/load-env.js.map +1 -1
- package/drizzle/0000_nifty_sasquatch.sql +0 -55
- package/drizzle/0001_task_usage.sql +0 -16
- package/drizzle/0002_lumpy_silver_centurion.sql +0 -2
- package/drizzle/0003_nifty_shriek.sql +0 -2
- package/drizzle/0004_brief_shocker.sql +0 -4
- package/drizzle/0005_clear_lenny_balinger.sql +0 -25
- package/drizzle/0006_composed_prompts_cache.sql +0 -24
- package/drizzle/meta/0000_snapshot.json +0 -387
- package/drizzle/meta/0001_snapshot.json +0 -495
- package/drizzle/meta/0002_snapshot.json +0 -509
- package/drizzle/meta/0003_snapshot.json +0 -523
- package/drizzle/meta/0004_snapshot.json +0 -551
- package/drizzle/meta/0005_snapshot.json +0 -545
- package/drizzle/meta/0006_snapshot.json +0 -651
- package/drizzle/meta/_journal.json +0 -55
- package/src/clients/http-client.d.ts +0 -24
- package/src/clients/http-client.d.ts.map +0 -1
- package/src/clients/http-client.js +0 -98
- package/src/clients/http-client.js.map +0 -1
- package/src/clients/in-process.d.ts +0 -27
- package/src/clients/in-process.d.ts.map +0 -1
- package/src/clients/in-process.js +0 -37
- package/src/clients/in-process.js.map +0 -1
- package/src/clients/index.d.ts +0 -7
- package/src/clients/index.d.ts.map +0 -1
- package/src/clients/index.js +0 -5
- package/src/clients/index.js.map +0 -1
- package/src/clients/registry.d.ts +0 -54
- package/src/clients/registry.d.ts.map +0 -1
- package/src/clients/registry.js +0 -164
- package/src/clients/registry.js.map +0 -1
- package/src/clients/stdio-client.d.ts +0 -16
- package/src/clients/stdio-client.d.ts.map +0 -1
- package/src/clients/stdio-client.js +0 -97
- package/src/clients/stdio-client.js.map +0 -1
- package/src/clients/tool-naming.d.ts +0 -44
- package/src/clients/tool-naming.d.ts.map +0 -1
- package/src/clients/tool-naming.js +0 -65
- package/src/clients/tool-naming.js.map +0 -1
- package/src/clients/types.d.ts +0 -18
- package/src/clients/types.d.ts.map +0 -1
- package/src/clients/types.js +0 -2
- package/src/clients/types.js.map +0 -1
- package/src/engine/dag-engine.d.ts +0 -62
- package/src/engine/dag-engine.d.ts.map +0 -1
- package/src/engine/dag-engine.js +0 -158
- package/src/engine/dag-engine.js.map +0 -1
- package/src/engine/hooks.d.ts +0 -24
- package/src/engine/hooks.d.ts.map +0 -1
- package/src/engine/hooks.js +0 -50
- package/src/engine/hooks.js.map +0 -1
- package/src/engine/orchestrator.d.ts +0 -40
- package/src/engine/orchestrator.d.ts.map +0 -1
- package/src/engine/orchestrator.js +0 -507
- package/src/engine/orchestrator.js.map +0 -1
- package/src/engine/policy.d.ts +0 -66
- package/src/engine/policy.d.ts.map +0 -1
- package/src/engine/policy.js +0 -112
- package/src/engine/policy.js.map +0 -1
- package/src/engine/prompt-resolver.d.ts +0 -89
- package/src/engine/prompt-resolver.d.ts.map +0 -1
- package/src/engine/prompt-resolver.js +0 -96
- package/src/engine/prompt-resolver.js.map +0 -1
- package/src/engine/queue.d.ts +0 -29
- package/src/engine/queue.d.ts.map +0 -1
- package/src/engine/queue.js +0 -56
- package/src/engine/queue.js.map +0 -1
- package/src/plugins/index.d.ts +0 -2
- package/src/plugins/index.d.ts.map +0 -1
- package/src/plugins/index.js +0 -2
- package/src/plugins/index.js.map +0 -1
- package/src/plugins/loader.d.ts +0 -65
- package/src/plugins/loader.d.ts.map +0 -1
- package/src/plugins/loader.js +0 -222
- package/src/plugins/loader.js.map +0 -1
- package/src/plugins/usage-plugin.d.ts +0 -27
- package/src/plugins/usage-plugin.d.ts.map +0 -1
- package/src/plugins/usage-plugin.js +0 -148
- package/src/plugins/usage-plugin.js.map +0 -1
- package/src/providers/anthropic.d.ts +0 -13
- package/src/providers/anthropic.d.ts.map +0 -1
- package/src/providers/anthropic.js +0 -260
- package/src/providers/anthropic.js.map +0 -1
- package/src/providers/claudecli.d.ts +0 -153
- package/src/providers/claudecli.d.ts.map +0 -1
- package/src/providers/claudecli.js +0 -510
- package/src/providers/claudecli.js.map +0 -1
- package/src/providers/factory.d.ts +0 -10
- package/src/providers/factory.d.ts.map +0 -1
- package/src/providers/factory.js +0 -24
- package/src/providers/factory.js.map +0 -1
- package/src/providers/index.d.ts +0 -6
- package/src/providers/index.d.ts.map +0 -1
- package/src/providers/index.js +0 -5
- package/src/providers/index.js.map +0 -1
- package/src/providers/openai.d.ts +0 -14
- package/src/providers/openai.d.ts.map +0 -1
- package/src/providers/openai.js +0 -162
- package/src/providers/openai.js.map +0 -1
- package/src/providers/types.d.ts +0 -36
- package/src/providers/types.d.ts.map +0 -1
- package/src/providers/types.js +0 -2
- package/src/providers/types.js.map +0 -1
- package/src/store/composed-prompt-store.d.ts +0 -24
- package/src/store/composed-prompt-store.d.ts.map +0 -1
- package/src/store/composed-prompt-store.js +0 -75
- package/src/store/composed-prompt-store.js.map +0 -1
- package/src/store/index.d.ts +0 -5
- package/src/store/index.d.ts.map +0 -1
- package/src/store/index.js +0 -5
- package/src/store/index.js.map +0 -1
- package/src/store/session-store.d.ts +0 -45
- package/src/store/session-store.d.ts.map +0 -1
- package/src/store/session-store.js +0 -197
- package/src/store/session-store.js.map +0 -1
- package/src/store/task-store.d.ts +0 -55
- package/src/store/task-store.d.ts.map +0 -1
- package/src/store/task-store.js +0 -186
- package/src/store/task-store.js.map +0 -1
- package/src/tools/agent-crud.d.ts +0 -15
- package/src/tools/agent-crud.d.ts.map +0 -1
- package/src/tools/agent-crud.js +0 -32
- package/src/tools/agent-crud.js.map +0 -1
- package/src/tools/session.d.ts +0 -33
- package/src/tools/session.d.ts.map +0 -1
- package/src/tools/session.js +0 -73
- package/src/tools/session.js.map +0 -1
- package/src/tools/task.d.ts +0 -86
- package/src/tools/task.d.ts.map +0 -1
- package/src/tools/task.js +0 -406
- package/src/tools/task.js.map +0 -1
- package/src/tools/usage.d.ts +0 -60
- package/src/tools/usage.d.ts.map +0 -1
- package/src/tools/usage.js +0 -174
- package/src/tools/usage.js.map +0 -1
- package/src/types/agent.d.ts +0 -2
- package/src/types/agent.d.ts.map +0 -1
- package/src/types/agent.js +0 -3
- package/src/types/agent.js.map +0 -1
- package/src/types/execution.d.ts +0 -2
- package/src/types/execution.d.ts.map +0 -1
- package/src/types/execution.js +0 -3
- package/src/types/execution.js.map +0 -1
- package/src/types/index.d.ts +0 -2
- package/src/types/index.d.ts.map +0 -1
- package/src/types/index.js +0 -2
- package/src/types/index.js.map +0 -1
- package/src/types/mcp.d.ts +0 -2
- package/src/types/mcp.d.ts.map +0 -1
- package/src/types/mcp.js +0 -3
- package/src/types/mcp.js.map +0 -1
- package/src/types/message.d.ts +0 -2
- package/src/types/message.d.ts.map +0 -1
- package/src/types/message.js +0 -3
- package/src/types/message.js.map +0 -1
- package/src/types/session.d.ts +0 -2
- package/src/types/session.d.ts.map +0 -1
- package/src/types/session.js +0 -3
- package/src/types/session.js.map +0 -1
- package/src/types/task.d.ts +0 -2
- package/src/types/task.d.ts.map +0 -1
- package/src/types/task.js +0 -3
- package/src/types/task.js.map +0 -1
- package/src/utils/ids.d.ts +0 -2
- package/src/utils/ids.d.ts.map +0 -1
- package/src/utils/ids.js +0 -5
- package/src/utils/ids.js.map +0 -1
- package/src/utils/logger.d.ts +0 -2
- package/src/utils/logger.d.ts.map +0 -1
- package/src/utils/logger.js +0 -5
- package/src/utils/logger.js.map +0 -1
- package/src/utils/timestamps.d.ts +0 -2
- package/src/utils/timestamps.d.ts.map +0 -1
- package/src/utils/timestamps.js +0 -4
- package/src/utils/timestamps.js.map +0 -1
- package/src/validation/agent.d.ts +0 -400
- package/src/validation/agent.d.ts.map +0 -1
- package/src/validation/agent.js +0 -251
- package/src/validation/agent.js.map +0 -1
- package/src/validation/agents.d.ts +0 -2
- package/src/validation/agents.d.ts.map +0 -1
- package/src/validation/agents.js +0 -3
- package/src/validation/agents.js.map +0 -1
- package/src/validation/errors.d.ts +0 -32
- package/src/validation/errors.d.ts.map +0 -1
- package/src/validation/errors.js +0 -42
- package/src/validation/errors.js.map +0 -1
- package/src/validation/execution.d.ts +0 -86
- package/src/validation/execution.d.ts.map +0 -1
- package/src/validation/execution.js +0 -28
- package/src/validation/execution.js.map +0 -1
- package/src/validation/index.d.ts +0 -9
- package/src/validation/index.d.ts.map +0 -1
- package/src/validation/index.js +0 -9
- package/src/validation/index.js.map +0 -1
- package/src/validation/mcp.d.ts +0 -42
- package/src/validation/mcp.d.ts.map +0 -1
- package/src/validation/mcp.js +0 -28
- package/src/validation/mcp.js.map +0 -1
- package/src/validation/message.d.ts +0 -43
- package/src/validation/message.d.ts.map +0 -1
- package/src/validation/message.js +0 -23
- package/src/validation/message.js.map +0 -1
- package/src/validation/session.d.ts +0 -49
- package/src/validation/session.d.ts.map +0 -1
- package/src/validation/session.js +0 -34
- package/src/validation/session.js.map +0 -1
- package/src/validation/task.d.ts +0 -146
- package/src/validation/task.d.ts.map +0 -1
- package/src/validation/task.js +0 -95
- package/src/validation/task.js.map +0 -1
- package/src/validation/tasks.d.ts +0 -2
- package/src/validation/tasks.d.ts.map +0 -1
- package/src/validation/tasks.js +0 -3
- package/src/validation/tasks.js.map +0 -1
- package/src/validation/usage.d.ts +0 -89
- package/src/validation/usage.d.ts.map +0 -1
- package/src/validation/usage.js +0 -98
- package/src/validation/usage.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"harness.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"harness.d.ts","sourceRoot":"","sources":["../../../../../../entrypoint/agent-mcp/src/__tests__/integration/harness.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,25 +17,72 @@ import http from "node:http";
|
|
|
17
17
|
import crypto from "node:crypto";
|
|
18
18
|
import Database from "better-sqlite3";
|
|
19
19
|
import { drizzle } from "drizzle-orm/better-sqlite3";
|
|
20
|
-
import
|
|
21
|
-
import
|
|
20
|
+
import * as entrypointSchema from "../../db/schema.js";
|
|
21
|
+
import { sessionsTable, messagesTable, tasksTable, taskEventsTable, SessionStore, TaskStore, generateId, } from "@adhd/agent-store-runtime";
|
|
22
|
+
import { BackgroundQueue, DagEngine, Orchestrator, HookRegistry, PolicyEngine, enqueueExistingTask, taskTool, taskCancel, taskResume, } from "@adhd/agent-engine-orchestrator";
|
|
22
23
|
import { AgentStore } from "../../store/agent-store.js";
|
|
23
|
-
import {
|
|
24
|
-
import { TaskStore } from "../../store/task-store.js";
|
|
25
|
-
import { BackgroundQueue } from "../../engine/queue.js";
|
|
26
|
-
import { DagEngine } from "../../engine/dag-engine.js";
|
|
27
|
-
import { Orchestrator } from "../../engine/orchestrator.js";
|
|
28
|
-
import { HookRegistry } from "../../engine/hooks.js";
|
|
29
|
-
import { PolicyEngine } from "../../engine/policy.js";
|
|
24
|
+
import { runMigrationsOn, MIGRATIONS_FOLDER } from "../../db/migrate-runner.js";
|
|
30
25
|
import { startSseServer } from "../../streaming/sse-server.js";
|
|
31
|
-
import {
|
|
32
|
-
import {
|
|
33
|
-
import { taskTool, taskCancel, taskResume } from "../../tools/task.js";
|
|
34
|
-
import { tasksTable } from "../../db/schema.js";
|
|
26
|
+
import { loadConfig } from "../../config.js";
|
|
27
|
+
import { emitTaskEvent } from "../../streaming/event-bus.js";
|
|
35
28
|
import { eq } from "drizzle-orm";
|
|
36
|
-
|
|
37
|
-
const
|
|
38
|
-
|
|
29
|
+
/** Combined drizzle schema for harness-level direct table access */
|
|
30
|
+
const combinedSchema = {
|
|
31
|
+
...entrypointSchema,
|
|
32
|
+
sessionsTable,
|
|
33
|
+
messagesTable,
|
|
34
|
+
tasksTable,
|
|
35
|
+
taskEventsTable,
|
|
36
|
+
};
|
|
37
|
+
/** Build a test EngineLogger that is silent by default */
|
|
38
|
+
function testLogger(level = "silent") {
|
|
39
|
+
if (level === "silent") {
|
|
40
|
+
return {
|
|
41
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
42
|
+
info: () => { },
|
|
43
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
44
|
+
warn: () => { },
|
|
45
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
46
|
+
error: () => { },
|
|
47
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
48
|
+
debug: () => { },
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
return {
|
|
52
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
53
|
+
info: () => { },
|
|
54
|
+
warn: (...args) => console.warn(...args),
|
|
55
|
+
error: (...args) => console.error(...args),
|
|
56
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
57
|
+
debug: () => { },
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
/** Build a test EngineConfig with defaults suitable for integration tests */
|
|
61
|
+
function testConfig(_opts = {}) {
|
|
62
|
+
const env = {
|
|
63
|
+
ADHD_AGENT_DATABASE_PATH: ":memory:",
|
|
64
|
+
ADHD_AGENT_LOG_LEVEL: "silent",
|
|
65
|
+
};
|
|
66
|
+
const cfg = loadConfig(env);
|
|
67
|
+
return {
|
|
68
|
+
server: {
|
|
69
|
+
contextLimit: 0,
|
|
70
|
+
defaultMaxTokens: cfg.server.defaultMaxTokens,
|
|
71
|
+
},
|
|
72
|
+
queue: { concurrency: 5 },
|
|
73
|
+
sse: { baseUrl: `http://localhost:${cfg.sse.port}` },
|
|
74
|
+
plugins: { entries: [] },
|
|
75
|
+
getProviderConfig(opts) {
|
|
76
|
+
return { secret: opts.secret ? process.env[opts.secret] : undefined, baseURL: opts.inlineBaseURL, model: opts.inlineModel };
|
|
77
|
+
},
|
|
78
|
+
subprocessEnv() {
|
|
79
|
+
return {};
|
|
80
|
+
},
|
|
81
|
+
isEnvNameAllowed(name) {
|
|
82
|
+
return name.startsWith("ADHD_AGENT_") || name.startsWith("LMSTUDIO_");
|
|
83
|
+
},
|
|
84
|
+
};
|
|
85
|
+
}
|
|
39
86
|
/**
|
|
40
87
|
* Build a fully-wired harness. Call teardown() when done.
|
|
41
88
|
*/
|
|
@@ -45,7 +92,7 @@ export async function buildHarness(opts = {}) {
|
|
|
45
92
|
const rawSqlite = new Database(dbPath);
|
|
46
93
|
rawSqlite.pragma("journal_mode = WAL");
|
|
47
94
|
rawSqlite.pragma("foreign_keys = ON");
|
|
48
|
-
const db = drizzle(rawSqlite, { schema });
|
|
95
|
+
const db = drizzle(rawSqlite, { schema: combinedSchema });
|
|
49
96
|
// Run migrations — same folder + FK-safe runner as production
|
|
50
97
|
runMigrationsOn(rawSqlite, db, MIGRATIONS_FOLDER);
|
|
51
98
|
const hooks = new HookRegistry();
|
|
@@ -54,48 +101,54 @@ export async function buildHarness(opts = {}) {
|
|
|
54
101
|
const agentStore = new AgentStore(dbAny, hooks);
|
|
55
102
|
const sessionStore = new SessionStore(dbAny, hooks);
|
|
56
103
|
const taskStore = new TaskStore(dbAny);
|
|
57
|
-
const
|
|
104
|
+
const config = testConfig({ serverMaxToolLoops: opts.serverMaxToolLoops });
|
|
105
|
+
const logger = testLogger("silent");
|
|
106
|
+
const queue = new BackgroundQueue(5, logger);
|
|
58
107
|
const orchestrator = new Orchestrator();
|
|
59
108
|
const policy = new PolicyEngine({
|
|
60
109
|
serverMaxDepth: 5,
|
|
61
110
|
serverMaxToolLoops: opts.serverMaxToolLoops ?? 50,
|
|
62
111
|
});
|
|
63
112
|
// Mirror dispatchFn wiring from index.ts.
|
|
64
|
-
// Ref-box pattern: const closure captures the box; the box's value is filled
|
|
65
|
-
// after all stores are constructed (same pattern as index.ts main()).
|
|
66
113
|
const taskDepsRef = { value: undefined };
|
|
67
114
|
const dispatchFn = async (taskId) => {
|
|
68
115
|
if (!taskDepsRef.value)
|
|
69
116
|
throw new Error("dispatchFn called before harness initialized");
|
|
70
117
|
await enqueueExistingTask(taskId, taskDepsRef.value);
|
|
71
118
|
};
|
|
72
|
-
|
|
119
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
120
|
+
const dagEngine = new DagEngine(dbAny, queue, taskStore, dispatchFn, logger);
|
|
73
121
|
// SSE server (optional)
|
|
74
122
|
let sseServer;
|
|
75
123
|
let ssePort;
|
|
76
124
|
if (opts.withSse) {
|
|
77
|
-
// Bind an ephemeral port (0) directly — startSseServer does the single
|
|
78
|
-
// listen() internally; we just wait for it and read the chosen port.
|
|
79
125
|
sseServer = startSseServer(taskStore, 0, "127.0.0.1");
|
|
80
126
|
await new Promise((resolve) => {
|
|
81
127
|
const readPort = () => {
|
|
128
|
+
if (!sseServer)
|
|
129
|
+
throw new Error("sseServer not started");
|
|
82
130
|
const addr = sseServer.address();
|
|
83
131
|
ssePort = addr?.port;
|
|
84
132
|
resolve();
|
|
85
133
|
};
|
|
86
|
-
|
|
134
|
+
const svr = sseServer;
|
|
135
|
+
if (!svr)
|
|
136
|
+
throw new Error('sseServer not initialized');
|
|
137
|
+
if (svr.listening)
|
|
87
138
|
readPort();
|
|
88
139
|
else
|
|
89
|
-
|
|
140
|
+
svr.once("listening", readPort);
|
|
90
141
|
});
|
|
91
142
|
}
|
|
92
143
|
// Build taskDeps — same shape as index.ts.
|
|
93
|
-
// When defaultProvider is supplied, wrap the orchestrator so every run
|
|
94
|
-
// that goes through taskDeps (including the startup orphan scan) uses it
|
|
95
|
-
// instead of the real provider built from agentDefinition.provider.
|
|
96
144
|
const effectiveOrchestrator = opts.defaultProvider
|
|
97
145
|
? {
|
|
98
|
-
run: (input) =>
|
|
146
|
+
run: (input) => {
|
|
147
|
+
const provider = opts.defaultProvider;
|
|
148
|
+
if (!provider)
|
|
149
|
+
throw new Error("Harness: defaultProvider unexpectedly null");
|
|
150
|
+
return orchestrator.run({ ...input, provider });
|
|
151
|
+
},
|
|
99
152
|
}
|
|
100
153
|
: orchestrator;
|
|
101
154
|
taskDepsRef.value = {
|
|
@@ -113,10 +166,11 @@ export async function buildHarness(opts = {}) {
|
|
|
113
166
|
},
|
|
114
167
|
db: dbAny,
|
|
115
168
|
dagEngine,
|
|
169
|
+
config,
|
|
170
|
+
logger,
|
|
171
|
+
emitTaskEvent: emitTaskEvent,
|
|
116
172
|
};
|
|
117
|
-
// Re-enqueue orphaned pending tasks
|
|
118
|
-
// Skipped when opts.skipOrphanScan is true — callers that need custom
|
|
119
|
-
// (patched) deps can trigger enqueueExistingTask manually.
|
|
173
|
+
// Re-enqueue orphaned pending tasks
|
|
120
174
|
if (!opts.skipOrphanScan) {
|
|
121
175
|
const orphanedPending = dbAny
|
|
122
176
|
.select()
|
|
@@ -125,6 +179,8 @@ export async function buildHarness(opts = {}) {
|
|
|
125
179
|
.all();
|
|
126
180
|
for (const row of orphanedPending) {
|
|
127
181
|
try {
|
|
182
|
+
if (!taskDepsRef.value)
|
|
183
|
+
throw new Error("Harness: taskDepsRef.value not initialized");
|
|
128
184
|
await enqueueExistingTask(row.id, taskDepsRef.value);
|
|
129
185
|
}
|
|
130
186
|
catch {
|
|
@@ -133,34 +189,17 @@ export async function buildHarness(opts = {}) {
|
|
|
133
189
|
}
|
|
134
190
|
}
|
|
135
191
|
const teardown = async () => {
|
|
136
|
-
// 1. Close the SSE server first so no new HTTP responses write to the DB.
|
|
137
192
|
if (sseServer) {
|
|
138
|
-
|
|
193
|
+
const srv = sseServer;
|
|
194
|
+
await new Promise((resolve) => srv.close(() => resolve()));
|
|
139
195
|
}
|
|
140
|
-
// 2. Drain the queue fully via p-queue's onIdle() — more reliable than
|
|
141
|
-
// polling pending+size, which can momentarily read zero between tasks.
|
|
142
|
-
// Race against a 15s deadline to avoid hanging test suite.
|
|
143
196
|
await Promise.race([
|
|
144
197
|
queue.onIdle(),
|
|
145
198
|
new Promise((_, reject) => setTimeout(() => reject(new Error("teardown: queue.onIdle() timed out after 15s")), 15_000)),
|
|
146
199
|
]).catch(() => {
|
|
147
200
|
// Log but don't rethrow — we still need to close the DB.
|
|
148
201
|
});
|
|
149
|
-
// 3. One event-loop tick so the last task's finally-block DB writes settle.
|
|
150
202
|
await new Promise((r) => setImmediate(r));
|
|
151
|
-
// 4. Close the connection cleanly BEFORE unlinking the file.
|
|
152
|
-
//
|
|
153
|
-
// The previous strategy (leak the handle, unlink the open file) caused
|
|
154
|
-
// the intermittent teardown SIGSEGV (exit 139): in WAL mode, at process
|
|
155
|
-
// exit better-sqlite3's destructor checkpoints the WAL — but the backing
|
|
156
|
-
// file had already been unlinked, so the checkpoint operates on a deleted
|
|
157
|
-
// file and crashes the native addon. Leaking also let connections
|
|
158
|
-
// accumulate across the suite, multiplying the destructor work at exit.
|
|
159
|
-
//
|
|
160
|
-
// Closing here, after onIdle()+setImmediate have settled all statements,
|
|
161
|
-
// is race-free: TRUNCATE-checkpoint the WAL into the still-present file,
|
|
162
|
-
// then close(). better-sqlite3 finalizes drizzle's cached statements on
|
|
163
|
-
// close. Only then do we unlink the (now fully released) files.
|
|
164
203
|
if (rawSqlite.open) {
|
|
165
204
|
try {
|
|
166
205
|
rawSqlite.pragma("wal_checkpoint(TRUNCATE)");
|
|
@@ -172,7 +211,7 @@ export async function buildHarness(opts = {}) {
|
|
|
172
211
|
rawSqlite.close();
|
|
173
212
|
}
|
|
174
213
|
catch {
|
|
175
|
-
// already closed
|
|
214
|
+
// already closed
|
|
176
215
|
}
|
|
177
216
|
}
|
|
178
217
|
for (const suffix of ["", "-wal", "-shm"]) {
|
|
@@ -180,7 +219,7 @@ export async function buildHarness(opts = {}) {
|
|
|
180
219
|
fs.unlinkSync(`${dbPath}${suffix}`);
|
|
181
220
|
}
|
|
182
221
|
catch {
|
|
183
|
-
// ignore — file may not exist
|
|
222
|
+
// ignore — file may not exist
|
|
184
223
|
}
|
|
185
224
|
}
|
|
186
225
|
};
|
|
@@ -191,8 +230,6 @@ export async function buildHarness(opts = {}) {
|
|
|
191
230
|
sessionStore,
|
|
192
231
|
taskStore,
|
|
193
232
|
queue,
|
|
194
|
-
// Expose the effective orchestrator (wrapped when defaultProvider is set)
|
|
195
|
-
// so per-test overrides in runTaskViaToolWithProvider compose correctly.
|
|
196
233
|
orchestrator: effectiveOrchestrator,
|
|
197
234
|
policy,
|
|
198
235
|
dagEngine,
|
|
@@ -206,8 +243,6 @@ export async function buildHarness(opts = {}) {
|
|
|
206
243
|
}
|
|
207
244
|
/**
|
|
208
245
|
* Rebuild a harness against the SAME DB file (for restart/persistence tests).
|
|
209
|
-
* Does NOT re-run migrations (they're already applied).
|
|
210
|
-
* DOES run the orphan scan.
|
|
211
246
|
*/
|
|
212
247
|
export async function rebuildHarness(dbPath, opts = {}) {
|
|
213
248
|
return buildHarness({ ...opts, dbPath });
|
|
@@ -217,15 +252,12 @@ export async function rebuildHarness(dbPath, opts = {}) {
|
|
|
217
252
|
// ──────────────────────────────────────────────────────────────────────────────
|
|
218
253
|
/**
|
|
219
254
|
* Wait for the queue to drain (all enqueued tasks finished).
|
|
220
|
-
* Uses p-queue's onIdle() with a bounded deadline, which is more reliable
|
|
221
|
-
* than polling pending+size (which can momentarily read zero between batches).
|
|
222
255
|
*/
|
|
223
256
|
export async function drainQueue(queue, timeoutMs = 10_000) {
|
|
224
257
|
await Promise.race([
|
|
225
258
|
queue.onIdle(),
|
|
226
259
|
new Promise((_, reject) => setTimeout(() => reject(new Error(`drainQueue timed out after ${timeoutMs}ms`)), timeoutMs)),
|
|
227
260
|
]);
|
|
228
|
-
// One extra tick to let the last task's finally-block DB writes settle.
|
|
229
261
|
await new Promise((r) => setImmediate(r));
|
|
230
262
|
}
|
|
231
263
|
/**
|
|
@@ -233,8 +265,6 @@ export async function drainQueue(queue, timeoutMs = 10_000) {
|
|
|
233
265
|
*/
|
|
234
266
|
export async function createSessionAndAgent(harness, provider, agentOverrides = {}) {
|
|
235
267
|
const agentName = `test-agent-${generateId()}`;
|
|
236
|
-
// Inject the provider into the factory by using a special "stub" type
|
|
237
|
-
// The provider is passed via the harness task runner helper
|
|
238
268
|
harness.agentStore.create({
|
|
239
269
|
name: agentName,
|
|
240
270
|
provider: { type: "openai", model: "test-model", baseURL: "http://localhost:1234/v1" },
|
|
@@ -253,14 +283,8 @@ export async function createSessionAndAgent(harness, provider, agentOverrides =
|
|
|
253
283
|
/**
|
|
254
284
|
* Run a task synchronously via the real taskTool, injecting the given provider
|
|
255
285
|
* into the orchestrator for this task only.
|
|
256
|
-
*
|
|
257
|
-
* We achieve provider injection by temporarily monkey-patching the registry
|
|
258
|
-
* to use the scripted provider — the cleanest approach without modifying
|
|
259
|
-
* production source. The provider is captured in a closure inside the harness
|
|
260
|
-
* task runner below.
|
|
261
286
|
*/
|
|
262
287
|
export async function runTaskViaToolWithProvider(harness, sessionId, prompt, provider, extraInput = {}) {
|
|
263
|
-
// Wrap the orchestrator to inject the scripted provider for this one run
|
|
264
288
|
const realOrchestrator = harness.orchestrator;
|
|
265
289
|
const originalRun = realOrchestrator.run.bind(realOrchestrator);
|
|
266
290
|
const patchedDeps = {
|
|
@@ -290,7 +314,6 @@ export async function enqueueTaskWithProvider(harness, sessionId, prompt, provid
|
|
|
290
314
|
// ──────────────────────────────────────────────────────────────────────────────
|
|
291
315
|
/**
|
|
292
316
|
* A binary latch. One side waits; the other releases.
|
|
293
|
-
* Used for proving concurrency without sleeps.
|
|
294
317
|
*/
|
|
295
318
|
export class Latch {
|
|
296
319
|
_resolve;
|
|
@@ -308,7 +331,6 @@ export class Latch {
|
|
|
308
331
|
fail(err) {
|
|
309
332
|
this._reject(err);
|
|
310
333
|
}
|
|
311
|
-
/** Await with a bounded deadline. Rejects if deadline exceeded. */
|
|
312
334
|
async wait(timeoutMs = 5_000) {
|
|
313
335
|
return Promise.race([
|
|
314
336
|
this.promise,
|
|
@@ -318,16 +340,6 @@ export class Latch {
|
|
|
318
340
|
}
|
|
319
341
|
/**
|
|
320
342
|
* Connect to the real SSE server and collect frames until "done" or timeout.
|
|
321
|
-
* Returns collected frames in order.
|
|
322
|
-
*
|
|
323
|
-
* @param port - Ephemeral port from harness.ssePort
|
|
324
|
-
* @param taskId - Task UUID
|
|
325
|
-
* @param timeoutMs - Bounded deadline (default 8s)
|
|
326
|
-
* @param onConnected - Optional callback fired when the HTTP 200 response
|
|
327
|
-
* headers are received (i.e. the SSE connection is established and the
|
|
328
|
-
* server has accepted the request). Use this to release a latch that
|
|
329
|
-
* unblocks a background task, guaranteeing the SSE subscription is active
|
|
330
|
-
* before any events are emitted.
|
|
331
343
|
*/
|
|
332
344
|
export async function collectSseFrames(port, taskId, timeoutMs = 8_000, onConnected) {
|
|
333
345
|
return new Promise((resolve, reject) => {
|
|
@@ -336,9 +348,6 @@ export async function collectSseFrames(port, taskId, timeoutMs = 8_000, onConnec
|
|
|
336
348
|
reject(new Error(`collectSseFrames timed out after ${timeoutMs}ms`));
|
|
337
349
|
}, timeoutMs);
|
|
338
350
|
const req = http.get(`http://127.0.0.1:${port}/tasks/${taskId}/stream`, { headers: { Accept: "text/event-stream" } }, (res) => {
|
|
339
|
-
// Fire the onConnected callback as soon as the HTTP response
|
|
340
|
-
// headers arrive — this confirms the SSE endpoint has accepted
|
|
341
|
-
// the request and the subscription is active on the server.
|
|
342
351
|
onConnected?.();
|
|
343
352
|
let buf = "";
|
|
344
353
|
let currentEventType = "";
|
|
@@ -362,10 +371,9 @@ export async function collectSseFrames(port, taskId, timeoutMs = 8_000, onConnec
|
|
|
362
371
|
}
|
|
363
372
|
}
|
|
364
373
|
catch {
|
|
365
|
-
// ignore parse errors
|
|
374
|
+
// ignore parse errors
|
|
366
375
|
}
|
|
367
376
|
}
|
|
368
|
-
// reset event type on blank line (SSE spec)
|
|
369
377
|
if (line === "") {
|
|
370
378
|
currentEventType = "";
|
|
371
379
|
}
|
|
@@ -373,7 +381,6 @@ export async function collectSseFrames(port, taskId, timeoutMs = 8_000, onConnec
|
|
|
373
381
|
});
|
|
374
382
|
res.on("error", (err) => {
|
|
375
383
|
clearTimeout(timer);
|
|
376
|
-
// If connection was destroyed after done frame, that's fine
|
|
377
384
|
if (frames.some((f) => f.type === "done")) {
|
|
378
385
|
resolve(frames);
|
|
379
386
|
}
|
|
@@ -388,7 +395,6 @@ export async function collectSseFrames(port, taskId, timeoutMs = 8_000, onConnec
|
|
|
388
395
|
});
|
|
389
396
|
req.on("error", (err) => {
|
|
390
397
|
clearTimeout(timer);
|
|
391
|
-
// Destroyed connections after done frame are fine
|
|
392
398
|
if (frames.some((f) => f.type === "done")) {
|
|
393
399
|
resolve(frames);
|
|
394
400
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"harness.js","sourceRoot":"","sources":["../../../../../../../packages/ai/agent-mcp/src/__tests__/integration/harness.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"harness.js","sourceRoot":"","sources":["../../../../../../entrypoint/agent-mcp/src/__tests__/integration/harness.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
*
|
|
13
13
|
* Supports a beforeCall hook so tool stubs can coordinate with Latches.
|
|
14
14
|
*/
|
|
15
|
-
import type { LLMProvider, ProviderChatResponse } from "
|
|
15
|
+
import type { LLMProvider, ProviderChatResponse } from "@adhd/agent-engine-orchestrator";
|
|
16
16
|
export interface ToolCallSpec {
|
|
17
17
|
server: string;
|
|
18
18
|
tool: string;
|
|
@@ -35,7 +35,6 @@ export declare class ScriptedProvider implements LLMProvider {
|
|
|
35
35
|
private callIndex;
|
|
36
36
|
/**
|
|
37
37
|
* Optional hook invoked at the START of each chat() call (before returning).
|
|
38
|
-
* Receives the call index (0-based) so tests can key on specific turns.
|
|
39
38
|
*/
|
|
40
39
|
beforeCall?: (callIndex: number) => Promise<void>;
|
|
41
40
|
constructor(turns: ScriptedTurn[]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scripted-provider.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"scripted-provider.d.ts","sourceRoot":"","sources":["../../../../../../entrypoint/agent-mcp/src/__tests__/integration/scripted-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,oBAAoB,EACrB,MAAM,iCAAiC,CAAC;AAIzC,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,qCAAqC;IACrC,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,SAAS,EAAE,YAAY,EAAE,CAAA;CAAE,GACjD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAErC,qBAAa,gBAAiB,YAAW,WAAW;IAClD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiB;IACvC,OAAO,CAAC,SAAS,CAAK;IAEtB;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;gBAEtC,KAAK,EAAE,YAAY,EAAE;IAI3B,IAAI,IAAI,OAAO,CAAC,oBAAoB,CAAC;CA6D5C"}
|
|
@@ -12,14 +12,12 @@
|
|
|
12
12
|
*
|
|
13
13
|
* Supports a beforeCall hook so tool stubs can coordinate with Latches.
|
|
14
14
|
*/
|
|
15
|
-
import { generateId } from "
|
|
16
|
-
import { nowIso } from "../../utils/timestamps.js";
|
|
15
|
+
import { generateId, nowIso } from "@adhd/agent-store-runtime";
|
|
17
16
|
export class ScriptedProvider {
|
|
18
17
|
turns;
|
|
19
18
|
callIndex = 0;
|
|
20
19
|
/**
|
|
21
20
|
* Optional hook invoked at the START of each chat() call (before returning).
|
|
22
|
-
* Receives the call index (0-based) so tests can key on specific turns.
|
|
23
21
|
*/
|
|
24
22
|
beforeCall;
|
|
25
23
|
constructor(turns) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scripted-provider.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"scripted-provider.js","sourceRoot":"","sources":["../../../../../../entrypoint/agent-mcp/src/__tests__/integration/scripted-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAOH,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAe/D,MAAM,OAAO,gBAAgB;IACV,KAAK,CAAiB;IAC/B,SAAS,GAAG,CAAC,CAAC;IAEtB;;OAEG;IACH,UAAU,CAAwC;IAElD,YAAY,KAAqB;QAC/B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAE7B,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAEvE,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;QAE/B,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC9B,MAAM,GAAG,GAAY;gBACnB,EAAE,EAAE,UAAU,EAAE;gBAChB,SAAS;gBACT,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,SAAS,EAAE,MAAM,EAAE;aACpB,CAAC;YACF,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;QACnD,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAY;gBACnB,EAAE,EAAE,UAAU,EAAE;gBAChB,SAAS;gBACT,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,SAAS;gBAClB,SAAS,EAAE;oBACT;wBACE,EAAE,EAAE,MAAM;wBACV,MAAM,EAAE,SAAS;wBACjB,IAAI,EAAE,qBAAqB;wBAC3B,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;qBACnC;iBACF;gBACD,SAAS,EAAE,MAAM,EAAE;aACpB,CAAC;YACF,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC;QACpD,CAAC;QAED,wBAAwB;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC1C,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,UAAU,EAAE;YAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC,CAAC;QAEJ,MAAM,GAAG,GAAY;YACnB,EAAE,EAAE,UAAU,EAAE;YAChB,SAAS;YACT,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,SAAS;YAClB,SAAS,EAAE,KAAK;YAChB,SAAS,EAAE,MAAM,EAAE;SACpB,CAAC;QAEF,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC;IACpD,CAAC;CACF"}
|
package/src/config.d.ts
CHANGED
|
@@ -1,56 +1,27 @@
|
|
|
1
|
-
|
|
2
|
-
* config.ts — the ONLY `process.env` reader in agent-mcp.
|
|
3
|
-
*
|
|
4
|
-
* All 26 scattered reads in the previous implementation are replaced by
|
|
5
|
-
* references to `config.<ns>.<field>` or the dynamic methods below.
|
|
6
|
-
*
|
|
7
|
-
* Init model (§1):
|
|
8
|
-
* • loadEnvHierarchy() runs at module load, populating process.env from
|
|
9
|
-
* ~/.adhd/.env → <cwd>/.adhd/.env → <cwd>/.env (most-specific wins).
|
|
10
|
-
* • loadConfig(env) is a pure, testable factory: reads `env` once, validates
|
|
11
|
-
* with Zod, and deep-freezes the result.
|
|
12
|
-
* • The singleton `config` is exported as the app entry-point for all callers.
|
|
13
|
-
*
|
|
14
|
-
* Dynamic methods (§1.2) close over the frozen env snapshot and are themselves
|
|
15
|
-
* frozen on the returned object — the snapshot is never re-read.
|
|
16
|
-
*/
|
|
17
|
-
/** Options for getProviderConfig — each `secret`/`url`/`model` is an env-var NAME. */
|
|
1
|
+
import type { EngineConfig } from "@adhd/agent-engine-orchestrator";
|
|
18
2
|
export type GetProviderConfigOpts = {
|
|
19
3
|
provider: "openai" | "anthropic" | "claudecli";
|
|
20
|
-
/** env-var NAME from agentConfig.env.secret (an ADHD_AGENT_* pointer) */
|
|
21
4
|
secret?: string;
|
|
22
|
-
/** env-var NAME from agentConfig.env.base_url */
|
|
23
5
|
url?: string;
|
|
24
|
-
/** env-var NAME from agentConfig.env.model */
|
|
25
6
|
model?: string;
|
|
26
|
-
/** Fallback literal baseURL from agentConfig.baseURL (inline, not env-mapped) */
|
|
27
7
|
inlineBaseURL?: string;
|
|
28
|
-
/** Fallback literal model from agentConfig.model (inline) */
|
|
29
8
|
inlineModel?: string;
|
|
30
9
|
};
|
|
31
|
-
/** Resolved concrete values returned by getProviderConfig. */
|
|
32
10
|
export type ProviderConfigResolved = {
|
|
33
11
|
secret?: string;
|
|
34
12
|
baseURL?: string;
|
|
35
13
|
model?: string;
|
|
36
14
|
};
|
|
37
|
-
|
|
38
|
-
* the frozen env snapshot. */
|
|
39
|
-
export interface Config {
|
|
15
|
+
export interface Config extends EngineConfig {
|
|
40
16
|
readonly db: {
|
|
41
17
|
readonly path: string;
|
|
42
18
|
};
|
|
43
19
|
readonly logging: {
|
|
44
20
|
readonly level: string;
|
|
45
21
|
};
|
|
46
|
-
readonly
|
|
47
|
-
readonly concurrency: number;
|
|
48
|
-
};
|
|
49
|
-
readonly server: {
|
|
22
|
+
readonly server: EngineConfig["server"] & {
|
|
50
23
|
readonly maxDepth: number;
|
|
51
24
|
readonly maxToolLoops: number;
|
|
52
|
-
readonly defaultMaxTokens: number;
|
|
53
|
-
readonly contextLimit: number;
|
|
54
25
|
readonly allowedAgents: readonly string[] | undefined;
|
|
55
26
|
readonly registryDbPath: string;
|
|
56
27
|
};
|
|
@@ -58,57 +29,23 @@ export interface Config {
|
|
|
58
29
|
readonly kind: string;
|
|
59
30
|
readonly port: number;
|
|
60
31
|
};
|
|
61
|
-
readonly sse: {
|
|
32
|
+
readonly sse: EngineConfig["sse"] & {
|
|
62
33
|
readonly port: number;
|
|
63
34
|
readonly host: string;
|
|
64
|
-
readonly baseUrl: string;
|
|
65
|
-
};
|
|
66
|
-
readonly plugins: {
|
|
67
|
-
readonly configPath: string | undefined;
|
|
68
|
-
readonly entries: readonly string[];
|
|
69
35
|
};
|
|
70
36
|
readonly security: {
|
|
71
37
|
readonly envAllowlist: readonly string[];
|
|
72
38
|
};
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
* model values, merging: env-name override → inline literal → provider
|
|
76
|
-
* default. A missing required secret on a non-localhost baseURL throws with
|
|
77
|
-
* a clear diagnostic. Closes over the frozen env snapshot.
|
|
78
|
-
*/
|
|
39
|
+
readonly queue: EngineConfig["queue"];
|
|
40
|
+
readonly plugins: EngineConfig["plugins"];
|
|
79
41
|
getProviderConfig(opts: GetProviderConfigOpts): ProviderConfigResolved;
|
|
80
|
-
/**
|
|
81
|
-
* Resolve one env-var NAME against the frozen snapshot. Throws if the name
|
|
82
|
-
* is disallowed by the §6 prefix guard.
|
|
83
|
-
*/
|
|
84
42
|
resolveEnvRef(name: string): string | undefined;
|
|
85
|
-
/**
|
|
86
|
-
* §6 prefix guard — true iff `name` starts with `ADHD_AGENT_` OR is an
|
|
87
|
-
* explicit operator opt-in from ADHD_AGENT_ENV_ALLOWLIST.
|
|
88
|
-
*/
|
|
89
|
-
isEnvNameAllowed(name: string): boolean;
|
|
90
|
-
/**
|
|
91
|
-
* Startup verification: given the env-var names referenced across all agent
|
|
92
|
-
* env blocks, return which are missing from the frozen snapshot and which
|
|
93
|
-
* violate the §6 guard.
|
|
94
|
-
*/
|
|
95
43
|
verifyEnvRefs(names: string[]): {
|
|
96
44
|
missing: string[];
|
|
97
45
|
disallowed: string[];
|
|
98
46
|
};
|
|
99
|
-
/**
|
|
100
|
-
* Return the frozen env snapshot as a plain string map for subprocess
|
|
101
|
-
* passthrough (Class 3 reads: stdio-client, claudecli). Raw passthrough —
|
|
102
|
-
* external servers and the claude CLI need their own env (PATH, HOME, …).
|
|
103
|
-
*/
|
|
104
47
|
subprocessEnv(): Record<string, string>;
|
|
105
48
|
}
|
|
106
|
-
/**
|
|
107
|
-
* Pure, testable factory. Reads `env` once, validates with Zod (fails fast on
|
|
108
|
-
* invalid input), deep-freezes the result. The app imports the `config`
|
|
109
|
-
* singleton; tests call `loadConfig(fakeEnv)` for isolation.
|
|
110
|
-
*/
|
|
111
49
|
export declare function loadConfig(env?: NodeJS.ProcessEnv): Config;
|
|
112
|
-
/** Eager frozen singleton — constructed once at module load with the live env. */
|
|
113
50
|
export declare const config: Config;
|
|
114
51
|
//# sourceMappingURL=config.d.ts.map
|
package/src/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../entrypoint/agent-mcp/src/config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAIpE,MAAM,MAAM,qBAAqB,GAAG;IAChC,QAAQ,EAAE,QAAQ,GAAG,WAAW,GAAG,WAAW,CAAC;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,WAAW,MAAO,SAAQ,YAAY;IACxC,QAAQ,CAAC,EAAE,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,GAAG;QACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;QACtD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;KACnC,CAAC;IACF,QAAQ,CAAC,SAAS,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACrE,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC,GAAG;QAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,QAAQ,CAAC,QAAQ,EAAE;QAAE,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,CAAC;IAChE,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IAC1C,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,GAAG,sBAAsB,CAAC;IACvE,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAChD,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG;QAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAC5E,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC3C;AA0ID,wBAAgB,UAAU,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAkHvE;AAED,eAAO,MAAM,MAAM,EAAE,MAAqB,CAAC"}
|