@source-repo/rpc-cli 3.0.0 → 3.2.0
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/README.md +612 -708
- package/dist/extract.d.ts.map +1 -1
- package/dist/extract.js +15 -3
- package/dist/extract.js.map +1 -1
- package/dist/fake.d.ts +39 -0
- package/dist/fake.d.ts.map +1 -1
- package/dist/fake.js +26 -3
- package/dist/fake.js.map +1 -1
- package/dist/handlers.d.ts +46 -0
- package/dist/handlers.d.ts.map +1 -0
- package/dist/handlers.js +253 -0
- package/dist/handlers.js.map +1 -0
- package/dist/index.js +37 -4
- package/dist/index.js.map +1 -1
- package/dist/mcp.d.ts +28 -0
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +304 -5
- package/dist/mcp.js.map +1 -1
- package/dist/network.d.ts +7 -1
- package/dist/network.d.ts.map +1 -1
- package/dist/network.js +2 -1
- package/dist/network.js.map +1 -1
- package/dist/packages.d.ts +41 -0
- package/dist/packages.d.ts.map +1 -0
- package/dist/packages.js +120 -0
- package/dist/packages.js.map +1 -0
- package/dist/scripting.d.ts +171 -0
- package/dist/scripting.d.ts.map +1 -0
- package/dist/scripting.js +186 -0
- package/dist/scripting.js.map +1 -0
- package/dist/scripts.d.ts +62 -0
- package/dist/scripts.d.ts.map +1 -0
- package/dist/scripts.js +193 -0
- package/dist/scripts.js.map +1 -0
- package/dist/web/app.js +7 -7
- package/dist/web/app.js.map +1 -1
- package/package.json +77 -63
package/dist/mcp.js
CHANGED
|
@@ -3,6 +3,8 @@ import { join, resolve, sep } from 'node:path';
|
|
|
3
3
|
import { readableNameFor } from '@source-repo/rpc';
|
|
4
4
|
import { connectNetwork } from './network.js';
|
|
5
5
|
import { looksLikeSchema, startFake } from './fake.js';
|
|
6
|
+
import { environmentFor } from './scripts.js';
|
|
7
|
+
import { ScriptingService, scriptingAuthorizer } from './scripting.js';
|
|
6
8
|
import { checkPeerOn, diffPeersOn } from './conform.js';
|
|
7
9
|
import { openTap } from './tapping.js';
|
|
8
10
|
/**
|
|
@@ -50,7 +52,7 @@ const INTERNAL_ERROR = -32603;
|
|
|
50
52
|
* shell; the ones that write a contract to disk appear only when a directory was named, so a server
|
|
51
53
|
* that cannot write files does not advertise tools claiming it can.
|
|
52
54
|
*/
|
|
53
|
-
const toolsFor = (contracts) => [
|
|
55
|
+
const toolsFor = (contracts, allowExec = false, scripts) => [
|
|
54
56
|
{
|
|
55
57
|
name: 'list_peers',
|
|
56
58
|
description: 'List the peers currently on the msgrpc network, with the ones this server can reach right now.',
|
|
@@ -92,6 +94,11 @@ const toolsFor = (contracts) => [
|
|
|
92
94
|
'. `script` can supply canned returns, deliberate failures and events on a timer: ' +
|
|
93
95
|
'{"returns":{"plant.read":{"celsius":84}},"fails":{"plant.halt":"Unauthorized"},"emits":[{"event":"plant.alarm","every":2000}]}. ' +
|
|
94
96
|
'The failure code "Timeout" is the special one - that method never answers at all, which is how a caller\'s own timeout is staged. ' +
|
|
97
|
+
(allowExec
|
|
98
|
+
? 'For a simulation that reacts rather than repeats, `state` seeds shared variables and `handlers` gives a method a JavaScript body: ' +
|
|
99
|
+
'{"state":{"celsius":20,"setpoint":20},"handlers":{"plant.setSetpoint":"(v) => { state.setpoint = v }","plant.read":"() => ({celsius: state.celsius += Math.sign(state.setpoint - state.celsius)})"}}. ' +
|
|
100
|
+
'`python` runs a program instead - {"python":{"program":"@rpc(\'plant.read\')\\ndef read(): return {\'celsius\': 20}","targets":["plant.read"]}} - which keeps its own state and is started once. '
|
|
101
|
+
: '') +
|
|
95
102
|
'This joins the real network, so it will not take a name a peer already answers to.',
|
|
96
103
|
inputSchema: {
|
|
97
104
|
type: 'object',
|
|
@@ -99,7 +106,7 @@ const toolsFor = (contracts) => [
|
|
|
99
106
|
name: { type: 'string', description: 'The peer name to serve under. Defaults to fake-<three words>.' },
|
|
100
107
|
schema: { type: 'object', description: 'The contract, as an msgrpc schema: {"schema":1,"namespaces":{...}}.' },
|
|
101
108
|
...(contracts ? { contract: { type: 'string', description: 'The name of a saved contract to serve instead of passing one inline.' } } : {}),
|
|
102
|
-
script: { type: 'object', description: 'Canned returns, deliberate failures and timed events. Optional.' }
|
|
109
|
+
script: { type: 'object', description: 'Canned returns, deliberate failures and timed events. Optional.' + (allowExec ? ' May also carry `state`, `handlers` and `python`.' : '') }
|
|
103
110
|
},
|
|
104
111
|
additionalProperties: false
|
|
105
112
|
}
|
|
@@ -197,6 +204,173 @@ const toolsFor = (contracts) => [
|
|
|
197
204
|
inputSchema: { type: 'object', properties: {}, additionalProperties: false }
|
|
198
205
|
}
|
|
199
206
|
]
|
|
207
|
+
: []),
|
|
208
|
+
...(scripts
|
|
209
|
+
? [
|
|
210
|
+
{
|
|
211
|
+
name: 'save_script',
|
|
212
|
+
description: 'Write a script to the scripts directory. A script is an ESM Node program that imports @source-repo/rpc and is a peer in its own right - ' +
|
|
213
|
+
'so unlike start_fake it is not bound to one contract and can call as well as answer, drive a sequence, watch events, or stand several peers up at once. ' +
|
|
214
|
+
'It runs as its own process. The network this server is on is in the environment as SOURCE_RPC_HUB, SOURCE_RPC_BROKER, SOURCE_RPC_PREFIX and SOURCE_RPC_TOKEN, ' +
|
|
215
|
+
'so a script should read those rather than hardcode a url. Saving does not start it.',
|
|
216
|
+
inputSchema: {
|
|
217
|
+
type: 'object',
|
|
218
|
+
properties: {
|
|
219
|
+
name: { type: 'string', description: 'A name; the file becomes <name>.ts (or <name>.mjs) in the scripts directory.' },
|
|
220
|
+
source: { type: 'string', description: 'The program. TypeScript by default - Node runs it directly - so `import type { Pump } from ...` gives a typed proxy.' },
|
|
221
|
+
language: { type: 'string', enum: ['ts', 'mjs'], description: 'Default ts. Use mjs for plain JavaScript, or when the server runs on a Node older than 22.6.' },
|
|
222
|
+
node: {
|
|
223
|
+
type: 'string',
|
|
224
|
+
description: 'Which node to do this on. Absent means this one. Another peer works only if that node has named this one as permitted to script it, which is arranged there and not here.'
|
|
225
|
+
}
|
|
226
|
+
},
|
|
227
|
+
required: ['name', 'source'],
|
|
228
|
+
additionalProperties: false
|
|
229
|
+
}
|
|
230
|
+
},
|
|
231
|
+
{
|
|
232
|
+
name: 'list_scripts',
|
|
233
|
+
description: 'The scripts in the directory, and which of them are running here.',
|
|
234
|
+
inputSchema: {
|
|
235
|
+
type: 'object',
|
|
236
|
+
properties: {
|
|
237
|
+
node: {
|
|
238
|
+
type: 'string',
|
|
239
|
+
description: 'Which node to do this on. Absent means this one. Another peer works only if that node has named this one as permitted to script it, which is arranged there and not here.'
|
|
240
|
+
}
|
|
241
|
+
},
|
|
242
|
+
additionalProperties: false
|
|
243
|
+
}
|
|
244
|
+
},
|
|
245
|
+
{
|
|
246
|
+
name: 'read_script',
|
|
247
|
+
description: 'The source of one saved script, for changing a part of it rather than rewriting the whole.',
|
|
248
|
+
inputSchema: {
|
|
249
|
+
type: 'object',
|
|
250
|
+
properties: {
|
|
251
|
+
name: { type: 'string' },
|
|
252
|
+
node: {
|
|
253
|
+
type: 'string',
|
|
254
|
+
description: 'Which node to do this on. Absent means this one. Another peer works only if that node has named this one as permitted to script it, which is arranged there and not here.'
|
|
255
|
+
}
|
|
256
|
+
},
|
|
257
|
+
required: ['name'],
|
|
258
|
+
additionalProperties: false
|
|
259
|
+
}
|
|
260
|
+
},
|
|
261
|
+
{
|
|
262
|
+
name: 'delete_script',
|
|
263
|
+
description: 'Remove a script from the directory. It is stopped first if it is running.',
|
|
264
|
+
inputSchema: {
|
|
265
|
+
type: 'object',
|
|
266
|
+
properties: {
|
|
267
|
+
name: { type: 'string' },
|
|
268
|
+
node: {
|
|
269
|
+
type: 'string',
|
|
270
|
+
description: 'Which node to do this on. Absent means this one. Another peer works only if that node has named this one as permitted to script it, which is arranged there and not here.'
|
|
271
|
+
}
|
|
272
|
+
},
|
|
273
|
+
required: ['name'],
|
|
274
|
+
additionalProperties: false
|
|
275
|
+
}
|
|
276
|
+
},
|
|
277
|
+
{
|
|
278
|
+
name: 'start_script',
|
|
279
|
+
description: 'Run a saved script as its own process. Returns immediately; use script_output to see what it printed.',
|
|
280
|
+
inputSchema: {
|
|
281
|
+
type: 'object',
|
|
282
|
+
properties: {
|
|
283
|
+
name: { type: 'string' },
|
|
284
|
+
node: {
|
|
285
|
+
type: 'string',
|
|
286
|
+
description: 'Which node to do this on. Absent means this one. Another peer works only if that node has named this one as permitted to script it, which is arranged there and not here.'
|
|
287
|
+
}
|
|
288
|
+
},
|
|
289
|
+
required: ['name'],
|
|
290
|
+
additionalProperties: false
|
|
291
|
+
}
|
|
292
|
+
},
|
|
293
|
+
{
|
|
294
|
+
name: 'stop_script',
|
|
295
|
+
description: 'Stop a running script. Scripts are stopped anyway when this server exits.',
|
|
296
|
+
inputSchema: {
|
|
297
|
+
type: 'object',
|
|
298
|
+
properties: {
|
|
299
|
+
name: { type: 'string' },
|
|
300
|
+
node: {
|
|
301
|
+
type: 'string',
|
|
302
|
+
description: 'Which node to do this on. Absent means this one. Another peer works only if that node has named this one as permitted to script it, which is arranged there and not here.'
|
|
303
|
+
}
|
|
304
|
+
},
|
|
305
|
+
required: ['name'],
|
|
306
|
+
additionalProperties: false
|
|
307
|
+
}
|
|
308
|
+
},
|
|
309
|
+
{
|
|
310
|
+
name: 'list_packages',
|
|
311
|
+
description: 'The npm packages a script in this directory may import, with what is declared and what is actually installed.',
|
|
312
|
+
inputSchema: {
|
|
313
|
+
type: 'object',
|
|
314
|
+
properties: {
|
|
315
|
+
node: {
|
|
316
|
+
type: 'string',
|
|
317
|
+
description: 'Which node to do this on. Absent means this one. Another peer works only if that node has named this one as permitted to script it, which is arranged there and not here.'
|
|
318
|
+
}
|
|
319
|
+
},
|
|
320
|
+
additionalProperties: false
|
|
321
|
+
}
|
|
322
|
+
},
|
|
323
|
+
{
|
|
324
|
+
name: 'add_package',
|
|
325
|
+
description: 'Install an npm package into the scripts directory so a script can import it. Give a name, optionally with a range: `zod` or `@scope/name@^2`. ' +
|
|
326
|
+
'Install scripts are skipped by default, because a postinstall hook is unreviewed code from the registry running here - pass allowInstallScripts only for a package that needs a native build, and say why.',
|
|
327
|
+
inputSchema: {
|
|
328
|
+
type: 'object',
|
|
329
|
+
properties: {
|
|
330
|
+
spec: { type: 'string', description: 'Package name, optionally with a version range.' },
|
|
331
|
+
allowInstallScripts: { type: 'boolean', description: 'Permit the package to run its own install hooks. Default false.' },
|
|
332
|
+
node: {
|
|
333
|
+
type: 'string',
|
|
334
|
+
description: 'Which node to do this on. Absent means this one. Another peer works only if that node has named this one as permitted to script it, which is arranged there and not here.'
|
|
335
|
+
}
|
|
336
|
+
},
|
|
337
|
+
required: ['spec'],
|
|
338
|
+
additionalProperties: false
|
|
339
|
+
}
|
|
340
|
+
},
|
|
341
|
+
{
|
|
342
|
+
name: 'remove_package',
|
|
343
|
+
description: 'Uninstall an npm package from the scripts directory.',
|
|
344
|
+
inputSchema: {
|
|
345
|
+
type: 'object',
|
|
346
|
+
properties: {
|
|
347
|
+
name: { type: 'string' },
|
|
348
|
+
node: {
|
|
349
|
+
type: 'string',
|
|
350
|
+
description: 'Which node to do this on. Absent means this one. Another peer works only if that node has named this one as permitted to script it, which is arranged there and not here.'
|
|
351
|
+
}
|
|
352
|
+
},
|
|
353
|
+
required: ['name'],
|
|
354
|
+
additionalProperties: false
|
|
355
|
+
}
|
|
356
|
+
},
|
|
357
|
+
{
|
|
358
|
+
name: 'script_output',
|
|
359
|
+
description: 'The most recent output of a script, running or finished, with stderr lines marked "! ". This is how a script reports; it has no other channel.',
|
|
360
|
+
inputSchema: {
|
|
361
|
+
type: 'object',
|
|
362
|
+
properties: {
|
|
363
|
+
name: { type: 'string' },
|
|
364
|
+
node: {
|
|
365
|
+
type: 'string',
|
|
366
|
+
description: 'Which node to do this on. Absent means this one. Another peer works only if that node has named this one as permitted to script it, which is arranged there and not here.'
|
|
367
|
+
}
|
|
368
|
+
},
|
|
369
|
+
required: ['name'],
|
|
370
|
+
additionalProperties: false
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
]
|
|
200
374
|
: [])
|
|
201
375
|
];
|
|
202
376
|
const failureText = (e) => {
|
|
@@ -204,13 +378,64 @@ const failureText = (e) => {
|
|
|
204
378
|
return error?.code ? `${error.code}: ${error.message ?? ''}`.trim() : e instanceof Error ? e.message : String(e);
|
|
205
379
|
};
|
|
206
380
|
export const startMcp = async (options) => {
|
|
381
|
+
// stdout carries the protocol, so this goes to stderr like every other word this server says.
|
|
382
|
+
if (options.allowExec)
|
|
383
|
+
process.stderr.write('source-rpc mcp: --allow-exec is on, so start_fake will run JavaScript or Python the client sends. Development machines only.\n');
|
|
384
|
+
// Said at least as loudly as --allow-exec, because it is the larger grant of the two: a handler
|
|
385
|
+
// is a method body in a sandbox that is not a boundary, and a script is a process with this
|
|
386
|
+
// server's own privileges, its environment and its bus credentials. The smaller one announcing
|
|
387
|
+
// itself while the bigger one stayed quiet was the wrong way round.
|
|
388
|
+
if (options.scripts)
|
|
389
|
+
process.stderr.write(`source-rpc mcp: --scripts is on, so this server will write and run programs in ${options.scripts} with your privileges, and may install packages there. Development machines only.\n`);
|
|
390
|
+
// Louder than the rest, because this is the one that puts it on the network rather than under
|
|
391
|
+
// the person at the keyboard.
|
|
392
|
+
if (options.scriptableBy?.length)
|
|
393
|
+
process.stderr.write(`source-rpc mcp: --scriptable-by is on, so ${options.scriptableBy.join(' and ')} may write and run programs on this machine over the network. They must authenticate as those names; a peer this network cannot identify is refused.\n`);
|
|
207
394
|
if (!options.broker && !options.hub)
|
|
208
395
|
throw new Error('startMcp: give it a broker, a hub, or both');
|
|
209
|
-
//
|
|
210
|
-
|
|
396
|
+
// A window onto the network and nothing more, unless --scriptable-by names somebody - at which
|
|
397
|
+
// point this peer offers one namespace and the guard that comes with it. The guard goes on at
|
|
398
|
+
// construction rather than afterwards, so there is no instant where the namespace is reachable
|
|
399
|
+
// and unguarded.
|
|
400
|
+
const scriptableBy = options.scriptableBy?.filter((entry) => entry.trim()) ?? [];
|
|
401
|
+
const connected = await connectNetwork({
|
|
402
|
+
...options,
|
|
403
|
+
...(scriptableBy.length ? { authorize: scriptingAuthorizer({ directory: options.scripts ?? '', allow: scriptableBy }) } : {})
|
|
404
|
+
});
|
|
211
405
|
const { network, online } = connected;
|
|
212
406
|
/** Peers this server is standing up, stopped when it exits so none outlive the conversation. */
|
|
213
407
|
const fakes = new Map();
|
|
408
|
+
// Given the same network this server joined, so a script reads its broker url rather than
|
|
409
|
+
// inventing one that is right on this machine and wrong on the next.
|
|
410
|
+
// The same service a node exposes to the bus, held directly rather than called over RPC - which
|
|
411
|
+
// is what "local" means for the guard: not a peer name to compare, but no RPC at all.
|
|
412
|
+
const scripting = options.scripts
|
|
413
|
+
? new ScriptingService({ directory: options.scripts, environment: environmentFor(options), allow: scriptableBy })
|
|
414
|
+
: undefined;
|
|
415
|
+
// Offered to the bus only when somebody has been named. Without that the object is held for this
|
|
416
|
+
// server's own use and no peer can reach it, which is the difference between a node that can
|
|
417
|
+
// script itself and one that can be scripted.
|
|
418
|
+
if (scripting && scriptableBy.length)
|
|
419
|
+
connected.network.exposeClassInstance(scripting);
|
|
420
|
+
/**
|
|
421
|
+
* Whichever node a tool was aimed at. Absent, or this server's own name, is the local object;
|
|
422
|
+
* anything else is that peer's `scripting` namespace, reached the ordinary way.
|
|
423
|
+
*
|
|
424
|
+
* This is the whole of what makes a test hall one place. The tools below do not know which they
|
|
425
|
+
* are talking to, because there is nothing to know - the method names are the same either way,
|
|
426
|
+
* which is the point of having made it a namespace rather than a set of tool handlers.
|
|
427
|
+
*/
|
|
428
|
+
const scriptingOn = async (node) => {
|
|
429
|
+
const target = typeof node === 'string' && node.trim() ? node.trim() : undefined;
|
|
430
|
+
if (!target || target === options.name) {
|
|
431
|
+
if (!scripting)
|
|
432
|
+
throw new Error('scripting is not enabled here - start this server with --scripts <dir>');
|
|
433
|
+
return scripting;
|
|
434
|
+
}
|
|
435
|
+
if (!(await connected.network.awaitPeer(target, 5000)))
|
|
436
|
+
throw new Error(`'${target}' is not on this network. Run list_peers to see who is.`);
|
|
437
|
+
return (await connected.network.proxy('scripting', target)).remote;
|
|
438
|
+
};
|
|
214
439
|
/** A contract given inline, or the name of one saved in the contracts directory. */
|
|
215
440
|
const contractFrom = async (args) => {
|
|
216
441
|
if (args.schema) {
|
|
@@ -288,6 +513,77 @@ export const startMcp = async (options) => {
|
|
|
288
513
|
return { text: `${peer}.${namespace}.${method} failed: ${failureText(e)}`, isError: true };
|
|
289
514
|
}
|
|
290
515
|
}
|
|
516
|
+
if (scripting && options.scripts) {
|
|
517
|
+
const scriptName = String(args.name ?? '');
|
|
518
|
+
// One shape for every one of these: find the node, call the method, report what came
|
|
519
|
+
// back. A refusal from the far end arrives as Forbidden, and saying what that means is
|
|
520
|
+
// worth more than the code - a key is exchanged out of band, never over this bus.
|
|
521
|
+
const on = async (act) => {
|
|
522
|
+
let target;
|
|
523
|
+
try {
|
|
524
|
+
target = await scriptingOn(args.node);
|
|
525
|
+
}
|
|
526
|
+
catch (e) {
|
|
527
|
+
return { text: failureText(e), isError: true };
|
|
528
|
+
}
|
|
529
|
+
try {
|
|
530
|
+
return await act(target);
|
|
531
|
+
}
|
|
532
|
+
catch (e) {
|
|
533
|
+
const refused = /Forbidden/.test(failureText(e));
|
|
534
|
+
return {
|
|
535
|
+
text: refused
|
|
536
|
+
? `${String(args.node)} refused: it has not named this peer as one that may script it. That is granted on the far node and the key comes to you out of band - it is deliberately not something this bus can hand over.`
|
|
537
|
+
: failureText(e),
|
|
538
|
+
isError: true
|
|
539
|
+
};
|
|
540
|
+
}
|
|
541
|
+
};
|
|
542
|
+
if (name === 'save_script') {
|
|
543
|
+
if (!scriptName || args.source === undefined)
|
|
544
|
+
return { text: 'save_script needs name and source.', isError: true };
|
|
545
|
+
return await on(async (target) => ({
|
|
546
|
+
text: `Saved ${await target.save(scriptName, String(args.source), args.language === 'mjs' ? 'mjs' : 'ts')}. It is not running; start_script runs it.`
|
|
547
|
+
}));
|
|
548
|
+
}
|
|
549
|
+
if (name === 'list_scripts')
|
|
550
|
+
return await on(async (target) => ({ text: JSON.stringify(await target.list(), null, 2) }));
|
|
551
|
+
if (name === 'read_script')
|
|
552
|
+
return await on(async (target) => ({ text: await target.read(scriptName) }));
|
|
553
|
+
if (name === 'delete_script')
|
|
554
|
+
return await on(async (target) => {
|
|
555
|
+
await target.remove(scriptName);
|
|
556
|
+
return { text: `${scriptName} deleted.` };
|
|
557
|
+
});
|
|
558
|
+
if (name === 'start_script')
|
|
559
|
+
return await on(async (target) => {
|
|
560
|
+
const started = await target.start(scriptName);
|
|
561
|
+
return { text: `${scriptName} started as pid ${started.pid ?? 'unknown'}. It is a process of its own; script_output is how it reports.` };
|
|
562
|
+
});
|
|
563
|
+
if (name === 'stop_script')
|
|
564
|
+
return await on(async (target) => {
|
|
565
|
+
await target.stop(scriptName);
|
|
566
|
+
return { text: `${scriptName} stopped.` };
|
|
567
|
+
});
|
|
568
|
+
if (name === 'list_packages')
|
|
569
|
+
return await on(async (target) => ({ text: JSON.stringify(await target.packages(), null, 2) }));
|
|
570
|
+
if (name === 'add_package')
|
|
571
|
+
return await on(async (target) => {
|
|
572
|
+
const result = await target.addPackage(String(args.spec ?? ''), args.allowInstallScripts === true);
|
|
573
|
+
return { text: result.output || 'Installed.', isError: !result.ok };
|
|
574
|
+
});
|
|
575
|
+
if (name === 'remove_package')
|
|
576
|
+
return await on(async (target) => {
|
|
577
|
+
const result = await target.removePackage(scriptName);
|
|
578
|
+
return { text: result.output || 'Removed.', isError: !result.ok };
|
|
579
|
+
});
|
|
580
|
+
if (name === 'script_output')
|
|
581
|
+
return await on(async (target) => {
|
|
582
|
+
const record = await target.output(scriptName);
|
|
583
|
+
const ended = record.ended ? `\n(ended: code ${String(record.ended.code)}${record.ended.signal ? `, signal ${record.ended.signal}` : ''})` : '';
|
|
584
|
+
return { text: (record.output.length ? record.output.join('\n') : 'It has printed nothing yet.') + ended };
|
|
585
|
+
});
|
|
586
|
+
}
|
|
291
587
|
if (name === 'start_fake')
|
|
292
588
|
return await startFakeTool(args);
|
|
293
589
|
if (name === 'stop_fake') {
|
|
@@ -443,7 +739,7 @@ export const startMcp = async (options) => {
|
|
|
443
739
|
respond(request.id, {});
|
|
444
740
|
return;
|
|
445
741
|
case 'tools/list':
|
|
446
|
-
respond(request.id, { tools: toolsFor(options.contracts) });
|
|
742
|
+
respond(request.id, { tools: toolsFor(options.contracts, options.allowExec, options.scripts) });
|
|
447
743
|
return;
|
|
448
744
|
case 'tools/call': {
|
|
449
745
|
const name = String(request.params?.name ?? '');
|
|
@@ -498,6 +794,9 @@ export const startMcp = async (options) => {
|
|
|
498
794
|
for (const fake of fakes.values())
|
|
499
795
|
await fake.close().catch(() => undefined);
|
|
500
796
|
fakes.clear();
|
|
797
|
+
// Scripts are separate processes, so they would outlive this one and go on holding peer
|
|
798
|
+
// names nobody is serving. Stopped rather than orphaned.
|
|
799
|
+
await scripting?.close();
|
|
501
800
|
await connected.close();
|
|
502
801
|
};
|
|
503
802
|
// Not stdout: see the note at the top. A client learns what is here from initialize.
|
package/dist/mcp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
|
package/dist/network.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RpcServer, type MessageSigner, type MessageVerifier, type Transport } from '@source-repo/rpc';
|
|
1
|
+
import { RpcServer, type MessageSigner, type MessageVerifier, type RpcAuthorizer, type Transport } from '@source-repo/rpc';
|
|
2
2
|
/**
|
|
3
3
|
* Joining a network the way every command here joins one: an MQTT broker, a socket.io hub, or both.
|
|
4
4
|
*
|
|
@@ -22,6 +22,12 @@ export interface NetworkOptions {
|
|
|
22
22
|
verify?: MessageVerifier;
|
|
23
23
|
/** Handshake credentials for a hub that authenticates. No flag: a secret does not belong in `ps`. */
|
|
24
24
|
hubCredentials?: unknown;
|
|
25
|
+
/**
|
|
26
|
+
* Decides what callers may reach on this peer. Only meaningful for a window that has been given
|
|
27
|
+
* something to offer - see `--scriptable-by`, which is the one thing that turns this from a
|
|
28
|
+
* peer that exposes nothing into a peer that exposes something worth guarding.
|
|
29
|
+
*/
|
|
30
|
+
authorize?: RpcAuthorizer;
|
|
25
31
|
/**
|
|
26
32
|
* Talk to an `https://`, `wss://` or `mqtts://` peer without checking its certificate.
|
|
27
33
|
*
|
package/dist/network.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../src/network.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../src/network.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,SAAS,EAGT,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,SAAS,EACjB,MAAM,kBAAkB,CAAA;AAEzB;;;;;;;GAOG;AAEH,MAAM,WAAW,cAAc;IAC3B,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,wDAAwD;IACxD,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,kFAAkF;IAClF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,+EAA+E;IAC/E,IAAI,CAAC,EAAE,aAAa,CAAA;IACpB,mFAAmF;IACnF,MAAM,CAAC,EAAE,eAAe,CAAA;IACxB,qGAAqG;IACrG,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB;;;;OAIG;IACH,SAAS,CAAC,EAAE,aAAa,CAAA;IACzB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;CACxB;AAED,6FAA6F;AAC7F,eAAO,MAAM,iBAAiB,YAAa,cAAc,KAAG,SAAS,EAuBpE,CAAA;AAED,MAAM,WAAW,gBAAgB;IAC7B,OAAO,EAAE,SAAS,CAAA;IAClB,6EAA6E;IAC7E,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IACnB,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC7B;AAED;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,YAAmB,cAAc,KAAG,OAAO,CAAC,gBAAgB,CAmBtF,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,cAAqB,gBAAgB,QAAQ,MAAM,WAAW,MAAM,qBAOzF,CAAA"}
|
package/dist/network.js
CHANGED
|
@@ -32,7 +32,8 @@ export const connectNetwork = async (options) => {
|
|
|
32
32
|
name: options.name,
|
|
33
33
|
callTimeout: options.callTimeout,
|
|
34
34
|
readyTimeout: 15000,
|
|
35
|
-
transports: networkTransports(options)
|
|
35
|
+
transports: networkTransports(options),
|
|
36
|
+
...(options.authorize ? { authorize: options.authorize } : {})
|
|
36
37
|
});
|
|
37
38
|
await network.ready();
|
|
38
39
|
for (const peer of network.peers.names())
|
package/dist/network.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network.js","sourceRoot":"","sources":["../src/network.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"network.js","sourceRoot":"","sources":["../src/network.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The manifest a script directory needs anyway.
|
|
3
|
+
*
|
|
4
|
+
* `type: module` is the load-bearing field: a `.ts` script uses `import`, and Node decides whether
|
|
5
|
+
* that is legal from the nearest package.json. Inside a CommonJS project there is one, it does not
|
|
6
|
+
* say module, and every run then prints a reparse warning that lands in the script's own output.
|
|
7
|
+
* `private` because this is a directory of programs, not something anybody publishes.
|
|
8
|
+
*/
|
|
9
|
+
export declare const ensureManifest: (directory: string) => string;
|
|
10
|
+
/** What is declared, and what is actually on disk - which differ when an install failed halfway. */
|
|
11
|
+
export declare const listPackages: (directory: string) => ({
|
|
12
|
+
name: string;
|
|
13
|
+
range: string;
|
|
14
|
+
installed: string;
|
|
15
|
+
} | {
|
|
16
|
+
name: string;
|
|
17
|
+
range: string;
|
|
18
|
+
installed: null;
|
|
19
|
+
})[];
|
|
20
|
+
/**
|
|
21
|
+
* npm's own JavaScript entry point, run by the Node already running this - not the `npm` shim.
|
|
22
|
+
*
|
|
23
|
+
* On Windows the shim is `npm.cmd`, and since the fix for CVE-2024-27980 Node refuses to spawn a
|
|
24
|
+
* `.cmd` without `shell: true`. Turning the shell on would be worse than the problem: a version
|
|
25
|
+
* range is a legitimate part of a package spec and `>`, `<`, `|` and `^` are all permitted in one,
|
|
26
|
+
* which is ordinary text to `execFile` and metacharacters to `cmd.exe`. Reaching past the shim to
|
|
27
|
+
* the script it would have run keeps arguments as argv on every platform, which is the only version
|
|
28
|
+
* of this that is safe by construction rather than by quoting.
|
|
29
|
+
*
|
|
30
|
+
* Exported for the test, which checks both layouts without needing the other operating system.
|
|
31
|
+
*/
|
|
32
|
+
export declare const npmEntryPoint: (execPath?: string, platform?: NodeJS.Platform) => string | undefined;
|
|
33
|
+
export declare const addPackage: (directory: string, spec: string, allowInstallScripts?: boolean) => Promise<{
|
|
34
|
+
ok: boolean;
|
|
35
|
+
output: string;
|
|
36
|
+
}>;
|
|
37
|
+
export declare const removePackage: (directory: string, name: string) => Promise<{
|
|
38
|
+
ok: boolean;
|
|
39
|
+
output: string;
|
|
40
|
+
}>;
|
|
41
|
+
//# sourceMappingURL=packages.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packages.d.ts","sourceRoot":"","sources":["../src/packages.ts"],"names":[],"mappings":"AA0BA;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,cAAe,MAAM,WAK/C,CAAA;AAYD,oGAAoG;AACpG,eAAO,MAAM,YAAY,cAAe,MAAM;;;;;;;;IAYO,CAAA;AAWrD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,aAAa,iCAA2C,MAAM,CAAC,QAAQ,uBASnF,CAAA;AAsBD,eAAO,MAAM,UAAU,cAAqB,MAAM,QAAQ,MAAM;QAnB1C,OAAO;YAAU,MAAM;EAyB5C,CAAA;AAED,eAAO,MAAM,aAAa,cAAqB,MAAM,QAAQ,MAAM;QA3B7C,OAAO;YAAU,MAAM;EA8B5C,CAAA"}
|