@adhd/agent-mcp 2.1.0 → 2.1.2

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 (69) hide show
  1. package/docs/marketing/.catalog/capabilities.md +1 -1
  2. package/docs/plan/accounting/SCOPE.md +316 -0
  3. package/docs/provider-call-audit.md +83 -1
  4. package/drizzle/0000_nifty_sasquatch.sql +55 -0
  5. package/drizzle/0001_task_usage.sql +16 -0
  6. package/drizzle/0002_lumpy_silver_centurion.sql +2 -0
  7. package/drizzle/0003_nifty_shriek.sql +2 -0
  8. package/drizzle/0004_brief_shocker.sql +4 -0
  9. package/drizzle/0005_clear_lenny_balinger.sql +25 -0
  10. package/drizzle/0006_composed_prompts_cache.sql +24 -0
  11. package/drizzle/0007_smart_callisto.sql +40 -0
  12. package/drizzle/0008_cache_and_peak_context_usage.sql +19 -0
  13. package/drizzle/0009_restore_sessions_agent_fk.sql +29 -0
  14. package/drizzle/meta/0000_snapshot.json +387 -0
  15. package/drizzle/meta/0001_snapshot.json +495 -0
  16. package/drizzle/meta/0002_snapshot.json +509 -0
  17. package/drizzle/meta/0003_snapshot.json +523 -0
  18. package/drizzle/meta/0004_snapshot.json +551 -0
  19. package/drizzle/meta/0005_snapshot.json +545 -0
  20. package/drizzle/meta/0006_snapshot.json +651 -0
  21. package/drizzle/meta/0007_snapshot.json +658 -0
  22. package/drizzle/meta/_journal.json +76 -0
  23. package/package.json +14 -17
  24. package/src/config.d.ts +59 -30
  25. package/src/config.d.ts.map +1 -1
  26. package/src/config.js +202 -205
  27. package/src/config.js.map +1 -1
  28. package/src/db/client.d.ts.map +1 -1
  29. package/src/db/client.js +6 -2
  30. package/src/db/client.js.map +1 -1
  31. package/src/db/migrate-runner.d.ts.map +1 -1
  32. package/src/db/migrate-runner.js.map +1 -1
  33. package/src/db/migrate.d.ts.map +1 -1
  34. package/src/db/migrate.js.map +1 -1
  35. package/src/db/schema.d.ts.map +1 -1
  36. package/src/db/schema.js.map +1 -1
  37. package/src/index.d.ts.map +1 -1
  38. package/src/index.js +20 -13
  39. package/src/index.js.map +1 -1
  40. package/src/logger.d.ts.map +1 -1
  41. package/src/logger.js +2 -2
  42. package/src/logger.js.map +1 -1
  43. package/src/scripts/agent-mcp-tail.d.ts.map +1 -1
  44. package/src/scripts/agent-mcp-tail.js +202 -122
  45. package/src/scripts/agent-mcp-tail.js.map +1 -1
  46. package/src/server.d.ts.map +1 -1
  47. package/src/server.js +7 -7
  48. package/src/server.js.map +1 -1
  49. package/src/store/agent-store.d.ts.map +1 -1
  50. package/src/store/agent-store.js.map +1 -1
  51. package/src/streaming/chat-gateway.d.ts.map +1 -1
  52. package/src/streaming/chat-gateway.js.map +1 -1
  53. package/src/streaming/event-bus.d.ts.map +1 -1
  54. package/src/streaming/event-bus.js.map +1 -1
  55. package/src/streaming/sse-server.d.ts.map +1 -1
  56. package/src/streaming/sse-server.js +2 -2
  57. package/src/streaming/sse-server.js.map +1 -1
  58. package/src/__tests__/integration/harness.d.ts +0 -1027
  59. package/src/__tests__/integration/harness.d.ts.map +0 -1
  60. package/src/__tests__/integration/harness.js +0 -409
  61. package/src/__tests__/integration/harness.js.map +0 -1
  62. package/src/__tests__/integration/scripted-provider.d.ts +0 -43
  63. package/src/__tests__/integration/scripted-provider.d.ts.map +0 -1
  64. package/src/__tests__/integration/scripted-provider.js +0 -80
  65. package/src/__tests__/integration/scripted-provider.js.map +0 -1
  66. package/src/utils/load-env.d.ts +0 -2
  67. package/src/utils/load-env.d.ts.map +0 -1
  68. package/src/utils/load-env.js +0 -9
  69. package/src/utils/load-env.js.map +0 -1
@@ -0,0 +1,76 @@
1
+ {
2
+ "version": "7",
3
+ "dialect": "sqlite",
4
+ "entries": [
5
+ {
6
+ "idx": 0,
7
+ "version": "6",
8
+ "when": 1778793918653,
9
+ "tag": "0000_nifty_sasquatch",
10
+ "breakpoints": true
11
+ },
12
+ {
13
+ "idx": 1,
14
+ "version": "6",
15
+ "when": 1781059973506,
16
+ "tag": "0001_task_usage",
17
+ "breakpoints": true
18
+ },
19
+ {
20
+ "idx": 2,
21
+ "version": "6",
22
+ "when": 1781068864364,
23
+ "tag": "0002_lumpy_silver_centurion",
24
+ "breakpoints": true
25
+ },
26
+ {
27
+ "idx": 3,
28
+ "version": "6",
29
+ "when": 1781069217143,
30
+ "tag": "0003_nifty_shriek",
31
+ "breakpoints": true
32
+ },
33
+ {
34
+ "idx": 4,
35
+ "version": "6",
36
+ "when": 1781408344547,
37
+ "tag": "0004_brief_shocker",
38
+ "breakpoints": true
39
+ },
40
+ {
41
+ "idx": 5,
42
+ "version": "6",
43
+ "when": 1781497705486,
44
+ "tag": "0005_clear_lenny_balinger",
45
+ "breakpoints": true
46
+ },
47
+ {
48
+ "idx": 6,
49
+ "version": "6",
50
+ "when": 1781497706486,
51
+ "tag": "0006_composed_prompts_cache",
52
+ "breakpoints": true
53
+ },
54
+ {
55
+ "idx": 7,
56
+ "version": "6",
57
+ "when": 1782874595963,
58
+ "tag": "0007_smart_callisto",
59
+ "breakpoints": true
60
+ },
61
+ {
62
+ "idx": 8,
63
+ "version": "6",
64
+ "when": 1782874595964,
65
+ "tag": "0008_cache_and_peak_context_usage",
66
+ "breakpoints": true
67
+ },
68
+ {
69
+ "idx": 9,
70
+ "version": "6",
71
+ "when": 1782874595965,
72
+ "tag": "0009_restore_sessions_agent_fk",
73
+ "breakpoints": true
74
+ }
75
+ ]
76
+ }
package/package.json CHANGED
@@ -1,28 +1,26 @@
1
1
  {
2
2
  "name": "@adhd/agent-mcp",
3
- "version": "2.1.0",
3
+ "version": "2.1.2",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "agent-mcp": "./src/index.js",
7
7
  "agent-mcp-tail": "./src/scripts/agent-mcp-tail.js"
8
8
  },
9
9
  "dependencies": {
10
- "@adhd/agent-store-runtime": "^2.1.0",
11
- "@adhd/agent-store-prompts": "^2.1.0",
12
- "@adhd/agent-engine-orchestrator": "^2.1.0",
13
- "@modelcontextprotocol/sdk": "*",
14
- "pino": "*",
15
- "drizzle-orm": "*",
16
- "better-sqlite3": "*",
17
- "dotenv": "*",
18
- "zod": "*",
19
- "@adhd/agent-base-types": "^2.1.0",
20
- "@adhd/agent-engine-compiler": "^2.1.0",
10
+ "@adhd/agent-store-runtime": "^2.1.1",
11
+ "@adhd/agent-store-prompts": "^2.1.1",
12
+ "@adhd/agent-engine-orchestrator": "^2.1.1",
13
+ "@modelcontextprotocol/sdk": "^1.29.0",
14
+ "pino": "^10.3.1",
15
+ "drizzle-orm": "^0.45.2",
16
+ "better-sqlite3": "^12.10.0",
17
+ "zod": "^4.4.3",
18
+ "@adhd/environment": "^0.0.1",
19
+ "@adhd/environment-base-spec": "^0.0.1",
20
+ "@adhd/agent-base-types": "^2.1.1",
21
+ "@adhd/agent-engine-compiler": "^2.1.1",
21
22
  "tslib": "^2.3.0"
22
23
  },
23
- "devDependencies": {
24
- "@adhd/agent-base-types": "^2.1.0"
25
- },
26
24
  "main": "./src/index.js",
27
25
  "license": "MIT",
28
26
  "repository": {
@@ -36,6 +34,5 @@
36
34
  },
37
35
  "publishConfig": {
38
36
  "access": "public"
39
- },
40
- "module": "./src/index.js"
37
+ }
41
38
  }
package/src/config.d.ts CHANGED
@@ -1,27 +1,21 @@
1
+ import { Environment } from "@adhd/environment";
2
+ import type { EnvironmentSpec } from "@adhd/environment-base-spec";
1
3
  import type { EngineConfig } from "@adhd/agent-engine-orchestrator";
2
- export type GetProviderConfigOpts = {
3
- provider: "openai" | "anthropic" | "claudecli";
4
- secret?: string;
5
- url?: string;
6
- model?: string;
7
- inlineBaseURL?: string;
8
- inlineModel?: string;
9
- };
10
- export type ProviderConfigResolved = {
11
- secret?: string;
12
- baseURL?: string;
13
- model?: string;
14
- };
15
- export interface Config extends EngineConfig {
4
+ export interface AgentMcpConfig {
16
5
  readonly db: {
17
- readonly path: string;
6
+ readonly path: string | undefined;
18
7
  };
19
8
  readonly logging: {
20
9
  readonly level: string;
21
10
  };
22
- readonly server: EngineConfig["server"] & {
11
+ readonly queue: {
12
+ readonly concurrency: number;
13
+ };
14
+ readonly server: {
23
15
  readonly maxDepth: number;
24
16
  readonly maxToolLoops: number;
17
+ readonly defaultMaxTokens: number;
18
+ readonly contextLimit: number;
25
19
  readonly allowedAgents: readonly string[] | undefined;
26
20
  readonly registryDbPath: string;
27
21
  };
@@ -29,23 +23,58 @@ export interface Config extends EngineConfig {
29
23
  readonly kind: string;
30
24
  readonly port: number;
31
25
  };
32
- readonly sse: EngineConfig["sse"] & {
26
+ readonly sse: {
33
27
  readonly port: number;
34
28
  readonly host: string;
29
+ readonly baseUrl: string | undefined;
35
30
  };
36
- readonly security: {
37
- readonly envAllowlist: readonly string[];
38
- };
39
- readonly queue: EngineConfig["queue"];
40
- readonly plugins: EngineConfig["plugins"];
41
- getProviderConfig(opts: GetProviderConfigOpts): ProviderConfigResolved;
42
- resolveEnvRef(name: string): string | undefined;
43
- verifyEnvRefs(names: string[]): {
44
- missing: string[];
45
- disallowed: string[];
31
+ readonly plugins: {
32
+ readonly configPath: string | undefined;
33
+ readonly entries: readonly string[];
46
34
  };
47
- subprocessEnv(): Record<string, string>;
48
35
  }
49
- export declare function loadConfig(env?: NodeJS.ProcessEnv): Config;
50
- export declare const config: Config;
36
+ /**
37
+ * Exported so tests (and any other real consumer that needs an isolated
38
+ * instance — e.g. `__tests__/integration/harness.ts`) can construct their
39
+ * own `new Environment<AgentMcpConfig>('agent-mcp', agentMcpEnvironmentSpec, {...})`
40
+ * against a temp `adhdRoot` without touching the real machine's `~/.adhd`.
41
+ */
42
+ export declare const agentMcpEnvironmentSpec: EnvironmentSpec<AgentMcpConfig>;
43
+ export type GetProviderConfigOpts = {
44
+ provider: "openai" | "anthropic" | "claudecli";
45
+ secret?: string;
46
+ url?: string;
47
+ model?: string;
48
+ inlineBaseURL?: string;
49
+ inlineModel?: string;
50
+ };
51
+ export type ProviderConfigResolved = {
52
+ secret?: string;
53
+ baseURL?: string;
54
+ model?: string;
55
+ };
56
+ declare function getProviderConfig(opts: GetProviderConfigOpts): ProviderConfigResolved;
57
+ /**
58
+ * Snapshot of the current `process.env`, for subprocess spawning
59
+ * (`EngineConfig.subprocessEnv`, consumed by the `claudecli` provider and
60
+ * the stdio MCP-client transport to forward the parent's environment to a
61
+ * spawned child). Matches the pre-redesign `Config.subprocessEnv()`
62
+ * behavior exactly: the full current env snapshot, not prefix-filtered.
63
+ */
64
+ declare function subprocessEnv(): Record<string, string>;
65
+ export declare const env: Environment<AgentMcpConfig> & {
66
+ getProviderConfig: typeof getProviderConfig;
67
+ subprocessEnv: typeof subprocessEnv;
68
+ };
69
+ /**
70
+ * Builds the `EngineConfig`-shaped adapter the orchestrator layer (`server.ts`,
71
+ * `index.ts`) is injected with — the engine MUST NOT import `config.ts`
72
+ * directly (`packages/agent/agent-engine-orchestrator/src/interfaces.ts`).
73
+ * Derived live from `env.config` plus `env`'s own methods
74
+ * (`getProviderConfig`/`isEnvNameAllowed`/`subprocessEnv`) on every call, so
75
+ * it always reflects the current cascade (relevant for `at:'runtime'`/
76
+ * `secret` fields, though this spec declares none).
77
+ */
78
+ export declare function toEngineConfig(): EngineConfig;
79
+ export {};
51
80
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAMpE,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC;IACnD,QAAQ,CAAC,OAAO,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IACjD,QAAQ,CAAC,MAAM,EAAE;QACf,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;QAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;QACtD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;KACjC,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;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC;IACrG,QAAQ,CAAC,OAAO,EAAE;QAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,CAAC;CACpG;AAMD;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,EAAE,eAAe,CAAC,cAAc,CAsGnE,CAAC;AAMF,MAAM,MAAM,qBAAqB,GAAG;IAClC,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;CACtB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAyBF,iBAAS,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,GAAG,sBAAsB,CAuB9E;AAED;;;;;;GAMG;AACH,iBAAS,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAM/C;AAMD,eAAO,MAAM,GAAG;;;CAGf,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,cAAc,IAAI,YAAY,CAiB7C"}