@rubytech/create-realagent 1.0.607 → 1.0.609
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/package.json +1 -1
- package/payload/platform/plugins/cloudflare/mcp/dist/index.js +167 -57
- package/payload/platform/plugins/cloudflare/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/cloudflare/mcp/dist/lib/cloudflared.d.ts +30 -4
- package/payload/platform/plugins/cloudflare/mcp/dist/lib/cloudflared.d.ts.map +1 -1
- package/payload/platform/plugins/cloudflare/mcp/dist/lib/cloudflared.js +98 -27
- package/payload/platform/plugins/cloudflare/mcp/dist/lib/cloudflared.js.map +1 -1
- package/payload/platform/plugins/cloudflare/skills/setup-tunnel/SKILL.md +19 -7
- package/payload/platform/templates/agents/admin/IDENTITY.md +13 -4
- package/payload/server/server.js +31 -7
package/package.json
CHANGED
|
@@ -300,7 +300,7 @@ server.tool("cf-add-zone", "Add a domain to the Cloudflare account via the offic
|
|
|
300
300
|
// ===================================================================
|
|
301
301
|
// Cloudflare Tunnel tools
|
|
302
302
|
// ===================================================================
|
|
303
|
-
server.tool("tunnel-status", "Full Cloudflare Tunnel status: installed, version, token valid, running, domain,
|
|
303
|
+
server.tool("tunnel-status", "Full Cloudflare Tunnel status: installed, version, token valid, running, domain, hostnames.", {
|
|
304
304
|
domain: z
|
|
305
305
|
.string()
|
|
306
306
|
.optional()
|
|
@@ -308,23 +308,19 @@ server.tool("tunnel-status", "Full Cloudflare Tunnel status: installed, version,
|
|
|
308
308
|
}, async ({ domain }) => {
|
|
309
309
|
try {
|
|
310
310
|
const status = await cloudflared.getStatus(domain);
|
|
311
|
-
//
|
|
312
|
-
const effectiveDomain = domain ?? status.domain;
|
|
311
|
+
// Check if the actual hostnames resolve (from state, not hardcoded)
|
|
313
312
|
let dnsWarning = "";
|
|
314
|
-
if (
|
|
313
|
+
if (status.hostnames.length > 0) {
|
|
315
314
|
const dns = await import("node:dns/promises");
|
|
316
315
|
const resolver = new dns.Resolver();
|
|
317
316
|
resolver.setServers(["8.8.8.8", "1.1.1.1"]);
|
|
318
317
|
const checks = [];
|
|
319
|
-
for (const
|
|
320
|
-
`admin.${effectiveDomain}`,
|
|
321
|
-
`public.${effectiveDomain}`,
|
|
322
|
-
]) {
|
|
318
|
+
for (const h of status.hostnames) {
|
|
323
319
|
try {
|
|
324
|
-
await resolver.resolve4(
|
|
320
|
+
await resolver.resolve4(h);
|
|
325
321
|
}
|
|
326
322
|
catch {
|
|
327
|
-
checks.push(
|
|
323
|
+
checks.push(h);
|
|
328
324
|
}
|
|
329
325
|
}
|
|
330
326
|
if (checks.length > 0) {
|
|
@@ -396,15 +392,24 @@ server.tool("tunnel-install", "Install the cloudflared binary if not already pre
|
|
|
396
392
|
};
|
|
397
393
|
}
|
|
398
394
|
});
|
|
399
|
-
server.tool("tunnel-create", "Create a Cloudflare Tunnel and route DNS for admin.{domain}
|
|
395
|
+
server.tool("tunnel-create", "Create a Cloudflare Tunnel and route DNS for the specified subdomains. The admin subdomain is required (e.g. 'admin' → admin.{domain}, 'joel' → joel.{domain}). The public subdomain is optional — omit to skip the public endpoint. Collision guard: refuses to create DNS records that would overwrite another tunnel's hostnames. Uses cloudflared CLI with cert.pem — requires tunnel-login first. Idempotent — reuses existing tunnel if name matches.", {
|
|
400
396
|
domain: z
|
|
401
397
|
.string()
|
|
402
|
-
.describe("The bare domain (e.g. 'maxy.bot').
|
|
398
|
+
.describe("The bare domain (e.g. 'maxy.bot')."),
|
|
399
|
+
adminSubdomain: z
|
|
400
|
+
.string()
|
|
401
|
+
.min(1)
|
|
402
|
+
.describe("Subdomain for the admin interface (e.g. 'admin', 'joel'). Creates {adminSubdomain}.{domain}."),
|
|
403
|
+
publicSubdomain: z
|
|
404
|
+
.string()
|
|
405
|
+
.min(1)
|
|
406
|
+
.optional()
|
|
407
|
+
.describe("Subdomain for the public chat (e.g. 'public', 'shop'). Creates {publicSubdomain}.{domain}. Omit to skip the public endpoint."),
|
|
403
408
|
tunnelName: z
|
|
404
409
|
.string()
|
|
405
410
|
.optional()
|
|
406
411
|
.describe("Human-readable tunnel name (default: derived from domain)"),
|
|
407
|
-
}, async ({ domain, tunnelName }) => {
|
|
412
|
+
}, async ({ domain, adminSubdomain, publicSubdomain, tunnelName }) => {
|
|
408
413
|
if (!cloudflared.hasCert()) {
|
|
409
414
|
return {
|
|
410
415
|
content: [
|
|
@@ -416,48 +421,90 @@ server.tool("tunnel-create", "Create a Cloudflare Tunnel and route DNS for admin
|
|
|
416
421
|
isError: true,
|
|
417
422
|
};
|
|
418
423
|
}
|
|
424
|
+
// Validate: admin and public subdomains must differ
|
|
425
|
+
if (publicSubdomain && adminSubdomain === publicSubdomain) {
|
|
426
|
+
return {
|
|
427
|
+
content: [
|
|
428
|
+
{
|
|
429
|
+
type: "text",
|
|
430
|
+
text: `Invalid: adminSubdomain and publicSubdomain are both "${adminSubdomain}". They must be different.`,
|
|
431
|
+
},
|
|
432
|
+
],
|
|
433
|
+
isError: true,
|
|
434
|
+
};
|
|
435
|
+
}
|
|
419
436
|
try {
|
|
420
437
|
const name = tunnelName ?? domain.replace(/\./g, "-");
|
|
421
438
|
const platformPort = parseInt(process.env.PLATFORM_PORT ?? "19200", 10);
|
|
439
|
+
// Build hostname list from subdomains
|
|
440
|
+
const adminHostname = `${adminSubdomain}.${domain}`;
|
|
441
|
+
const publicHostname = publicSubdomain ? `${publicSubdomain}.${domain}` : null;
|
|
442
|
+
const hostnames = publicHostname ? [adminHostname, publicHostname] : [adminHostname];
|
|
443
|
+
console.error(`[tunnel-create] hostnames=${JSON.stringify(hostnames)} domain=${domain}`);
|
|
422
444
|
// Step 1: Create tunnel via CLI (idempotent — reuses if name exists)
|
|
423
445
|
const tunnel = cloudflared.createTunnelCli(name);
|
|
424
|
-
// Step 2:
|
|
425
|
-
|
|
426
|
-
|
|
446
|
+
// Step 2: Collision guard — check each hostname before creating DNS records
|
|
447
|
+
for (const h of hostnames) {
|
|
448
|
+
const check = await cloudflared.checkDnsCollision(h, tunnel.tunnelId);
|
|
449
|
+
if (check.collision) {
|
|
450
|
+
return {
|
|
451
|
+
content: [
|
|
452
|
+
{
|
|
453
|
+
type: "text",
|
|
454
|
+
text: `DNS collision: ${h} already points to a different tunnel (${check.existingTunnelId}). ` +
|
|
455
|
+
`This hostname belongs to another device. Choose a different subdomain or remove the existing DNS record first.`,
|
|
456
|
+
},
|
|
457
|
+
],
|
|
458
|
+
isError: true,
|
|
459
|
+
};
|
|
460
|
+
}
|
|
461
|
+
}
|
|
462
|
+
// Step 3: Write local config.yml with ingress rules
|
|
463
|
+
const configPath = cloudflared.writeLocalConfig(tunnel.tunnelId, tunnel.credentialsPath, hostnames, platformPort);
|
|
464
|
+
// Persist tunnel identity with actual hostnames
|
|
427
465
|
cloudflared.saveTunnelIdentity({
|
|
428
466
|
tunnelId: tunnel.tunnelId,
|
|
429
467
|
tunnelName: tunnel.tunnelName,
|
|
430
468
|
domain,
|
|
431
469
|
configPath,
|
|
432
470
|
credentialsPath: tunnel.credentialsPath,
|
|
471
|
+
adminHostname,
|
|
472
|
+
publicHostname,
|
|
433
473
|
});
|
|
434
|
-
// Step
|
|
435
|
-
const
|
|
436
|
-
const
|
|
437
|
-
|
|
474
|
+
// Step 4: Route DNS via CLI for each hostname
|
|
475
|
+
const dnsResults = [];
|
|
476
|
+
for (const h of hostnames) {
|
|
477
|
+
const route = cloudflared.routeDnsCli(tunnel.tunnelId, h);
|
|
478
|
+
dnsResults.push({
|
|
479
|
+
hostname: h,
|
|
480
|
+
note: route.created ? "created" : "already existed",
|
|
481
|
+
});
|
|
482
|
+
}
|
|
483
|
+
// Step 5: Verify hostnames resolve via Google DNS
|
|
438
484
|
const dns = await import("node:dns/promises");
|
|
439
485
|
const resolver = new dns.Resolver();
|
|
440
486
|
resolver.setServers(["8.8.8.8", "1.1.1.1"]);
|
|
441
487
|
const dnsWarnings = [];
|
|
442
|
-
for (const
|
|
488
|
+
for (const h of hostnames) {
|
|
443
489
|
try {
|
|
444
|
-
await resolver.resolve4(
|
|
490
|
+
await resolver.resolve4(h);
|
|
445
491
|
}
|
|
446
492
|
catch {
|
|
447
|
-
dnsWarnings.push(
|
|
493
|
+
dnsWarnings.push(h);
|
|
448
494
|
}
|
|
449
495
|
}
|
|
450
496
|
let dnsNote = "";
|
|
451
497
|
if (dnsWarnings.length > 0) {
|
|
452
498
|
dnsNote = `\n\nDNS WARNING: ${dnsWarnings.join(", ")} did not resolve via Google DNS (8.8.8.8). This may be propagation delay (wait a few minutes and re-check) or the domain may not be Active on Cloudflare — run cf-zone-status to check.`;
|
|
453
499
|
}
|
|
454
|
-
const
|
|
455
|
-
|
|
500
|
+
const dnsLines = dnsResults
|
|
501
|
+
.map((r) => ` DNS: ${r.hostname} → tunnel (${r.note})`)
|
|
502
|
+
.join("\n");
|
|
456
503
|
return {
|
|
457
504
|
content: [
|
|
458
505
|
{
|
|
459
506
|
type: "text",
|
|
460
|
-
text: `Tunnel created.\n\n ID: ${tunnel.tunnelId}\n Name: ${tunnel.tunnelName}\n
|
|
507
|
+
text: `Tunnel created.\n\n ID: ${tunnel.tunnelId}\n Name: ${tunnel.tunnelName}\n${dnsLines}\n Config: ${configPath}\n\nUse tunnel-enable to start the tunnel.${dnsNote}`,
|
|
461
508
|
},
|
|
462
509
|
],
|
|
463
510
|
};
|
|
@@ -474,7 +521,7 @@ server.tool("tunnel-create", "Create a Cloudflare Tunnel and route DNS for admin
|
|
|
474
521
|
};
|
|
475
522
|
}
|
|
476
523
|
});
|
|
477
|
-
server.tool("tunnel-enable", "Start the Cloudflare Tunnel process. The tunnel must be created first via tunnel-create.
|
|
524
|
+
server.tool("tunnel-enable", "Start the Cloudflare Tunnel process. The tunnel must be created first via tunnel-create. Reads hostnames from persisted state for DNS verification and reachability checks. If tunnelId and domain are omitted, reads them from persisted tunnel state.", {
|
|
478
525
|
tunnelId: z.string().optional().describe("Tunnel UUID from tunnel-create. If omitted, reads from persisted tunnel state."),
|
|
479
526
|
domain: z.string().optional().describe("The bare domain (e.g. 'maxy.bot'). If omitted, reads from persisted tunnel state."),
|
|
480
527
|
}, async ({ tunnelId: tunnelIdParam, domain: domainParam }) => {
|
|
@@ -504,17 +551,31 @@ server.tool("tunnel-enable", "Start the Cloudflare Tunnel process. The tunnel mu
|
|
|
504
551
|
isError: true,
|
|
505
552
|
};
|
|
506
553
|
}
|
|
507
|
-
//
|
|
554
|
+
// Read actual hostnames from persisted state (backward compat: derives from domain)
|
|
555
|
+
const hostnames = cloudflared.getPersistedHostnames();
|
|
556
|
+
if (hostnames.length === 0) {
|
|
557
|
+
return {
|
|
558
|
+
content: [
|
|
559
|
+
{
|
|
560
|
+
type: "text",
|
|
561
|
+
text: "No hostnames found in persisted state. Run tunnel-create first.",
|
|
562
|
+
},
|
|
563
|
+
],
|
|
564
|
+
isError: true,
|
|
565
|
+
};
|
|
566
|
+
}
|
|
567
|
+
console.error(`[tunnel-enable] checking hostnames=${JSON.stringify(hostnames)}`);
|
|
568
|
+
// GATE 1: Check if actual hostnames resolve (via Google DNS)
|
|
508
569
|
const dns = await import("node:dns/promises");
|
|
509
570
|
const resolver = new dns.Resolver();
|
|
510
571
|
resolver.setServers(["8.8.8.8", "1.1.1.1"]);
|
|
511
572
|
const unresolvedSubs = [];
|
|
512
|
-
for (const
|
|
573
|
+
for (const h of hostnames) {
|
|
513
574
|
try {
|
|
514
|
-
await resolver.resolve4(
|
|
575
|
+
await resolver.resolve4(h);
|
|
515
576
|
}
|
|
516
577
|
catch {
|
|
517
|
-
unresolvedSubs.push(
|
|
578
|
+
unresolvedSubs.push(h);
|
|
518
579
|
}
|
|
519
580
|
}
|
|
520
581
|
if (unresolvedSubs.length > 0) {
|
|
@@ -522,7 +583,7 @@ server.tool("tunnel-enable", "Start the Cloudflare Tunnel process. The tunnel mu
|
|
|
522
583
|
content: [
|
|
523
584
|
{
|
|
524
585
|
type: "text",
|
|
525
|
-
text: `REFUSED: ${unresolvedSubs.join(", ")} do not resolve (checked via Google DNS). The tunnel URLs will not work.\n\nThis usually means the CNAME records
|
|
586
|
+
text: `REFUSED: ${unresolvedSubs.join(", ")} do not resolve (checked via Google DNS). The tunnel URLs will not work.\n\nThis usually means the CNAME records have not been created. Run tunnel-create first — it creates the CNAME records in Cloudflare.\n\nIf tunnel-create has already been run, this may be DNS propagation (wait a few minutes) or the domain may not be Active on Cloudflare. Run cf-zone-status to check.\n\nDo not call tunnel-enable until the hostnames resolve.`,
|
|
526
587
|
},
|
|
527
588
|
],
|
|
528
589
|
isError: true,
|
|
@@ -614,17 +675,20 @@ server.tool("tunnel-enable", "Start the Cloudflare Tunnel process. The tunnel mu
|
|
|
614
675
|
}
|
|
615
676
|
}
|
|
616
677
|
const status = await cloudflared.getStatus(domain);
|
|
617
|
-
// Programmatic verification — HTTP-check the
|
|
678
|
+
// Programmatic verification — HTTP-check the admin URL (always present)
|
|
679
|
+
// via Cloudflare's edge. If public URL exists, check that too.
|
|
680
|
+
const verifyUrl = `https://${hostnames[0]}`; // admin hostname is always first
|
|
618
681
|
let verified = false;
|
|
619
|
-
|
|
682
|
+
console.error(`[tunnel-enable] verifying url=${verifyUrl}`);
|
|
620
683
|
for (let attempt = 0; attempt < 6; attempt++) {
|
|
621
684
|
if (attempt > 0)
|
|
622
685
|
await new Promise((r) => setTimeout(r, 5000));
|
|
623
686
|
try {
|
|
624
|
-
const res = await fetch(
|
|
687
|
+
const res = await fetch(verifyUrl, {
|
|
625
688
|
signal: AbortSignal.timeout(10000),
|
|
626
689
|
redirect: "manual",
|
|
627
690
|
});
|
|
691
|
+
console.error(`[tunnel-enable] verified url=${verifyUrl} status=${res.status}`);
|
|
628
692
|
if (res.status !== 530) {
|
|
629
693
|
verified = true;
|
|
630
694
|
break;
|
|
@@ -639,17 +703,25 @@ server.tool("tunnel-enable", "Start the Cloudflare Tunnel process. The tunnel mu
|
|
|
639
703
|
content: [
|
|
640
704
|
{
|
|
641
705
|
type: "text",
|
|
642
|
-
text: `Tunnel process is running (PID ${status.pid}) but
|
|
706
|
+
text: `Tunnel process is running (PID ${status.pid}) but ${verifyUrl} returned HTTP 530 after 30s of retries. Cloudflare's edge cannot route traffic to this tunnel.\n\nCommon causes:\n 1. Stale DNS CNAME records pointing to a previous tunnel — run tunnel-create again to fix\n 2. UDP buffer too small for QUIC — check ${logHint}\n 3. Firewall blocking outbound QUIC to Cloudflare edge\n\nThe tunnel is NOT working. Do not report success.`,
|
|
643
707
|
},
|
|
644
708
|
],
|
|
645
709
|
isError: true,
|
|
646
710
|
};
|
|
647
711
|
}
|
|
712
|
+
// Build URL list for output
|
|
713
|
+
const urlLines = hostnames.map((h, i) => {
|
|
714
|
+
const label = i === 0 ? "Admin" : "Public";
|
|
715
|
+
return ` ${label}: https://${h}`;
|
|
716
|
+
}).join("\n");
|
|
717
|
+
const reachableNote = hostnames.length > 1
|
|
718
|
+
? "All URLs are reachable through Cloudflare's edge."
|
|
719
|
+
: "The admin URL is reachable through Cloudflare's edge.";
|
|
648
720
|
return {
|
|
649
721
|
content: [
|
|
650
722
|
{
|
|
651
723
|
type: "text",
|
|
652
|
-
text: `Tunnel started and verified.\n\n PID: ${status.pid}\n
|
|
724
|
+
text: `Tunnel started and verified.\n\n PID: ${status.pid}\n${urlLines}\n\n${reachableNote} The tunnel auto-starts on device reboot.`,
|
|
653
725
|
},
|
|
654
726
|
],
|
|
655
727
|
};
|
|
@@ -861,11 +933,23 @@ server.tool("dns-lookup", "Resolve DNS records for a hostname. Replaces dig/nslo
|
|
|
861
933
|
};
|
|
862
934
|
}
|
|
863
935
|
});
|
|
864
|
-
server.tool("cloudflare-setup", "Deterministic state machine for full Cloudflare Tunnel setup. Checks current state, advances as far as possible, returns structured result. Call once, relay the message to the user. When the user confirms an action, call again — the tool picks up where it left off. Zero agent judgment required.", {
|
|
936
|
+
server.tool("cloudflare-setup", "Deterministic state machine for full Cloudflare Tunnel setup. Checks current state, advances as far as possible, returns structured result. Call once, relay the message to the user. When the user confirms an action, call again — the tool picks up where it left off. Zero agent judgment required. adminSubdomain defaults to 'admin', publicSubdomain defaults to 'public'. Set publicSubdomain to skip the public endpoint.", {
|
|
865
937
|
domain: z
|
|
866
938
|
.string()
|
|
867
|
-
.describe("The bare domain (e.g. 'maxy.bot').
|
|
868
|
-
|
|
939
|
+
.describe("The bare domain (e.g. 'maxy.bot')."),
|
|
940
|
+
adminSubdomain: z
|
|
941
|
+
.string()
|
|
942
|
+
.min(1)
|
|
943
|
+
.optional()
|
|
944
|
+
.describe("Subdomain for admin interface (default: 'admin'). Creates {adminSubdomain}.{domain}."),
|
|
945
|
+
publicSubdomain: z
|
|
946
|
+
.string()
|
|
947
|
+
.min(1)
|
|
948
|
+
.optional()
|
|
949
|
+
.describe("Subdomain for public chat (default: 'public'). Creates {publicSubdomain}.{domain}. Omit or set explicitly to skip the public endpoint."),
|
|
950
|
+
}, async ({ domain, adminSubdomain: adminSubParam, publicSubdomain: publicSubParam }) => {
|
|
951
|
+
const adminSubdomain = adminSubParam ?? "admin";
|
|
952
|
+
const publicSubdomain = publicSubParam ?? "public";
|
|
869
953
|
const log = (msg) => console.error(`[cloudflare-setup] ${msg}`);
|
|
870
954
|
try {
|
|
871
955
|
// ── Step 1: cloudflared binary ──────────────────────────────────
|
|
@@ -1002,23 +1086,41 @@ server.tool("cloudflare-setup", "Deterministic state machine for full Cloudflare
|
|
|
1002
1086
|
log("checking tunnel");
|
|
1003
1087
|
const existingState = cloudflared.getPersistedState();
|
|
1004
1088
|
const platformPort = parseInt(process.env.PLATFORM_PORT ?? "19200", 10);
|
|
1089
|
+
// Build hostname list from subdomains
|
|
1090
|
+
const adminHostname = `${adminSubdomain}.${domain}`;
|
|
1091
|
+
const publicHostname = publicSubdomain ? `${publicSubdomain}.${domain}` : null;
|
|
1092
|
+
const hostnames = publicHostname ? [adminHostname, publicHostname] : [adminHostname];
|
|
1005
1093
|
if (!existingState?.tunnelId) {
|
|
1006
|
-
log(
|
|
1094
|
+
log(`no tunnel — creating with hostnames=${JSON.stringify(hostnames)}`);
|
|
1007
1095
|
const tunnelName = domain.replace(/\./g, "-");
|
|
1008
1096
|
try {
|
|
1009
1097
|
const tunnel = cloudflared.createTunnelCli(tunnelName);
|
|
1010
|
-
|
|
1098
|
+
// Collision guard
|
|
1099
|
+
for (const h of hostnames) {
|
|
1100
|
+
const check = await cloudflared.checkDnsCollision(h, tunnel.tunnelId);
|
|
1101
|
+
if (check.collision) {
|
|
1102
|
+
log(`collision detected: ${h} → tunnel ${check.existingTunnelId}`);
|
|
1103
|
+
return result({
|
|
1104
|
+
status: "error",
|
|
1105
|
+
message: `DNS collision: ${h} already points to a different tunnel. This hostname belongs to another device. Choose a different subdomain.`,
|
|
1106
|
+
});
|
|
1107
|
+
}
|
|
1108
|
+
}
|
|
1109
|
+
const configPath = cloudflared.writeLocalConfig(tunnel.tunnelId, tunnel.credentialsPath, hostnames, platformPort);
|
|
1011
1110
|
cloudflared.saveTunnelIdentity({
|
|
1012
1111
|
tunnelId: tunnel.tunnelId,
|
|
1013
1112
|
tunnelName: tunnel.tunnelName,
|
|
1014
1113
|
domain,
|
|
1015
1114
|
configPath,
|
|
1016
1115
|
credentialsPath: tunnel.credentialsPath,
|
|
1116
|
+
adminHostname,
|
|
1117
|
+
publicHostname,
|
|
1017
1118
|
});
|
|
1018
|
-
// Route DNS
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1119
|
+
// Route DNS for each hostname
|
|
1120
|
+
for (const h of hostnames) {
|
|
1121
|
+
cloudflared.routeDnsCli(tunnel.tunnelId, h);
|
|
1122
|
+
}
|
|
1123
|
+
log(`tunnel ${tunnel.tunnelId} created, DNS routed for ${JSON.stringify(hostnames)}`);
|
|
1022
1124
|
}
|
|
1023
1125
|
catch (err) {
|
|
1024
1126
|
const msg = err instanceof Error ? err.message : String(err);
|
|
@@ -1028,14 +1130,16 @@ server.tool("cloudflare-setup", "Deterministic state machine for full Cloudflare
|
|
|
1028
1130
|
}
|
|
1029
1131
|
else {
|
|
1030
1132
|
log(`tunnel exists: ${existingState.tunnelId}`);
|
|
1031
|
-
// Ensure domain
|
|
1032
|
-
if (existingState.domain !== domain) {
|
|
1133
|
+
// Ensure domain and hostnames are persisted in state (may be stale)
|
|
1134
|
+
if (existingState.domain !== domain || existingState.adminHostname !== adminHostname) {
|
|
1033
1135
|
cloudflared.saveTunnelIdentity({
|
|
1034
1136
|
tunnelId: existingState.tunnelId,
|
|
1035
1137
|
tunnelName: existingState.tunnelName,
|
|
1036
1138
|
domain,
|
|
1037
1139
|
configPath: existingState.configPath,
|
|
1038
1140
|
credentialsPath: existingState.credentialsPath,
|
|
1141
|
+
adminHostname,
|
|
1142
|
+
publicHostname,
|
|
1039
1143
|
});
|
|
1040
1144
|
}
|
|
1041
1145
|
}
|
|
@@ -1097,14 +1201,14 @@ server.tool("cloudflare-setup", "Deterministic state machine for full Cloudflare
|
|
|
1097
1201
|
});
|
|
1098
1202
|
}
|
|
1099
1203
|
}
|
|
1100
|
-
// Verify
|
|
1101
|
-
const
|
|
1204
|
+
// Verify admin URL is reachable through Cloudflare edge
|
|
1205
|
+
const verifyUrl = `https://${adminHostname}`;
|
|
1102
1206
|
let verified = false;
|
|
1103
1207
|
for (let attempt = 0; attempt < 6; attempt++) {
|
|
1104
1208
|
if (attempt > 0)
|
|
1105
1209
|
await new Promise((r) => setTimeout(r, 5000));
|
|
1106
1210
|
try {
|
|
1107
|
-
const res = await fetch(
|
|
1211
|
+
const res = await fetch(verifyUrl, {
|
|
1108
1212
|
signal: AbortSignal.timeout(10000),
|
|
1109
1213
|
redirect: "manual",
|
|
1110
1214
|
});
|
|
@@ -1118,10 +1222,10 @@ server.tool("cloudflare-setup", "Deterministic state machine for full Cloudflare
|
|
|
1118
1222
|
}
|
|
1119
1223
|
}
|
|
1120
1224
|
if (!verified) {
|
|
1121
|
-
log(
|
|
1225
|
+
log(`tunnel running but ${verifyUrl} not reachable (HTTP 530)`);
|
|
1122
1226
|
return result({
|
|
1123
1227
|
status: "error",
|
|
1124
|
-
message: `The tunnel is running but the
|
|
1228
|
+
message: `The tunnel is running but the admin URL is not reachable yet. This usually resolves in a few minutes as DNS propagates. Try again shortly.`,
|
|
1125
1229
|
});
|
|
1126
1230
|
}
|
|
1127
1231
|
log("tunnel started and verified");
|
|
@@ -1136,12 +1240,18 @@ server.tool("cloudflare-setup", "Deterministic state machine for full Cloudflare
|
|
|
1136
1240
|
log(`tunnel already running (PID ${status.pid})`);
|
|
1137
1241
|
}
|
|
1138
1242
|
// ── Complete ────────────────────────────────────────────────────
|
|
1139
|
-
const adminUrl = `https
|
|
1140
|
-
const publicUrl = `https
|
|
1141
|
-
log(`complete — admin: ${adminUrl}
|
|
1243
|
+
const adminUrl = `https://${adminHostname}`;
|
|
1244
|
+
const publicUrl = publicHostname ? `https://${publicHostname}` : undefined;
|
|
1245
|
+
log(`complete — admin: ${adminUrl}${publicUrl ? `, public: ${publicUrl}` : ""}`);
|
|
1246
|
+
const urlLines = publicUrl
|
|
1247
|
+
? `Admin: ${adminUrl}\nPublic: ${publicUrl}`
|
|
1248
|
+
: `Admin: ${adminUrl}`;
|
|
1249
|
+
const reachableNote = publicUrl
|
|
1250
|
+
? "Both URLs are live and reachable."
|
|
1251
|
+
: "The admin URL is live and reachable.";
|
|
1142
1252
|
return result({
|
|
1143
1253
|
status: "complete",
|
|
1144
|
-
message: `Remote access is set up and verified.\n\
|
|
1254
|
+
message: `Remote access is set up and verified.\n\n${urlLines}\n\n${reachableNote} The tunnel auto-starts on device reboot.`,
|
|
1145
1255
|
data: { adminUrl, publicUrl },
|
|
1146
1256
|
});
|
|
1147
1257
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -83,7 +83,7 @@ export interface TunnelCreateResult {
|
|
|
83
83
|
tunnelName: string;
|
|
84
84
|
}
|
|
85
85
|
export declare function createTunnel(name: string): Promise<TunnelCreateResult>;
|
|
86
|
-
export declare function configureTunnel(tunnelId: string,
|
|
86
|
+
export declare function configureTunnel(tunnelId: string, hostnames: string[], port: number): Promise<void>;
|
|
87
87
|
interface IngressRule {
|
|
88
88
|
hostname?: string;
|
|
89
89
|
service: string;
|
|
@@ -100,6 +100,21 @@ export declare function fixIngressPort(tunnelId: string, expectedPort: number):
|
|
|
100
100
|
export declare function loadAliasDomains(): Set<string>;
|
|
101
101
|
export declare function saveAliasDomain(hostname: string): void;
|
|
102
102
|
export declare function getConnectorToken(tunnelId: string): Promise<string>;
|
|
103
|
+
export interface CollisionCheckResult {
|
|
104
|
+
hostname: string;
|
|
105
|
+
collision: boolean;
|
|
106
|
+
existingTunnelId: string | null;
|
|
107
|
+
error: string | null;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Check whether a hostname's CNAME points to a different tunnel.
|
|
111
|
+
* Returns collision=true if the CNAME target is *.cfargotunnel.com but
|
|
112
|
+
* for a different tunnel ID. Returns collision=false if:
|
|
113
|
+
* - No CNAME exists (NXDOMAIN/ENODATA)
|
|
114
|
+
* - CNAME points to the same tunnel (idempotent)
|
|
115
|
+
* - DNS lookup fails (can't prove collision — proceed with caution)
|
|
116
|
+
*/
|
|
117
|
+
export declare function checkDnsCollision(hostname: string, tunnelId: string): Promise<CollisionCheckResult>;
|
|
103
118
|
export declare function createDnsRecord(zoneId: string, subdomain: string, tunnelId: string): Promise<{
|
|
104
119
|
created: boolean;
|
|
105
120
|
existing: boolean;
|
|
@@ -114,8 +129,9 @@ export declare function getTunnelTokenCli(tunnelId: string): string;
|
|
|
114
129
|
/**
|
|
115
130
|
* Write a local config.yml for cloudflared tunnel run.
|
|
116
131
|
* This is the ONLY tunnel startup configuration — no remote config, no API.
|
|
132
|
+
* hostnames: the actual FQDNs to route (e.g. ["joel.maxy.bot", "shop.maxy.bot"]).
|
|
117
133
|
*/
|
|
118
|
-
export declare function writeLocalConfig(tunnelId: string, credentialsPath: string,
|
|
134
|
+
export declare function writeLocalConfig(tunnelId: string, credentialsPath: string, hostnames: string[], port: number): string;
|
|
119
135
|
export declare function routeDnsCli(tunnelId: string, hostname: string): {
|
|
120
136
|
created: boolean;
|
|
121
137
|
output: string;
|
|
@@ -142,6 +158,8 @@ interface TunnelState {
|
|
|
142
158
|
domain: string;
|
|
143
159
|
configPath: string;
|
|
144
160
|
credentialsPath: string;
|
|
161
|
+
adminHostname: string | null;
|
|
162
|
+
publicHostname: string | null;
|
|
145
163
|
pid: number | null;
|
|
146
164
|
startedAt: number | null;
|
|
147
165
|
connectorToken?: string;
|
|
@@ -159,7 +177,14 @@ export declare function saveTunnelIdentity(params: {
|
|
|
159
177
|
domain: string;
|
|
160
178
|
configPath: string;
|
|
161
179
|
credentialsPath: string;
|
|
180
|
+
adminHostname: string;
|
|
181
|
+
publicHostname: string | null;
|
|
162
182
|
}): void;
|
|
183
|
+
/**
|
|
184
|
+
* Return the actual hostnames from persisted state.
|
|
185
|
+
* Backward compat: old state files without hostname fields derive from domain.
|
|
186
|
+
*/
|
|
187
|
+
export declare function getPersistedHostnames(): string[];
|
|
163
188
|
export interface TunnelStatus {
|
|
164
189
|
installed: boolean;
|
|
165
190
|
version: string | null;
|
|
@@ -171,8 +196,9 @@ export interface TunnelStatus {
|
|
|
171
196
|
pid: number | null;
|
|
172
197
|
tunnelId: string | null;
|
|
173
198
|
domain: string | null;
|
|
174
|
-
|
|
175
|
-
|
|
199
|
+
hostnames: string[];
|
|
200
|
+
adminHostname: string | null;
|
|
201
|
+
publicHostname: string | null;
|
|
176
202
|
upSince: number | null;
|
|
177
203
|
restartCount: number;
|
|
178
204
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloudflared.d.ts","sourceRoot":"","sources":["../../src/lib/cloudflared.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cloudflared.d.ts","sourceRoot":"","sources":["../../src/lib/cloudflared.ts"],"names":[],"mappings":"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"}
|
|
@@ -397,17 +397,15 @@ export async function createTunnel(name) {
|
|
|
397
397
|
function generateTunnelSecret() {
|
|
398
398
|
return randomBytes(32).toString("base64");
|
|
399
399
|
}
|
|
400
|
-
export async function configureTunnel(tunnelId,
|
|
400
|
+
export async function configureTunnel(tunnelId, hostnames, port) {
|
|
401
401
|
const { client, accountId } = getClient();
|
|
402
|
+
const ingress = [
|
|
403
|
+
...hostnames.map((h) => ({ hostname: h, service: `http://localhost:${port}` })),
|
|
404
|
+
{ hostname: "", service: "http_status:404" },
|
|
405
|
+
];
|
|
402
406
|
await client.zeroTrust.tunnels.cloudflared.configurations.update(tunnelId, {
|
|
403
407
|
account_id: accountId,
|
|
404
|
-
config: {
|
|
405
|
-
ingress: [
|
|
406
|
-
{ hostname: `admin.${domain}`, service: `http://localhost:${port}` },
|
|
407
|
-
{ hostname: `public.${domain}`, service: `http://localhost:${port}` },
|
|
408
|
-
{ hostname: "", service: "http_status:404" },
|
|
409
|
-
],
|
|
410
|
-
},
|
|
408
|
+
config: { ingress },
|
|
411
409
|
});
|
|
412
410
|
}
|
|
413
411
|
export async function getTunnelIngress(tunnelId) {
|
|
@@ -540,6 +538,50 @@ export async function getConnectorToken(tunnelId) {
|
|
|
540
538
|
}
|
|
541
539
|
return token;
|
|
542
540
|
}
|
|
541
|
+
/**
|
|
542
|
+
* Check whether a hostname's CNAME points to a different tunnel.
|
|
543
|
+
* Returns collision=true if the CNAME target is *.cfargotunnel.com but
|
|
544
|
+
* for a different tunnel ID. Returns collision=false if:
|
|
545
|
+
* - No CNAME exists (NXDOMAIN/ENODATA)
|
|
546
|
+
* - CNAME points to the same tunnel (idempotent)
|
|
547
|
+
* - DNS lookup fails (can't prove collision — proceed with caution)
|
|
548
|
+
*/
|
|
549
|
+
export async function checkDnsCollision(hostname, tunnelId) {
|
|
550
|
+
const dns = await import("node:dns/promises");
|
|
551
|
+
const resolver = new dns.Resolver();
|
|
552
|
+
resolver.setServers(["8.8.8.8", "1.1.1.1"]);
|
|
553
|
+
try {
|
|
554
|
+
const cnames = await resolver.resolveCname(hostname);
|
|
555
|
+
if (cnames.length === 0) {
|
|
556
|
+
return { hostname, collision: false, existingTunnelId: null, error: null };
|
|
557
|
+
}
|
|
558
|
+
const cname = cnames[0];
|
|
559
|
+
const cfTunnelMatch = cname.match(/^([0-9a-f-]+)\.cfargotunnel\.com$/i);
|
|
560
|
+
if (!cfTunnelMatch) {
|
|
561
|
+
// CNAME exists but doesn't point to a Cloudflare tunnel — not our concern
|
|
562
|
+
return { hostname, collision: false, existingTunnelId: null, error: null };
|
|
563
|
+
}
|
|
564
|
+
const existingTunnelId = cfTunnelMatch[1];
|
|
565
|
+
if (existingTunnelId === tunnelId) {
|
|
566
|
+
// Same tunnel — idempotent, no collision
|
|
567
|
+
return { hostname, collision: false, existingTunnelId, error: null };
|
|
568
|
+
}
|
|
569
|
+
// Different tunnel — collision
|
|
570
|
+
console.error(`[tunnel-create] collision hostname=${hostname} existingTunnel=${existingTunnelId} requestedTunnel=${tunnelId}`);
|
|
571
|
+
return { hostname, collision: true, existingTunnelId, error: null };
|
|
572
|
+
}
|
|
573
|
+
catch (err) {
|
|
574
|
+
const code = err.code;
|
|
575
|
+
if (code === "ENODATA" || code === "ENOTFOUND") {
|
|
576
|
+
// No CNAME record exists — safe to create
|
|
577
|
+
return { hostname, collision: false, existingTunnelId: null, error: null };
|
|
578
|
+
}
|
|
579
|
+
// DNS lookup failed for other reasons — can't prove collision, proceed
|
|
580
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
581
|
+
console.error(`[tunnel-create] DNS collision check failed for ${hostname}: ${msg} — proceeding (cannot confirm collision)`);
|
|
582
|
+
return { hostname, collision: false, existingTunnelId: null, error: msg };
|
|
583
|
+
}
|
|
584
|
+
}
|
|
543
585
|
// ---------------------------------------------------------------------------
|
|
544
586
|
// DNS record management via SDK
|
|
545
587
|
// ---------------------------------------------------------------------------
|
|
@@ -557,16 +599,10 @@ export async function createDnsRecord(zoneId, subdomain, tunnelId) {
|
|
|
557
599
|
if (record.content === cnameTarget) {
|
|
558
600
|
return { created: false, existing: true, updated: false };
|
|
559
601
|
}
|
|
560
|
-
//
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
type: "CNAME",
|
|
565
|
-
content: cnameTarget,
|
|
566
|
-
proxied: true,
|
|
567
|
-
ttl: 1,
|
|
568
|
-
});
|
|
569
|
-
return { created: false, existing: true, updated: true };
|
|
602
|
+
// CNAME points to a different tunnel — refuse to overwrite (collision guard)
|
|
603
|
+
const existingTarget = record.content ?? "(unknown)";
|
|
604
|
+
throw new Error(`DNS collision: ${subdomain} already has a CNAME pointing to ${existingTarget}, which belongs to a different tunnel. ` +
|
|
605
|
+
`Refusing to overwrite. To reclaim this hostname, delete the existing CNAME record first.`);
|
|
570
606
|
}
|
|
571
607
|
await client.dns.records.create({
|
|
572
608
|
zone_id: zoneId,
|
|
@@ -655,24 +691,26 @@ export function getTunnelTokenCli(tunnelId) {
|
|
|
655
691
|
/**
|
|
656
692
|
* Write a local config.yml for cloudflared tunnel run.
|
|
657
693
|
* This is the ONLY tunnel startup configuration — no remote config, no API.
|
|
694
|
+
* hostnames: the actual FQDNs to route (e.g. ["joel.maxy.bot", "shop.maxy.bot"]).
|
|
658
695
|
*/
|
|
659
|
-
export function writeLocalConfig(tunnelId, credentialsPath,
|
|
696
|
+
export function writeLocalConfig(tunnelId, credentialsPath, hostnames, port) {
|
|
660
697
|
const dir = join(homedir(), loadBrand().configDir, "cloudflared");
|
|
661
698
|
mkdirSync(dir, { recursive: true });
|
|
662
699
|
const configPath = join(dir, "config.yml");
|
|
700
|
+
const ingressLines = hostnames.flatMap((h) => [
|
|
701
|
+
` - hostname: ${h}`,
|
|
702
|
+
` service: http://localhost:${port}`,
|
|
703
|
+
]);
|
|
663
704
|
const yaml = [
|
|
664
705
|
`tunnel: ${tunnelId}`,
|
|
665
706
|
`credentials-file: ${credentialsPath}`,
|
|
666
707
|
`ingress:`,
|
|
667
|
-
|
|
668
|
-
` service: http://localhost:${port}`,
|
|
669
|
-
` - hostname: public.${domain}`,
|
|
670
|
-
` service: http://localhost:${port}`,
|
|
708
|
+
...ingressLines,
|
|
671
709
|
` - service: http_status:404`,
|
|
672
710
|
"",
|
|
673
711
|
].join("\n");
|
|
674
712
|
writeFileSync(configPath, yaml, "utf-8");
|
|
675
|
-
console.error(`[tunnel-create] config written to ${configPath}`);
|
|
713
|
+
console.error(`[tunnel-create] config written to ${configPath} hostnames=${JSON.stringify(hostnames)}`);
|
|
676
714
|
return configPath;
|
|
677
715
|
}
|
|
678
716
|
// ---------------------------------------------------------------------------
|
|
@@ -905,16 +943,44 @@ export function getPersistedState() {
|
|
|
905
943
|
*/
|
|
906
944
|
export function saveTunnelIdentity(params) {
|
|
907
945
|
writeState({
|
|
908
|
-
|
|
946
|
+
tunnelId: params.tunnelId,
|
|
947
|
+
tunnelName: params.tunnelName,
|
|
948
|
+
domain: params.domain,
|
|
949
|
+
configPath: params.configPath,
|
|
950
|
+
credentialsPath: params.credentialsPath,
|
|
951
|
+
adminHostname: params.adminHostname,
|
|
952
|
+
publicHostname: params.publicHostname,
|
|
909
953
|
pid: null,
|
|
910
954
|
startedAt: null,
|
|
911
955
|
});
|
|
912
956
|
}
|
|
957
|
+
/**
|
|
958
|
+
* Return the actual hostnames from persisted state.
|
|
959
|
+
* Backward compat: old state files without hostname fields derive from domain.
|
|
960
|
+
*/
|
|
961
|
+
export function getPersistedHostnames() {
|
|
962
|
+
const state = readState();
|
|
963
|
+
if (!state)
|
|
964
|
+
return [];
|
|
965
|
+
// New state files have explicit hostname fields
|
|
966
|
+
if (state.adminHostname) {
|
|
967
|
+
return state.publicHostname
|
|
968
|
+
? [state.adminHostname, state.publicHostname]
|
|
969
|
+
: [state.adminHostname];
|
|
970
|
+
}
|
|
971
|
+
// Backward compat: pre-521 state files without hostname fields
|
|
972
|
+
if (state.domain) {
|
|
973
|
+
console.error(`[tunnel] backward-compat: deriving hostnames from domain=${state.domain} (no adminHostname in state)`);
|
|
974
|
+
return [`admin.${state.domain}`, `public.${state.domain}`];
|
|
975
|
+
}
|
|
976
|
+
return [];
|
|
977
|
+
}
|
|
913
978
|
export async function getStatus(domain) {
|
|
914
979
|
const auth = await validateAuth();
|
|
915
980
|
const state = readState();
|
|
916
981
|
const running = state !== null && isProcessAlive(state.pid);
|
|
917
982
|
const effectiveDomain = domain ?? state?.domain ?? null;
|
|
983
|
+
const hostnames = getPersistedHostnames();
|
|
918
984
|
return {
|
|
919
985
|
installed: isInstalled(),
|
|
920
986
|
version: version(),
|
|
@@ -926,8 +992,9 @@ export async function getStatus(domain) {
|
|
|
926
992
|
pid: running ? state.pid : null,
|
|
927
993
|
tunnelId: state?.tunnelId ?? null,
|
|
928
994
|
domain: effectiveDomain,
|
|
929
|
-
|
|
930
|
-
|
|
995
|
+
hostnames,
|
|
996
|
+
adminHostname: state?.adminHostname ?? (effectiveDomain ? `admin.${effectiveDomain}` : null),
|
|
997
|
+
publicHostname: state?.publicHostname ?? (effectiveDomain ? `public.${effectiveDomain}` : null),
|
|
931
998
|
upSince: running ? state.startedAt : null,
|
|
932
999
|
restartCount: 0,
|
|
933
1000
|
};
|
|
@@ -958,6 +1025,8 @@ export function startTunnel(params) {
|
|
|
958
1025
|
if (!child.pid)
|
|
959
1026
|
throw new Error("Failed to spawn tunnel process");
|
|
960
1027
|
console.error(`[tunnel-enable] started PID ${child.pid} with config ${params.configPath}`);
|
|
1028
|
+
// Preserve hostname fields from existing state when starting the tunnel
|
|
1029
|
+
const existingState = readState();
|
|
961
1030
|
writeState({
|
|
962
1031
|
pid: child.pid,
|
|
963
1032
|
tunnelId: params.tunnelId,
|
|
@@ -965,6 +1034,8 @@ export function startTunnel(params) {
|
|
|
965
1034
|
domain: params.domain,
|
|
966
1035
|
configPath: params.configPath,
|
|
967
1036
|
credentialsPath: params.credentialsPath,
|
|
1037
|
+
adminHostname: existingState?.adminHostname ?? null,
|
|
1038
|
+
publicHostname: existingState?.publicHostname ?? null,
|
|
968
1039
|
startedAt: Date.now(),
|
|
969
1040
|
});
|
|
970
1041
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloudflared.js","sourceRoot":"","sources":["../../src/lib/cloudflared.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cloudflared.js","sourceRoot":"","sources":["../../src/lib/cloudflared.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ description: Set up a Cloudflare Tunnel using deterministic MCP tools for all op
|
|
|
5
5
|
|
|
6
6
|
# Set Up Cloudflare Tunnel
|
|
7
7
|
|
|
8
|
-
Create a Cloudflare Tunnel so the platform is accessible from the public internet via `admin.{domain}`
|
|
8
|
+
Create a Cloudflare Tunnel so the platform is accessible from the public internet via user-specified subdomains (e.g. `admin.{domain}` for admin, optionally `public.{domain}` for public chat).
|
|
9
9
|
|
|
10
10
|
Authentication: `tunnel-login` — one-click OAuth via `cloudflared`. The user signs in to Cloudflare and clicks Authorize. The MCP tools derive credentials automatically.
|
|
11
11
|
|
|
@@ -97,13 +97,25 @@ The platform needs to connect to the user's Cloudflare account. Three determinis
|
|
|
97
97
|
|
|
98
98
|
Proceed to "Create the tunnel."
|
|
99
99
|
|
|
100
|
+
## Choose subdomains
|
|
101
|
+
|
|
102
|
+
17. **Ask the user what subdomain names they want.** Suggest `admin` for the admin interface and `public` for the public chat as defaults. The user can override either or decline the public endpoint entirely.
|
|
103
|
+
|
|
104
|
+
> "I'll set up two addresses for your device:
|
|
105
|
+
> - An admin address for managing things (default: `admin.{domain}`)
|
|
106
|
+
> - A public address for your chat (default: `public.{domain}`)
|
|
107
|
+
>
|
|
108
|
+
> Want to use these defaults, or would you prefer different names? You can also skip the public address if you only need admin access."
|
|
109
|
+
|
|
110
|
+
Map the user's response to `adminSubdomain` and `publicSubdomain` values. If the user provides a custom name like "joel", that becomes `adminSubdomain: "joel"`. If the user wants no public endpoint, omit `publicSubdomain`.
|
|
111
|
+
|
|
100
112
|
## Create the tunnel
|
|
101
113
|
|
|
102
|
-
|
|
114
|
+
18. **Call `tunnel-create`** with `domain`, `adminSubdomain`, and optionally `publicSubdomain`. `tunnel-create` is idempotent — safe to call again. It creates the tunnel on Cloudflare's edge, configures ingress rules, and creates CNAME records for the specified hostnames. If a hostname already points to a different tunnel (collision), the tool refuses and asks for a different subdomain. If the SDK DNS calls fail due to token scope, it falls back to CLI-based DNS routing automatically.
|
|
103
115
|
|
|
104
|
-
|
|
116
|
+
19. **Check the response for DNS warnings.** If the domain isn't Active on Cloudflare, return to "Update nameservers." If DNS propagation is in progress, wait and re-check.
|
|
105
117
|
|
|
106
|
-
|
|
118
|
+
20. **Tell the user.** "Your tunnel is created and your domain is configured. One more step — setting a password for remote access."
|
|
107
119
|
|
|
108
120
|
## Enable the tunnel
|
|
109
121
|
|
|
@@ -127,9 +139,9 @@ The platform needs to connect to the user's Cloudflare account. Three determinis
|
|
|
127
139
|
|
|
128
140
|
- **The agent never collects, sees, or handles the password.** It only checks the tool response. No filesystem paths, no Bash commands.
|
|
129
141
|
|
|
130
|
-
|
|
142
|
+
22. **Enable the tunnel.** Call `tunnel-enable` with the tunnel ID and domain.
|
|
131
143
|
|
|
132
|
-
|
|
144
|
+
23. **Verify the URLs work.** `tunnel-enable` already verifies reachability — it HTTP-checks the admin URL through Cloudflare's edge and only reports success if the URL responds. If `tunnel-enable` reports success, the URLs are verified. If it reports failure, relay the error to the user.
|
|
133
145
|
|
|
134
146
|
## Add alias domain
|
|
135
147
|
|
|
@@ -181,7 +193,7 @@ Without these flags, the installer falls back to detection (reads the current OS
|
|
|
181
193
|
- **Never navigate the Cloudflare dashboard.** The ONLY Cloudflare URL opened in the browser is the auth URL from `tunnel-login`. No API token pages, no dashboard forms, nothing else.
|
|
182
194
|
- **Never suggest creating or pasting API tokens.** `tunnel-login` handles all authentication. If it fails after 3 attempts, tell the user and stop.
|
|
183
195
|
- **The user signs in themselves.** Open the URL, tell the user what to do, wait. Do not evaluate the page.
|
|
184
|
-
- **`tunnel-enable` verifies URLs.** It HTTP-checks the
|
|
196
|
+
- **`tunnel-enable` verifies URLs.** It HTTP-checks the admin URL through Cloudflare's edge. Do not separately verify with screenshots or specialists.
|
|
185
197
|
- **`render-component` before `browser_navigate`.** Show the browser viewer first so the user can see the page.
|
|
186
198
|
- **All tunnel tools are idempotent** — `tunnel-login`, `tunnel-create`, `tunnel-add-hostname` — safe to call multiple times.
|
|
187
199
|
- **DNS propagation takes 1-5 minutes** after tunnel creation. Nameserver propagation takes minutes to 24 hours.
|
|
@@ -48,13 +48,13 @@ When using WebSearch directly (not via the researcher specialist), the same disc
|
|
|
48
48
|
|
|
49
49
|
- Always Read a file before using Edit or overwriting with Write. Writing a new file does not require a prior Read.
|
|
50
50
|
- Your working directory is `$ACCOUNT_DIR` — your entire filesystem scope. Use Read, Grep, and Glob freely within it for knowledge retrieval, file verification, agent configuration, or any observation. Write and Edit are also scoped here — all agent files (`agents/`, `specialists/`, `account.json`) live in this directory. Never write to `$PLATFORM_ROOT/` or paths outside `$ACCOUNT_DIR`.
|
|
51
|
-
- MCP tool schemas are deferred. Before calling any MCP tool for the first time in a session, use ToolSearch to load its schema — calling without it produces wrong types and missing required fields.
|
|
51
|
+
- MCP tool schemas are deferred. Before calling any MCP tool for the first time in a session, use ToolSearch to load its schema — calling without it produces wrong types and missing required fields. When searching for a tool, use the plugin name from `<specialist-domains>` or the plugin manifest as the search prefix — e.g. `+contacts delete` to find `contact-delete` in the contacts plugin. Never search by verb alone (`delete`) — this returns tools from the wrong plugin.
|
|
52
52
|
|
|
53
53
|
## Tool Routing
|
|
54
54
|
|
|
55
55
|
Plugins provide domain-specific tools that query their own data stores directly. `memory-search` is a general-purpose semantic search across the entire knowledge graph — it finds nodes by vector similarity, which means results are ranked by semantic closeness to the query, not by domain relevance. A query containing the word "email" will surface product documentation *about* email features before it surfaces actual Email nodes whose content is unrelated to the query wording.
|
|
56
56
|
|
|
57
|
-
When the user's intent maps to a specific plugin's domain, use that plugin's tools — not `memory-search`. The `<plugin-manifest>` groups tools by plugin and describes each plugin's purpose and retrieval paths. Match user intent to
|
|
57
|
+
When the user's intent maps to a specific plugin's domain, use that plugin's tools — not `memory-search`. The `<plugin-manifest>` groups tools by plugin and describes each plugin's purpose and retrieval paths. The `<specialist-domains>` block within it lists every specialist-owned tool by name. Match user intent to a tool in these registries first; fall back to `memory-search` only when the query genuinely spans multiple domains or no tool in the manifest matches the intent.
|
|
58
58
|
|
|
59
59
|
For prioritisation requests — "who should I call first", "which tasks are most urgent", "rank these by risk" — use `memory-rank` instead of reasoning over raw `memory-search` results. It retrieves the same candidate pool and returns an ordered list with per-item reasoning already synthesised, keeping the response grounded in properties and relationships rather than owner-supplied prose. For informal prioritisation in the middle of a wider conversation, reasoning directly over `memory-search` results remains fine.
|
|
60
60
|
|
|
@@ -182,8 +182,17 @@ Tasks live in the graph — not in files. The tasks plugin manages them.
|
|
|
182
182
|
|
|
183
183
|
At session start, read `agents/admin/AGENTS.md`. This file lists installed specialists and when to use each. If the file is absent or empty, handle all requests directly.
|
|
184
184
|
|
|
185
|
-
|
|
186
|
-
|
|
185
|
+
Every user request that requires a tool call must be routed through the `<specialist-domains>` block in the plugin manifest. This is mandatory and non-negotiable:
|
|
186
|
+
|
|
187
|
+
1. Read the user's intent.
|
|
188
|
+
2. Scan `<specialist-domains>` for a plugin whose tools match that intent. The block lists every tool by name — `contact-delete`, `schedule-event`, `task-create`, etc. Match the user's verb and noun to a tool name listed there.
|
|
189
|
+
3. If a matching tool exists in `<specialist-domains>`:
|
|
190
|
+
- **Single-tool call** — use ToolSearch with the plugin name as prefix (e.g. `+contacts delete` not just `delete`) to load the schema, then call the tool directly.
|
|
191
|
+
- **Multi-step sequence (3+ tool calls within one domain)** — delegate to the matching specialist using the Agent tool with `subagent_type: "specialists:{name}"`.
|
|
192
|
+
4. If no matching tool exists in `<specialist-domains>` or in the admin-owned plugin entries, only then fall back to `memory-search` or tell the user the capability does not exist.
|
|
193
|
+
|
|
194
|
+
Never conclude that a tool does not exist without first checking the `<specialist-domains>` block. The block is the authoritative registry of available tools. A tool listed there is available via ToolSearch regardless of whether the plugin's embed text is loaded.
|
|
195
|
+
|
|
187
196
|
- After a specialist run, synthesise its results into the final response to the user.
|
|
188
197
|
- Retain all task management. Specialists do not create, update, or complete tasks.
|
|
189
198
|
- To install or remove specialists, load the specialist management skill via `plugin-read` (find its path in the manifest under `admin`). Keep `agents/admin/AGENTS.md` in sync.
|
package/payload/server/server.js
CHANGED
|
@@ -6792,14 +6792,15 @@ async function buildPluginManifest(enabledPlugins) {
|
|
|
6792
6792
|
for (const { dir, parsed } of activePlugins) {
|
|
6793
6793
|
const specialists = SPECIALIST_PLUGIN_DOMAINS[dir];
|
|
6794
6794
|
if (specialists) {
|
|
6795
|
-
specialistPlugins.push({ dir, specialists });
|
|
6795
|
+
specialistPlugins.push({ dir, parsed, specialists });
|
|
6796
6796
|
} else {
|
|
6797
6797
|
adminPlugins.push({ dir, parsed });
|
|
6798
6798
|
}
|
|
6799
6799
|
}
|
|
6800
|
-
const adminMcpResults = await Promise.all(
|
|
6801
|
-
adminPlugins.map(({ dir }) => fetchMcpToolsList(dir))
|
|
6802
|
-
|
|
6800
|
+
const [adminMcpResults, specialistMcpResults] = await Promise.all([
|
|
6801
|
+
Promise.all(adminPlugins.map(({ dir }) => fetchMcpToolsList(dir))),
|
|
6802
|
+
Promise.all(specialistPlugins.map(({ dir }) => fetchMcpToolsList(dir)))
|
|
6803
|
+
]);
|
|
6803
6804
|
const lines = ["<plugin-manifest>"];
|
|
6804
6805
|
let totalTools = 0;
|
|
6805
6806
|
let mcpSourced = 0;
|
|
@@ -6813,11 +6814,34 @@ async function buildPluginManifest(enabledPlugins) {
|
|
|
6813
6814
|
specialistGroups.set(specialist, existing);
|
|
6814
6815
|
}
|
|
6815
6816
|
}
|
|
6817
|
+
const specialistToolSummary = /* @__PURE__ */ new Map();
|
|
6818
|
+
let specialistMcpCount = 0;
|
|
6819
|
+
for (let i = 0; i < specialistPlugins.length; i++) {
|
|
6820
|
+
const { dir, parsed } = specialistPlugins[i];
|
|
6821
|
+
const mcpTools = specialistMcpResults[i];
|
|
6822
|
+
if (mcpTools.length > 0) {
|
|
6823
|
+
specialistMcpCount++;
|
|
6824
|
+
const hiddenSet = new Set(parsed.hidden);
|
|
6825
|
+
const toolNames = mcpTools.filter((t) => !hiddenSet.has(t.name)).map((t) => t.name);
|
|
6826
|
+
totalTools += toolNames.length;
|
|
6827
|
+
if (toolNames.length > 0) {
|
|
6828
|
+
const desc = parsed.description ? parsed.description.split(/\.\s/)[0].replace(/\.$/, "") : "";
|
|
6829
|
+
specialistToolSummary.set(
|
|
6830
|
+
dir,
|
|
6831
|
+
desc ? `${desc}: ${toolNames.join(", ")}` : toolNames.join(", ")
|
|
6832
|
+
);
|
|
6833
|
+
}
|
|
6834
|
+
}
|
|
6835
|
+
}
|
|
6816
6836
|
if (specialistGroups.size > 0) {
|
|
6817
6837
|
lines.push("\n<specialist-domains>");
|
|
6818
|
-
lines.push("Specialist subagents own these domains.
|
|
6838
|
+
lines.push("Specialist subagents own these domains. This block is the authoritative tool registry \u2014 every tool listed here is available. Before concluding a tool does not exist, check this list. Single-tool calls: use ToolSearch with the plugin name as prefix (e.g. `+contacts delete`) to load the schema, then call directly. Multi-step sequences (3+): delegate to the specialist via Agent tool.");
|
|
6819
6839
|
for (const [specialist, plugins] of specialistGroups) {
|
|
6820
6840
|
lines.push(`${specialist}: ${plugins.join(", ")}`);
|
|
6841
|
+
for (const plugin of plugins) {
|
|
6842
|
+
const summary = specialistToolSummary.get(plugin);
|
|
6843
|
+
if (summary) lines.push(` ${plugin} \u2014 ${summary}`);
|
|
6844
|
+
}
|
|
6821
6845
|
}
|
|
6822
6846
|
lines.push("</specialist-domains>");
|
|
6823
6847
|
}
|
|
@@ -6883,7 +6907,7 @@ ${toolLines.join("\n")}`);
|
|
|
6883
6907
|
if (references.length > 0) lines.push(`References: ${references.join(", ")}`);
|
|
6884
6908
|
}
|
|
6885
6909
|
lines.push("\n</plugin-manifest>");
|
|
6886
|
-
console.error(`[plugin-manifest] plugins=${activePlugins.length} (specialist=${specialistPlugins.length} admin=${adminPlugins.length}) tools=${totalTools} (mcp=${mcpSourced} fallback=${fallbackSourced} no-server=${noServer})`);
|
|
6910
|
+
console.error(`[plugin-manifest] plugins=${activePlugins.length} (specialist=${specialistPlugins.length} admin=${adminPlugins.length}) tools=${totalTools} (mcp=${mcpSourced + specialistMcpCount} fallback=${fallbackSourced} no-server=${noServer})`);
|
|
6887
6911
|
const dormantLines = [];
|
|
6888
6912
|
for (const dir of dirs.sort()) {
|
|
6889
6913
|
const parsed = parsePluginFrontmatter(dir);
|
|
@@ -9759,7 +9783,7 @@ Current session key: ${sessionKey}` : systemPromptBase;
|
|
|
9759
9783
|
if (gatewayResult.searchQuery) {
|
|
9760
9784
|
gwParts.push(` <search-query>${xmlEsc(gatewayResult.searchQuery)}</search-query>`);
|
|
9761
9785
|
}
|
|
9762
|
-
if (gatewayResult.screening.promptInjectionRisk) {
|
|
9786
|
+
if (gatewayResult.screening.promptInjectionRisk && agentType !== "admin") {
|
|
9763
9787
|
gwParts.push(` <screening verdict="${xmlEsc(gatewayResult.screening.verdict)}" promptInjection="true">${xmlEsc(gatewayResult.screening.reason)}</screening>`);
|
|
9764
9788
|
}
|
|
9765
9789
|
if (gatewayResult.language !== "en") {
|