3838 port : isNumber
3939 uri : isString.default("/mcp")
4040 debug : isBoolean.default(false)
41- fnsMeta : isArray .default([] )
41+ fnsMeta : isMap .default({} )
4242 fns : isMap.default({})
4343 deps :
4444 - HTTP Start Server
@@ -66,14 +66,15 @@ jobs:
6666 if (args.debug) log(`initialize -- ${af.toCSLON(params)}`)
6767 return args.description
6868 },
69+ "notifications/cancelled" : params => ({}),
6970 "notifications/initialized": params => ({}),
7071 "tools/call" : params => {
7172 if (args.debug) log(`tools/call -- ${af.toCSLON(params)}`)
7273 var _res
7374 if (isDef(args.fns[params.name])) {
7475 try {
7576 if (isString(args.fns[params.name])) {
76- _res = $job(args.fns[params.name], params.arguments)
77+ _res = $job(args.fns[params.name], params.arguments || params.input || {} )
7778 if (isMap(_res)) {
7879 delete _res.objId
7980 delete _res.execid
@@ -101,15 +102,16 @@ jobs:
101102 isError: true
102103 }
103104 }
104- if (isString(_res.text)) {
105+ try {
106+ if (isDef(_res) && isString(_res.text)) {
105107 _res = {
106108 content: [{
107109 type: "text",
108110 text: _res.text
109111 }],
110112 isError: false
111113 }
112- } else if (isUnDef(_res.result)) {
114+ } else if (isDef(_res) && isUnDef(_res.result)) {
113115 _res = {
114116 content: [{
115117 type: "text",
@@ -118,8 +120,9 @@ jobs:
118120 isError: false
119121 }
120122 } else {
121- _res = _res.result
123+ if (isDef(_res)) _res = _res.result
122124 }
125+ } catch(eee) { $err(eee) }
123126
124127 if (args.debug) log(`tools/call -- response: ${af.toCSLON(_res)}`)
125128 return _res
@@ -142,7 +145,7 @@ jobs:
142145 }
143146 },
144147 "prompts/list": params => ({})
145- }, log, logWarn )
148+ }, log, m => { if (args.debug) print(ansiColor("BG(230),BLACK", m)) } )
146149
147150 ow.server.httpd.route(global.__ojobHttp[args.port], merge(global.__ojobRoutes[args.port], fns))
148151 log("READY [" + args.port + "]")
@@ -171,7 +174,7 @@ jobs:
171174 in :
172175 description : isMap.default(__)
173176 debug : isString.default(__)
174- fnsMeta : isArray .default([] )
177+ fnsMeta : isMap .default({} )
175178 fns : isMap.default({})
176179 exec : | # js
177180 // Ensures default server info and capabilities
0 commit comments