@namzu/sdk 3.1.0 → 3.3.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 (297) hide show
  1. package/CHANGELOG.md +221 -0
  2. package/dist/advisory/__tests__/consultation-context.test.d.ts +2 -0
  3. package/dist/advisory/__tests__/consultation-context.test.d.ts.map +1 -0
  4. package/dist/advisory/__tests__/consultation-context.test.js +124 -0
  5. package/dist/advisory/__tests__/consultation-context.test.js.map +1 -0
  6. package/dist/advisory/context.d.ts +25 -0
  7. package/dist/advisory/context.d.ts.map +1 -1
  8. package/dist/advisory/context.js +18 -0
  9. package/dist/advisory/context.js.map +1 -1
  10. package/dist/advisory/executor.d.ts.map +1 -1
  11. package/dist/advisory/executor.js +25 -3
  12. package/dist/advisory/executor.js.map +1 -1
  13. package/dist/agents/SupervisorAgent.d.ts.map +1 -1
  14. package/dist/agents/SupervisorAgent.js +6 -0
  15. package/dist/agents/SupervisorAgent.js.map +1 -1
  16. package/dist/agents/__tests__/supervisor-hands-down-hitl.test.d.ts +2 -0
  17. package/dist/agents/__tests__/supervisor-hands-down-hitl.test.d.ts.map +1 -0
  18. package/dist/agents/__tests__/supervisor-hands-down-hitl.test.js +112 -0
  19. package/dist/agents/__tests__/supervisor-hands-down-hitl.test.js.map +1 -0
  20. package/dist/compaction/__tests__/context-reducer.test.d.ts +2 -0
  21. package/dist/compaction/__tests__/context-reducer.test.d.ts.map +1 -0
  22. package/dist/compaction/__tests__/context-reducer.test.js +197 -0
  23. package/dist/compaction/__tests__/context-reducer.test.js.map +1 -0
  24. package/dist/compaction/factory.d.ts +7 -0
  25. package/dist/compaction/factory.d.ts.map +1 -1
  26. package/dist/compaction/factory.js +7 -0
  27. package/dist/compaction/factory.js.map +1 -1
  28. package/dist/compaction/index.d.ts +2 -0
  29. package/dist/compaction/index.d.ts.map +1 -1
  30. package/dist/compaction/index.js +1 -0
  31. package/dist/compaction/index.js.map +1 -1
  32. package/dist/compaction/interface.d.ts +13 -0
  33. package/dist/compaction/interface.d.ts.map +1 -1
  34. package/dist/compaction/managers/null.d.ts +3 -0
  35. package/dist/compaction/managers/null.d.ts.map +1 -1
  36. package/dist/compaction/managers/null.js +3 -0
  37. package/dist/compaction/managers/null.js.map +1 -1
  38. package/dist/compaction/managers/slidingWindow.d.ts +6 -0
  39. package/dist/compaction/managers/slidingWindow.d.ts.map +1 -1
  40. package/dist/compaction/managers/slidingWindow.js +6 -0
  41. package/dist/compaction/managers/slidingWindow.js.map +1 -1
  42. package/dist/compaction/managers/structured.d.ts +10 -0
  43. package/dist/compaction/managers/structured.d.ts.map +1 -1
  44. package/dist/compaction/managers/structured.js +10 -0
  45. package/dist/compaction/managers/structured.js.map +1 -1
  46. package/dist/compaction/reducer.d.ts +86 -0
  47. package/dist/compaction/reducer.d.ts.map +1 -0
  48. package/dist/compaction/reducer.js +77 -0
  49. package/dist/compaction/reducer.js.map +1 -0
  50. package/dist/connector/builtins/__tests__/oauth2-auth.test.d.ts +2 -0
  51. package/dist/connector/builtins/__tests__/oauth2-auth.test.d.ts.map +1 -0
  52. package/dist/connector/builtins/__tests__/oauth2-auth.test.js +54 -0
  53. package/dist/connector/builtins/__tests__/oauth2-auth.test.js.map +1 -0
  54. package/dist/connector/builtins/http.d.ts.map +1 -1
  55. package/dist/connector/builtins/http.js +24 -2
  56. package/dist/connector/builtins/http.js.map +1 -1
  57. package/dist/connector/builtins/http.test.js +18 -2
  58. package/dist/connector/builtins/http.test.js.map +1 -1
  59. package/dist/connector/index.d.ts +3 -2
  60. package/dist/connector/index.d.ts.map +1 -1
  61. package/dist/connector/index.js +2 -1
  62. package/dist/connector/index.js.map +1 -1
  63. package/dist/connector/mcp/__tests__/prompt-as-tool.test.d.ts +2 -0
  64. package/dist/connector/mcp/__tests__/prompt-as-tool.test.d.ts.map +1 -0
  65. package/dist/connector/mcp/__tests__/prompt-as-tool.test.js +122 -0
  66. package/dist/connector/mcp/__tests__/prompt-as-tool.test.js.map +1 -0
  67. package/dist/connector/mcp/__tests__/prompts-and-lifecycle.test.d.ts +2 -0
  68. package/dist/connector/mcp/__tests__/prompts-and-lifecycle.test.d.ts.map +1 -0
  69. package/dist/connector/mcp/__tests__/prompts-and-lifecycle.test.js +214 -0
  70. package/dist/connector/mcp/__tests__/prompts-and-lifecycle.test.js.map +1 -0
  71. package/dist/connector/mcp/client.d.ts +52 -1
  72. package/dist/connector/mcp/client.d.ts.map +1 -1
  73. package/dist/connector/mcp/client.js +86 -0
  74. package/dist/connector/mcp/client.js.map +1 -1
  75. package/dist/connector/mcp/discovery.d.ts +27 -2
  76. package/dist/connector/mcp/discovery.d.ts.map +1 -1
  77. package/dist/connector/mcp/discovery.js +58 -5
  78. package/dist/connector/mcp/discovery.js.map +1 -1
  79. package/dist/connector/mcp/index.d.ts +4 -3
  80. package/dist/connector/mcp/index.d.ts.map +1 -1
  81. package/dist/connector/mcp/index.js +3 -2
  82. package/dist/connector/mcp/index.js.map +1 -1
  83. package/dist/connector/mcp/policy.d.ts +17 -0
  84. package/dist/connector/mcp/policy.d.ts.map +1 -1
  85. package/dist/connector/mcp/policy.js +18 -7
  86. package/dist/connector/mcp/policy.js.map +1 -1
  87. package/dist/connector/mcp/prompt-adapter.d.ts +39 -0
  88. package/dist/connector/mcp/prompt-adapter.d.ts.map +1 -0
  89. package/dist/connector/mcp/prompt-adapter.js +113 -0
  90. package/dist/connector/mcp/prompt-adapter.js.map +1 -0
  91. package/dist/connector/mcp/server.d.ts +42 -1
  92. package/dist/connector/mcp/server.d.ts.map +1 -1
  93. package/dist/connector/mcp/server.js +77 -4
  94. package/dist/connector/mcp/server.js.map +1 -1
  95. package/dist/manager/agent/__tests__/depth-limit-authority.test.d.ts +2 -0
  96. package/dist/manager/agent/__tests__/depth-limit-authority.test.d.ts.map +1 -0
  97. package/dist/manager/agent/__tests__/depth-limit-authority.test.js +58 -0
  98. package/dist/manager/agent/__tests__/depth-limit-authority.test.js.map +1 -0
  99. package/dist/manager/agent/__tests__/hitl-across-spawn.test.d.ts +2 -0
  100. package/dist/manager/agent/__tests__/hitl-across-spawn.test.d.ts.map +1 -0
  101. package/dist/manager/agent/__tests__/hitl-across-spawn.test.js +226 -0
  102. package/dist/manager/agent/__tests__/hitl-across-spawn.test.js.map +1 -0
  103. package/dist/manager/agent/lifecycle.d.ts.map +1 -1
  104. package/dist/manager/agent/lifecycle.js +13 -0
  105. package/dist/manager/agent/lifecycle.js.map +1 -1
  106. package/dist/plugin/__tests__/discovery-scopes.test.d.ts +2 -0
  107. package/dist/plugin/__tests__/discovery-scopes.test.d.ts.map +1 -0
  108. package/dist/plugin/__tests__/discovery-scopes.test.js +97 -0
  109. package/dist/plugin/__tests__/discovery-scopes.test.js.map +1 -0
  110. package/dist/plugin/__tests__/enable-contributions.test.js +5 -1
  111. package/dist/plugin/__tests__/enable-contributions.test.js.map +1 -1
  112. package/dist/plugin/__tests__/mcp-admission.test.d.ts +2 -0
  113. package/dist/plugin/__tests__/mcp-admission.test.d.ts.map +1 -0
  114. package/dist/plugin/__tests__/mcp-admission.test.js +227 -0
  115. package/dist/plugin/__tests__/mcp-admission.test.js.map +1 -0
  116. package/dist/plugin/lifecycle.d.ts +41 -0
  117. package/dist/plugin/lifecycle.d.ts.map +1 -1
  118. package/dist/plugin/lifecycle.js +39 -1
  119. package/dist/plugin/lifecycle.js.map +1 -1
  120. package/dist/plugin/loader.d.ts +39 -3
  121. package/dist/plugin/loader.d.ts.map +1 -1
  122. package/dist/plugin/loader.js +37 -4
  123. package/dist/plugin/loader.js.map +1 -1
  124. package/dist/public-runtime.d.ts +4 -2
  125. package/dist/public-runtime.d.ts.map +1 -1
  126. package/dist/public-runtime.js +5 -2
  127. package/dist/public-runtime.js.map +1 -1
  128. package/dist/public-types.d.ts +2 -2
  129. package/dist/public-types.d.ts.map +1 -1
  130. package/dist/rag/__tests__/namespace-isolation.test.d.ts +2 -0
  131. package/dist/rag/__tests__/namespace-isolation.test.d.ts.map +1 -0
  132. package/dist/rag/__tests__/namespace-isolation.test.js +80 -0
  133. package/dist/rag/__tests__/namespace-isolation.test.js.map +1 -0
  134. package/dist/rag/ingestion.d.ts.map +1 -1
  135. package/dist/rag/ingestion.js +1 -0
  136. package/dist/rag/ingestion.js.map +1 -1
  137. package/dist/rag/retriever.d.ts.map +1 -1
  138. package/dist/rag/retriever.js +2 -0
  139. package/dist/rag/retriever.js.map +1 -1
  140. package/dist/rag/vector-store.d.ts.map +1 -1
  141. package/dist/rag/vector-store.js +6 -0
  142. package/dist/rag/vector-store.js.map +1 -1
  143. package/dist/registry/tool/execute.d.ts.map +1 -1
  144. package/dist/registry/tool/execute.js +113 -109
  145. package/dist/registry/tool/execute.js.map +1 -1
  146. package/dist/runtime/query/__tests__/per-step-skills.test.d.ts +10 -0
  147. package/dist/runtime/query/__tests__/per-step-skills.test.d.ts.map +1 -0
  148. package/dist/runtime/query/__tests__/per-step-skills.test.js +122 -0
  149. package/dist/runtime/query/__tests__/per-step-skills.test.js.map +1 -0
  150. package/dist/runtime/query/__tests__/per-step-tool-choice.test.d.ts +2 -0
  151. package/dist/runtime/query/__tests__/per-step-tool-choice.test.d.ts.map +1 -0
  152. package/dist/runtime/query/__tests__/per-step-tool-choice.test.js +153 -0
  153. package/dist/runtime/query/__tests__/per-step-tool-choice.test.js.map +1 -0
  154. package/dist/runtime/query/__tests__/resume-run.test.d.ts +2 -0
  155. package/dist/runtime/query/__tests__/resume-run.test.d.ts.map +1 -0
  156. package/dist/runtime/query/__tests__/resume-run.test.js +211 -0
  157. package/dist/runtime/query/__tests__/resume-run.test.js.map +1 -0
  158. package/dist/runtime/query/index.d.ts +10 -0
  159. package/dist/runtime/query/index.d.ts.map +1 -1
  160. package/dist/runtime/query/index.js +26 -0
  161. package/dist/runtime/query/index.js.map +1 -1
  162. package/dist/runtime/query/iteration/index.d.ts.map +1 -1
  163. package/dist/runtime/query/iteration/index.js +50 -33
  164. package/dist/runtime/query/iteration/index.js.map +1 -1
  165. package/dist/runtime/query/iteration/phases/compaction-model-routing.test.d.ts +2 -0
  166. package/dist/runtime/query/iteration/phases/compaction-model-routing.test.d.ts.map +1 -0
  167. package/dist/runtime/query/iteration/phases/compaction-model-routing.test.js +96 -0
  168. package/dist/runtime/query/iteration/phases/compaction-model-routing.test.js.map +1 -0
  169. package/dist/runtime/query/iteration/phases/compaction.d.ts.map +1 -1
  170. package/dist/runtime/query/iteration/phases/compaction.js +95 -5
  171. package/dist/runtime/query/iteration/phases/compaction.js.map +1 -1
  172. package/dist/runtime/query/iteration/phases/context-reducer-dispatch.test.d.ts +2 -0
  173. package/dist/runtime/query/iteration/phases/context-reducer-dispatch.test.d.ts.map +1 -0
  174. package/dist/runtime/query/iteration/phases/context-reducer-dispatch.test.js +180 -0
  175. package/dist/runtime/query/iteration/phases/context-reducer-dispatch.test.js.map +1 -0
  176. package/dist/runtime/query/iteration/phases/context.d.ts +9 -0
  177. package/dist/runtime/query/iteration/phases/context.d.ts.map +1 -1
  178. package/dist/runtime/query/iteration/phases/context.js.map +1 -1
  179. package/dist/runtime/query/resume-run.d.ts +70 -0
  180. package/dist/runtime/query/resume-run.d.ts.map +1 -0
  181. package/dist/runtime/query/resume-run.js +46 -0
  182. package/dist/runtime/query/resume-run.js.map +1 -0
  183. package/dist/telemetry/__tests__/model-call-span.test.d.ts +2 -0
  184. package/dist/telemetry/__tests__/model-call-span.test.d.ts.map +1 -0
  185. package/dist/telemetry/__tests__/model-call-span.test.js +152 -0
  186. package/dist/telemetry/__tests__/model-call-span.test.js.map +1 -0
  187. package/dist/telemetry/__tests__/span-closure.test.d.ts +2 -0
  188. package/dist/telemetry/__tests__/span-closure.test.d.ts.map +1 -0
  189. package/dist/telemetry/__tests__/span-closure.test.js +124 -0
  190. package/dist/telemetry/__tests__/span-closure.test.js.map +1 -0
  191. package/dist/tools/advisory/index.js +1 -1
  192. package/dist/tools/advisory/index.js.map +1 -1
  193. package/dist/tools/coordinator/__tests__/plan-dependencies.test.d.ts +2 -0
  194. package/dist/tools/coordinator/__tests__/plan-dependencies.test.d.ts.map +1 -0
  195. package/dist/tools/coordinator/__tests__/plan-dependencies.test.js +126 -0
  196. package/dist/tools/coordinator/__tests__/plan-dependencies.test.js.map +1 -0
  197. package/dist/tools/coordinator/index.d.ts.map +1 -1
  198. package/dist/tools/coordinator/index.js +13 -1
  199. package/dist/tools/coordinator/index.js.map +1 -1
  200. package/dist/tools/coordinator/plan-dependencies.d.ts +43 -0
  201. package/dist/tools/coordinator/plan-dependencies.d.ts.map +1 -0
  202. package/dist/tools/coordinator/plan-dependencies.js +148 -0
  203. package/dist/tools/coordinator/plan-dependencies.js.map +1 -0
  204. package/dist/types/agent/base.d.ts +26 -0
  205. package/dist/types/agent/base.d.ts.map +1 -1
  206. package/dist/types/agent/supervisor.d.ts +15 -0
  207. package/dist/types/agent/supervisor.d.ts.map +1 -1
  208. package/dist/types/agent/task.d.ts +17 -0
  209. package/dist/types/agent/task.d.ts.map +1 -1
  210. package/dist/types/agent/task.js.map +1 -1
  211. package/dist/types/connector/core.d.ts +34 -0
  212. package/dist/types/connector/core.d.ts.map +1 -1
  213. package/dist/types/connector/definition.d.ts +10 -0
  214. package/dist/types/connector/definition.d.ts.map +1 -1
  215. package/dist/types/connector/mcp.d.ts +13 -0
  216. package/dist/types/connector/mcp.d.ts.map +1 -1
  217. package/dist/types/rag/retrieval.d.ts +16 -0
  218. package/dist/types/rag/retrieval.d.ts.map +1 -1
  219. package/dist/types/rag/storage.d.ts +9 -0
  220. package/dist/types/rag/storage.d.ts.map +1 -1
  221. package/dist/types/rag/vector.d.ts +11 -0
  222. package/dist/types/rag/vector.d.ts.map +1 -1
  223. package/dist/types/router/task-router.d.ts +19 -0
  224. package/dist/types/router/task-router.d.ts.map +1 -1
  225. package/dist/types/run/prepare-step.d.ts +56 -3
  226. package/dist/types/run/prepare-step.d.ts.map +1 -1
  227. package/dist/types/toolset/index.d.ts +22 -0
  228. package/dist/types/toolset/index.d.ts.map +1 -1
  229. package/package.json +1 -1
  230. package/src/advisory/__tests__/consultation-context.test.ts +191 -0
  231. package/src/advisory/context.ts +32 -0
  232. package/src/advisory/executor.ts +30 -3
  233. package/src/agents/SupervisorAgent.ts +6 -0
  234. package/src/agents/__tests__/supervisor-hands-down-hitl.test.ts +131 -0
  235. package/src/compaction/__tests__/context-reducer.test.ts +239 -0
  236. package/src/compaction/factory.ts +7 -0
  237. package/src/compaction/index.ts +8 -0
  238. package/src/compaction/interface.ts +13 -0
  239. package/src/compaction/managers/null.ts +3 -0
  240. package/src/compaction/managers/slidingWindow.ts +6 -0
  241. package/src/compaction/managers/structured.ts +10 -0
  242. package/src/compaction/reducer.ts +154 -0
  243. package/src/connector/builtins/__tests__/oauth2-auth.test.ts +73 -0
  244. package/src/connector/builtins/http.test.ts +28 -2
  245. package/src/connector/builtins/http.ts +26 -2
  246. package/src/connector/index.ts +7 -2
  247. package/src/connector/mcp/__tests__/prompt-as-tool.test.ts +157 -0
  248. package/src/connector/mcp/__tests__/prompts-and-lifecycle.test.ts +286 -0
  249. package/src/connector/mcp/client.ts +95 -0
  250. package/src/connector/mcp/discovery.ts +67 -5
  251. package/src/connector/mcp/index.ts +8 -3
  252. package/src/connector/mcp/policy.ts +23 -8
  253. package/src/connector/mcp/prompt-adapter.ts +139 -0
  254. package/src/connector/mcp/server.ts +101 -3
  255. package/src/manager/agent/__tests__/depth-limit-authority.test.ts +74 -0
  256. package/src/manager/agent/__tests__/hitl-across-spawn.test.ts +273 -0
  257. package/src/manager/agent/lifecycle.ts +12 -0
  258. package/src/plugin/__tests__/discovery-scopes.test.ts +133 -0
  259. package/src/plugin/__tests__/enable-contributions.test.ts +5 -1
  260. package/src/plugin/__tests__/mcp-admission.test.ts +286 -0
  261. package/src/plugin/lifecycle.ts +68 -1
  262. package/src/plugin/loader.ts +57 -3
  263. package/src/public-runtime.ts +10 -0
  264. package/src/public-types.ts +5 -0
  265. package/src/rag/__tests__/namespace-isolation.test.ts +109 -0
  266. package/src/rag/ingestion.ts +1 -0
  267. package/src/rag/retriever.ts +2 -0
  268. package/src/rag/vector-store.ts +5 -0
  269. package/src/registry/tool/execute.ts +123 -119
  270. package/src/runtime/query/__tests__/per-step-skills.test.ts +154 -0
  271. package/src/runtime/query/__tests__/per-step-tool-choice.test.ts +180 -0
  272. package/src/runtime/query/__tests__/resume-run.test.ts +262 -0
  273. package/src/runtime/query/index.ts +39 -0
  274. package/src/runtime/query/iteration/index.ts +55 -34
  275. package/src/runtime/query/iteration/phases/compaction-model-routing.test.ts +125 -0
  276. package/src/runtime/query/iteration/phases/compaction.ts +106 -5
  277. package/src/runtime/query/iteration/phases/context-reducer-dispatch.test.ts +238 -0
  278. package/src/runtime/query/iteration/phases/context.ts +11 -0
  279. package/src/runtime/query/resume-run.ts +93 -0
  280. package/src/telemetry/__tests__/model-call-span.test.ts +195 -0
  281. package/src/telemetry/__tests__/span-closure.test.ts +153 -0
  282. package/src/tools/advisory/index.ts +1 -1
  283. package/src/tools/coordinator/__tests__/plan-dependencies.test.ts +186 -0
  284. package/src/tools/coordinator/index.ts +14 -1
  285. package/src/tools/coordinator/plan-dependencies.ts +175 -0
  286. package/src/types/agent/base.ts +27 -0
  287. package/src/types/agent/supervisor.ts +15 -0
  288. package/src/types/agent/task.ts +18 -0
  289. package/src/types/connector/core.ts +34 -0
  290. package/src/types/connector/definition.ts +10 -0
  291. package/src/types/connector/mcp.ts +14 -0
  292. package/src/types/rag/retrieval.ts +16 -0
  293. package/src/types/rag/storage.ts +9 -0
  294. package/src/types/rag/vector.ts +11 -0
  295. package/src/types/router/task-router.ts +19 -0
  296. package/src/types/run/prepare-step.ts +58 -3
  297. package/src/types/toolset/index.ts +22 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discovery-scopes.test.js","sourceRoot":"","sources":["../../../src/plugin/__tests__/discovery-scopes.test.ts"],"names":[],"mappings":"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"}
@@ -4,11 +4,15 @@ const mockConnect = vi.fn(async () => undefined);
4
4
  const mockDisconnect = vi.fn(async () => undefined);
5
5
  const mockListTools = vi.fn(async () => []);
6
6
  vi.mock('../../connector/mcp/client.js', () => ({
7
- MCPClient: vi.fn().mockImplementation(() => ({
7
+ MCPClient: vi.fn().mockImplementation((config) => ({
8
8
  id: 'mcp-client-mock',
9
9
  connect: mockConnect,
10
10
  disconnect: mockDisconnect,
11
11
  listTools: mockListTools,
12
+ // The real client has always had this; the mock did not, which went
13
+ // unnoticed while nothing on this path asked the client which server
14
+ // it was talking to. Admission does — a policy is per server name.
15
+ getState: () => ({ serverName: config.serverName }),
12
16
  })),
13
17
  }));
14
18
  vi.mock('../../connector/mcp/adapter.js', () => ({
@@ -1 +1 @@
1
- {"version":3,"file":"enable-contributions.test.js","sourceRoot":"","sources":["../../../src/plugin/__tests__/enable-contributions.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"enable-contributions.test.js","sourceRoot":"","sources":["../../../src/plugin/__tests__/enable-contributions.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=mcp-admission.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-admission.test.d.ts","sourceRoot":"","sources":["../../../src/plugin/__tests__/mcp-admission.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,227 @@
1
+ import { mkdir, mkdtemp, rm, writeFile } from 'node:fs/promises';
2
+ import { tmpdir } from 'node:os';
3
+ import { join } from 'node:path';
4
+ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
5
+ /**
6
+ * A plugin's MCP server decided what entered the agent's tool registry.
7
+ *
8
+ * `MCPToolDiscovery` has held the admission boundary — a per-server
9
+ * allow/deny policy, and detection for a server whose tool set changes
10
+ * between discoveries — since it was written, and nothing outside its own
11
+ * tests ever constructed one. `PluginLifecycleManager.attachMCPServer`, the
12
+ * only code in the tree that connects a real MCP server, called
13
+ * `client.listTools()` and registered whatever came back.
14
+ *
15
+ * So least privilege was inverted at the one place it mattered: the remote
16
+ * side chose. Tools land as `deferred` and a run's `allowedTools` filters the
17
+ * model-visible catalogue, so this was not "arbitrary tools reach the model
18
+ * immediately" — but the check written for exactly this was not on the path.
19
+ */
20
+ let advertised = [];
21
+ let advertisedPrompts = [];
22
+ let clientCount = 0;
23
+ vi.mock('../../connector/mcp/client.js', () => ({
24
+ MCPClient: class {
25
+ id;
26
+ serverName;
27
+ constructor(config) {
28
+ this.id = `client_${clientCount++}`;
29
+ this.serverName = config.serverName;
30
+ }
31
+ async connect() { }
32
+ async disconnect() { }
33
+ isConnected() {
34
+ return true;
35
+ }
36
+ getState() {
37
+ return { serverName: this.serverName };
38
+ }
39
+ async listTools() {
40
+ return advertised;
41
+ }
42
+ async listPrompts() {
43
+ return advertisedPrompts;
44
+ }
45
+ },
46
+ }));
47
+ function tool(name) {
48
+ return { name, description: name, inputSchema: { type: 'object', properties: {} } };
49
+ }
50
+ const log = {
51
+ debug: vi.fn(),
52
+ info: vi.fn(),
53
+ warn: vi.fn(),
54
+ error: vi.fn(),
55
+ child: () => log,
56
+ };
57
+ let root;
58
+ async function harness(config = {}) {
59
+ const { PluginLifecycleManager } = await import('../lifecycle.js');
60
+ const { PluginRegistry } = await import('../../registry/plugin/index.js');
61
+ const registered = [];
62
+ const toolRegistry = {
63
+ register: (definition) => registered.push(definition.name),
64
+ unregister: () => undefined,
65
+ get: () => undefined,
66
+ };
67
+ const manager = new PluginLifecycleManager({
68
+ pluginRegistry: new PluginRegistry(),
69
+ toolRegistry,
70
+ log,
71
+ ...config,
72
+ });
73
+ return {
74
+ registered,
75
+ manager,
76
+ enable: async (name) => {
77
+ const dir = join(root, name);
78
+ await mkdir(dir, { recursive: true });
79
+ await writeFile(join(dir, 'plugin.json'), JSON.stringify({
80
+ name,
81
+ version: '1.0.0',
82
+ description: 'MCP server plugin fixture',
83
+ mcpServers: [{ name: 'files', command: 'node', args: ['server.js'] }],
84
+ }), 'utf-8');
85
+ const plugin = await manager.install(dir, 'project');
86
+ await manager.enable(plugin.id);
87
+ return plugin.id;
88
+ },
89
+ };
90
+ }
91
+ beforeEach(async () => {
92
+ root = await mkdtemp(join(tmpdir(), 'namzu-mcp-admit-'));
93
+ clientCount = 0;
94
+ advertised = [tool('read_file'), tool('write_file'), tool('delete_everything')];
95
+ advertisedPrompts = [{ name: 'safe_prompt' }, { name: 'sneaky_prompt' }];
96
+ });
97
+ afterEach(async () => {
98
+ await rm(root, { recursive: true, force: true });
99
+ vi.clearAllMocks();
100
+ });
101
+ describe('what a plugin server advertises is not what the registry gets', () => {
102
+ it('admits only the tools an allowlist names', async () => {
103
+ const h = await harness({ mcpToolPolicies: { files: { allow: ['read_file', 'write_file'] } } });
104
+ await h.enable('srv');
105
+ expect(h.registered.some((n) => n.endsWith('read_file'))).toBe(true);
106
+ expect(h.registered.some((n) => n.endsWith('write_file'))).toBe(true);
107
+ // The one the server offered and the host never agreed to.
108
+ expect(h.registered.some((n) => n.endsWith('delete_everything'))).toBe(false);
109
+ });
110
+ it('refuses a denied tool through the wildcard policy', async () => {
111
+ const h = await harness({ mcpToolPolicies: { '*': { deny: ['delete_everything'] } } });
112
+ await h.enable('srv');
113
+ // Counted over TOOLS specifically: prompts register through the same
114
+ // path and would otherwise make this assertion about both.
115
+ expect(h.registered.filter((n) => n.includes('mcp__files__'))).toHaveLength(2);
116
+ expect(h.registered.some((n) => n.endsWith('delete_everything'))).toBe(false);
117
+ });
118
+ it('still admits everything when no policy is configured', async () => {
119
+ // Adding a boundary must not turn every existing host's working plugin
120
+ // into a broken one.
121
+ const h = await harness();
122
+ await h.enable('srv');
123
+ expect(h.registered.filter((n) => n.includes('mcp__files__'))).toHaveLength(3);
124
+ });
125
+ it('namespaces what it admits, exactly as before', async () => {
126
+ const h = await harness({ mcpToolPolicies: { files: { allow: ['read_file'] } } });
127
+ await h.enable('srv');
128
+ expect(h.registered[0]).toContain('mcp__files__read_file');
129
+ });
130
+ });
131
+ describe('a server that changes its tools between connections is reported', () => {
132
+ it('says nothing the first time, having nothing to compare against', async () => {
133
+ const onMCPToolDrift = vi.fn();
134
+ const h = await harness({ onMCPToolDrift });
135
+ await h.enable('srv');
136
+ expect(onMCPToolDrift).not.toHaveBeenCalled();
137
+ });
138
+ it('reports a tool the server grew after it was first approved', async () => {
139
+ const onMCPToolDrift = vi.fn();
140
+ const h = await harness({ onMCPToolDrift });
141
+ const first = await h.enable('srv-a');
142
+ // The rug pull: advertise something benign while a host is deciding,
143
+ // swap it afterwards. A NEW client connects to the SAME server, which
144
+ // is why the remembered set is keyed by server name — keyed by client
145
+ // id, as it was, every connection was its own first and this could
146
+ // never fire.
147
+ await h.manager.disable(first);
148
+ advertised = [...advertised, tool('exfiltrate')];
149
+ await h.enable('srv-b');
150
+ expect(onMCPToolDrift).toHaveBeenCalledTimes(1);
151
+ expect(onMCPToolDrift.mock.calls[0]?.[0]).toMatchObject({
152
+ serverName: 'files',
153
+ drift: { added: ['exfiltrate'] },
154
+ });
155
+ });
156
+ it('reports a tool whose shape changed under the same name', async () => {
157
+ const onMCPToolDrift = vi.fn();
158
+ const h = await harness({ onMCPToolDrift });
159
+ const first = await h.enable('srv-a');
160
+ await h.manager.disable(first);
161
+ // Same name, different input shape — the version a name-only check
162
+ // misses entirely.
163
+ advertised = [
164
+ {
165
+ name: 'read_file',
166
+ description: 'read a file',
167
+ inputSchema: { type: 'object', properties: { path: { type: 'string' } } },
168
+ },
169
+ tool('write_file'),
170
+ tool('delete_everything'),
171
+ ];
172
+ await h.enable('srv-b');
173
+ expect(onMCPToolDrift).toHaveBeenCalledTimes(1);
174
+ expect(onMCPToolDrift.mock.calls[0]?.[0]).toMatchObject({ drift: { changed: ['read_file'] } });
175
+ });
176
+ it('says nothing when the server offers exactly what it offered before', async () => {
177
+ const onMCPToolDrift = vi.fn();
178
+ const h = await harness({ onMCPToolDrift });
179
+ const first = await h.enable('srv-a');
180
+ await h.manager.disable(first);
181
+ await h.enable('srv-b');
182
+ expect(onMCPToolDrift).not.toHaveBeenCalled();
183
+ });
184
+ it('compares what was ADMITTED, not what was advertised', async () => {
185
+ const onMCPToolDrift = vi.fn();
186
+ const h = await harness({
187
+ mcpToolPolicies: { files: { allow: ['read_file'] } },
188
+ onMCPToolDrift,
189
+ });
190
+ const first = await h.enable('srv-a');
191
+ await h.manager.disable(first);
192
+ // A tool the policy refuses either way. Reporting drift for it would
193
+ // train a host to ignore the warning that matters.
194
+ advertised = [...advertised, tool('another_denied_one')];
195
+ await h.enable('srv-b');
196
+ expect(onMCPToolDrift).not.toHaveBeenCalled();
197
+ });
198
+ });
199
+ describe('a prompt is admitted on the same terms as a tool', () => {
200
+ it('registers the prompts a server publishes', async () => {
201
+ const h = await harness();
202
+ await h.enable('srv');
203
+ expect(h.registered.some((n) => n.includes('mcp_prompt_files_safe_prompt'))).toBe(true);
204
+ });
205
+ it('refuses a prompt the policy does not allow', async () => {
206
+ const h = await harness({
207
+ mcpToolPolicies: { files: { allow: ['read_file', 'safe_prompt'] } },
208
+ });
209
+ await h.enable('srv');
210
+ // A server publishing a prompt is the same trust question as one
211
+ // publishing a tool: the remote side must not decide what enters the
212
+ // registry. Two copies of an allow/deny check are two chances for one
213
+ // of them to drift permissive, which is why both go through one.
214
+ expect(h.registered.some((n) => n.includes('safe_prompt'))).toBe(true);
215
+ expect(h.registered.some((n) => n.includes('sneaky_prompt'))).toBe(false);
216
+ });
217
+ it('names a prompt apart from a tool of the same name', async () => {
218
+ advertisedPrompts = [{ name: 'read_file' }];
219
+ const h = await harness();
220
+ await h.enable('srv');
221
+ // Both exist. Collapsing them would let whichever registered second
222
+ // silently replace the first.
223
+ expect(h.registered.some((n) => n.endsWith('mcp__files__read_file'))).toBe(true);
224
+ expect(h.registered.some((n) => n.endsWith('mcp_prompt_files_read_file'))).toBe(true);
225
+ });
226
+ });
227
+ //# sourceMappingURL=mcp-admission.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-admission.test.js","sourceRoot":"","sources":["../../../src/plugin/__tests__/mcp-admission.test.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ import type { MCPToolDiscoveryOptions } from '../connector/mcp/discovery.js';
2
+ import type { MCPToolPolicy } from '../connector/mcp/policy.js';
1
3
  import type { PluginRegistry } from '../registry/plugin/index.js';
2
4
  import type { PluginId } from '../types/ids/index.js';
3
5
  import type { PluginDefinition, PluginEventListener, PluginHookContext, PluginHookDefinition, PluginHookEvent, PluginHookResult, PluginScope } from '../types/plugin/index.js';
@@ -9,6 +11,30 @@ export interface PluginLifecycleManagerConfig {
9
11
  toolRegistry: ToolRegistryContract;
10
12
  log: Logger;
11
13
  hookTimeoutMs?: number;
14
+ /**
15
+ * What each MCP server a plugin brings is allowed to contribute, keyed by
16
+ * server name. `'*'` covers every server not named explicitly.
17
+ *
18
+ * Absent admits everything, which is what this path did unconditionally
19
+ * until now. `MCPToolDiscovery` has held this boundary — and the drift
20
+ * detection below — since it was written, and nothing outside its own
21
+ * tests ever constructed one: `attachMCPServer` called `listTools()`
22
+ * directly and registered whatever came back. So the least-privilege
23
+ * check existed, was tested, was exported, and was not on the path any
24
+ * real MCP server takes.
25
+ */
26
+ mcpToolPolicies?: Readonly<Record<string, MCPToolPolicy>>;
27
+ /**
28
+ * Called when a server's admitted tool set differs from the last time it
29
+ * was discovered.
30
+ *
31
+ * Reported rather than blocked, for the reason `MCPToolDiscovery`
32
+ * already gives: a development server legitimately changes between runs,
33
+ * while a production one changing mid-session is the rug pull — advertise
34
+ * something benign at approval time, swap it afterwards. Only the host
35
+ * knows which it is looking at.
36
+ */
37
+ onMCPToolDrift?: MCPToolDiscoveryOptions['onDrift'];
12
38
  }
13
39
  export declare class PluginLifecycleManager {
14
40
  private pluginRegistry;
@@ -18,6 +44,21 @@ export declare class PluginLifecycleManager {
18
44
  private pluginContributions;
19
45
  private hookTimeoutMs;
20
46
  private log;
47
+ /**
48
+ * The admission boundary for everything a plugin's MCP servers advertise.
49
+ *
50
+ * One instance for the whole manager rather than one per plugin, and that
51
+ * is the part that matters: the instance is what remembers each server's
52
+ * previously admitted tool set, so a server that changes between one
53
+ * plugin being disabled and the next being enabled is still noticed. A
54
+ * per-plugin instance would forget on every teardown, which is precisely
55
+ * the window a rug pull uses.
56
+ *
57
+ * Its client list is deliberately left empty — `discoverFrom` takes the
58
+ * client directly, so registering it here would be bookkeeping nothing
59
+ * reads.
60
+ */
61
+ private mcpDiscovery;
21
62
  constructor(config: PluginLifecycleManagerConfig);
22
63
  /**
23
64
  * Attach a hook without installing a plugin from disk.
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/plugin/lifecycle.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,KAAK,EACX,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAGhB,WAAW,EACX,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,KAAK,EAAkB,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAGlF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAQhD,MAAM,WAAW,4BAA4B;IAC5C,cAAc,EAAE,cAAc,CAAA;IAC9B,YAAY,EAAE,oBAAoB,CAAA;IAClC,GAAG,EAAE,MAAM,CAAA;IACX,aAAa,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,qBAAa,sBAAsB;IAClC,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,YAAY,CAQP;IACb,OAAO,CAAC,mBAAmB,CAAqD;IAChF,OAAO,CAAC,aAAa,CAAQ;IAC7B,OAAO,CAAC,GAAG,CAAQ;gBAEP,MAAM,EAAE,4BAA4B;IAOhD;;;;;;;;;;;;OAYG;IACH,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,oBAAoB,GAAG,IAAI;IAgBlE,EAAE,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAIvC,GAAG,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAKlC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAoCzE,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;YAsGjC,eAAe;YA+Bf,qBAAqB;IAkC7B,OAAO,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IA4D1C,SAAS,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB5C,YAAY,CACjB,KAAK,EAAE,eAAe,EACtB,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,UAAU,GAAG,OAAO,CAAC,EACtD,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,GAC/C,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAqH9B,OAAO,CAAC,IAAI;CAWZ"}
1
+ {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/plugin/lifecycle.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAA;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAO/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,KAAK,EACX,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAGhB,WAAW,EACX,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,KAAK,EAAkB,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAGlF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAQhD,MAAM,WAAW,4BAA4B;IAC5C,cAAc,EAAE,cAAc,CAAA;IAC9B,YAAY,EAAE,oBAAoB,CAAA;IAClC,GAAG,EAAE,MAAM,CAAA;IACX,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB;;;;;;;;;;;OAWG;IACH,eAAe,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAA;IAEzD;;;;;;;;;OASG;IACH,cAAc,CAAC,EAAE,uBAAuB,CAAC,SAAS,CAAC,CAAA;CACnD;AAED,qBAAa,sBAAsB;IAClC,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,YAAY,CAQP;IACb,OAAO,CAAC,mBAAmB,CAAqD;IAChF,OAAO,CAAC,aAAa,CAAQ;IAC7B,OAAO,CAAC,GAAG,CAAQ;IACnB;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,YAAY,CAAkB;gBAE1B,MAAM,EAAE,4BAA4B;IAYhD;;;;;;;;;;;;OAYG;IACH,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,oBAAoB,GAAG,IAAI;IAgBlE,EAAE,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAIvC,GAAG,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAKlC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAoCzE,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;YAsGjC,eAAe;YAgDf,qBAAqB;IAkC7B,OAAO,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IA4D1C,SAAS,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB5C,YAAY,CACjB,KAAK,EAAE,eAAe,EACtB,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,UAAU,GAAG,OAAO,CAAC,EACtD,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,GAC/C,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAqH9B,OAAO,CAAC,IAAI;CAWZ"}
@@ -2,6 +2,8 @@ import { join } from 'node:path';
2
2
  import { pathToFileURL } from 'node:url';
3
3
  import { mcpToolToToolDefinition } from '../connector/mcp/adapter.js';
4
4
  import { MCPClient } from '../connector/mcp/client.js';
5
+ import { MCPToolDiscovery } from '../connector/mcp/discovery.js';
6
+ import { mcpPromptToToolDefinition } from '../connector/mcp/prompt-adapter.js';
5
7
  import { DEFAULT_HOOK_PRIORITY, HOOK_TIMEOUT_MS, PLUGIN_NAMESPACE_SEPARATOR, } from '../constants/plugin/index.js';
6
8
  import { toErrorMessage } from '../utils/error.js';
7
9
  import { generatePluginId } from '../utils/id.js';
@@ -14,11 +16,31 @@ export class PluginLifecycleManager {
14
16
  pluginContributions = new Map();
15
17
  hookTimeoutMs;
16
18
  log;
19
+ /**
20
+ * The admission boundary for everything a plugin's MCP servers advertise.
21
+ *
22
+ * One instance for the whole manager rather than one per plugin, and that
23
+ * is the part that matters: the instance is what remembers each server's
24
+ * previously admitted tool set, so a server that changes between one
25
+ * plugin being disabled and the next being enabled is still noticed. A
26
+ * per-plugin instance would forget on every teardown, which is precisely
27
+ * the window a rug pull uses.
28
+ *
29
+ * Its client list is deliberately left empty — `discoverFrom` takes the
30
+ * client directly, so registering it here would be bookkeeping nothing
31
+ * reads.
32
+ */
33
+ mcpDiscovery;
17
34
  constructor(config) {
18
35
  this.pluginRegistry = config.pluginRegistry;
19
36
  this.toolRegistry = config.toolRegistry;
20
37
  this.hookTimeoutMs = config.hookTimeoutMs ?? HOOK_TIMEOUT_MS;
21
38
  this.log = config.log.child({ component: 'PluginLifecycleManager' });
39
+ this.mcpDiscovery = new MCPToolDiscovery([], {
40
+ ...(config.mcpToolPolicies ? { policies: config.mcpToolPolicies } : {}),
41
+ ...(config.onMCPToolDrift ? { onDrift: config.onMCPToolDrift } : {}),
42
+ logger: this.log,
43
+ });
22
44
  }
23
45
  /**
24
46
  * Attach a hook without installing a plugin from disk.
@@ -179,7 +201,14 @@ export class PluginLifecycleManager {
179
201
  });
180
202
  await client.connect();
181
203
  contributions.mcpClients.push(client);
182
- const mcpTools = await client.listTools();
204
+ // Through the boundary, not around it. This used to call
205
+ // `client.listTools()` and register everything the server answered
206
+ // with, so the remote side decided what entered the agent's registry
207
+ // — least privilege inverted. `discoverFrom` applies the per-server
208
+ // allow/deny policy and reports a tool set that changed since the
209
+ // last discovery.
210
+ const discovered = await this.mcpDiscovery.discoverFrom(client);
211
+ const mcpTools = discovered.map((d) => d.tool);
183
212
  for (const mcpTool of mcpTools) {
184
213
  const baseDef = mcpToolToToolDefinition(mcpTool, client, config.name);
185
214
  // Double-underscore between serverName and toolName so that e.g.
@@ -190,6 +219,15 @@ export class PluginLifecycleManager {
190
219
  this.toolRegistry.register(namespacedTool, 'deferred');
191
220
  contributions.toolNames.push(namespacedName);
192
221
  }
222
+ // Prompts, through the same gate. A server publishing one is the same
223
+ // trust question as a server publishing a tool.
224
+ const prompts = await this.mcpDiscovery.discoverPromptsFrom(client);
225
+ for (const prompt of prompts) {
226
+ const baseDef = mcpPromptToToolDefinition(prompt, client, config.name);
227
+ const namespacedName = `${pluginName}${PLUGIN_NAMESPACE_SEPARATOR}${baseDef.name}`;
228
+ this.toolRegistry.register({ ...baseDef, name: namespacedName }, 'deferred');
229
+ contributions.toolNames.push(namespacedName);
230
+ }
193
231
  }
194
232
  async rollbackContributions(pluginId, contributions) {
195
233
  for (const name of contributions.toolNames) {
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/plugin/lifecycle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/plugin/lifecycle.ts"],"names":[],"mappings":"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"}
@@ -24,11 +24,47 @@ export declare function loadPluginManifest(pluginDir: string): Promise<PluginMan
24
24
  * into them. Naming the types is what makes that actionable.
25
25
  */
26
26
  export declare function assertEnableable(manifest: PluginManifest): void;
27
+ /** Where a plugin came from. Project plugins ship with the repo; user plugins live in the home directory. */
28
+ export type PluginScope = 'project' | 'user';
27
29
  /**
28
- * Discovers plugin directories from both project-level and user-level locations.
29
- * Returns categorized arrays of absolute paths.
30
+ * The discovery half of {@link PluginRuntimeConfig}.
31
+ *
32
+ * Structural rather than an import so this module keeps depending on nothing
33
+ * — a parsed `PluginRuntimeConfig` satisfies it as-is.
34
+ */
35
+ export interface PluginDiscoveryOptions {
36
+ /** Whether the plugin runtime is on at all. `false` discovers nothing. */
37
+ readonly enabled?: boolean;
38
+ /** Whether to scan for plugins. `false` discovers nothing. */
39
+ readonly autoDiscovery?: boolean;
40
+ /** Which locations may be scanned. Absent means both. */
41
+ readonly allowedScopes?: readonly PluginScope[];
42
+ }
43
+ /**
44
+ * Find plugin directories, in the locations the caller permits.
45
+ *
46
+ * `allowedScopes` is a trust boundary, not a filter applied afterwards. A
47
+ * plugin is arbitrary code with hooks into tool execution, and the two scopes
48
+ * are not equally trusted: project plugins are reviewable in the repo the
49
+ * agent is working on, while user plugins come from a home directory the
50
+ * repo's reviewers never see. `['project']` is how a host says the second
51
+ * kind is not allowed to run here.
52
+ *
53
+ * It was previously declared and unread — `PluginRuntimeConfig` carried
54
+ * `enabled`, `autoDiscovery` and `allowedScopes`, nothing anywhere consulted
55
+ * any of them, and this function scanned both locations unconditionally. A
56
+ * host who set `allowedScopes: ['project']` got user plugins anyway, from a
57
+ * setting that reads exactly like a boundary.
58
+ *
59
+ * A disallowed scope is NOT SCANNED rather than scanned and dropped.
60
+ * Filtering after the fact still reads the directory, which is both pointless
61
+ * work and a small disclosure — the returned count would tell a caller how
62
+ * many plugins live somewhere they said they would not look.
63
+ *
64
+ * Passing nothing keeps the old behaviour: both scopes, no gate. Existing
65
+ * callers are unaffected, and a caller who opts in gets what the config says.
30
66
  */
31
- export declare function discoverAllPluginDirs(workingDirectory?: string): Promise<{
67
+ export declare function discoverAllPluginDirs(workingDirectory?: string, options?: PluginDiscoveryOptions): Promise<{
32
68
  project: string[];
33
69
  user: string[];
34
70
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/plugin/loader.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,cAAc,EAAwB,MAAM,0BAA0B,CAAA;AAKpF;;;GAGG;AACH,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAwB1E;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAOnF;AAYD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAQ/D;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CAC1C,gBAAgB,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAchD"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/plugin/loader.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,cAAc,EAAwB,MAAM,0BAA0B,CAAA;AAKpF;;;GAGG;AACH,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAwB1E;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAOnF;AAYD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAQ/D;AAED,6GAA6G;AAC7G,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,MAAM,CAAA;AAE5C;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACtC,0EAA0E;IAC1E,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAC1B,8DAA8D;IAC9D,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,yDAAyD;IACzD,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,WAAW,EAAE,CAAA;CAC/C;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,qBAAqB,CAC1C,gBAAgB,CAAC,EAAE,MAAM,EACzB,OAAO,CAAC,EAAE,sBAAsB,GAC9B,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CA6BhD"}