@source-repo/rpc-cli 3.1.0 → 3.3.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 +44 -1
- package/dist/extract.d.ts.map +1 -1
- package/dist/extract.js +15 -3
- package/dist/extract.js.map +1 -1
- package/dist/handlers.d.ts +18 -1
- package/dist/handlers.d.ts.map +1 -1
- package/dist/handlers.js +52 -3
- package/dist/handlers.js.map +1 -1
- package/dist/index.js +20 -3
- package/dist/index.js.map +1 -1
- package/dist/mcp.d.ts +10 -0
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +207 -86
- 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 +13 -0
- package/dist/packages.d.ts.map +1 -1
- package/dist/packages.js +30 -4
- package/dist/packages.js.map +1 -1
- 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/package.json +77 -75
package/dist/mcp.js
CHANGED
|
@@ -3,8 +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 {
|
|
7
|
-
import {
|
|
6
|
+
import { environmentFor } from './scripts.js';
|
|
7
|
+
import { ScriptingService, scriptingAuthorizer } from './scripting.js';
|
|
8
8
|
import { checkPeerOn, diffPeersOn } from './conform.js';
|
|
9
9
|
import { openTap } from './tapping.js';
|
|
10
10
|
/**
|
|
@@ -218,7 +218,11 @@ const toolsFor = (contracts, allowExec = false, scripts) => [
|
|
|
218
218
|
properties: {
|
|
219
219
|
name: { type: 'string', description: 'A name; the file becomes <name>.ts (or <name>.mjs) in the scripts directory.' },
|
|
220
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.' }
|
|
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
|
+
}
|
|
222
226
|
},
|
|
223
227
|
required: ['name', 'source'],
|
|
224
228
|
additionalProperties: false
|
|
@@ -227,32 +231,94 @@ const toolsFor = (contracts, allowExec = false, scripts) => [
|
|
|
227
231
|
{
|
|
228
232
|
name: 'list_scripts',
|
|
229
233
|
description: 'The scripts in the directory, and which of them are running here.',
|
|
230
|
-
inputSchema: {
|
|
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
|
+
}
|
|
231
244
|
},
|
|
232
245
|
{
|
|
233
246
|
name: 'read_script',
|
|
234
247
|
description: 'The source of one saved script, for changing a part of it rather than rewriting the whole.',
|
|
235
|
-
inputSchema: {
|
|
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
|
+
}
|
|
236
260
|
},
|
|
237
261
|
{
|
|
238
262
|
name: 'delete_script',
|
|
239
263
|
description: 'Remove a script from the directory. It is stopped first if it is running.',
|
|
240
|
-
inputSchema: {
|
|
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
|
+
}
|
|
241
276
|
},
|
|
242
277
|
{
|
|
243
278
|
name: 'start_script',
|
|
244
279
|
description: 'Run a saved script as its own process. Returns immediately; use script_output to see what it printed.',
|
|
245
|
-
inputSchema: {
|
|
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
|
+
}
|
|
246
292
|
},
|
|
247
293
|
{
|
|
248
294
|
name: 'stop_script',
|
|
249
295
|
description: 'Stop a running script. Scripts are stopped anyway when this server exits.',
|
|
250
|
-
inputSchema: {
|
|
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
|
+
}
|
|
251
308
|
},
|
|
252
309
|
{
|
|
253
310
|
name: 'list_packages',
|
|
254
311
|
description: 'The npm packages a script in this directory may import, with what is declared and what is actually installed.',
|
|
255
|
-
inputSchema: {
|
|
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
|
+
}
|
|
256
322
|
},
|
|
257
323
|
{
|
|
258
324
|
name: 'add_package',
|
|
@@ -262,7 +328,11 @@ const toolsFor = (contracts, allowExec = false, scripts) => [
|
|
|
262
328
|
type: 'object',
|
|
263
329
|
properties: {
|
|
264
330
|
spec: { type: 'string', description: 'Package name, optionally with a version range.' },
|
|
265
|
-
allowInstallScripts: { type: 'boolean', description: 'Permit the package to run its own install hooks. Default false.' }
|
|
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
|
+
}
|
|
266
336
|
},
|
|
267
337
|
required: ['spec'],
|
|
268
338
|
additionalProperties: false
|
|
@@ -271,12 +341,34 @@ const toolsFor = (contracts, allowExec = false, scripts) => [
|
|
|
271
341
|
{
|
|
272
342
|
name: 'remove_package',
|
|
273
343
|
description: 'Uninstall an npm package from the scripts directory.',
|
|
274
|
-
inputSchema: {
|
|
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
|
+
}
|
|
275
356
|
},
|
|
276
357
|
{
|
|
277
358
|
name: 'script_output',
|
|
278
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.',
|
|
279
|
-
inputSchema: {
|
|
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
|
+
}
|
|
280
372
|
}
|
|
281
373
|
]
|
|
282
374
|
: [])
|
|
@@ -289,16 +381,61 @@ export const startMcp = async (options) => {
|
|
|
289
381
|
// stdout carries the protocol, so this goes to stderr like every other word this server says.
|
|
290
382
|
if (options.allowExec)
|
|
291
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`);
|
|
292
394
|
if (!options.broker && !options.hub)
|
|
293
395
|
throw new Error('startMcp: give it a broker, a hub, or both');
|
|
294
|
-
//
|
|
295
|
-
|
|
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
|
+
});
|
|
296
405
|
const { network, online } = connected;
|
|
297
406
|
/** Peers this server is standing up, stopped when it exits so none outlive the conversation. */
|
|
298
407
|
const fakes = new Map();
|
|
299
408
|
// Given the same network this server joined, so a script reads its broker url rather than
|
|
300
409
|
// inventing one that is right on this machine and wrong on the next.
|
|
301
|
-
|
|
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
|
+
};
|
|
302
439
|
/** A contract given inline, or the name of one saved in the contracts directory. */
|
|
303
440
|
const contractFrom = async (args) => {
|
|
304
441
|
if (args.schema) {
|
|
@@ -376,92 +513,76 @@ export const startMcp = async (options) => {
|
|
|
376
513
|
return { text: `${peer}.${namespace}.${method} failed: ${failureText(e)}`, isError: true };
|
|
377
514
|
}
|
|
378
515
|
}
|
|
379
|
-
if (
|
|
380
|
-
const directory = options.scripts;
|
|
516
|
+
if (scripting && options.scripts) {
|
|
381
517
|
const scriptName = String(args.name ?? '');
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
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;
|
|
385
523
|
try {
|
|
386
|
-
|
|
387
|
-
return { text: `Saved ${saveScript(directory, scriptName, String(args.source), language)}. It is not running; start_script runs it.` };
|
|
524
|
+
target = await scriptingOn(args.node);
|
|
388
525
|
}
|
|
389
526
|
catch (e) {
|
|
390
|
-
return { text:
|
|
527
|
+
return { text: failureText(e), isError: true };
|
|
391
528
|
}
|
|
392
|
-
}
|
|
393
|
-
if (name === 'list_scripts')
|
|
394
|
-
return {
|
|
395
|
-
text: JSON.stringify(listScripts(directory).map((script) => ({
|
|
396
|
-
...script,
|
|
397
|
-
running: runner.isRunning(script.name),
|
|
398
|
-
...(runner.status(script.name)?.ended ? { ended: runner.status(script.name).ended } : {})
|
|
399
|
-
})), null, 2)
|
|
400
|
-
};
|
|
401
|
-
if (name === 'read_script') {
|
|
402
529
|
try {
|
|
403
|
-
return
|
|
530
|
+
return await act(target);
|
|
404
531
|
}
|
|
405
532
|
catch (e) {
|
|
406
|
-
|
|
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
|
+
};
|
|
407
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
|
+
}));
|
|
408
548
|
}
|
|
409
|
-
if (name === '
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
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);
|
|
414
556
|
return { text: `${scriptName} deleted.` };
|
|
415
|
-
}
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
}
|
|
420
|
-
if (name === 'start_script') {
|
|
421
|
-
try {
|
|
422
|
-
const started = runner.start(scriptName);
|
|
557
|
+
});
|
|
558
|
+
if (name === 'start_script')
|
|
559
|
+
return await on(async (target) => {
|
|
560
|
+
const started = await target.start(scriptName);
|
|
423
561
|
return { text: `${scriptName} started as pid ${started.pid ?? 'unknown'}. It is a process of its own; script_output is how it reports.` };
|
|
424
|
-
}
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
}
|
|
429
|
-
if (name === 'stop_script') {
|
|
430
|
-
try {
|
|
431
|
-
await runner.stop(scriptName);
|
|
562
|
+
});
|
|
563
|
+
if (name === 'stop_script')
|
|
564
|
+
return await on(async (target) => {
|
|
565
|
+
await target.stop(scriptName);
|
|
432
566
|
return { text: `${scriptName} stopped.` };
|
|
433
|
-
}
|
|
434
|
-
catch (e) {
|
|
435
|
-
return { text: failureText(e), isError: true };
|
|
436
|
-
}
|
|
437
|
-
}
|
|
567
|
+
});
|
|
438
568
|
if (name === 'list_packages')
|
|
439
|
-
return { text: JSON.stringify(
|
|
440
|
-
if (name === 'add_package')
|
|
441
|
-
|
|
442
|
-
const result = await addPackage(
|
|
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);
|
|
443
573
|
return { text: result.output || 'Installed.', isError: !result.ok };
|
|
444
|
-
}
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
}
|
|
449
|
-
if (name === 'remove_package') {
|
|
450
|
-
try {
|
|
451
|
-
const result = await removePackage(directory, scriptName);
|
|
574
|
+
});
|
|
575
|
+
if (name === 'remove_package')
|
|
576
|
+
return await on(async (target) => {
|
|
577
|
+
const result = await target.removePackage(scriptName);
|
|
452
578
|
return { text: result.output || 'Removed.', isError: !result.ok };
|
|
453
|
-
}
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
if (!record)
|
|
461
|
-
return { text: `'${scriptName}' has not been started here.`, isError: true };
|
|
462
|
-
const ended = record.ended ? `\n(ended: code ${String(record.ended.code)}${record.ended.signal ? `, signal ${record.ended.signal}` : ''})` : '';
|
|
463
|
-
return { text: (record.output.length ? record.output.join('\n') : 'It has printed nothing yet.') + ended };
|
|
464
|
-
}
|
|
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
|
+
});
|
|
465
586
|
}
|
|
466
587
|
if (name === 'start_fake')
|
|
467
588
|
return await startFakeTool(args);
|
|
@@ -675,7 +796,7 @@ export const startMcp = async (options) => {
|
|
|
675
796
|
fakes.clear();
|
|
676
797
|
// Scripts are separate processes, so they would outlive this one and go on holding peer
|
|
677
798
|
// names nobody is serving. Stopped rather than orphaned.
|
|
678
|
-
await
|
|
799
|
+
await scripting?.close();
|
|
679
800
|
await connected.close();
|
|
680
801
|
};
|
|
681
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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"}
|
package/dist/packages.d.ts
CHANGED
|
@@ -17,6 +17,19 @@ export declare const listPackages: (directory: string) => ({
|
|
|
17
17
|
range: string;
|
|
18
18
|
installed: null;
|
|
19
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;
|
|
20
33
|
export declare const addPackage: (directory: string, spec: string, allowInstallScripts?: boolean) => Promise<{
|
|
21
34
|
ok: boolean;
|
|
22
35
|
output: string;
|
package/dist/packages.d.ts.map
CHANGED
|
@@ -1 +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;
|
|
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"}
|