instar 0.17.13 → 0.18.1
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 +2 -4
- package/dashboard/favicon.png +0 -0
- package/dashboard/index.html +7 -3
- package/dashboard/logo.png +0 -0
- package/dist/commands/init.js +16 -0
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/relay.d.ts +1 -0
- package/dist/commands/relay.d.ts.map +1 -1
- package/dist/commands/relay.js +2 -0
- package/dist/commands/relay.js.map +1 -1
- package/dist/commands/server.d.ts.map +1 -1
- package/dist/commands/server.js +177 -4
- package/dist/commands/server.js.map +1 -1
- package/dist/core/AutoUpdater.d.ts.map +1 -1
- package/dist/core/AutoUpdater.js +11 -2
- package/dist/core/AutoUpdater.js.map +1 -1
- package/dist/core/Config.d.ts.map +1 -1
- package/dist/core/Config.js +1 -0
- package/dist/core/Config.js.map +1 -1
- package/dist/core/MessageSentinel.d.ts +14 -0
- package/dist/core/MessageSentinel.d.ts.map +1 -1
- package/dist/core/MessageSentinel.js +42 -10
- package/dist/core/MessageSentinel.js.map +1 -1
- package/dist/core/SessionManager.d.ts +13 -1
- package/dist/core/SessionManager.d.ts.map +1 -1
- package/dist/core/SessionManager.js +67 -0
- package/dist/core/SessionManager.js.map +1 -1
- package/dist/core/types.d.ts +26 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/scaffold/templates.d.ts.map +1 -1
- package/dist/scaffold/templates.js +40 -0
- package/dist/scaffold/templates.js.map +1 -1
- package/dist/server/AgentServer.d.ts +1 -0
- package/dist/server/AgentServer.d.ts.map +1 -1
- package/dist/server/AgentServer.js +1 -0
- package/dist/server/AgentServer.js.map +1 -1
- package/dist/server/routes.d.ts +1 -0
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +35 -0
- package/dist/server/routes.js.map +1 -1
- package/dist/threadline/AgentTrustManager.d.ts +40 -0
- package/dist/threadline/AgentTrustManager.d.ts.map +1 -1
- package/dist/threadline/AgentTrustManager.js +115 -0
- package/dist/threadline/AgentTrustManager.js.map +1 -1
- package/dist/threadline/ContentClassifier.d.ts +83 -0
- package/dist/threadline/ContentClassifier.d.ts.map +1 -0
- package/dist/threadline/ContentClassifier.js +201 -0
- package/dist/threadline/ContentClassifier.js.map +1 -0
- package/dist/threadline/InboundMessageGate.d.ts +69 -0
- package/dist/threadline/InboundMessageGate.d.ts.map +1 -0
- package/dist/threadline/InboundMessageGate.js +196 -0
- package/dist/threadline/InboundMessageGate.js.map +1 -0
- package/dist/threadline/RelayGroundingPreamble.d.ts +48 -0
- package/dist/threadline/RelayGroundingPreamble.d.ts.map +1 -0
- package/dist/threadline/RelayGroundingPreamble.js +68 -0
- package/dist/threadline/RelayGroundingPreamble.js.map +1 -0
- package/dist/threadline/ThreadlineBootstrap.d.ts +19 -0
- package/dist/threadline/ThreadlineBootstrap.d.ts.map +1 -1
- package/dist/threadline/ThreadlineBootstrap.js +125 -2
- package/dist/threadline/ThreadlineBootstrap.js.map +1 -1
- package/dist/threadline/ThreadlineMCPServer.d.ts +10 -0
- package/dist/threadline/ThreadlineMCPServer.d.ts.map +1 -1
- package/dist/threadline/ThreadlineMCPServer.js +289 -0
- package/dist/threadline/ThreadlineMCPServer.js.map +1 -1
- package/dist/threadline/ThreadlineRouter.d.ts +19 -1
- package/dist/threadline/ThreadlineRouter.d.ts.map +1 -1
- package/dist/threadline/ThreadlineRouter.js +42 -17
- package/dist/threadline/ThreadlineRouter.js.map +1 -1
- package/dist/threadline/client/ThreadlineClient.d.ts +13 -0
- package/dist/threadline/client/ThreadlineClient.d.ts.map +1 -1
- package/dist/threadline/client/ThreadlineClient.js +43 -0
- package/dist/threadline/client/ThreadlineClient.js.map +1 -1
- package/dist/threadline/index.d.ts +7 -1
- package/dist/threadline/index.d.ts.map +1 -1
- package/dist/threadline/index.js +6 -0
- package/dist/threadline/index.js.map +1 -1
- package/dist/threadline/mcp-stdio-entry.js +46 -0
- package/dist/threadline/mcp-stdio-entry.js.map +1 -1
- package/dist/threadline/relay/RelayRateLimiter.js +1 -1
- package/dist/threadline/relay/RelayRateLimiter.js.map +1 -1
- package/dist/threadline/relay/RelayServer.d.ts.map +1 -1
- package/dist/threadline/relay/RelayServer.js +4 -3
- package/dist/threadline/relay/RelayServer.js.map +1 -1
- package/package.json +14 -7
- package/src/data/builtin-manifest.json +48 -48
- package/upgrades/0.17.14.md +26 -0
- package/upgrades/0.18.1.md +34 -0
|
@@ -22,6 +22,8 @@
|
|
|
22
22
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
23
23
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
24
24
|
import { z } from 'zod';
|
|
25
|
+
import fs from 'node:fs';
|
|
26
|
+
import path from 'node:path';
|
|
25
27
|
// ── Tool Result Builders ─────────────────────────────────────────────
|
|
26
28
|
function textResult(text) {
|
|
27
29
|
return { content: [{ type: 'text', text }] };
|
|
@@ -147,6 +149,8 @@ export class ThreadlineMCPServer {
|
|
|
147
149
|
this.registerHistoryTool();
|
|
148
150
|
this.registerAgentsTool();
|
|
149
151
|
this.registerDeleteTool();
|
|
152
|
+
this.registerTrustTool();
|
|
153
|
+
this.registerRelayTool();
|
|
150
154
|
// Registry tools — only if registry client is available
|
|
151
155
|
if (this.deps.registry) {
|
|
152
156
|
this.registerRegistrySearchTool();
|
|
@@ -393,6 +397,291 @@ export class ThreadlineMCPServer {
|
|
|
393
397
|
}
|
|
394
398
|
});
|
|
395
399
|
}
|
|
400
|
+
// ── threadline_trust ──────────────────────────────────────────────
|
|
401
|
+
registerTrustTool() {
|
|
402
|
+
this.mcpServer.tool('threadline_trust', 'Manage trust levels for known agents. Grant, revoke, list, or audit trust. ' +
|
|
403
|
+
'Trust levels: untrusted (probes only), verified (limited messaging), ' +
|
|
404
|
+
'trusted (full messaging), autonomous (high-volume, auto-deliver). ' +
|
|
405
|
+
'Only the local operator can modify trust levels.', {
|
|
406
|
+
action: z.enum(['grant', 'revoke', 'list', 'audit', 'get']).describe('Action to perform: grant/revoke trust, list all profiles, audit history, or get one profile'),
|
|
407
|
+
agent: z.string().optional().describe('Agent name (required for grant/revoke/audit/get)'),
|
|
408
|
+
fingerprint: z.string().optional().describe('Agent fingerprint — used instead of name for cryptographic identity'),
|
|
409
|
+
level: z.enum(['untrusted', 'verified', 'trusted', 'autonomous']).optional().describe('Trust level to grant (required for grant action)'),
|
|
410
|
+
reason: z.string().optional().describe('Reason for trust change (recommended for audit trail)'),
|
|
411
|
+
}, async (args) => {
|
|
412
|
+
// Trust management is admin-only
|
|
413
|
+
const authError = this.checkAuth('threadline:admin');
|
|
414
|
+
if (authError && !this.requestContext.isLocal) {
|
|
415
|
+
return errorResult(authError);
|
|
416
|
+
}
|
|
417
|
+
const { trustManager } = this.deps;
|
|
418
|
+
switch (args.action) {
|
|
419
|
+
case 'grant': {
|
|
420
|
+
if (!args.level) {
|
|
421
|
+
return errorResult('level is required for grant action');
|
|
422
|
+
}
|
|
423
|
+
if (!args.agent && !args.fingerprint) {
|
|
424
|
+
return errorResult('agent or fingerprint is required for grant action');
|
|
425
|
+
}
|
|
426
|
+
let success;
|
|
427
|
+
if (args.fingerprint) {
|
|
428
|
+
success = trustManager.setTrustLevelByFingerprint(args.fingerprint, args.level, 'user-granted', args.reason, args.agent);
|
|
429
|
+
}
|
|
430
|
+
else {
|
|
431
|
+
success = trustManager.setTrustLevel(args.agent, args.level, 'user-granted', args.reason);
|
|
432
|
+
}
|
|
433
|
+
if (!success) {
|
|
434
|
+
return errorResult('Failed to set trust level');
|
|
435
|
+
}
|
|
436
|
+
return jsonResult({
|
|
437
|
+
action: 'grant',
|
|
438
|
+
agent: args.agent ?? args.fingerprint,
|
|
439
|
+
level: args.level,
|
|
440
|
+
reason: args.reason ?? 'operator decision',
|
|
441
|
+
source: 'user-granted',
|
|
442
|
+
});
|
|
443
|
+
}
|
|
444
|
+
case 'revoke': {
|
|
445
|
+
if (!args.agent && !args.fingerprint) {
|
|
446
|
+
return errorResult('agent or fingerprint is required for revoke action');
|
|
447
|
+
}
|
|
448
|
+
let success;
|
|
449
|
+
if (args.fingerprint) {
|
|
450
|
+
success = trustManager.setTrustLevelByFingerprint(args.fingerprint, 'untrusted', 'user-granted', args.reason ?? 'trust revoked', args.agent);
|
|
451
|
+
}
|
|
452
|
+
else {
|
|
453
|
+
success = trustManager.setTrustLevel(args.agent, 'untrusted', 'user-granted', args.reason ?? 'trust revoked');
|
|
454
|
+
}
|
|
455
|
+
if (!success) {
|
|
456
|
+
return errorResult('Failed to revoke trust');
|
|
457
|
+
}
|
|
458
|
+
return jsonResult({
|
|
459
|
+
action: 'revoke',
|
|
460
|
+
agent: args.agent ?? args.fingerprint,
|
|
461
|
+
previousLevel: 'unknown',
|
|
462
|
+
newLevel: 'untrusted',
|
|
463
|
+
reason: args.reason ?? 'trust revoked',
|
|
464
|
+
});
|
|
465
|
+
}
|
|
466
|
+
case 'list': {
|
|
467
|
+
const profiles = trustManager.listProfiles();
|
|
468
|
+
const summary = profiles.map(p => ({
|
|
469
|
+
name: p.agent,
|
|
470
|
+
fingerprint: p.fingerprint ?? null,
|
|
471
|
+
level: p.level,
|
|
472
|
+
source: p.source,
|
|
473
|
+
lastInteraction: p.history.lastInteraction,
|
|
474
|
+
messageCount: p.history.messagesReceived,
|
|
475
|
+
}));
|
|
476
|
+
return jsonResult({
|
|
477
|
+
count: summary.length,
|
|
478
|
+
profiles: summary,
|
|
479
|
+
});
|
|
480
|
+
}
|
|
481
|
+
case 'audit': {
|
|
482
|
+
if (!args.agent && !args.fingerprint) {
|
|
483
|
+
return errorResult('agent or fingerprint is required for audit action');
|
|
484
|
+
}
|
|
485
|
+
const profile = args.fingerprint
|
|
486
|
+
? trustManager.getProfileByFingerprint(args.fingerprint)
|
|
487
|
+
: trustManager.getProfile(args.agent);
|
|
488
|
+
if (!profile) {
|
|
489
|
+
return errorResult(`No trust profile found for "${args.agent ?? args.fingerprint}"`);
|
|
490
|
+
}
|
|
491
|
+
return jsonResult({
|
|
492
|
+
agent: profile.agent,
|
|
493
|
+
fingerprint: profile.fingerprint ?? null,
|
|
494
|
+
currentLevel: profile.level,
|
|
495
|
+
source: profile.source,
|
|
496
|
+
history: profile.history,
|
|
497
|
+
createdAt: profile.createdAt,
|
|
498
|
+
updatedAt: profile.updatedAt,
|
|
499
|
+
});
|
|
500
|
+
}
|
|
501
|
+
case 'get': {
|
|
502
|
+
if (!args.agent && !args.fingerprint) {
|
|
503
|
+
return errorResult('agent or fingerprint is required for get action');
|
|
504
|
+
}
|
|
505
|
+
const profile = args.fingerprint
|
|
506
|
+
? trustManager.getProfileByFingerprint(args.fingerprint)
|
|
507
|
+
: trustManager.getProfile(args.agent);
|
|
508
|
+
if (!profile) {
|
|
509
|
+
return jsonResult({
|
|
510
|
+
found: false,
|
|
511
|
+
agent: args.agent ?? args.fingerprint,
|
|
512
|
+
level: 'untrusted',
|
|
513
|
+
note: 'No profile found — defaults to untrusted',
|
|
514
|
+
});
|
|
515
|
+
}
|
|
516
|
+
return jsonResult({
|
|
517
|
+
found: true,
|
|
518
|
+
agent: profile.agent,
|
|
519
|
+
fingerprint: profile.fingerprint ?? null,
|
|
520
|
+
level: profile.level,
|
|
521
|
+
source: profile.source,
|
|
522
|
+
lastInteraction: profile.history.lastInteraction,
|
|
523
|
+
});
|
|
524
|
+
}
|
|
525
|
+
default:
|
|
526
|
+
return errorResult(`Unknown action: ${args.action}`);
|
|
527
|
+
}
|
|
528
|
+
});
|
|
529
|
+
}
|
|
530
|
+
// ── threadline_relay ──────────────────────────────────────────────
|
|
531
|
+
registerRelayTool() {
|
|
532
|
+
this.mcpServer.tool('threadline_relay', 'Manage the cloud relay connection for inter-agent communication. ' +
|
|
533
|
+
'The relay allows your agent to send and receive messages from other agents on the Threadline network. ' +
|
|
534
|
+
'Use "status" to check the current state, "enable" to connect (requires server restart), ' +
|
|
535
|
+
'"disable" to disconnect, or "explain" to get a user-friendly description of what the relay does. ' +
|
|
536
|
+
'Changes take effect after server restart.', {
|
|
537
|
+
action: z.enum(['status', 'enable', 'disable', 'explain']).describe('Action: status (check relay state), enable/disable (toggle relay), explain (get user-friendly description)'),
|
|
538
|
+
visibility: z.enum(['public', 'unlisted']).optional().describe('Visibility when enabling: "public" (discoverable by other agents) or "unlisted" (direct messages only)'),
|
|
539
|
+
}, async (args) => {
|
|
540
|
+
// Relay management is admin-only
|
|
541
|
+
const authError = this.checkAuth('threadline:admin');
|
|
542
|
+
if (authError && !this.requestContext.isLocal) {
|
|
543
|
+
return errorResult(authError);
|
|
544
|
+
}
|
|
545
|
+
switch (args.action) {
|
|
546
|
+
case 'explain': {
|
|
547
|
+
return textResult('The Threadline relay is a cloud service that lets your agent communicate with other AI agents.\n\n' +
|
|
548
|
+
'How it works:\n' +
|
|
549
|
+
'- Your agent connects to a relay server via a secure WebSocket\n' +
|
|
550
|
+
'- Other agents on the network can discover you and send messages\n' +
|
|
551
|
+
'- Messages between known agents are end-to-end encrypted using Ed25519 keys. First-contact messages use transport encryption (TLS) until a key exchange completes.\n' +
|
|
552
|
+
'- You control who can message you through trust levels (untrusted, verified, trusted, autonomous)\n' +
|
|
553
|
+
'- Messages from unknown agents go through a 7-layer security gate before reaching you\n\n' +
|
|
554
|
+
'Privacy:\n' +
|
|
555
|
+
'- OFF by default — you must explicitly enable it\n' +
|
|
556
|
+
'- "public" visibility: other agents can find you by searching capabilities\n' +
|
|
557
|
+
'- "unlisted" visibility: only agents who already know your ID can message you\n' +
|
|
558
|
+
'- You can disable it at any time\n' +
|
|
559
|
+
'- Your cryptographic identity (Ed25519 key pair) is stored locally and never shared\n\n' +
|
|
560
|
+
'Security:\n' +
|
|
561
|
+
'- Inbound messages are filtered for prompt injection, payload size, and rate limits\n' +
|
|
562
|
+
'- Outbound messages are scanned for sensitive data (API keys, credentials, PII)\n' +
|
|
563
|
+
'- Trust levels control what each agent can do — new agents start as "untrusted"\n' +
|
|
564
|
+
'- Your agent\'s core behavior and values are protected by grounding preambles\n\n' +
|
|
565
|
+
'To enable: ask me to "connect to the agent network" or "enable the relay"\n' +
|
|
566
|
+
'To disable: ask me to "disconnect from the agent network" or "disable the relay"');
|
|
567
|
+
}
|
|
568
|
+
case 'status': {
|
|
569
|
+
const configPath = this.resolveConfigPath();
|
|
570
|
+
const config = this.readConfig(configPath);
|
|
571
|
+
const threadlineConfig = config?.threadline;
|
|
572
|
+
const relayEnabled = threadlineConfig?.relayEnabled === true
|
|
573
|
+
|| process.env.THREADLINE_RELAY_ENABLED === 'true';
|
|
574
|
+
const relayUrl = threadlineConfig?.relayUrl
|
|
575
|
+
?? process.env.THREADLINE_RELAY_URL
|
|
576
|
+
?? 'wss://threadline-relay.fly.dev/v1/connect';
|
|
577
|
+
const visibility = threadlineConfig?.visibility ?? 'public';
|
|
578
|
+
// Try to check relay health
|
|
579
|
+
let relayHealth = null;
|
|
580
|
+
try {
|
|
581
|
+
const healthUrl = relayUrl.replace('wss://', 'https://').replace('ws://', 'http://').replace('/v1/connect', '/health');
|
|
582
|
+
const res = await fetch(healthUrl);
|
|
583
|
+
if (res.ok)
|
|
584
|
+
relayHealth = await res.json();
|
|
585
|
+
}
|
|
586
|
+
catch { /* relay unreachable is fine */ }
|
|
587
|
+
return jsonResult({
|
|
588
|
+
enabled: relayEnabled,
|
|
589
|
+
relayUrl,
|
|
590
|
+
visibility,
|
|
591
|
+
capabilities: threadlineConfig?.capabilities ?? ['chat', 'threadline'],
|
|
592
|
+
relayHealth: relayHealth ? {
|
|
593
|
+
status: relayHealth.status,
|
|
594
|
+
registeredAgents: relayHealth.registry?.totalAgents ?? relayHealth.agents,
|
|
595
|
+
onlineAgents: relayHealth.connections,
|
|
596
|
+
} : 'unreachable',
|
|
597
|
+
note: relayEnabled
|
|
598
|
+
? 'Relay is enabled. Your agent will connect on next server start.'
|
|
599
|
+
: 'Relay is disabled. Enable it to join the Threadline network.',
|
|
600
|
+
});
|
|
601
|
+
}
|
|
602
|
+
case 'enable': {
|
|
603
|
+
const configPath = this.resolveConfigPath();
|
|
604
|
+
const config = this.readConfig(configPath);
|
|
605
|
+
if (!config) {
|
|
606
|
+
return errorResult('Cannot find .instar/config.json — is this an Instar project?');
|
|
607
|
+
}
|
|
608
|
+
const visibility = args.visibility ?? 'public';
|
|
609
|
+
if (!config.threadline) {
|
|
610
|
+
config.threadline = {
|
|
611
|
+
relayEnabled: true,
|
|
612
|
+
visibility,
|
|
613
|
+
};
|
|
614
|
+
}
|
|
615
|
+
else {
|
|
616
|
+
config.threadline.relayEnabled = true;
|
|
617
|
+
if (args.visibility) {
|
|
618
|
+
config.threadline.visibility = visibility;
|
|
619
|
+
}
|
|
620
|
+
}
|
|
621
|
+
this.writeConfig(configPath, config);
|
|
622
|
+
return jsonResult({
|
|
623
|
+
action: 'enabled',
|
|
624
|
+
visibility,
|
|
625
|
+
relayUrl: config.threadline.relayUrl ?? 'wss://threadline-relay.fly.dev/v1/connect',
|
|
626
|
+
note: 'Relay enabled in config. Restart the server to connect.',
|
|
627
|
+
userMessage: `I've enabled the Threadline relay. Your agent will connect to the network on next restart. ` +
|
|
628
|
+
`Visibility is set to "${visibility}" — ` +
|
|
629
|
+
(visibility === 'public'
|
|
630
|
+
? 'other agents can discover you by searching.'
|
|
631
|
+
: 'only agents who know your ID can message you.'),
|
|
632
|
+
});
|
|
633
|
+
}
|
|
634
|
+
case 'disable': {
|
|
635
|
+
const configPath = this.resolveConfigPath();
|
|
636
|
+
const config = this.readConfig(configPath);
|
|
637
|
+
if (!config) {
|
|
638
|
+
return errorResult('Cannot find .instar/config.json — is this an Instar project?');
|
|
639
|
+
}
|
|
640
|
+
if (config.threadline) {
|
|
641
|
+
config.threadline.relayEnabled = false;
|
|
642
|
+
}
|
|
643
|
+
this.writeConfig(configPath, config);
|
|
644
|
+
return jsonResult({
|
|
645
|
+
action: 'disabled',
|
|
646
|
+
note: 'Relay disabled in config. Restart the server to disconnect.',
|
|
647
|
+
userMessage: 'I\'ve disabled the Threadline relay. Your agent will disconnect on next restart.',
|
|
648
|
+
});
|
|
649
|
+
}
|
|
650
|
+
default:
|
|
651
|
+
return errorResult(`Unknown action: ${args.action}`);
|
|
652
|
+
}
|
|
653
|
+
});
|
|
654
|
+
}
|
|
655
|
+
/** Resolve the .instar/config.json path from the state directory */
|
|
656
|
+
resolveConfigPath() {
|
|
657
|
+
// deps.stateDir is the .instar directory itself
|
|
658
|
+
const stateDir = this.deps.stateDir;
|
|
659
|
+
if (stateDir) {
|
|
660
|
+
return path.join(stateDir, 'config.json');
|
|
661
|
+
}
|
|
662
|
+
// Fallback: look for INSTAR_STATE_DIR env
|
|
663
|
+
const envStateDir = process.env.INSTAR_STATE_DIR;
|
|
664
|
+
if (envStateDir) {
|
|
665
|
+
return path.join(envStateDir, 'config.json');
|
|
666
|
+
}
|
|
667
|
+
return path.join(process.cwd(), '.instar', 'config.json');
|
|
668
|
+
}
|
|
669
|
+
/** Read and parse config.json */
|
|
670
|
+
readConfig(configPath) {
|
|
671
|
+
try {
|
|
672
|
+
if (fs.existsSync(configPath)) {
|
|
673
|
+
return JSON.parse(fs.readFileSync(configPath, 'utf-8'));
|
|
674
|
+
}
|
|
675
|
+
}
|
|
676
|
+
catch { /* corrupted config */ }
|
|
677
|
+
return null;
|
|
678
|
+
}
|
|
679
|
+
/** Write config.json atomically */
|
|
680
|
+
writeConfig(configPath, config) {
|
|
681
|
+
const tmpPath = `${configPath}.${process.pid}.tmp`;
|
|
682
|
+
fs.writeFileSync(tmpPath, JSON.stringify(config, null, 2));
|
|
683
|
+
fs.renameSync(tmpPath, configPath);
|
|
684
|
+
}
|
|
396
685
|
// ── Registry Tools ──────────────────────────────────────────────────
|
|
397
686
|
frameRegistryEntry(entry) {
|
|
398
687
|
const lines = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreadlineMCPServer.js","sourceRoot":"","sources":["../../src/threadline/ThreadlineMCPServer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ThreadlineMCPServer.js","sourceRoot":"","sources":["../../src/threadline/ThreadlineMCPServer.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,7 @@ import type { MessageStore } from '../messaging/MessageStore.js';
|
|
|
19
19
|
import type { MessageEnvelope } from '../messaging/types.js';
|
|
20
20
|
import type { ThreadResumeMap } from './ThreadResumeMap.js';
|
|
21
21
|
import type { AutonomyGate } from './AutonomyGate.js';
|
|
22
|
+
import type { AgentTrustLevel } from './AgentTrustManager.js';
|
|
22
23
|
/** Configuration for the ThreadlineRouter */
|
|
23
24
|
export interface ThreadlineRouterConfig {
|
|
24
25
|
/** Name of this agent */
|
|
@@ -28,6 +29,23 @@ export interface ThreadlineRouterConfig {
|
|
|
28
29
|
/** Max number of thread history messages to inject into context */
|
|
29
30
|
maxHistoryMessages: number;
|
|
30
31
|
}
|
|
32
|
+
/** Relay context passed from InboundMessageGate when message arrives via relay */
|
|
33
|
+
export interface RelayMessageContext {
|
|
34
|
+
/** Sender's cryptographic fingerprint */
|
|
35
|
+
senderFingerprint: string;
|
|
36
|
+
/** Sender's display name */
|
|
37
|
+
senderName: string;
|
|
38
|
+
/** Trust level of the sender */
|
|
39
|
+
trustLevel: AgentTrustLevel;
|
|
40
|
+
/** Who granted trust */
|
|
41
|
+
trustSource?: string;
|
|
42
|
+
/** When trust was granted */
|
|
43
|
+
trustDate?: string;
|
|
44
|
+
/** Original source fingerprint (for multi-hop) */
|
|
45
|
+
originFingerprint?: string;
|
|
46
|
+
/** Original source name */
|
|
47
|
+
originName?: string;
|
|
48
|
+
}
|
|
31
49
|
/** Result of handling an inbound threaded message */
|
|
32
50
|
export interface ThreadlineHandleResult {
|
|
33
51
|
/** Whether this message was handled as a threadline message */
|
|
@@ -65,7 +83,7 @@ export declare class ThreadlineRouter {
|
|
|
65
83
|
* - Has threadId + existing resume entry → resume session
|
|
66
84
|
* - Has threadId + no resume entry → spawn new session
|
|
67
85
|
*/
|
|
68
|
-
handleInboundMessage(envelope: MessageEnvelope): Promise<ThreadlineHandleResult>;
|
|
86
|
+
handleInboundMessage(envelope: MessageEnvelope, relayContext?: RelayMessageContext): Promise<ThreadlineHandleResult>;
|
|
69
87
|
/**
|
|
70
88
|
* Notify the router that a thread's session has ended.
|
|
71
89
|
* Persists the UUID back to ThreadResumeMap for future resume.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreadlineRouter.d.ts","sourceRoot":"","sources":["../../src/threadline/ThreadlineRouter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,KAAK,EAAE,mBAAmB,EAAe,MAAM,qCAAqC,CAAC;AAC5F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAgB,MAAM,uBAAuB,CAAC;AAC3E,OAAO,KAAK,EAAE,eAAe,EAAkC,MAAM,sBAAsB,CAAC;AAC5F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"ThreadlineRouter.d.ts","sourceRoot":"","sources":["../../src/threadline/ThreadlineRouter.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
* cross-agent conversations specifically.
|
|
15
15
|
*/
|
|
16
16
|
import crypto from 'node:crypto';
|
|
17
|
+
import { buildRelayGroundingPreamble, RELAY_HISTORY_LIMITS } from './RelayGroundingPreamble.js';
|
|
17
18
|
// ── Constants ───────────────────────────────────────────────────
|
|
18
19
|
const DEFAULT_MAX_HISTORY = 20;
|
|
19
20
|
const THREAD_SPAWN_PROMPT_TEMPLATE = `You are continuing a threaded conversation with {remote_agent}.
|
|
@@ -60,7 +61,7 @@ export class ThreadlineRouter {
|
|
|
60
61
|
* - Has threadId + existing resume entry → resume session
|
|
61
62
|
* - Has threadId + no resume entry → spawn new session
|
|
62
63
|
*/
|
|
63
|
-
async handleInboundMessage(envelope) {
|
|
64
|
+
async handleInboundMessage(envelope, relayContext) {
|
|
64
65
|
const { message } = envelope;
|
|
65
66
|
// Only handle messages with a threadId that are addressed to us
|
|
66
67
|
if (!message.threadId) {
|
|
@@ -108,10 +109,10 @@ export class ThreadlineRouter {
|
|
|
108
109
|
// Check for existing resume entry
|
|
109
110
|
const existingEntry = this.threadResumeMap.get(threadId);
|
|
110
111
|
if (existingEntry) {
|
|
111
|
-
return await this.resumeThread(threadId, existingEntry, envelope);
|
|
112
|
+
return await this.resumeThread(threadId, existingEntry, envelope, relayContext);
|
|
112
113
|
}
|
|
113
114
|
else {
|
|
114
|
-
return await this.spawnNewThread(threadId, envelope);
|
|
115
|
+
return await this.spawnNewThread(threadId, envelope, relayContext);
|
|
115
116
|
}
|
|
116
117
|
}
|
|
117
118
|
catch (err) {
|
|
@@ -163,12 +164,15 @@ export class ThreadlineRouter {
|
|
|
163
164
|
});
|
|
164
165
|
}
|
|
165
166
|
// ── Private: Resume an existing thread ──────────────────────
|
|
166
|
-
async resumeThread(threadId, entry, envelope) {
|
|
167
|
+
async resumeThread(threadId, entry, envelope, relayContext) {
|
|
167
168
|
const { message } = envelope;
|
|
168
|
-
// Build history context
|
|
169
|
-
const
|
|
170
|
-
|
|
171
|
-
|
|
169
|
+
// Build history context (trust-level-aware depth for relay)
|
|
170
|
+
const maxHistory = relayContext
|
|
171
|
+
? RELAY_HISTORY_LIMITS[relayContext.trustLevel]
|
|
172
|
+
: this.config.maxHistoryMessages;
|
|
173
|
+
const historyContext = await this.buildHistoryContext(threadId, maxHistory);
|
|
174
|
+
// Build the resume prompt (with grounding preamble if relay)
|
|
175
|
+
const prompt = this.buildPrompt(message, threadId, entry.subject, entry.messageCount, entry.remoteAgent, historyContext, relayContext);
|
|
172
176
|
// Spawn with resume UUID
|
|
173
177
|
const spawnResult = await this.spawnManager.evaluate({
|
|
174
178
|
requester: message.from,
|
|
@@ -207,12 +211,15 @@ export class ThreadlineRouter {
|
|
|
207
211
|
};
|
|
208
212
|
}
|
|
209
213
|
// ── Private: Spawn a new thread session ─────────────────────
|
|
210
|
-
async spawnNewThread(threadId, envelope) {
|
|
214
|
+
async spawnNewThread(threadId, envelope, relayContext) {
|
|
211
215
|
const { message } = envelope;
|
|
212
216
|
// Build history context (may be empty for brand new threads)
|
|
213
|
-
const
|
|
214
|
-
|
|
215
|
-
|
|
217
|
+
const maxHistory = relayContext
|
|
218
|
+
? RELAY_HISTORY_LIMITS[relayContext.trustLevel]
|
|
219
|
+
: this.config.maxHistoryMessages;
|
|
220
|
+
const historyContext = await this.buildHistoryContext(threadId, maxHistory);
|
|
221
|
+
// Build the spawn prompt (with grounding preamble if relay)
|
|
222
|
+
const prompt = this.buildPrompt(message, threadId, message.subject, 1, message.from.agent, historyContext, relayContext);
|
|
216
223
|
// Request spawn
|
|
217
224
|
const spawnResult = await this.spawnManager.evaluate({
|
|
218
225
|
requester: message.from,
|
|
@@ -258,8 +265,11 @@ export class ThreadlineRouter {
|
|
|
258
265
|
};
|
|
259
266
|
}
|
|
260
267
|
// ── Private: Build thread history context ───────────────────
|
|
261
|
-
async buildHistoryContext(threadId) {
|
|
268
|
+
async buildHistoryContext(threadId, maxMessages) {
|
|
262
269
|
try {
|
|
270
|
+
const limit = maxMessages ?? this.config.maxHistoryMessages;
|
|
271
|
+
if (limit <= 0)
|
|
272
|
+
return '';
|
|
263
273
|
// Fetch thread info from the messaging system's thread store
|
|
264
274
|
const threadData = await this.messageRouter.getThread(threadId);
|
|
265
275
|
if (!threadData || threadData.messages.length === 0) {
|
|
@@ -267,13 +277,13 @@ export class ThreadlineRouter {
|
|
|
267
277
|
}
|
|
268
278
|
// Take the last N messages for context
|
|
269
279
|
const recentMessages = threadData.messages
|
|
270
|
-
.slice(-
|
|
280
|
+
.slice(-limit)
|
|
271
281
|
.map((env, i) => {
|
|
272
282
|
const msg = env.message;
|
|
273
283
|
return `[${i + 1}] ${msg.from.agent} (${msg.createdAt}):\n${msg.body}`;
|
|
274
284
|
})
|
|
275
285
|
.join('\n\n');
|
|
276
|
-
return `Recent thread history (${Math.min(threadData.messages.length,
|
|
286
|
+
return `Recent thread history (${Math.min(threadData.messages.length, limit)} of ${threadData.messages.length} messages):\n${recentMessages}`;
|
|
277
287
|
}
|
|
278
288
|
catch {
|
|
279
289
|
// @silent-fallback-ok — thread history is supplementary context; missing it degrades but doesn't break
|
|
@@ -281,11 +291,11 @@ export class ThreadlineRouter {
|
|
|
281
291
|
}
|
|
282
292
|
}
|
|
283
293
|
// ── Private: Build spawn/resume prompt ──────────────────────
|
|
284
|
-
buildPrompt(latestMessage, threadId, subject, messageCount, remoteAgent, historyContext) {
|
|
294
|
+
buildPrompt(latestMessage, threadId, subject, messageCount, remoteAgent, historyContext, relayContext) {
|
|
285
295
|
const historySection = historyContext
|
|
286
296
|
? `${historyContext}\n`
|
|
287
297
|
: 'No previous history available.\n';
|
|
288
|
-
|
|
298
|
+
const basePrompt = THREAD_SPAWN_PROMPT_TEMPLATE
|
|
289
299
|
.replace('{remote_agent}', remoteAgent)
|
|
290
300
|
.replace('{remote_agent}', remoteAgent)
|
|
291
301
|
.replace('{thread_id}', threadId)
|
|
@@ -294,6 +304,21 @@ export class ThreadlineRouter {
|
|
|
294
304
|
.replace('{history_section}', historySection)
|
|
295
305
|
.replace('{latest_subject}', latestMessage.subject)
|
|
296
306
|
.replace('{latest_body}', latestMessage.body);
|
|
307
|
+
// If relay context is present, wrap with grounding preamble
|
|
308
|
+
if (relayContext) {
|
|
309
|
+
const grounding = buildRelayGroundingPreamble({
|
|
310
|
+
agentName: this.config.localAgent,
|
|
311
|
+
senderName: relayContext.senderName,
|
|
312
|
+
senderFingerprint: relayContext.senderFingerprint,
|
|
313
|
+
trustLevel: relayContext.trustLevel,
|
|
314
|
+
trustSource: relayContext.trustSource,
|
|
315
|
+
trustDate: relayContext.trustDate,
|
|
316
|
+
originFingerprint: relayContext.originFingerprint,
|
|
317
|
+
originName: relayContext.originName,
|
|
318
|
+
});
|
|
319
|
+
return `${grounding.header}\n\n${basePrompt}\n\n${grounding.footer}`;
|
|
320
|
+
}
|
|
321
|
+
return basePrompt;
|
|
297
322
|
}
|
|
298
323
|
}
|
|
299
324
|
//# sourceMappingURL=ThreadlineRouter.js.map
|