decentralized-identity / veramo

A JavaScript Framework for Verifiable Data
https://veramo.io
Apache License 2.0
414 stars 130 forks source link

TypeError: Cannot read properties of undefined (reading 'description') #1385

Open omk42 opened 1 month ago

omk42 commented 1 month ago

Bug severity 2

Describe the bug My agent's open-api route fails because of TypeError: Cannot read properties of undefined (reading 'description'). I manually compared the agent.availableMethods() and agent.getSchema().components.methods.keys() and they look similar. Note that veramo server CLI command is able to fetch open-api schema for the same agent.

To Reproduce Steps to reproduce the behaviour:

  1. Agent
  export const agent = createAgent<IDIDManager & IKeyManager & IDataStore & IDataStoreORM & IResolver & ICredentialPlugin>({...})
  1. remote setup
const exposedMethods = agent.availableMethods()

const schemaRouter = ApiSchemaRouter({
  basePath,
  exposedMethods,
});

const app = express();
app.use(basePath, requestAgentRouter, agentRouter);
app.use(schemaPath, requestAgentRouter, schemaRouter);

Observed behaviour Stack trace at basepath/open-api.json

TypeError: Cannot read properties of undefined (reading 'description')
    at getOpenApiSchema (@veramo/remote-client/src/openApi.ts:34:61)
    at node_modules/@veramo/remote-server/src/api-schema-router.ts:52:29
    at Layer.handle [as handle_request] (node_modules/express/lib/router/layer.js:95:5)
    at next (node_modules/express/lib/router/route.js:149:13)
    at Route.dispatch (/node_modules/express/lib/router/route.js:119:3)
    at Layer.handle [as handle_request] (node_modules/express/lib/router/layer.js:95:5)
    at node_modules/express/lib/router/index.js:284:15
    at Function.process_params (/node_modules/express/lib/router/index.js:346:12)
    at next (node_modules/express/lib/router/index.js:280:10)
    at Function.handle (/node_modules/express/lib/router/index.js:175:3)

Expected behaviour Same as veramo sever CLI

Versions (please complete the following information):