@adcp/sdk 12.0.1 → 12.0.3
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/dist/lib/index.d.mts +2 -2
- package/dist/lib/index.d.ts +2 -2
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +2 -0
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/index.mjs +3 -1
- package/dist/lib/index.mjs.map +1 -1
- package/dist/lib/schemas-data/v2.5/_provenance.json +1 -1
- package/dist/lib/server/adcp-server.d.ts.map +1 -1
- package/dist/lib/server/adcp-server.js +18 -0
- package/dist/lib/server/adcp-server.js.map +1 -1
- package/dist/lib/server/adcp-server.mjs +15 -0
- package/dist/lib/server/adcp-server.mjs.map +1 -1
- package/dist/lib/server/create-adcp-server.d.mts +24 -0
- package/dist/lib/server/create-adcp-server.d.ts +24 -0
- package/dist/lib/server/create-adcp-server.d.ts.map +1 -1
- package/dist/lib/server/create-adcp-server.js +24 -2
- package/dist/lib/server/create-adcp-server.js.map +1 -1
- package/dist/lib/server/create-adcp-server.mjs +29 -2
- package/dist/lib/server/create-adcp-server.mjs.map +1 -1
- package/dist/lib/server/index.d.mts +3 -1
- package/dist/lib/server/index.d.ts +3 -1
- package/dist/lib/server/index.d.ts.map +1 -1
- package/dist/lib/server/index.js +3 -0
- package/dist/lib/server/index.js.map +1 -1
- package/dist/lib/server/index.mjs +2 -0
- package/dist/lib/server/index.mjs.map +1 -1
- package/dist/lib/server/legacy/v5/index.d.mts +1 -1
- package/dist/lib/server/legacy/v5/index.d.ts +1 -1
- package/dist/lib/server/legacy/v5/index.d.ts.map +1 -1
- package/dist/lib/server/legacy/v5/index.js.map +1 -1
- package/dist/lib/server/legacy/v5/index.mjs.map +1 -1
- package/dist/lib/server/mcp-app.d.mts +57 -0
- package/dist/lib/server/mcp-app.d.ts +58 -0
- package/dist/lib/server/mcp-app.d.ts.map +1 -0
- package/dist/lib/server/mcp-app.js +110 -0
- package/dist/lib/server/mcp-app.js.map +1 -0
- package/dist/lib/server/mcp-app.mjs +83 -0
- package/dist/lib/server/mcp-app.mjs.map +1 -0
- package/dist/lib/server/mcp-modern-server.d.ts.map +1 -1
- package/dist/lib/server/mcp-modern-server.js +23 -1
- package/dist/lib/server/mcp-modern-server.js.map +1 -1
- package/dist/lib/server/mcp-modern-server.mjs +24 -1
- package/dist/lib/server/mcp-modern-server.mjs.map +1 -1
- package/dist/lib/version.d.mts +3 -3
- package/dist/lib/version.d.ts +3 -3
- package/dist/lib/version.js +3 -3
- package/dist/lib/version.js.map +1 -1
- package/dist/lib/version.mjs +3 -3
- package/dist/lib/version.mjs.map +1 -1
- package/docs/guides/BUILD-AN-AGENT.md +70 -0
- package/package.json +1 -1
|
@@ -10,8 +10,14 @@ import {
|
|
|
10
10
|
ADCP_STATE_STORE,
|
|
11
11
|
wrapMcpServer,
|
|
12
12
|
setSdkServerInstructions,
|
|
13
|
+
setMcpAppResources,
|
|
13
14
|
wrapInitializeHandler
|
|
14
15
|
} from "./adcp-server.mjs";
|
|
16
|
+
import {
|
|
17
|
+
mcpAppResourceMetadata,
|
|
18
|
+
normalizeMcpAppResources,
|
|
19
|
+
readMcpAppResource
|
|
20
|
+
} from "./mcp-app.mjs";
|
|
15
21
|
import { createTaskCapableServer, InMemoryTaskStore } from "./tasks.mjs";
|
|
16
22
|
import { adcpError, applyAdcpErrorAllowlist, sanitizeStructuredAdcpError } from "./errors.mjs";
|
|
17
23
|
import { AdcpError } from "./decisioning/async-outcome.mjs";
|
|
@@ -1156,6 +1162,15 @@ function createAdcpServer(config) {
|
|
|
1156
1162
|
responseEnhancer
|
|
1157
1163
|
} = config;
|
|
1158
1164
|
const frameworkInputSchemaFor = (toolName) => config.exposeToolSchemas === true ? shallowToolInputHintSchema(toolName) ?? PASSTHROUGH_INPUT_SCHEMA : PASSTHROUGH_INPUT_SCHEMA;
|
|
1165
|
+
const mcpAppResources = normalizeMcpAppResources(config.resources);
|
|
1166
|
+
const mcpAppResourceUris = new Set(mcpAppResources.map((resource) => resource.uri));
|
|
1167
|
+
for (const [toolName, tool] of Object.entries(config.customTools ?? {})) {
|
|
1168
|
+
const resourceUri = tool?._meta?.ui?.resourceUri;
|
|
1169
|
+
if (resourceUri === void 0 || mcpAppResourceUris.has(resourceUri)) continue;
|
|
1170
|
+
const message = `[adcp/createAdcpServer] customTools["${toolName}"]._meta.ui.resourceUri references "${resourceUri}", but no matching MCP App resource is configured in resources[].`;
|
|
1171
|
+
process.emitWarning(message, { type: "AdcpServerConfigWarning", code: "ADCP_MCP_APP_RESOURCE_MISSING" });
|
|
1172
|
+
logger.warn(message);
|
|
1173
|
+
}
|
|
1159
1174
|
if (testControllerBridge != null && resolveAccount === void 0 && resolveAccountFromAuth === void 0) {
|
|
1160
1175
|
const message = "[adcp/createAdcpServer] testController is wired but no account resolver \u2014 configure resolveAccount (or resolveAccountFromAuth) for production. Storyboard runners without account scoping can ignore. Details: https://github.com/adcontextprotocol/adcp-client/blob/main/docs/guides/VALIDATE-YOUR-AGENT.md";
|
|
1161
1176
|
process.emitWarning(message, { type: "AdcpServerConfigWarning", code: "ADCP_BRIDGE_NO_RESOLVER" });
|
|
@@ -1300,6 +1315,16 @@ function createAdcpServer(config) {
|
|
|
1300
1315
|
taskMessageQueue,
|
|
1301
1316
|
instructions: resolvedInstructions
|
|
1302
1317
|
});
|
|
1318
|
+
for (const resource of mcpAppResources) {
|
|
1319
|
+
server.registerResource(
|
|
1320
|
+
resource.name,
|
|
1321
|
+
resource.uri,
|
|
1322
|
+
mcpAppResourceMetadata(resource),
|
|
1323
|
+
async (uri, extra) => readMcpAppResource(resource, uri, {
|
|
1324
|
+
signal: extra.signal
|
|
1325
|
+
})
|
|
1326
|
+
);
|
|
1327
|
+
}
|
|
1303
1328
|
if (pendingInstructions !== void 0) {
|
|
1304
1329
|
const pending = pendingInstructions;
|
|
1305
1330
|
let resolvedOnce;
|
|
@@ -2732,7 +2757,7 @@ function createAdcpServer(config) {
|
|
|
2732
2757
|
}
|
|
2733
2758
|
const custom = config.customTools[customName];
|
|
2734
2759
|
if (!custom) continue;
|
|
2735
|
-
const { description, title, inputSchema, outputSchema, annotations, handler } = custom;
|
|
2760
|
+
const { description, title, inputSchema, outputSchema, annotations, _meta, handler } = custom;
|
|
2736
2761
|
const rawHandler = handler;
|
|
2737
2762
|
const wrappedHandler = (async (...args) => {
|
|
2738
2763
|
try {
|
|
@@ -2750,7 +2775,8 @@ function createAdcpServer(config) {
|
|
|
2750
2775
|
...title != null && { title },
|
|
2751
2776
|
...inputSchema != null && { inputSchema },
|
|
2752
2777
|
...outputSchema != null && { outputSchema },
|
|
2753
|
-
...annotations != null && { annotations }
|
|
2778
|
+
...annotations != null && { annotations },
|
|
2779
|
+
..._meta != null && { _meta }
|
|
2754
2780
|
},
|
|
2755
2781
|
wrappedHandler
|
|
2756
2782
|
);
|
|
@@ -2912,6 +2938,7 @@ function createAdcpServer(config) {
|
|
|
2912
2938
|
}
|
|
2913
2939
|
};
|
|
2914
2940
|
const wrapped = wrapMcpServer(server, compliance, adcpVersion);
|
|
2941
|
+
setMcpAppResources(wrapped, mcpAppResources);
|
|
2915
2942
|
if (signedRequests) {
|
|
2916
2943
|
const preTransport = buildSignedRequestsPreTransport(signedRequests, capConfig?.request_signing);
|
|
2917
2944
|
Object.defineProperty(wrapped, ADCP_PRE_TRANSPORT, {
|