dodo-mcp 1.1.0 → 1.2.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.
Files changed (78) hide show
  1. package/README.md +71 -14
  2. package/dist/cli/main.js +92 -28
  3. package/dist/cli/main.js.map +1 -1
  4. package/dist/cli/menu.js +2 -2
  5. package/dist/cli/menu.js.map +1 -1
  6. package/dist/config/globalConfig.js +16 -2
  7. package/dist/config/globalConfig.js.map +1 -1
  8. package/dist/config/tunnelConfig.js +2 -1
  9. package/dist/config/tunnelConfig.js.map +1 -1
  10. package/dist/projects/ownerAdmin.js +86 -0
  11. package/dist/projects/ownerAdmin.js.map +1 -0
  12. package/dist/projects/registry.js +90 -9
  13. package/dist/projects/registry.js.map +1 -1
  14. package/dist/security/projectAccess.js +69 -0
  15. package/dist/security/projectAccess.js.map +1 -0
  16. package/dist/security/projectAuthority.js +5 -1
  17. package/dist/security/projectAuthority.js.map +1 -1
  18. package/dist/server/aiAdmin.js +32 -8
  19. package/dist/server/aiAdmin.js.map +1 -1
  20. package/dist/server/appServer.js +37 -12
  21. package/dist/server/appServer.js.map +1 -1
  22. package/dist/server/bootstrap.js +5 -1
  23. package/dist/server/bootstrap.js.map +1 -1
  24. package/dist/server/configUi/app.css +8 -0
  25. package/dist/server/configUi/app.js +93 -18
  26. package/dist/server/configUi/index.html +22 -13
  27. package/dist/server/configUi/workbench.css +28 -1
  28. package/dist/server/configUi/workbench.js +113 -18
  29. package/dist/server/installationRuntime.js +6 -2
  30. package/dist/server/installationRuntime.js.map +1 -1
  31. package/dist/server/instructions.js +7 -3
  32. package/dist/server/instructions.js.map +1 -1
  33. package/dist/server/ipcDispatch.js.map +1 -1
  34. package/dist/server/localConfig.js +55 -13
  35. package/dist/server/localConfig.js.map +1 -1
  36. package/dist/server/stdioServer.js +14 -3
  37. package/dist/server/stdioServer.js.map +1 -1
  38. package/dist/services/ai/subagents.js +1 -1
  39. package/dist/services/ai/subagents.js.map +1 -1
  40. package/dist/services/multimodal/storage.js +10 -1
  41. package/dist/services/multimodal/storage.js.map +1 -1
  42. package/dist/services/schedules/scheduleService.js +8 -1
  43. package/dist/services/schedules/scheduleService.js.map +1 -1
  44. package/dist/store/db.js +14 -0
  45. package/dist/store/db.js.map +1 -1
  46. package/dist/tools/agentRuntimeTools.js +2 -3
  47. package/dist/tools/agentRuntimeTools.js.map +1 -1
  48. package/dist/tools/context.js +85 -5
  49. package/dist/tools/context.js.map +1 -1
  50. package/dist/tools/surface.js +97 -46
  51. package/dist/tools/surface.js.map +1 -1
  52. package/dist/tunnel/control.js +11 -4
  53. package/dist/tunnel/control.js.map +1 -1
  54. package/dist/tunnel/log.js +32 -0
  55. package/dist/tunnel/log.js.map +1 -1
  56. package/dist/tunnel/supervisor.js +103 -24
  57. package/dist/tunnel/supervisor.js.map +1 -1
  58. package/docs/AI_PROVIDERS.md +6 -3
  59. package/docs/ARCHITECTURE.md +18 -6
  60. package/docs/AUTH.md +6 -0
  61. package/docs/COMPATIBILITY.md +3 -2
  62. package/docs/MANUAL_ACCEPTANCE.md +22 -6
  63. package/docs/PROJECTS.md +73 -2
  64. package/docs/RELEASE_1.2.0.md +75 -0
  65. package/docs/RELEASE_1.2.1.md +47 -0
  66. package/docs/RELEASE_NOTES.md +33 -0
  67. package/docs/SECURITY.md +37 -6
  68. package/docs/TEST_REPORT.md +101 -0
  69. package/docs/TUNNEL.md +79 -16
  70. package/docs/WEB_CLIENTS.md +6 -1
  71. package/docs/adr/048-persistent-connection-mode.md +3 -1
  72. package/docs/adr/050-cloudflare-local-and-project-access.md +67 -0
  73. package/docs/adr/README.md +1 -0
  74. package/package.json +3 -1
  75. package/schemas/global-config.schema.json +11 -0
  76. package/schemas/tools.compact.json +123 -3
  77. package/schemas/tools.hybrid.json +297 -3
  78. package/schemas/tools.json +828 -0
@@ -4,7 +4,7 @@ import { AgentCapabilities, AgentHypothesis, AgentHypothesisId, AgentIntent, Age
4
4
  import { digestOf } from '../util/hash.js';
5
5
  import { rollbackChangesTool } from './changeTools.js';
6
6
  import { CORE_TOOL_CATALOG } from './coreCatalog.js';
7
- import { defineTool, invokeToolDefinition } from './context.js';
7
+ import { defineTool, invokeToolDefinition, assertNoNestedRoutingContext } from './context.js';
8
8
  const read = { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false };
9
9
  const plan = { readOnlyHint: false, destructiveHint: false, idempotentHint: false, openWorldHint: false };
10
10
  const effect = { readOnlyHint: false, destructiveHint: true, idempotentHint: false, openWorldHint: true };
@@ -31,8 +31,7 @@ async function dispatch(args, ctx, targets) {
31
31
  if (!target || !targets.includes(target))
32
32
  throw new DodoError('INVALID_INPUT', `operation ${args.operation} is outside this managed agent dispatcher`);
33
33
  const raw = args.args ?? {};
34
- if ('workspaceId' in raw || 'workspaceEpoch' in raw)
35
- throw new DodoError('INVALID_INPUT', 'nested agent args must not contain workspaceId/workspaceEpoch');
34
+ assertNoNestedRoutingContext(raw, 'nested agent args');
36
35
  let ticket;
37
36
  try {
38
37
  ticket = service(ctx).beginOperation(ctx, args.runId, args.hypothesisId, target.name, raw, target.requiredScope);
@@ -1 +1 @@
1
- {"version":3,"file":"agentRuntimeTools.js","sourceRoot":"","sources":["../../src/tools/agentRuntimeTools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agentRuntimeTools.js","sourceRoot":"","sources":["../../src/tools/agentRuntimeTools.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,21 @@
1
1
  import { isOwner, projectAuthority } from '../security/projectAuthority.js';
2
+ import { accessMode } from '../security/accessMode.js';
2
3
  import { z } from 'zod';
3
4
  import { DodoError, toDodoError } from '../errors.js';
4
5
  import { decide, scopeSatisfied } from '../security/policy.js';
5
6
  import { okEnvelope, errorEnvelope, envelopeSchema, envelopeText } from './envelope.js';
6
7
  import { digestOf } from '../util/hash.js';
7
8
  import { requireLocalApproval } from '../security/approvals.js';
8
- const TARGET_PROJECT = { targetProjectId: z.string().regex(/^prj_[0-9a-hjkmnp-tv-z]{8,64}$/).optional().describe("Explicit owner-registered target; use its project_overview context") };
9
+ const TARGET_PROJECT = {
10
+ targetProjectId: z.string().regex(/^prj_[0-9a-hjkmnp-tv-z]{8,64}$/).optional().describe("Explicit owner-registered target; use its project_overview context"),
11
+ /**
12
+ * The owner-facing project name. Owners say "แก้โปรเจกต์ auto-upload", not a
13
+ * `prj_…` id, so a name is accepted anywhere the id is. It resolves to
14
+ * exactly one registered project the caller may see, or fails — it never
15
+ * guesses between same-named projects.
16
+ */
17
+ targetProject: z.string().min(1).max(120).optional().describe('Owner-registered project NAME to target (alternative to targetProjectId; must match exactly one project)'),
18
+ };
9
19
  const WORKSPACE_CONTEXT_FIELDS = {
10
20
  workspaceId: z.string().min(1).max(128).describe('Workspace id from project_overview'),
11
21
  workspaceEpoch: z.string().min(1).max(128).describe('Workspace epoch from project_overview (changes on server restart or workspace switch)'),
@@ -17,6 +27,68 @@ export function defineTool(def) {
17
27
  export function toolInputShape(def) {
18
28
  return { ...TARGET_PROJECT, ...(def.noWorkspaceContext ? {} : WORKSPACE_CONTEXT_FIELDS), ...def.input };
19
29
  }
30
+ /**
31
+ * Fields that choose WHICH workspace/project a call runs against. They are only
32
+ * ever read from the top level. A nested `args` object carrying one is an
33
+ * attempt to re-route a call past the checks its gateway already performed, so
34
+ * every dispatcher rejects them through this one list.
35
+ */
36
+ export const ROUTING_CONTEXT_KEYS = ['workspaceId', 'workspaceEpoch', 'targetProjectId', 'targetProject'];
37
+ export function assertNoNestedRoutingContext(raw, what = 'args') {
38
+ const found = ROUTING_CONTEXT_KEYS.filter((key) => key in raw);
39
+ if (found.length === 0)
40
+ return;
41
+ throw new DodoError('INVALID_INPUT', `${what} must not carry ${found.join('/')}; the caller takes routing and workspace context from its top-level fields`, {
42
+ recovery: `remove ${found.join(' and ')} from ${what}; keep them only at the top level of the call`,
43
+ });
44
+ }
45
+ /** True when a call explicitly routes to another registered project. */
46
+ export function hasExplicitProjectTarget(args) {
47
+ return typeof args?.['targetProjectId'] === 'string' || typeof args?.['targetProject'] === 'string';
48
+ }
49
+ /**
50
+ * Resolve the explicit project target of a call to a single project id.
51
+ *
52
+ * Accepts `targetProjectId` (stable id) and/or `targetProject` (the owner-facing
53
+ * NAME). Resolution is deterministic and fail-closed:
54
+ * - a name matches case-insensitively after trimming, against ONLY the projects
55
+ * this principal may already read, so it can never confirm the existence of a
56
+ * project the caller is not allowed to see;
57
+ * - two projects sharing a name is an error listing the visible candidates,
58
+ * never a guess — picking wrong would route an edit into another repository;
59
+ * - supplying both an id and a name that disagree is an error.
60
+ */
61
+ function resolveTargetProject(args, services, principal) {
62
+ const byId = args['targetProjectId'];
63
+ const byName = args['targetProject'];
64
+ if (byName === undefined)
65
+ return byId;
66
+ if (typeof byName !== 'string' || byName.trim().length === 0)
67
+ throw new DodoError('INVALID_INPUT', 'targetProject must be a non-empty project name');
68
+ if (!services.installation)
69
+ throw new DodoError('NOT_SUPPORTED', 'explicit project routing is unavailable');
70
+ const wanted = byName.trim().toLowerCase();
71
+ const visible = services.installation.list(principal);
72
+ const matches = visible.filter((p) => p.displayName.trim().toLowerCase() === wanted);
73
+ if (matches.length === 0) {
74
+ throw new DodoError('NOT_FOUND', `no registered project named "${byName.trim()}" is available to this client`, {
75
+ recovery: 'call project_overview to list the projects this client may use, then use the exact name or its targetProjectId',
76
+ });
77
+ }
78
+ if (matches.length > 1) {
79
+ throw new DodoError('CONFLICT', `"${byName.trim()}" matches ${matches.length} registered projects`, {
80
+ recovery: 'rename the projects in Local Config so each name is unique, or pass the exact targetProjectId',
81
+ detail: { candidates: matches.map((p) => ({ projectId: p.projectId, displayName: p.displayName })) },
82
+ });
83
+ }
84
+ const resolved = matches[0].projectId;
85
+ if (byId !== undefined && byId !== resolved) {
86
+ throw new DodoError('INVALID_INPUT', 'targetProjectId and targetProject refer to different projects', {
87
+ recovery: 'send only one of them',
88
+ });
89
+ }
90
+ return resolved;
91
+ }
20
92
  export async function invokeToolDefinition(opts) {
21
93
  const { def } = opts;
22
94
  let services = opts.services;
@@ -29,7 +101,9 @@ export async function invokeToolDefinition(opts) {
29
101
  let extraBlocks = [];
30
102
  try {
31
103
  principal = typeof opts.principal === 'function' ? opts.principal() : opts.principal;
32
- const targetId = opts.args['targetProjectId'];
104
+ // A name is resolved to an id BEFORE any routing happens, so everything
105
+ // downstream (lease acquisition, authority, audit) sees one canonical id.
106
+ const targetId = resolveTargetProject(opts.args, services, principal);
33
107
  if (targetId !== undefined) {
34
108
  if (typeof targetId !== 'string' || 'projectId' in opts.args || 'projectIds' in opts.args || (opts.args['args'] && typeof opts.args['args'] === 'object' && ('projectId' in opts.args['args'] || 'projectIds' in opts.args['args'])))
35
109
  throw new DodoError('INVALID_INPUT', 'ambiguous project routing');
@@ -50,8 +124,14 @@ export async function invokeToolDefinition(opts) {
50
124
  return { envelope: { ...okEnvelope(ws, { selectProjectRequired: true, projects }), workspaceId: null, workspaceEpoch: null }, extraBlocks: [] };
51
125
  }
52
126
  }
53
- if (principal.scopes.length === 0)
54
- throw new DodoError('WORKSPACE_ACCESS_REQUIRED', 'Owner must allow this client for the active workspace in private Local Config; OAuth login is retained');
127
+ if (principal.scopes.length === 0) {
128
+ // Personal mode never asks the owner to assign a per-workspace ACL; an
129
+ // empty scope set there means the OAuth grant itself carries no usable
130
+ // scope for this project, or the project's access level removed them.
131
+ throw new DodoError('WORKSPACE_ACCESS_REQUIRED', accessMode(services.store) === 'personal'
132
+ ? 'This client has no usable scope for this project. Check the project access level in Local Config > Projects, or reconnect the client with the scopes you need; OAuth login is retained'
133
+ : 'Owner must allow this client for the active workspace in private Local Config; OAuth login is retained');
134
+ }
55
135
  if (!scopeSatisfied(def.requiredScope, principal.scopes)) {
56
136
  throw new DodoError('FORBIDDEN', `this tool requires the ${def.requiredScope} scope`, {
57
137
  detail: { requiredScope: def.requiredScope },
@@ -171,7 +251,7 @@ export function registerTool(server, services, def) {
171
251
  // the envelope contract instead of surfacing as a raw SDK text error.
172
252
  let release;
173
253
  try {
174
- if (args['targetProjectId'] === undefined)
254
+ if (!hasExplicitProjectTarget(args))
175
255
  release = services.beginTool?.();
176
256
  }
177
257
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/tools/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/tools/context.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { z } from 'zod';
2
2
  import { DodoError, fromErrorInfo } from '../errors.js';
3
3
  import { digestOf } from '../util/hash.js';
4
4
  import { TOOL_CATALOG } from './catalog.js';
5
- import { defineTool, registerTool, invokeToolDefinition, toolInputShape, } from './context.js';
5
+ import { defineTool, registerTool, invokeToolDefinition, toolInputShape, assertNoNestedRoutingContext } from './context.js';
6
6
  import { envelopeSchema } from './envelope.js';
7
7
  const SUBAGENT_OPERATION_NAMES = new Set(['subagent_spawn', 'subagent_status', 'subagent_result', 'subagent_control']);
8
8
  /**
@@ -200,12 +200,57 @@ const GATEWAY_SPECS = [
200
200
  const SCOPE_RANK = { 'dodo:read': 0, 'dodo:write': 1, 'dodo:exec': 2 };
201
201
  const byName = new Map(TOOL_CATALOG.map((d) => [d.name, d]));
202
202
  function gatewaySpecsFor(features) {
203
- if (features.subagents)
204
- return GATEWAY_SPECS;
203
+ const disabled = disabledOperationsFor(features.disabledDiscoverOperations ?? []);
205
204
  return GATEWAY_SPECS.map((spec) => ({
206
205
  ...spec,
207
- operations: spec.operations.filter((operation) => !SUBAGENT_OPERATION_NAMES.has(operation)),
206
+ operations: spec.operations.filter((operation) => !disabled.has(operation) && (features.subagents || !SUBAGENT_OPERATION_NAMES.has(operation))),
207
+ })).filter((spec) => spec.operations.length > 0);
208
+ }
209
+ const DISCOVER_OPERATION_ORDER = GATEWAY_SPECS.flatMap((spec) => spec.operations);
210
+ const DISCOVER_OPERATION_SET = new Set(DISCOVER_OPERATION_ORDER);
211
+ /**
212
+ * Validate and canonicalize the owner-controlled hidden-operation list. A
213
+ * stale or misspelled name must never silently hide a different capability.
214
+ */
215
+ export function normalizeDisabledDiscoverOperations(values) {
216
+ const requested = new Set(values);
217
+ const unknown = [...requested].filter((operation) => !DISCOVER_OPERATION_SET.has(operation));
218
+ if (unknown.length > 0) {
219
+ throw new DodoError('INVALID_INPUT', `unknown discover operation: ${unknown.join(', ')}`, {
220
+ detail: { fields: ['disabledDiscoverOperations'], unknownOperations: unknown },
221
+ recovery: 'reload the tool visibility page and choose operations from the current list',
222
+ });
223
+ }
224
+ return DISCOVER_OPERATION_ORDER.filter((operation) => requested.has(operation));
225
+ }
226
+ function disabledOperationsFor(values) {
227
+ return new Set(normalizeDisabledDiscoverOperations(values));
228
+ }
229
+ /** Safe metadata for the owner-only Local Config visibility editor. */
230
+ export function discoverExposure(features) {
231
+ const disabled = disabledOperationsFor(features.disabledDiscoverOperations ?? []);
232
+ const operations = GATEWAY_SPECS.flatMap((spec) => spec.operations.map((operation) => {
233
+ const def = targetOf(operation);
234
+ const requiresSubagents = SUBAGENT_OPERATION_NAMES.has(operation);
235
+ return {
236
+ operation,
237
+ title: def.title,
238
+ description: def.description,
239
+ gateway: spec.name,
240
+ gatewayTitle: spec.title,
241
+ domain: spec.domain,
242
+ requiredScope: def.requiredScope,
243
+ action: def.action,
244
+ requiresSubagents,
245
+ enabled: !disabled.has(operation) && (features.subagents || !requiresSubagents),
246
+ };
208
247
  }));
248
+ return {
249
+ operations,
250
+ enabledCount: operations.filter((operation) => operation.enabled).length,
251
+ totalCount: operations.length,
252
+ gatewayCount: gatewaySpecsFor(features).length,
253
+ };
209
254
  }
210
255
  function targetOf(operation) {
211
256
  const def = byName.get(operation);
@@ -288,11 +333,7 @@ function buildGateway(spec) {
288
333
  handler: async (args, ctx) => {
289
334
  const target = targetOf(args.operation);
290
335
  const raw = (args.args ?? {});
291
- if ('workspaceId' in raw || 'workspaceEpoch' in raw || 'targetProjectId' in raw) {
292
- throw new DodoError('INVALID_INPUT', 'args must not carry workspaceId/workspaceEpoch; the gateway takes them from its top-level fields', {
293
- recovery: 'remove workspaceId and workspaceEpoch from args; keep them only at the top level of the gateway call',
294
- });
295
- }
336
+ assertNoNestedRoutingContext(raw);
296
337
  const merged = target.noWorkspaceContext
297
338
  ? { ...raw }
298
339
  : { ...raw, workspaceId: args['workspaceId'], workspaceEpoch: args['workspaceEpoch'] };
@@ -501,7 +542,7 @@ const fullOverviewWithoutSubagents = defineTool({
501
542
  return { ...result, data: overviewDataForExposure(result.data, false) };
502
543
  },
503
544
  });
504
- function overviewFor(surface, counts, subagents) {
545
+ function overviewFor(surface, counts, subagents, hiddenOperationCount = 0) {
505
546
  const hint = surface === 'compact'
506
547
  ? ' This connection uses the COMPACT tool surface: capabilities are invoked through dodo_* gateway tools; call dodo_discover to find an operation and its exact schema.'
507
548
  : ' This connection uses the HYBRID tool surface: common coding tools are available directly, and every other capability is invoked through the dodo_* gateway tools; call dodo_discover to find an operation and its exact schema.';
@@ -521,13 +562,13 @@ function overviewFor(surface, counts, subagents) {
521
562
  fullToolCount: counts.full,
522
563
  ...(surface === 'hybrid' ? { hybridToolCount: counts.hybrid } : {}),
523
564
  mcpSubagentsEnabled: subagents,
565
+ hiddenCompactOperationCount: hiddenOperationCount,
524
566
  },
525
567
  };
526
568
  },
527
569
  });
528
570
  }
529
571
  const ALL_FEATURES = { subagents: true };
530
- const DEFAULT_FEATURES = { subagents: false };
531
572
  const ALL_COUNTS = { compact: 2 + GATEWAY_SPECS.length, full: TOOL_CATALOG.length, hybrid: 2 + GATEWAY_SPECS.length + 29 };
532
573
  const GATEWAYS = GATEWAY_SPECS.map(buildGateway);
533
574
  const discoverTool = buildDiscoverTool(GATEWAY_SPECS, TOOL_CATALOG);
@@ -584,42 +625,52 @@ export const HYBRID_CATALOG = [overviewFor('hybrid', ALL_COUNTS, true), discover
584
625
  throw new Error(`hybrid direct tool ${op} is not gateway-covered`);
585
626
  }
586
627
  }
587
- const MCP_TOOL_CATALOG_WITHOUT_SUBAGENTS = TOOL_CATALOG
588
- .filter((def) => !SUBAGENT_OPERATION_NAMES.has(def.name))
589
- .map((def) => def.name === 'project_overview' ? fullOverviewWithoutSubagents : def);
590
- const GATEWAY_SPECS_WITHOUT_SUBAGENTS = gatewaySpecsFor(DEFAULT_FEATURES);
591
- const GATEWAYS_WITHOUT_SUBAGENTS = GATEWAY_SPECS_WITHOUT_SUBAGENTS.map(buildGateway);
592
- const COUNTS_WITHOUT_SUBAGENTS = {
593
- compact: 2 + GATEWAY_SPECS_WITHOUT_SUBAGENTS.length,
594
- full: MCP_TOOL_CATALOG_WITHOUT_SUBAGENTS.length,
595
- hybrid: 2 + GATEWAY_SPECS_WITHOUT_SUBAGENTS.length + HYBRID_DIRECT_OPERATIONS.length,
596
- };
597
- const DISCOVER_WITHOUT_SUBAGENTS = buildDiscoverTool(GATEWAY_SPECS_WITHOUT_SUBAGENTS, MCP_TOOL_CATALOG_WITHOUT_SUBAGENTS);
598
- const COMPACT_CATALOG_WITHOUT_SUBAGENTS = [
599
- overviewFor('compact', COUNTS_WITHOUT_SUBAGENTS, false),
600
- DISCOVER_WITHOUT_SUBAGENTS,
601
- ...GATEWAYS_WITHOUT_SUBAGENTS,
602
- ];
603
- const HYBRID_CATALOG_WITHOUT_SUBAGENTS = [
604
- overviewFor('hybrid', COUNTS_WITHOUT_SUBAGENTS, false),
605
- DISCOVER_WITHOUT_SUBAGENTS,
606
- ...GATEWAYS_WITHOUT_SUBAGENTS,
607
- ...HYBRID_DIRECT_OPERATIONS.map(targetOf),
608
- ];
628
+ const surfaceCache = new Map();
629
+ function featureKey(features) {
630
+ const disabled = normalizeDisabledDiscoverOperations(features.disabledDiscoverOperations ?? []);
631
+ return `${features.subagents ? 'subagents' : 'no-subagents'}:${disabled.join(',')}`;
632
+ }
633
+ function buildSurfaces(features) {
634
+ const disabled = normalizeDisabledDiscoverOperations(features.disabledDiscoverOperations ?? []);
635
+ const disabledSet = new Set(disabled);
636
+ const specs = gatewaySpecsFor({ ...features, disabledDiscoverOperations: disabled });
637
+ const full = features.subagents
638
+ ? TOOL_CATALOG
639
+ : TOOL_CATALOG
640
+ .filter((def) => !SUBAGENT_OPERATION_NAMES.has(def.name))
641
+ .map((def) => def.name === 'project_overview' ? fullOverviewWithoutSubagents : def);
642
+ const direct = HYBRID_DIRECT_OPERATIONS
643
+ .filter((operation) => !disabledSet.has(operation))
644
+ .map(targetOf);
645
+ const counts = {
646
+ compact: 2 + specs.length,
647
+ full: full.length,
648
+ hybrid: 2 + specs.length + direct.length,
649
+ };
650
+ const gateways = specs.map(buildGateway);
651
+ const discover = buildDiscoverTool(specs, full);
652
+ return {
653
+ compact: [overviewFor('compact', counts, features.subagents, disabled.length), discover, ...gateways],
654
+ full,
655
+ hybrid: [overviewFor('hybrid', counts, features.subagents, disabled.length), discover, ...gateways, ...direct],
656
+ };
657
+ }
658
+ function surfacesFor(features) {
659
+ const disabled = normalizeDisabledDiscoverOperations(features.disabledDiscoverOperations ?? []);
660
+ if (disabled.length === 0 && features.subagents) {
661
+ return { compact: COMPACT_CATALOG, full: TOOL_CATALOG, hybrid: HYBRID_CATALOG };
662
+ }
663
+ const key = featureKey({ ...features, disabledDiscoverOperations: disabled });
664
+ let cached = surfaceCache.get(key);
665
+ if (!cached) {
666
+ cached = buildSurfaces({ ...features, disabledDiscoverOperations: disabled });
667
+ surfaceCache.set(key, cached);
668
+ }
669
+ return cached;
670
+ }
609
671
  // ------------------------------------------------------------- surface API --
610
672
  export function surfaceCatalog(surface, features = ALL_FEATURES) {
611
- if (features.subagents) {
612
- if (surface === 'compact')
613
- return COMPACT_CATALOG;
614
- if (surface === 'hybrid')
615
- return HYBRID_CATALOG;
616
- return TOOL_CATALOG;
617
- }
618
- if (surface === 'compact')
619
- return COMPACT_CATALOG_WITHOUT_SUBAGENTS;
620
- if (surface === 'hybrid')
621
- return HYBRID_CATALOG_WITHOUT_SUBAGENTS;
622
- return MCP_TOOL_CATALOG_WITHOUT_SUBAGENTS;
673
+ return surfacesFor(features)[surface];
623
674
  }
624
675
  export function registerSurface(server, services, surface, features = ALL_FEATURES) {
625
676
  for (const def of surfaceCatalog(surface, features))
@@ -634,7 +685,7 @@ const statsCache = new Map();
634
685
  * Never includes request data or tokens.
635
686
  */
636
687
  export function surfaceStats(surface, features = ALL_FEATURES) {
637
- const cacheKey = `${surface}:${features.subagents ? 'subagents' : 'no-subagents'}`;
688
+ const cacheKey = `${surface}:${featureKey(features)}`;
638
689
  let cached = statsCache.get(cacheKey);
639
690
  if (!cached) {
640
691
  const tools = surfaceCatalog(surface, features).map((def) => ({
@@ -1 +1 @@
1
- {"version":3,"file":"surface.js","sourceRoot":"","sources":["../../src/tools/surface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"surface.js","sourceRoot":"","sources":["../../src/tools/surface.ts"],"names":[],"mappings":"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"}