@adhd/agent-mcp 2.0.1 → 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.
Files changed (299) hide show
  1. package/AGENTS.md +236 -0
  2. package/CHANGELOG.md +115 -0
  3. package/LICENSE +21 -0
  4. package/README.md +201 -0
  5. package/docs/architecture-and-security.md +405 -0
  6. package/docs/marketing/.catalog/capabilities.md +143 -0
  7. package/docs/marketing/.catalog/consumer.md +111 -0
  8. package/docs/marketing/.catalog/distribution.md +223 -0
  9. package/docs/marketing/.catalog/doc-conformance.md +237 -0
  10. package/docs/marketing/.catalog/doc-ops.md +98 -0
  11. package/docs/marketing/.catalog/metrics.md +119 -0
  12. package/docs/marketing/.catalog/required-tooling.md +224 -0
  13. package/docs/marketing/.catalog/review.md +164 -0
  14. package/docs/provider-call-audit.md +254 -0
  15. package/llms.txt +133 -0
  16. package/package.json +30 -51
  17. package/src/__tests__/integration/harness.d.ts +871 -39
  18. package/src/__tests__/integration/harness.d.ts.map +1 -1
  19. package/src/__tests__/integration/harness.js +93 -87
  20. package/src/__tests__/integration/harness.js.map +1 -1
  21. package/src/__tests__/integration/scripted-provider.d.ts +1 -2
  22. package/src/__tests__/integration/scripted-provider.d.ts.map +1 -1
  23. package/src/__tests__/integration/scripted-provider.js +1 -3
  24. package/src/__tests__/integration/scripted-provider.js.map +1 -1
  25. package/src/config.d.ts +6 -69
  26. package/src/config.d.ts.map +1 -1
  27. package/src/config.js +1 -50
  28. package/src/config.js.map +1 -1
  29. package/src/db/client.d.ts +1516 -2
  30. package/src/db/client.d.ts.map +1 -1
  31. package/src/db/client.js +4 -2
  32. package/src/db/client.js.map +1 -1
  33. package/src/db/migrate-runner.d.ts +0 -28
  34. package/src/db/migrate-runner.d.ts.map +1 -1
  35. package/src/db/migrate-runner.js +0 -24
  36. package/src/db/migrate-runner.js.map +1 -1
  37. package/src/db/migrate.d.ts +0 -7
  38. package/src/db/migrate.d.ts.map +1 -1
  39. package/src/db/migrate.js +0 -7
  40. package/src/db/migrate.js.map +1 -1
  41. package/src/db/schema.d.ts +0 -1260
  42. package/src/db/schema.d.ts.map +1 -1
  43. package/src/db/schema.js +2 -179
  44. package/src/db/schema.js.map +1 -1
  45. package/src/index.d.ts +3 -42
  46. package/src/index.d.ts.map +1 -1
  47. package/src/index.js +32 -123
  48. package/src/index.js.map +1 -1
  49. package/src/logger.d.ts +0 -8
  50. package/src/logger.d.ts.map +1 -1
  51. package/src/logger.js +1 -12
  52. package/src/logger.js.map +1 -1
  53. package/src/scripts/agent-mcp-tail.d.ts +3 -0
  54. package/src/scripts/agent-mcp-tail.d.ts.map +1 -0
  55. package/src/scripts/agent-mcp-tail.js +227 -0
  56. package/src/scripts/agent-mcp-tail.js.map +1 -0
  57. package/src/server.d.ts +13 -34
  58. package/src/server.d.ts.map +1 -1
  59. package/src/server.js +234 -326
  60. package/src/server.js.map +1 -1
  61. package/src/store/agent-store.d.ts +3 -16
  62. package/src/store/agent-store.d.ts.map +1 -1
  63. package/src/store/agent-store.js +38 -41
  64. package/src/store/agent-store.js.map +1 -1
  65. package/src/streaming/chat-gateway.d.ts +17 -0
  66. package/src/streaming/chat-gateway.d.ts.map +1 -0
  67. package/src/streaming/chat-gateway.js +336 -0
  68. package/src/streaming/chat-gateway.js.map +1 -0
  69. package/src/streaming/event-bus.d.ts +4 -0
  70. package/src/streaming/event-bus.d.ts.map +1 -1
  71. package/src/streaming/event-bus.js +14 -1
  72. package/src/streaming/event-bus.js.map +1 -1
  73. package/src/streaming/sse-server.d.ts +3 -14
  74. package/src/streaming/sse-server.d.ts.map +1 -1
  75. package/src/streaming/sse-server.js +37 -37
  76. package/src/streaming/sse-server.js.map +1 -1
  77. package/src/utils/load-env.d.ts +0 -14
  78. package/src/utils/load-env.d.ts.map +1 -1
  79. package/src/utils/load-env.js +0 -18
  80. package/src/utils/load-env.js.map +1 -1
  81. package/drizzle/0000_nifty_sasquatch.sql +0 -55
  82. package/drizzle/0001_task_usage.sql +0 -16
  83. package/drizzle/0002_lumpy_silver_centurion.sql +0 -2
  84. package/drizzle/0003_nifty_shriek.sql +0 -2
  85. package/drizzle/0004_brief_shocker.sql +0 -4
  86. package/drizzle/0005_clear_lenny_balinger.sql +0 -25
  87. package/drizzle/0006_composed_prompts_cache.sql +0 -24
  88. package/drizzle/meta/0000_snapshot.json +0 -387
  89. package/drizzle/meta/0001_snapshot.json +0 -495
  90. package/drizzle/meta/0002_snapshot.json +0 -509
  91. package/drizzle/meta/0003_snapshot.json +0 -523
  92. package/drizzle/meta/0004_snapshot.json +0 -551
  93. package/drizzle/meta/0005_snapshot.json +0 -545
  94. package/drizzle/meta/0006_snapshot.json +0 -651
  95. package/drizzle/meta/_journal.json +0 -55
  96. package/src/clients/http-client.d.ts +0 -24
  97. package/src/clients/http-client.d.ts.map +0 -1
  98. package/src/clients/http-client.js +0 -98
  99. package/src/clients/http-client.js.map +0 -1
  100. package/src/clients/in-process.d.ts +0 -27
  101. package/src/clients/in-process.d.ts.map +0 -1
  102. package/src/clients/in-process.js +0 -37
  103. package/src/clients/in-process.js.map +0 -1
  104. package/src/clients/index.d.ts +0 -7
  105. package/src/clients/index.d.ts.map +0 -1
  106. package/src/clients/index.js +0 -5
  107. package/src/clients/index.js.map +0 -1
  108. package/src/clients/registry.d.ts +0 -54
  109. package/src/clients/registry.d.ts.map +0 -1
  110. package/src/clients/registry.js +0 -164
  111. package/src/clients/registry.js.map +0 -1
  112. package/src/clients/stdio-client.d.ts +0 -16
  113. package/src/clients/stdio-client.d.ts.map +0 -1
  114. package/src/clients/stdio-client.js +0 -97
  115. package/src/clients/stdio-client.js.map +0 -1
  116. package/src/clients/tool-naming.d.ts +0 -44
  117. package/src/clients/tool-naming.d.ts.map +0 -1
  118. package/src/clients/tool-naming.js +0 -65
  119. package/src/clients/tool-naming.js.map +0 -1
  120. package/src/clients/types.d.ts +0 -18
  121. package/src/clients/types.d.ts.map +0 -1
  122. package/src/clients/types.js +0 -2
  123. package/src/clients/types.js.map +0 -1
  124. package/src/engine/dag-engine.d.ts +0 -62
  125. package/src/engine/dag-engine.d.ts.map +0 -1
  126. package/src/engine/dag-engine.js +0 -158
  127. package/src/engine/dag-engine.js.map +0 -1
  128. package/src/engine/hooks.d.ts +0 -24
  129. package/src/engine/hooks.d.ts.map +0 -1
  130. package/src/engine/hooks.js +0 -50
  131. package/src/engine/hooks.js.map +0 -1
  132. package/src/engine/orchestrator.d.ts +0 -40
  133. package/src/engine/orchestrator.d.ts.map +0 -1
  134. package/src/engine/orchestrator.js +0 -507
  135. package/src/engine/orchestrator.js.map +0 -1
  136. package/src/engine/policy.d.ts +0 -66
  137. package/src/engine/policy.d.ts.map +0 -1
  138. package/src/engine/policy.js +0 -112
  139. package/src/engine/policy.js.map +0 -1
  140. package/src/engine/prompt-resolver.d.ts +0 -89
  141. package/src/engine/prompt-resolver.d.ts.map +0 -1
  142. package/src/engine/prompt-resolver.js +0 -96
  143. package/src/engine/prompt-resolver.js.map +0 -1
  144. package/src/engine/queue.d.ts +0 -29
  145. package/src/engine/queue.d.ts.map +0 -1
  146. package/src/engine/queue.js +0 -56
  147. package/src/engine/queue.js.map +0 -1
  148. package/src/plugins/index.d.ts +0 -2
  149. package/src/plugins/index.d.ts.map +0 -1
  150. package/src/plugins/index.js +0 -2
  151. package/src/plugins/index.js.map +0 -1
  152. package/src/plugins/loader.d.ts +0 -65
  153. package/src/plugins/loader.d.ts.map +0 -1
  154. package/src/plugins/loader.js +0 -222
  155. package/src/plugins/loader.js.map +0 -1
  156. package/src/plugins/usage-plugin.d.ts +0 -27
  157. package/src/plugins/usage-plugin.d.ts.map +0 -1
  158. package/src/plugins/usage-plugin.js +0 -148
  159. package/src/plugins/usage-plugin.js.map +0 -1
  160. package/src/providers/anthropic.d.ts +0 -13
  161. package/src/providers/anthropic.d.ts.map +0 -1
  162. package/src/providers/anthropic.js +0 -260
  163. package/src/providers/anthropic.js.map +0 -1
  164. package/src/providers/claudecli.d.ts +0 -153
  165. package/src/providers/claudecli.d.ts.map +0 -1
  166. package/src/providers/claudecli.js +0 -510
  167. package/src/providers/claudecli.js.map +0 -1
  168. package/src/providers/factory.d.ts +0 -10
  169. package/src/providers/factory.d.ts.map +0 -1
  170. package/src/providers/factory.js +0 -24
  171. package/src/providers/factory.js.map +0 -1
  172. package/src/providers/index.d.ts +0 -6
  173. package/src/providers/index.d.ts.map +0 -1
  174. package/src/providers/index.js +0 -5
  175. package/src/providers/index.js.map +0 -1
  176. package/src/providers/openai.d.ts +0 -14
  177. package/src/providers/openai.d.ts.map +0 -1
  178. package/src/providers/openai.js +0 -162
  179. package/src/providers/openai.js.map +0 -1
  180. package/src/providers/types.d.ts +0 -36
  181. package/src/providers/types.d.ts.map +0 -1
  182. package/src/providers/types.js +0 -2
  183. package/src/providers/types.js.map +0 -1
  184. package/src/store/composed-prompt-store.d.ts +0 -24
  185. package/src/store/composed-prompt-store.d.ts.map +0 -1
  186. package/src/store/composed-prompt-store.js +0 -75
  187. package/src/store/composed-prompt-store.js.map +0 -1
  188. package/src/store/index.d.ts +0 -5
  189. package/src/store/index.d.ts.map +0 -1
  190. package/src/store/index.js +0 -5
  191. package/src/store/index.js.map +0 -1
  192. package/src/store/session-store.d.ts +0 -45
  193. package/src/store/session-store.d.ts.map +0 -1
  194. package/src/store/session-store.js +0 -197
  195. package/src/store/session-store.js.map +0 -1
  196. package/src/store/task-store.d.ts +0 -55
  197. package/src/store/task-store.d.ts.map +0 -1
  198. package/src/store/task-store.js +0 -186
  199. package/src/store/task-store.js.map +0 -1
  200. package/src/tools/agent-crud.d.ts +0 -15
  201. package/src/tools/agent-crud.d.ts.map +0 -1
  202. package/src/tools/agent-crud.js +0 -32
  203. package/src/tools/agent-crud.js.map +0 -1
  204. package/src/tools/session.d.ts +0 -33
  205. package/src/tools/session.d.ts.map +0 -1
  206. package/src/tools/session.js +0 -73
  207. package/src/tools/session.js.map +0 -1
  208. package/src/tools/task.d.ts +0 -86
  209. package/src/tools/task.d.ts.map +0 -1
  210. package/src/tools/task.js +0 -406
  211. package/src/tools/task.js.map +0 -1
  212. package/src/tools/usage.d.ts +0 -60
  213. package/src/tools/usage.d.ts.map +0 -1
  214. package/src/tools/usage.js +0 -174
  215. package/src/tools/usage.js.map +0 -1
  216. package/src/types/agent.d.ts +0 -2
  217. package/src/types/agent.d.ts.map +0 -1
  218. package/src/types/agent.js +0 -3
  219. package/src/types/agent.js.map +0 -1
  220. package/src/types/execution.d.ts +0 -2
  221. package/src/types/execution.d.ts.map +0 -1
  222. package/src/types/execution.js +0 -3
  223. package/src/types/execution.js.map +0 -1
  224. package/src/types/index.d.ts +0 -2
  225. package/src/types/index.d.ts.map +0 -1
  226. package/src/types/index.js +0 -2
  227. package/src/types/index.js.map +0 -1
  228. package/src/types/mcp.d.ts +0 -2
  229. package/src/types/mcp.d.ts.map +0 -1
  230. package/src/types/mcp.js +0 -3
  231. package/src/types/mcp.js.map +0 -1
  232. package/src/types/message.d.ts +0 -2
  233. package/src/types/message.d.ts.map +0 -1
  234. package/src/types/message.js +0 -3
  235. package/src/types/message.js.map +0 -1
  236. package/src/types/session.d.ts +0 -2
  237. package/src/types/session.d.ts.map +0 -1
  238. package/src/types/session.js +0 -3
  239. package/src/types/session.js.map +0 -1
  240. package/src/types/task.d.ts +0 -2
  241. package/src/types/task.d.ts.map +0 -1
  242. package/src/types/task.js +0 -3
  243. package/src/types/task.js.map +0 -1
  244. package/src/utils/ids.d.ts +0 -2
  245. package/src/utils/ids.d.ts.map +0 -1
  246. package/src/utils/ids.js +0 -5
  247. package/src/utils/ids.js.map +0 -1
  248. package/src/utils/logger.d.ts +0 -2
  249. package/src/utils/logger.d.ts.map +0 -1
  250. package/src/utils/logger.js +0 -5
  251. package/src/utils/logger.js.map +0 -1
  252. package/src/utils/timestamps.d.ts +0 -2
  253. package/src/utils/timestamps.d.ts.map +0 -1
  254. package/src/utils/timestamps.js +0 -4
  255. package/src/utils/timestamps.js.map +0 -1
  256. package/src/validation/agent.d.ts +0 -400
  257. package/src/validation/agent.d.ts.map +0 -1
  258. package/src/validation/agent.js +0 -251
  259. package/src/validation/agent.js.map +0 -1
  260. package/src/validation/agents.d.ts +0 -2
  261. package/src/validation/agents.d.ts.map +0 -1
  262. package/src/validation/agents.js +0 -3
  263. package/src/validation/agents.js.map +0 -1
  264. package/src/validation/errors.d.ts +0 -32
  265. package/src/validation/errors.d.ts.map +0 -1
  266. package/src/validation/errors.js +0 -42
  267. package/src/validation/errors.js.map +0 -1
  268. package/src/validation/execution.d.ts +0 -86
  269. package/src/validation/execution.d.ts.map +0 -1
  270. package/src/validation/execution.js +0 -28
  271. package/src/validation/execution.js.map +0 -1
  272. package/src/validation/index.d.ts +0 -9
  273. package/src/validation/index.d.ts.map +0 -1
  274. package/src/validation/index.js +0 -9
  275. package/src/validation/index.js.map +0 -1
  276. package/src/validation/mcp.d.ts +0 -42
  277. package/src/validation/mcp.d.ts.map +0 -1
  278. package/src/validation/mcp.js +0 -28
  279. package/src/validation/mcp.js.map +0 -1
  280. package/src/validation/message.d.ts +0 -43
  281. package/src/validation/message.d.ts.map +0 -1
  282. package/src/validation/message.js +0 -23
  283. package/src/validation/message.js.map +0 -1
  284. package/src/validation/session.d.ts +0 -49
  285. package/src/validation/session.d.ts.map +0 -1
  286. package/src/validation/session.js +0 -34
  287. package/src/validation/session.js.map +0 -1
  288. package/src/validation/task.d.ts +0 -146
  289. package/src/validation/task.d.ts.map +0 -1
  290. package/src/validation/task.js +0 -95
  291. package/src/validation/task.js.map +0 -1
  292. package/src/validation/tasks.d.ts +0 -2
  293. package/src/validation/tasks.d.ts.map +0 -1
  294. package/src/validation/tasks.js +0 -3
  295. package/src/validation/tasks.js.map +0 -1
  296. package/src/validation/usage.d.ts +0 -89
  297. package/src/validation/usage.d.ts.map +0 -1
  298. package/src/validation/usage.js +0 -98
  299. package/src/validation/usage.js.map +0 -1
package/src/config.js CHANGED
@@ -1,41 +1,19 @@
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
1
  import os from "node:os";
18
2
  import path from "node:path";
19
3
  import { z } from "zod";
20
4
  import { loadEnvHierarchy } from "./utils/load-env.js";
21
- // ── Load .env hierarchy once, before the snapshot is taken ───────────────────
22
- // This mutates process.env (dotenv), so the singleton below sees the hydrated
23
- // values. Runs once at module load; subsequent imports hit the module cache.
24
5
  loadEnvHierarchy();
25
- // ── Base-URL normalisation (§3) ───────────────────────────────────────────────
26
- /** Append /v1 when the URL has no explicit path; explicit paths are respected. */
27
6
  function normalizeBaseUrl(url) {
28
7
  try {
29
8
  const parsed = new URL(url);
30
9
  if (parsed.pathname === "/" || parsed.pathname === "") {
31
10
  parsed.pathname = "/v1";
32
- // toString() may add trailing slash; strip it for cleanliness
33
11
  return parsed.toString().replace(/\/v1\/$/, "/v1");
34
12
  }
35
13
  return url;
36
14
  }
37
15
  catch {
38
- return url; // not a valid URL — pass through; provider will surface the error
16
+ return url;
39
17
  }
40
18
  }
41
19
  function isLocalhostUrl(url) {
@@ -49,7 +27,6 @@ function isLocalhostUrl(url) {
49
27
  return false;
50
28
  }
51
29
  }
52
- // ── Provider default template env-var names (§1.1) ────────────────────────────
53
30
  const PROVIDER_DEFAULTS = {
54
31
  openai: {
55
32
  secret: "ADHD_AGENT_OPENAI_SECRET",
@@ -67,7 +44,6 @@ const PROVIDER_DEFAULTS = {
67
44
  model: "ADHD_AGENT_DEEPSEEK_MODEL",
68
45
  },
69
46
  };
70
- // ── Deep-freeze helper ────────────────────────────────────────────────────────
71
47
  function deepFreeze(obj) {
72
48
  if (obj === null || typeof obj !== "object")
73
49
  return obj;
@@ -79,7 +55,6 @@ function deepFreeze(obj) {
79
55
  });
80
56
  return Object.freeze(obj);
81
57
  }
82
- // ── Raw env → Zod schema input ────────────────────────────────────────────────
83
58
  function rawFromEnv(env) {
84
59
  return {
85
60
  db: { path: env["ADHD_AGENT_DATABASE_PATH"] },
@@ -111,7 +86,6 @@ function rawFromEnv(env) {
111
86
  },
112
87
  };
113
88
  }
114
- // ── Zod schema ────────────────────────────────────────────────────────────────
115
89
  const LOG_LEVELS = ["trace", "debug", "info", "warn", "error", "fatal", "silent"];
116
90
  const TRANSPORT_KINDS = ["stdio", "http"];
117
91
  const configSchema = z.object({
@@ -158,25 +132,14 @@ const configSchema = z.object({
158
132
  .transform(v => v ? v.split(",").map(s => s.trim()).filter(Boolean) : []),
159
133
  }),
160
134
  });
161
- // ── loadConfig ────────────────────────────────────────────────────────────────
162
- /**
163
- * Pure, testable factory. Reads `env` once, validates with Zod (fails fast on
164
- * invalid input), deep-freezes the result. The app imports the `config`
165
- * singleton; tests call `loadConfig(fakeEnv)` for isolation.
166
- */
167
135
  export function loadConfig(env = process.env) {
168
136
  const parsed = configSchema.parse(rawFromEnv(env));
169
- // Build the resolved SSE base URL
170
137
  const sseBaseUrl = parsed.sse.baseUrl ?? `http://localhost:${parsed.sse.port}`;
171
- // Freeze the env snapshot — dynamic methods read from this, never live env
172
138
  const frozenEnv = deepFreeze({ ...env });
173
- // Build the allowlist predicate from the security config
174
139
  const allowlistSet = new Set(parsed.security.envAllowlist);
175
- // ── §6 prefix guard ───────────────────────────────────────────────────────
176
140
  function isEnvNameAllowed(name) {
177
141
  return name.startsWith("ADHD_AGENT_") || allowlistSet.has(name);
178
142
  }
179
- // ── resolveEnvRef ─────────────────────────────────────────────────────────
180
143
  function resolveEnvRef(name) {
181
144
  if (!isEnvNameAllowed(name)) {
182
145
  throw new Error(`Env var "${name}" is not permitted as an agent env ref. ` +
@@ -185,16 +148,12 @@ export function loadConfig(env = process.env) {
185
148
  }
186
149
  return frozenEnv[name];
187
150
  }
188
- // ── getProviderConfig ─────────────────────────────────────────────────────
189
151
  function getProviderConfig(opts) {
190
- // claudecli is exempt — it drives the local `claude` CLI via subprocessEnv()
191
- // and has no API credential requirements of its own.
192
152
  if (opts.provider === "claudecli") {
193
153
  return {};
194
154
  }
195
155
  const defaults = PROVIDER_DEFAULTS[opts.provider];
196
156
  const snap = frozenEnv;
197
- // model: env-name override → inline literal → provider default template
198
157
  let model;
199
158
  if (opts.model)
200
159
  model = resolveEnvRef(opts.model);
@@ -202,7 +161,6 @@ export function loadConfig(env = process.env) {
202
161
  model = opts.inlineModel;
203
162
  if (!model && defaults)
204
163
  model = snap[defaults.model];
205
- // baseURL: env-name override → inline literal → provider default template → normalize
206
164
  let baseURL;
207
165
  if (opts.url)
208
166
  baseURL = resolveEnvRef(opts.url);
@@ -212,13 +170,11 @@ export function loadConfig(env = process.env) {
212
170
  baseURL = snap[defaults.baseUrl];
213
171
  if (baseURL)
214
172
  baseURL = normalizeBaseUrl(baseURL);
215
- // secret: env-name override → provider default template
216
173
  let secret;
217
174
  if (opts.secret)
218
175
  secret = resolveEnvRef(opts.secret);
219
176
  if (!secret && defaults)
220
177
  secret = snap[defaults.secret];
221
- // Fail loud when no secret AND the target is not a local server (§3)
222
178
  if (!secret && !isLocalhostUrl(baseURL)) {
223
179
  const defaultSecretName = defaults?.secret ?? `ADHD_AGENT_${opts.provider.toUpperCase()}_SECRET`;
224
180
  const usedName = opts.secret ?? defaultSecretName;
@@ -228,7 +184,6 @@ export function loadConfig(env = process.env) {
228
184
  }
229
185
  return { secret, baseURL, model };
230
186
  }
231
- // ── verifyEnvRefs ─────────────────────────────────────────────────────────
232
187
  function verifyEnvRefs(names) {
233
188
  const missing = [];
234
189
  const disallowed = [];
@@ -243,7 +198,6 @@ export function loadConfig(env = process.env) {
243
198
  }
244
199
  return { missing, disallowed };
245
200
  }
246
- // ── subprocessEnv ─────────────────────────────────────────────────────────
247
201
  function subprocessEnv() {
248
202
  const result = {};
249
203
  const snap = frozenEnv;
@@ -253,7 +207,6 @@ export function loadConfig(env = process.env) {
253
207
  }
254
208
  return result;
255
209
  }
256
- // Build the static shape, attach methods, then deep-freeze the whole object
257
210
  const obj = {
258
211
  db: { path: parsed.db.path },
259
212
  logging: { level: parsed.logging.level },
@@ -281,7 +234,5 @@ export function loadConfig(env = process.env) {
281
234
  };
282
235
  return deepFreeze(obj);
283
236
  }
284
- // ── App singleton ─────────────────────────────────────────────────────────────
285
- /** Eager frozen singleton — constructed once at module load with the live env. */
286
237
  export const config = loadConfig();
287
238
  //# sourceMappingURL=config.js.map
package/src/config.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../packages/ai/agent-mcp/src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../entrypoint/agent-mcp/src/config.ts"],"names":[],"mappings":"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"}