@adcp/sdk 12.0.2 → 12.0.4

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 (68) hide show
  1. package/dist/lib/advanced.d.mts +2 -1
  2. package/dist/lib/advanced.d.ts +2 -1
  3. package/dist/lib/advanced.d.ts.map +1 -1
  4. package/dist/lib/advanced.js +4 -0
  5. package/dist/lib/advanced.js.map +1 -1
  6. package/dist/lib/advanced.mjs +11 -1
  7. package/dist/lib/advanced.mjs.map +1 -1
  8. package/dist/lib/index.d.mts +2 -2
  9. package/dist/lib/index.d.ts +2 -2
  10. package/dist/lib/index.d.ts.map +1 -1
  11. package/dist/lib/index.js +2 -0
  12. package/dist/lib/index.js.map +1 -1
  13. package/dist/lib/index.mjs +3 -1
  14. package/dist/lib/index.mjs.map +1 -1
  15. package/dist/lib/protocols/mcp-modern.d.mts +1 -0
  16. package/dist/lib/protocols/mcp-modern.d.ts +1 -0
  17. package/dist/lib/protocols/mcp-modern.d.ts.map +1 -1
  18. package/dist/lib/protocols/mcp-modern.js +22 -5
  19. package/dist/lib/protocols/mcp-modern.js.map +1 -1
  20. package/dist/lib/protocols/mcp-modern.mjs +22 -5
  21. package/dist/lib/protocols/mcp-modern.mjs.map +1 -1
  22. package/dist/lib/protocols/mcp.d.mts +11 -0
  23. package/dist/lib/protocols/mcp.d.ts +11 -0
  24. package/dist/lib/protocols/mcp.d.ts.map +1 -1
  25. package/dist/lib/protocols/mcp.js +25 -8
  26. package/dist/lib/protocols/mcp.js.map +1 -1
  27. package/dist/lib/protocols/mcp.mjs +25 -8
  28. package/dist/lib/protocols/mcp.mjs.map +1 -1
  29. package/dist/lib/schemas-data/v2.5/_provenance.json +1 -1
  30. package/dist/lib/server/adcp-server.d.ts.map +1 -1
  31. package/dist/lib/server/adcp-server.js +18 -0
  32. package/dist/lib/server/adcp-server.js.map +1 -1
  33. package/dist/lib/server/adcp-server.mjs +15 -0
  34. package/dist/lib/server/adcp-server.mjs.map +1 -1
  35. package/dist/lib/server/create-adcp-server.d.mts +11 -0
  36. package/dist/lib/server/create-adcp-server.d.ts +11 -0
  37. package/dist/lib/server/create-adcp-server.d.ts.map +1 -1
  38. package/dist/lib/server/create-adcp-server.js +21 -0
  39. package/dist/lib/server/create-adcp-server.js.map +1 -1
  40. package/dist/lib/server/create-adcp-server.mjs +26 -0
  41. package/dist/lib/server/create-adcp-server.mjs.map +1 -1
  42. package/dist/lib/server/index.d.mts +2 -0
  43. package/dist/lib/server/index.d.ts +2 -0
  44. package/dist/lib/server/index.d.ts.map +1 -1
  45. package/dist/lib/server/index.js +3 -0
  46. package/dist/lib/server/index.js.map +1 -1
  47. package/dist/lib/server/index.mjs +2 -0
  48. package/dist/lib/server/index.mjs.map +1 -1
  49. package/dist/lib/server/mcp-app.d.mts +57 -0
  50. package/dist/lib/server/mcp-app.d.ts +58 -0
  51. package/dist/lib/server/mcp-app.d.ts.map +1 -0
  52. package/dist/lib/server/mcp-app.js +110 -0
  53. package/dist/lib/server/mcp-app.js.map +1 -0
  54. package/dist/lib/server/mcp-app.mjs +83 -0
  55. package/dist/lib/server/mcp-app.mjs.map +1 -0
  56. package/dist/lib/server/mcp-modern-server.d.ts.map +1 -1
  57. package/dist/lib/server/mcp-modern-server.js +23 -1
  58. package/dist/lib/server/mcp-modern-server.js.map +1 -1
  59. package/dist/lib/server/mcp-modern-server.mjs +24 -1
  60. package/dist/lib/server/mcp-modern-server.mjs.map +1 -1
  61. package/dist/lib/version.d.mts +3 -3
  62. package/dist/lib/version.d.ts +3 -3
  63. package/dist/lib/version.js +3 -3
  64. package/dist/lib/version.js.map +1 -1
  65. package/dist/lib/version.mjs +3 -3
  66. package/dist/lib/version.mjs.map +1 -1
  67. package/docs/guides/BUILD-AN-AGENT.md +70 -0
  68. 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;
@@ -2913,6 +2938,7 @@ function createAdcpServer(config) {
2913
2938
  }
2914
2939
  };
2915
2940
  const wrapped = wrapMcpServer(server, compliance, adcpVersion);
2941
+ setMcpAppResources(wrapped, mcpAppResources);
2916
2942
  if (signedRequests) {
2917
2943
  const preTransport = buildSignedRequestsPreTransport(signedRequests, capConfig?.request_signing);
2918
2944
  Object.defineProperty(wrapped, ADCP_PRE_TRANSPORT, {