apcore-mcp 0.12.0 → 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +190 -0
- package/README.md +165 -19
- package/dist/acl-builder.d.ts +43 -0
- package/dist/acl-builder.d.ts.map +1 -0
- package/dist/acl-builder.js +115 -0
- package/dist/acl-builder.js.map +1 -0
- package/dist/adapters/annotations.d.ts.map +1 -1
- package/dist/adapters/annotations.js +37 -2
- package/dist/adapters/annotations.js.map +1 -1
- package/dist/adapters/errors.d.ts +17 -0
- package/dist/adapters/errors.d.ts.map +1 -1
- package/dist/adapters/errors.js +192 -2
- package/dist/adapters/errors.js.map +1 -1
- package/dist/adapters/id-normalizer.d.ts +40 -0
- package/dist/adapters/id-normalizer.d.ts.map +1 -0
- package/dist/adapters/id-normalizer.js +59 -0
- package/dist/adapters/id-normalizer.js.map +1 -0
- package/dist/adapters/index.d.ts +2 -2
- package/dist/adapters/index.d.ts.map +1 -1
- package/dist/adapters/index.js +2 -2
- package/dist/adapters/index.js.map +1 -1
- package/dist/adapters/{mcpErrorFormatter.d.ts → mcp-error-formatter.d.ts} +5 -7
- package/dist/adapters/mcp-error-formatter.d.ts.map +1 -0
- package/dist/adapters/mcp-error-formatter.js +30 -0
- package/dist/adapters/mcp-error-formatter.js.map +1 -0
- package/dist/adapters/schema.d.ts +21 -4
- package/dist/adapters/schema.d.ts.map +1 -1
- package/dist/adapters/schema.js +147 -13
- package/dist/adapters/schema.js.map +1 -1
- package/dist/apcore-mcp.d.ts +24 -2
- package/dist/apcore-mcp.d.ts.map +1 -1
- package/dist/apcore-mcp.js +8 -0
- package/dist/apcore-mcp.js.map +1 -1
- package/dist/auth/hooks.d.ts +1 -1
- package/dist/auth/hooks.d.ts.map +1 -1
- package/dist/auth/hooks.js +10 -3
- package/dist/auth/hooks.js.map +1 -1
- package/dist/auth/jwt.d.ts +1 -2
- package/dist/auth/jwt.d.ts.map +1 -1
- package/dist/auth/jwt.js +18 -10
- package/dist/auth/jwt.js.map +1 -1
- package/dist/auth/types.d.ts +6 -3
- package/dist/auth/types.d.ts.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +23 -1
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +15 -6
- package/dist/config.js.map +1 -1
- package/dist/converters/openai.d.ts +10 -0
- package/dist/converters/openai.d.ts.map +1 -1
- package/dist/converters/openai.js +100 -5
- package/dist/converters/openai.js.map +1 -1
- package/dist/explorer/index.d.ts +2 -0
- package/dist/explorer/index.d.ts.map +1 -0
- package/dist/explorer/index.js +2 -0
- package/dist/explorer/index.js.map +1 -0
- package/dist/index.d.ts +68 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +346 -60
- package/dist/index.js.map +1 -1
- package/dist/inspector/index.d.ts +2 -0
- package/dist/inspector/index.d.ts.map +1 -0
- package/dist/inspector/index.js +2 -0
- package/dist/inspector/index.js.map +1 -0
- package/dist/middleware-builder.d.ts +41 -0
- package/dist/middleware-builder.d.ts.map +1 -0
- package/dist/middleware-builder.js +129 -0
- package/dist/middleware-builder.js.map +1 -0
- package/dist/server/async-task-bridge.d.ts +190 -0
- package/dist/server/async-task-bridge.d.ts.map +1 -0
- package/dist/server/async-task-bridge.js +393 -0
- package/dist/server/async-task-bridge.js.map +1 -0
- package/dist/server/context.d.ts +9 -2
- package/dist/server/context.d.ts.map +1 -1
- package/dist/server/context.js +14 -6
- package/dist/server/context.js.map +1 -1
- package/dist/server/factory.d.ts +25 -2
- package/dist/server/factory.d.ts.map +1 -1
- package/dist/server/factory.js +127 -7
- package/dist/server/factory.js.map +1 -1
- package/dist/server/listener.d.ts +3 -0
- package/dist/server/listener.d.ts.map +1 -1
- package/dist/server/listener.js +13 -2
- package/dist/server/listener.js.map +1 -1
- package/dist/server/observability.d.ts +51 -0
- package/dist/server/observability.d.ts.map +1 -0
- package/dist/server/observability.js +96 -0
- package/dist/server/observability.js.map +1 -0
- package/dist/server/router.d.ts +114 -0
- package/dist/server/router.d.ts.map +1 -1
- package/dist/server/router.js +360 -18
- package/dist/server/router.js.map +1 -1
- package/dist/server/trace-context.d.ts +40 -0
- package/dist/server/trace-context.d.ts.map +1 -0
- package/dist/server/trace-context.js +67 -0
- package/dist/server/trace-context.js.map +1 -0
- package/dist/server/transport.d.ts +39 -0
- package/dist/server/transport.d.ts.map +1 -1
- package/dist/server/transport.js +134 -4
- package/dist/server/transport.js.map +1 -1
- package/dist/types.d.ts +18 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +11 -0
- package/dist/types.js.map +1 -1
- package/package.json +12 -6
- package/dist/adapters/idNormalizer.d.ts +0 -22
- package/dist/adapters/idNormalizer.d.ts.map +0 -1
- package/dist/adapters/idNormalizer.js +0 -30
- package/dist/adapters/idNormalizer.js.map +0 -1
- package/dist/adapters/mcpErrorFormatter.d.ts.map +0 -1
- package/dist/adapters/mcpErrorFormatter.js +0 -24
- package/dist/adapters/mcpErrorFormatter.js.map +0 -1
package/dist/index.js
CHANGED
|
@@ -10,9 +10,12 @@ import { createNodeHandler } from "mcp-embedded-ui";
|
|
|
10
10
|
import { OpenAIConverter } from "./converters/openai.js";
|
|
11
11
|
import { MCPServerFactory } from "./server/factory.js";
|
|
12
12
|
import { ExecutionRouter } from "./server/router.js";
|
|
13
|
+
import { RegistryListener } from "./server/listener.js";
|
|
13
14
|
import { TransportManager } from "./server/transport.js";
|
|
14
15
|
import { registerMcpNamespace } from "./config.js";
|
|
15
|
-
import { registerMcpFormatter } from "./adapters/
|
|
16
|
+
import { registerMcpFormatter } from "./adapters/mcp-error-formatter.js";
|
|
17
|
+
import { installObservability } from "./server/observability.js";
|
|
18
|
+
import { createAsyncTaskBridge } from "./server/async-task-bridge.js";
|
|
16
19
|
import { buildExplorerAuthHook } from "./auth/hooks.js";
|
|
17
20
|
import pkg from "../package.json" with { type: "json" };
|
|
18
21
|
export const VERSION = pkg.version;
|
|
@@ -28,15 +31,20 @@ export { buildExplorerAuthHook } from "./auth/hooks.js";
|
|
|
28
31
|
export { APCoreMCP } from "./apcore-mcp.js";
|
|
29
32
|
// ─── Building Block Exports ──────────────────────────────────────────────────
|
|
30
33
|
export { MCPServerFactory } from "./server/factory.js";
|
|
34
|
+
// MCPServer is an alias for MCPServerFactory, matching Python/Rust top-level export parity.
|
|
35
|
+
export { MCPServerFactory as MCPServer } from "./server/factory.js";
|
|
31
36
|
export { ExecutionRouter } from "./server/router.js";
|
|
32
37
|
export { RegistryListener } from "./server/listener.js";
|
|
33
38
|
export { TransportManager } from "./server/transport.js";
|
|
39
|
+
export { AsyncTaskBridge, createAsyncTaskBridge, META_TOOL_NAMES, APCORE_META_TOOL_PREFIX } from "./server/async-task-bridge.js";
|
|
40
|
+
export { installObservability } from "./server/observability.js";
|
|
41
|
+
export { parseTraceparent, buildTraceparent } from "./server/trace-context.js";
|
|
34
42
|
export { AnnotationMapper } from "./adapters/annotations.js";
|
|
35
43
|
export { SchemaConverter } from "./adapters/schema.js";
|
|
36
44
|
export { ErrorMapper } from "./adapters/errors.js";
|
|
37
|
-
export { ModuleIDNormalizer } from "./adapters/
|
|
45
|
+
export { ModuleIDNormalizer } from "./adapters/id-normalizer.js";
|
|
38
46
|
export { ElicitationApprovalHandler } from "./adapters/approval.js";
|
|
39
|
-
export { McpErrorFormatter, registerMcpFormatter } from "./adapters/
|
|
47
|
+
export { McpErrorFormatter, registerMcpFormatter } from "./adapters/mcp-error-formatter.js";
|
|
40
48
|
export { registerMcpNamespace, MCP_NAMESPACE, MCP_ENV_PREFIX, MCP_DEFAULTS } from "./config.js";
|
|
41
49
|
export { OpenAIConverter } from "./converters/openai.js";
|
|
42
50
|
/**
|
|
@@ -63,62 +71,236 @@ export function resolveRegistry(registryOrExecutor) {
|
|
|
63
71
|
* @throws {Error} If the argument is a Registry and apcore-js is not installed.
|
|
64
72
|
*/
|
|
65
73
|
export async function resolveExecutor(registryOrExecutor, options) {
|
|
74
|
+
let executor;
|
|
66
75
|
if ("call" in registryOrExecutor || "callAsync" in registryOrExecutor) {
|
|
67
76
|
// Already an Executor
|
|
68
|
-
|
|
77
|
+
if (options?.strategy) {
|
|
78
|
+
console.warn(`strategy='${options.strategy}' ignored: input is already an Executor instance.`);
|
|
79
|
+
}
|
|
80
|
+
executor = registryOrExecutor;
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
// It's a bare Registry — create a default Executor
|
|
84
|
+
try {
|
|
85
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
86
|
+
const apcore = (await import("apcore-js"));
|
|
87
|
+
const ExecutorClass = apcore.Executor ?? apcore.default?.Executor;
|
|
88
|
+
if (ExecutorClass) {
|
|
89
|
+
const executorOpts = {
|
|
90
|
+
registry: registryOrExecutor,
|
|
91
|
+
};
|
|
92
|
+
if (options?.approvalHandler) {
|
|
93
|
+
executorOpts.approvalHandler = options.approvalHandler;
|
|
94
|
+
}
|
|
95
|
+
if (options?.strategy) {
|
|
96
|
+
executorOpts.strategy = options.strategy;
|
|
97
|
+
}
|
|
98
|
+
executor = new ExecutorClass(executorOpts);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
catch {
|
|
102
|
+
// apcore-js not installed — fall through to error
|
|
103
|
+
}
|
|
104
|
+
if (!executor) {
|
|
105
|
+
throw new Error("serve() requires an Executor instance, or apcore-js must be installed to auto-create one from a Registry.");
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
// Apply middleware via executor.use() per instance. Mirrors the Python
|
|
109
|
+
// bridge's resolve_executor contract.
|
|
110
|
+
const middleware = options?.middleware ?? [];
|
|
111
|
+
if (middleware.length > 0) {
|
|
112
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
113
|
+
const useFn = executor.use;
|
|
114
|
+
if (typeof useFn !== "function") {
|
|
115
|
+
throw new Error("Executor does not support .use() — 'middleware' option requires apcore-js>=0.18");
|
|
116
|
+
}
|
|
117
|
+
for (const mw of middleware) {
|
|
118
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
119
|
+
executor.use(mw);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
// Install ACL via executor.setAcl() if provided.
|
|
123
|
+
if (options?.acl !== undefined && options.acl !== null) {
|
|
124
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
125
|
+
const setAcl = executor.setAcl;
|
|
126
|
+
if (typeof setAcl !== "function") {
|
|
127
|
+
throw new Error("Executor does not support .setAcl() — 'acl' option requires apcore-js>=0.18");
|
|
128
|
+
}
|
|
129
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
130
|
+
executor.setAcl(options.acl);
|
|
131
|
+
}
|
|
132
|
+
return executor;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Build a map of module_id → output_schema from the registry.
|
|
136
|
+
*
|
|
137
|
+
* Only includes modules whose output_schema is a non-empty object.
|
|
138
|
+
*/
|
|
139
|
+
function buildOutputSchemaMap(registry) {
|
|
140
|
+
const map = {};
|
|
141
|
+
for (const moduleId of registry.list()) {
|
|
142
|
+
const def = registry.getDefinition(moduleId);
|
|
143
|
+
if (def?.outputSchema && Object.keys(def.outputSchema).length > 0) {
|
|
144
|
+
map[moduleId] = def.outputSchema;
|
|
145
|
+
}
|
|
69
146
|
}
|
|
70
|
-
|
|
147
|
+
return map;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Load Config Bus overrides for strategy, middleware, ACL, and the scalar
|
|
151
|
+
* `mcp.*` keys consumed by serve()/asyncServe().
|
|
152
|
+
*
|
|
153
|
+
* F-040: YAML Pipeline Config via Config Bus. Extracted to eliminate the
|
|
154
|
+
* byte-for-byte duplicate block that previously appeared in both serve() and
|
|
155
|
+
* asyncServe(). Both functions call this helper and merge the results with
|
|
156
|
+
* their caller-supplied values.
|
|
157
|
+
*
|
|
158
|
+
* D9-002: Also reads the 9 scalar `mcp.*` keys (transport, host, port, name,
|
|
159
|
+
* log_level, validate_inputs, explorer, explorer_prefix, require_auth) so
|
|
160
|
+
* users setting `APCORE_MCP_PORT=9000` (or `mcp.port: 9000` in YAML) actually
|
|
161
|
+
* see the change take effect. Caller options still win over Config Bus.
|
|
162
|
+
*/
|
|
163
|
+
async function loadConfigBusOverrides(strategy, callerMiddleware, callerAcl) {
|
|
164
|
+
let resolvedStrategy = strategy;
|
|
165
|
+
let configMiddleware = [];
|
|
166
|
+
let configAcl = null;
|
|
167
|
+
const configBusDefaults = {};
|
|
71
168
|
try {
|
|
72
169
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
73
|
-
const
|
|
74
|
-
const
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
170
|
+
const apcoreConfig = await import("apcore-js");
|
|
171
|
+
const Config = apcoreConfig.Config ?? apcoreConfig.default?.Config;
|
|
172
|
+
const buildStrategyFromConfig = apcoreConfig.buildStrategyFromConfig ?? apcoreConfig.default?.buildStrategyFromConfig;
|
|
173
|
+
if (Config && buildStrategyFromConfig) {
|
|
174
|
+
const config = typeof Config.getInstance === 'function' ? Config.getInstance() : new Config();
|
|
175
|
+
const pipelineCfg = config.get?.("mcp.pipeline");
|
|
176
|
+
if (pipelineCfg && typeof pipelineCfg === 'object' && Object.keys(pipelineCfg).length > 0) {
|
|
177
|
+
if (resolvedStrategy) {
|
|
178
|
+
console.warn(`YAML pipeline config found in Config Bus — overriding strategy='${resolvedStrategy}' with config-driven strategy.`);
|
|
179
|
+
}
|
|
180
|
+
resolvedStrategy = buildStrategyFromConfig(pipelineCfg);
|
|
181
|
+
}
|
|
182
|
+
// Load declarative middleware from Config Bus (`mcp.middleware`).
|
|
183
|
+
const mwCfg = config.get?.("mcp.middleware");
|
|
184
|
+
if (Array.isArray(mwCfg) && mwCfg.length > 0) {
|
|
185
|
+
const { buildMiddlewareFromConfig } = await import("./middleware-builder.js");
|
|
186
|
+
configMiddleware = await buildMiddlewareFromConfig(mwCfg);
|
|
79
187
|
}
|
|
80
|
-
|
|
188
|
+
// Load declarative ACL from Config Bus (`mcp.acl`).
|
|
189
|
+
const aclCfg = config.get?.("mcp.acl");
|
|
190
|
+
if (aclCfg) {
|
|
191
|
+
const { buildAclFromConfig } = await import("./acl-builder.js");
|
|
192
|
+
configAcl = await buildAclFromConfig(aclCfg);
|
|
193
|
+
}
|
|
194
|
+
// [D9-002] Load 9 scalar mcp.* keys. Snake-case → camelCase.
|
|
195
|
+
const readStr = (k) => {
|
|
196
|
+
const v = config.get?.(k);
|
|
197
|
+
return typeof v === "string" ? v : undefined;
|
|
198
|
+
};
|
|
199
|
+
const readNum = (k) => {
|
|
200
|
+
const v = config.get?.(k);
|
|
201
|
+
if (typeof v === "number")
|
|
202
|
+
return v;
|
|
203
|
+
if (typeof v === "string" && v !== "") {
|
|
204
|
+
const n = Number(v);
|
|
205
|
+
if (!Number.isNaN(n))
|
|
206
|
+
return n;
|
|
207
|
+
}
|
|
208
|
+
return undefined;
|
|
209
|
+
};
|
|
210
|
+
const readBool = (k) => {
|
|
211
|
+
const v = config.get?.(k);
|
|
212
|
+
if (typeof v === "boolean")
|
|
213
|
+
return v;
|
|
214
|
+
if (typeof v === "string") {
|
|
215
|
+
if (v === "true")
|
|
216
|
+
return true;
|
|
217
|
+
if (v === "false")
|
|
218
|
+
return false;
|
|
219
|
+
}
|
|
220
|
+
return undefined;
|
|
221
|
+
};
|
|
222
|
+
configBusDefaults.transport = readStr("mcp.transport");
|
|
223
|
+
configBusDefaults.host = readStr("mcp.host");
|
|
224
|
+
configBusDefaults.port = readNum("mcp.port");
|
|
225
|
+
configBusDefaults.name = readStr("mcp.name");
|
|
226
|
+
configBusDefaults.logLevel = readStr("mcp.log_level");
|
|
227
|
+
configBusDefaults.validateInputs = readBool("mcp.validate_inputs");
|
|
228
|
+
configBusDefaults.explorer = readBool("mcp.explorer");
|
|
229
|
+
configBusDefaults.explorerPrefix = readStr("mcp.explorer_prefix");
|
|
230
|
+
configBusDefaults.requireAuth = readBool("mcp.require_auth");
|
|
81
231
|
}
|
|
82
232
|
}
|
|
83
233
|
catch {
|
|
84
|
-
// apcore-js not installed —
|
|
234
|
+
// apcore-js not installed or Config Bus not available — use strategy param as-is
|
|
235
|
+
}
|
|
236
|
+
const combinedMiddleware = [...configMiddleware];
|
|
237
|
+
if (callerMiddleware && callerMiddleware.length > 0) {
|
|
238
|
+
combinedMiddleware.push(...callerMiddleware);
|
|
85
239
|
}
|
|
86
|
-
|
|
240
|
+
// Caller-supplied ACL wins over Config Bus.
|
|
241
|
+
const effectiveAcl = callerAcl !== undefined ? callerAcl : configAcl;
|
|
242
|
+
return { resolvedStrategy, combinedMiddleware, effectiveAcl, configBusDefaults };
|
|
87
243
|
}
|
|
88
244
|
/**
|
|
89
|
-
*
|
|
90
|
-
*
|
|
91
|
-
* @param registryOrExecutor - An apcore Registry or Executor instance.
|
|
92
|
-
* @param options - Server configuration options.
|
|
245
|
+
* Validate common serve/asyncServe options. Throws on invalid input.
|
|
93
246
|
*/
|
|
94
|
-
|
|
95
|
-
const
|
|
96
|
-
// Input validation (matching Python's checks)
|
|
247
|
+
function validateServeOptions(options) {
|
|
248
|
+
const name = options.name ?? "apcore-mcp";
|
|
97
249
|
if (!name || name.length === 0) {
|
|
98
250
|
throw new Error("name must not be empty");
|
|
99
251
|
}
|
|
100
252
|
if (name.length > 255) {
|
|
101
253
|
throw new Error("name must not exceed 255 characters");
|
|
102
254
|
}
|
|
103
|
-
if (tags) {
|
|
104
|
-
for (const tag of tags) {
|
|
255
|
+
if (options.tags) {
|
|
256
|
+
for (const tag of options.tags) {
|
|
105
257
|
if (!tag || tag.length === 0) {
|
|
106
258
|
throw new Error("tags must not contain empty strings");
|
|
107
259
|
}
|
|
108
260
|
}
|
|
109
261
|
}
|
|
110
|
-
if (prefix !== undefined && prefix !== null && prefix.length === 0) {
|
|
262
|
+
if (options.prefix !== undefined && options.prefix !== null && options.prefix.length === 0) {
|
|
111
263
|
throw new Error("prefix must not be empty if provided");
|
|
112
264
|
}
|
|
113
|
-
if (explorer && !explorerPrefix.startsWith("/")) {
|
|
265
|
+
if (options.explorer && !(options.explorerPrefix ?? "/explorer").startsWith("/")) {
|
|
114
266
|
throw new Error("explorerPrefix must start with '/'");
|
|
115
267
|
}
|
|
116
|
-
|
|
268
|
+
}
|
|
269
|
+
/**
|
|
270
|
+
* Launch an MCP Server that exposes all apcore modules as tools.
|
|
271
|
+
*
|
|
272
|
+
* @param registryOrExecutor - An apcore Registry or Executor instance.
|
|
273
|
+
* @param options - Server configuration options.
|
|
274
|
+
*/
|
|
275
|
+
export async function serve(registryOrExecutor, options = {}) {
|
|
276
|
+
// [D9-002] Apply caller-wins precedence: caller option → Config Bus → hardcoded
|
|
277
|
+
// default. We can't tell at the destructure step whether a value came from the
|
|
278
|
+
// caller or from a hardcoded default, so for the 9 scalar keys we destructure
|
|
279
|
+
// raw (no inline default) and resolve below, after loadConfigBusOverrides runs.
|
|
280
|
+
const { transport: optTransport, host: optHost, port: optPort, name: optName, version = VERSION, validateInputs: optValidateInputs, tags, prefix, logLevel: optLogLevel, onStartup, onShutdown, metricsCollector, explorer: optExplorer, explorerPrefix: optExplorerPrefix, allowExecute = false, explorerTitle = "APCore MCP Explorer", explorerProjectName = "apcore-mcp", explorerProjectUrl = "https://github.com/aiperceivable/apcore-mcp-typescript", authenticator, requireAuth: optRequireAuth, exemptPaths, approvalHandler, outputFormatter, redactOutput, strategy, trace, middleware: callerMiddleware, acl: callerAcl, observability: observabilityFlag, async: asyncFlag, } = options;
|
|
281
|
+
// Save original console methods before suppression. Suppression itself
|
|
282
|
+
// happens AFTER Config Bus resolution so that `mcp.log_level` from YAML or
|
|
283
|
+
// `APCORE_MCP_LOG_LEVEL` from env can drive it. [D9-002]
|
|
117
284
|
const origDebug = console.debug;
|
|
118
285
|
const origInfo = console.info;
|
|
119
286
|
const origWarn = console.warn;
|
|
120
287
|
const origError = console.error;
|
|
121
|
-
//
|
|
288
|
+
// ── F-040: YAML Pipeline Config via Config Bus ─────────────────────
|
|
289
|
+
const { resolvedStrategy, combinedMiddleware, effectiveAcl, configBusDefaults } = await loadConfigBusOverrides(strategy, callerMiddleware, callerAcl);
|
|
290
|
+
// [D9-002] Resolve scalar config values: caller → Config Bus → hardcoded default.
|
|
291
|
+
const transport = optTransport ?? configBusDefaults.transport ?? "stdio";
|
|
292
|
+
const host = optHost ?? configBusDefaults.host ?? "127.0.0.1";
|
|
293
|
+
const port = optPort ?? configBusDefaults.port ?? 8000;
|
|
294
|
+
const name = optName ?? configBusDefaults.name ?? "apcore-mcp";
|
|
295
|
+
const validateInputs = optValidateInputs ?? configBusDefaults.validateInputs;
|
|
296
|
+
const logLevel = optLogLevel ?? configBusDefaults.logLevel;
|
|
297
|
+
const explorer = optExplorer ?? configBusDefaults.explorer ?? false;
|
|
298
|
+
const explorerPrefix = optExplorerPrefix ?? configBusDefaults.explorerPrefix ?? "/explorer";
|
|
299
|
+
const requireAuth = optRequireAuth ?? configBusDefaults.requireAuth;
|
|
300
|
+
// Input validation (matching Python's checks) — moved here so it sees
|
|
301
|
+
// Config-Bus-resolved values.
|
|
302
|
+
validateServeOptions({ name, tags, prefix, explorer, explorerPrefix });
|
|
303
|
+
// Apply log-level suppression (post-resolution so Config Bus values apply).
|
|
122
304
|
if (logLevel) {
|
|
123
305
|
const levels = ["DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"];
|
|
124
306
|
const minLevel = levels.indexOf(logLevel);
|
|
@@ -132,25 +314,74 @@ export async function serve(registryOrExecutor, options = {}) {
|
|
|
132
314
|
console.error = () => { };
|
|
133
315
|
}
|
|
134
316
|
const registry = resolveRegistry(registryOrExecutor);
|
|
135
|
-
const executor = await resolveExecutor(registryOrExecutor, {
|
|
317
|
+
const executor = await resolveExecutor(registryOrExecutor, {
|
|
318
|
+
approvalHandler,
|
|
319
|
+
strategy: resolvedStrategy,
|
|
320
|
+
middleware: combinedMiddleware,
|
|
321
|
+
acl: effectiveAcl,
|
|
322
|
+
});
|
|
323
|
+
// ── F-044: observability auto-wire (metrics + usage middleware) ──────
|
|
324
|
+
const obsStack = await installObservability(executor, metricsCollector, observabilityFlag);
|
|
325
|
+
const resolvedMetricsCollector = obsStack.metricsCollector;
|
|
136
326
|
// Register MCP config namespace and error formatter (idempotent)
|
|
137
327
|
registerMcpNamespace();
|
|
138
328
|
await registerMcpFormatter();
|
|
329
|
+
// Build output schema map for redaction
|
|
330
|
+
const outputSchemaMap = buildOutputSchemaMap(registry);
|
|
331
|
+
// ── F-043: AsyncTaskBridge ───────────────────────────────────────────
|
|
332
|
+
const asyncOpt = typeof asyncFlag === "object" ? asyncFlag : null;
|
|
333
|
+
const asyncEnabled = asyncFlag === undefined ? true : asyncFlag !== false;
|
|
334
|
+
const asyncBridge = asyncEnabled
|
|
335
|
+
? await createAsyncTaskBridge(executor, {
|
|
336
|
+
enabled: true,
|
|
337
|
+
maxConcurrent: asyncOpt?.maxConcurrent,
|
|
338
|
+
maxTasks: asyncOpt?.maxTasks,
|
|
339
|
+
outputSchemaMap,
|
|
340
|
+
// [A-D-008]: enable ASYNC_MODULE_NOT_ASYNC enforcement on
|
|
341
|
+
// __apcore_task_submit by giving the bridge a way to fetch the
|
|
342
|
+
// descriptor for a module id.
|
|
343
|
+
descriptorLookup: (moduleId) => registry
|
|
344
|
+
.getDefinition?.(moduleId) ?? null,
|
|
345
|
+
})
|
|
346
|
+
: null;
|
|
139
347
|
// Build MCP server components
|
|
140
348
|
const factory = new MCPServerFactory();
|
|
141
349
|
const server = factory.createServer(name, version);
|
|
142
|
-
|
|
143
|
-
|
|
350
|
+
let tools = factory.buildTools(registry, { tags, prefix });
|
|
351
|
+
tools = factory.attachAsyncMetaTools(tools, asyncBridge ?? undefined);
|
|
352
|
+
const router = new ExecutionRouter(executor, {
|
|
353
|
+
validateInputs,
|
|
354
|
+
outputFormatter,
|
|
355
|
+
redactOutput,
|
|
356
|
+
outputSchemaMap,
|
|
357
|
+
trace,
|
|
358
|
+
asyncTaskBridge: asyncBridge ?? undefined,
|
|
359
|
+
});
|
|
144
360
|
factory.registerHandlers(server, tools, router);
|
|
145
361
|
factory.registerResourceHandlers(server, registry);
|
|
362
|
+
// Start dynamic tool registration listener if enabled
|
|
363
|
+
if (options.dynamic) {
|
|
364
|
+
const listener = new RegistryListener(registry, factory);
|
|
365
|
+
listener.start();
|
|
366
|
+
origInfo("Dynamic tool registration enabled via RegistryListener");
|
|
367
|
+
}
|
|
146
368
|
origInfo(`Starting MCP server '${name}' v${version} with ${tools.length} tools via ${transport}`);
|
|
147
369
|
// Invoke startup callback
|
|
148
370
|
await onStartup?.();
|
|
149
371
|
// Select and run transport
|
|
150
372
|
const transportManager = new TransportManager();
|
|
151
373
|
transportManager.setModuleCount(tools.length);
|
|
152
|
-
if (
|
|
153
|
-
transportManager.setMetricsCollector(
|
|
374
|
+
if (resolvedMetricsCollector) {
|
|
375
|
+
transportManager.setMetricsCollector(resolvedMetricsCollector);
|
|
376
|
+
}
|
|
377
|
+
if (obsStack.usageCollector) {
|
|
378
|
+
transportManager.setUsageCollector(obsStack.usageCollector);
|
|
379
|
+
}
|
|
380
|
+
// [A-D-018] Wire the bridge so transport-level disconnect events
|
|
381
|
+
// trigger cancelSessionTasks(sessionId) for cooperative cancellation.
|
|
382
|
+
// Defensive call — older mocks/test doubles may lack the setter.
|
|
383
|
+
if (asyncBridge && typeof transportManager.setAsyncTaskBridge === "function") {
|
|
384
|
+
transportManager.setAsyncTaskBridge(asyncBridge);
|
|
154
385
|
}
|
|
155
386
|
if (authenticator) {
|
|
156
387
|
transportManager.setAuthenticator(authenticator);
|
|
@@ -198,6 +429,14 @@ export async function serve(registryOrExecutor, options = {}) {
|
|
|
198
429
|
console.info = origInfo;
|
|
199
430
|
console.warn = origWarn;
|
|
200
431
|
console.error = origError;
|
|
432
|
+
if (asyncBridge?.manager.shutdown) {
|
|
433
|
+
try {
|
|
434
|
+
await asyncBridge.manager.shutdown();
|
|
435
|
+
}
|
|
436
|
+
catch (err) {
|
|
437
|
+
origWarn("[apcore-mcp] AsyncTaskManager shutdown failed:", err);
|
|
438
|
+
}
|
|
439
|
+
}
|
|
201
440
|
await onShutdown?.();
|
|
202
441
|
}
|
|
203
442
|
}
|
|
@@ -229,33 +468,30 @@ export async function serve(registryOrExecutor, options = {}) {
|
|
|
229
468
|
* ```
|
|
230
469
|
*/
|
|
231
470
|
export async function asyncServe(registryOrExecutor, options = {}) {
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
if (name.length > 255) {
|
|
238
|
-
throw new Error("name must not exceed 255 characters");
|
|
239
|
-
}
|
|
240
|
-
if (tags) {
|
|
241
|
-
for (const tag of tags) {
|
|
242
|
-
if (!tag || tag.length === 0) {
|
|
243
|
-
throw new Error("tags must not contain empty strings");
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
if (prefix !== undefined && prefix !== null && prefix.length === 0) {
|
|
248
|
-
throw new Error("prefix must not be empty if provided");
|
|
249
|
-
}
|
|
250
|
-
if (explorer && !explorerPrefix.startsWith("/")) {
|
|
251
|
-
throw new Error("explorerPrefix must start with '/'");
|
|
252
|
-
}
|
|
253
|
-
// Save original console methods before suppression
|
|
471
|
+
// [D9-002] See serve() for the rationale on the optX naming and post-load resolution.
|
|
472
|
+
const { name: optName, version = VERSION, validateInputs: optValidateInputs, tags, prefix, logLevel: optLogLevel, metricsCollector, explorer: optExplorer, explorerPrefix: optExplorerPrefix, allowExecute = false, explorerTitle = "APCore MCP Explorer", explorerProjectName = "apcore-mcp", explorerProjectUrl = "https://github.com/aiperceivable/apcore-mcp-typescript", authenticator, requireAuth: optRequireAuth, exemptPaths, approvalHandler, endpoint, outputFormatter, redactOutput, strategy, trace, middleware: callerMiddleware, acl: callerAcl, observability: observabilityFlag, async: asyncFlag, } = options;
|
|
473
|
+
// Save original console methods before suppression. Suppression itself
|
|
474
|
+
// happens AFTER Config Bus resolution so that `mcp.log_level` from YAML or
|
|
475
|
+
// `APCORE_MCP_LOG_LEVEL` from env can drive it. [D9-002]
|
|
254
476
|
const origDebug = console.debug;
|
|
255
477
|
const origInfo = console.info;
|
|
256
478
|
const origWarn = console.warn;
|
|
257
479
|
const origError = console.error;
|
|
258
|
-
//
|
|
480
|
+
// ── F-040: YAML Pipeline Config via Config Bus ─────────────────────
|
|
481
|
+
const { resolvedStrategy, combinedMiddleware, effectiveAcl, configBusDefaults } = await loadConfigBusOverrides(strategy, callerMiddleware, callerAcl);
|
|
482
|
+
// [D9-002] Resolve scalar config values: caller → Config Bus → hardcoded default.
|
|
483
|
+
// asyncServe does not bind a transport (returns an ASGI-style app); transport,
|
|
484
|
+
// host, and port are not part of AsyncServeOptions.
|
|
485
|
+
const name = optName ?? configBusDefaults.name ?? "apcore-mcp";
|
|
486
|
+
const validateInputs = optValidateInputs ?? configBusDefaults.validateInputs;
|
|
487
|
+
const logLevel = optLogLevel ?? configBusDefaults.logLevel;
|
|
488
|
+
const explorer = optExplorer ?? configBusDefaults.explorer ?? false;
|
|
489
|
+
const explorerPrefix = optExplorerPrefix ?? configBusDefaults.explorerPrefix ?? "/explorer";
|
|
490
|
+
const requireAuth = optRequireAuth ?? configBusDefaults.requireAuth;
|
|
491
|
+
// Input validation (matching Python's checks) — moved here so it sees
|
|
492
|
+
// Config-Bus-resolved values.
|
|
493
|
+
validateServeOptions({ name, tags, prefix, explorer, explorerPrefix });
|
|
494
|
+
// Apply log-level suppression (post-resolution so Config Bus values apply).
|
|
259
495
|
if (logLevel) {
|
|
260
496
|
const levels = ["DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"];
|
|
261
497
|
const minLevel = levels.indexOf(logLevel);
|
|
@@ -269,23 +505,65 @@ export async function asyncServe(registryOrExecutor, options = {}) {
|
|
|
269
505
|
console.error = () => { };
|
|
270
506
|
}
|
|
271
507
|
const registry = resolveRegistry(registryOrExecutor);
|
|
272
|
-
const executor = await resolveExecutor(registryOrExecutor, {
|
|
508
|
+
const executor = await resolveExecutor(registryOrExecutor, {
|
|
509
|
+
approvalHandler,
|
|
510
|
+
strategy: resolvedStrategy,
|
|
511
|
+
middleware: combinedMiddleware,
|
|
512
|
+
acl: effectiveAcl,
|
|
513
|
+
});
|
|
514
|
+
// ── F-044: observability auto-wire ───────────────────────────────────
|
|
515
|
+
const obsStack = await installObservability(executor, metricsCollector, observabilityFlag);
|
|
516
|
+
const resolvedMetricsCollector = obsStack.metricsCollector;
|
|
273
517
|
// Register MCP config namespace and error formatter (idempotent)
|
|
274
518
|
registerMcpNamespace();
|
|
275
519
|
await registerMcpFormatter();
|
|
520
|
+
// Build output schema map for redaction
|
|
521
|
+
const outputSchemaMap = buildOutputSchemaMap(registry);
|
|
522
|
+
// ── F-043: AsyncTaskBridge ───────────────────────────────────────────
|
|
523
|
+
const asyncOpt = typeof asyncFlag === "object" ? asyncFlag : null;
|
|
524
|
+
const asyncEnabled = asyncFlag === undefined ? true : asyncFlag !== false;
|
|
525
|
+
const asyncBridge = asyncEnabled
|
|
526
|
+
? await createAsyncTaskBridge(executor, {
|
|
527
|
+
enabled: true,
|
|
528
|
+
maxConcurrent: asyncOpt?.maxConcurrent,
|
|
529
|
+
maxTasks: asyncOpt?.maxTasks,
|
|
530
|
+
outputSchemaMap,
|
|
531
|
+
// [A-D-008]: enable ASYNC_MODULE_NOT_ASYNC enforcement on
|
|
532
|
+
// __apcore_task_submit by giving the bridge a way to fetch the
|
|
533
|
+
// descriptor for a module id.
|
|
534
|
+
descriptorLookup: (moduleId) => registry
|
|
535
|
+
.getDefinition?.(moduleId) ?? null,
|
|
536
|
+
})
|
|
537
|
+
: null;
|
|
276
538
|
// Build MCP server components
|
|
277
539
|
const factory = new MCPServerFactory();
|
|
278
540
|
const server = factory.createServer(name, version);
|
|
279
|
-
|
|
280
|
-
|
|
541
|
+
let tools = factory.buildTools(registry, { tags, prefix });
|
|
542
|
+
tools = factory.attachAsyncMetaTools(tools, asyncBridge ?? undefined);
|
|
543
|
+
const router = new ExecutionRouter(executor, {
|
|
544
|
+
validateInputs,
|
|
545
|
+
outputFormatter,
|
|
546
|
+
redactOutput,
|
|
547
|
+
outputSchemaMap,
|
|
548
|
+
trace,
|
|
549
|
+
asyncTaskBridge: asyncBridge ?? undefined,
|
|
550
|
+
});
|
|
281
551
|
factory.registerHandlers(server, tools, router);
|
|
282
552
|
factory.registerResourceHandlers(server, registry);
|
|
283
553
|
console.info(`Building MCP app '${name}' v${version} with ${tools.length} tools`);
|
|
284
554
|
// Configure transport manager
|
|
285
555
|
const transportManager = new TransportManager();
|
|
286
556
|
transportManager.setModuleCount(tools.length);
|
|
287
|
-
if (
|
|
288
|
-
transportManager.setMetricsCollector(
|
|
557
|
+
if (resolvedMetricsCollector) {
|
|
558
|
+
transportManager.setMetricsCollector(resolvedMetricsCollector);
|
|
559
|
+
}
|
|
560
|
+
if (obsStack.usageCollector) {
|
|
561
|
+
transportManager.setUsageCollector(obsStack.usageCollector);
|
|
562
|
+
}
|
|
563
|
+
// [A-D-018] Same wiring as serve() — transport-level disconnect
|
|
564
|
+
// triggers cooperative cancellation of session-bound async tasks.
|
|
565
|
+
if (asyncBridge && typeof transportManager.setAsyncTaskBridge === "function") {
|
|
566
|
+
transportManager.setAsyncTaskBridge(asyncBridge);
|
|
289
567
|
}
|
|
290
568
|
if (authenticator) {
|
|
291
569
|
transportManager.setAuthenticator(authenticator);
|
|
@@ -317,6 +595,14 @@ export async function asyncServe(registryOrExecutor, options = {}) {
|
|
|
317
595
|
const originalClose = app.close;
|
|
318
596
|
app.close = async () => {
|
|
319
597
|
await originalClose();
|
|
598
|
+
if (asyncBridge?.manager.shutdown) {
|
|
599
|
+
try {
|
|
600
|
+
await asyncBridge.manager.shutdown();
|
|
601
|
+
}
|
|
602
|
+
catch (err) {
|
|
603
|
+
origWarn("[apcore-mcp] AsyncTaskManager shutdown failed:", err);
|
|
604
|
+
}
|
|
605
|
+
}
|
|
320
606
|
console.debug = origDebug;
|
|
321
607
|
console.info = origInfo;
|
|
322
608
|
console.warn = origWarn;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/inspector/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/inspector/index.ts"],"names":[],"mappings":""}
|