The node's runtime launches a tools bundle as a process and speaks MCP over stdio to it, so a tool may be written in any language and the transport stays in the runtime (ADR 0039's refusal, kept). Each SDK is the loop and the tool type and nothing else: `@novox/mesh-sdk/stdio` (serveStdio, and serveRegisteredOverStdio for a bundle that already registers the in-process way), python/, go/, rust/ and c/ beside it, each with an example answering `greet` and the seat verb `node-lamp.on`. Skeletons, by the operator's direction: the bare minimum one bundle per language needs to be built and answer, proven here by each example answering tools/list and tools/call on stdio.
29 lines
771 B
JSON
29 lines
771 B
JSON
{
|
|
"name": "@novox/mesh-sdk",
|
|
"version": "0.1.2",
|
|
"description": "The stable spine a Novox Mesh module's own code builds against.",
|
|
"type": "module",
|
|
"exports": {
|
|
".": "./dist/index.js",
|
|
"./contracts": "./dist/contracts/index.js",
|
|
"./provisioner": "./dist/provisioner/index.js",
|
|
"./tools": "./dist/tools/index.js",
|
|
"./messaging": "./dist/messaging/index.js",
|
|
"./events": "./dist/events/index.js",
|
|
"./primitives": "./dist/primitives/index.js",
|
|
"./stdio": "./dist/stdio/index.js"
|
|
},
|
|
"files": [
|
|
"dist"
|
|
],
|
|
"scripts": {
|
|
"build": "tsc",
|
|
"test": "node --test --experimental-strip-types 'test/*.test.ts'",
|
|
"prepare": "tsc"
|
|
},
|
|
"devDependencies": {
|
|
"@types/node": "^22.0.0",
|
|
"typescript": "^5.6.0"
|
|
}
|
|
}
|