@kdonev/termscape 0.1.0 → 0.1.2
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 +211 -79
- package/dist/agents/detect.d.ts +27 -0
- package/dist/agents/detect.d.ts.map +1 -0
- package/dist/agents/detect.js +210 -0
- package/dist/agents/detect.js.map +1 -0
- package/dist/agents/profiles.d.ts +119 -2
- package/dist/agents/profiles.d.ts.map +1 -1
- package/dist/agents/profiles.js +224 -4
- package/dist/agents/profiles.js.map +1 -1
- package/dist/agents/templates.d.ts +100 -0
- package/dist/agents/templates.d.ts.map +1 -0
- package/dist/agents/templates.js +165 -0
- package/dist/agents/templates.js.map +1 -0
- package/dist/agents/wiring.d.ts +30 -1
- package/dist/agents/wiring.d.ts.map +1 -1
- package/dist/agents/wiring.js +182 -10
- package/dist/agents/wiring.js.map +1 -1
- package/dist/cli.js +51 -14
- package/dist/cli.js.map +1 -1
- package/dist/db/migrations.d.ts.map +1 -1
- package/dist/db/migrations.js +73 -0
- package/dist/db/migrations.js.map +1 -1
- package/dist/db/store.d.ts +53 -1
- package/dist/db/store.d.ts.map +1 -1
- package/dist/db/store.js +118 -5
- package/dist/db/store.js.map +1 -1
- package/dist/hub.d.ts +264 -6
- package/dist/hub.d.ts.map +1 -1
- package/dist/hub.js +549 -33
- package/dist/hub.js.map +1 -1
- package/dist/hub.tgz +0 -0
- package/dist/mcp/server.d.ts +3 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +27 -2
- package/dist/mcp/server.js.map +1 -1
- package/dist/protocol/domain.d.ts +88 -0
- package/dist/protocol/domain.d.ts.map +1 -1
- package/dist/protocol/domain.js +114 -0
- package/dist/protocol/domain.js.map +1 -1
- package/dist/protocol/mcp-tools.d.ts +43 -0
- package/dist/protocol/mcp-tools.d.ts.map +1 -1
- package/dist/protocol/mcp-tools.js +65 -0
- package/dist/protocol/mcp-tools.js.map +1 -1
- package/dist/protocol/peer.d.ts +38 -1
- package/dist/protocol/peer.d.ts.map +1 -1
- package/dist/protocol/peer.js +41 -2
- package/dist/protocol/peer.js.map +1 -1
- package/dist/protocol/ws.d.ts +259 -0
- package/dist/protocol/ws.d.ts.map +1 -1
- package/dist/protocol/ws.js +169 -5
- package/dist/protocol/ws.js.map +1 -1
- package/dist/remote/deployer.d.ts.map +1 -1
- package/dist/remote/deployer.js +15 -2
- package/dist/remote/deployer.js.map +1 -1
- package/dist/remote/join-script.d.ts.map +1 -1
- package/dist/remote/join-script.js +34 -2
- package/dist/remote/join-script.js.map +1 -1
- package/dist/remote/lan.d.ts +73 -5
- package/dist/remote/lan.d.ts.map +1 -1
- package/dist/remote/lan.js +119 -10
- package/dist/remote/lan.js.map +1 -1
- package/dist/remote/peer-serve.d.ts.map +1 -1
- package/dist/remote/peer-serve.js +32 -3
- package/dist/remote/peer-serve.js.map +1 -1
- package/dist/remote/peer.d.ts +7 -0
- package/dist/remote/peer.d.ts.map +1 -1
- package/dist/remote/peer.js +22 -0
- package/dist/remote/peer.js.map +1 -1
- package/dist/remote/registry.d.ts +70 -2
- package/dist/remote/registry.d.ts.map +1 -1
- package/dist/remote/registry.js +134 -10
- package/dist/remote/registry.js.map +1 -1
- package/dist/server.d.ts +22 -3
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +239 -117
- package/dist/server.js.map +1 -1
- package/dist/session/manager.d.ts +60 -4
- package/dist/session/manager.d.ts.map +1 -1
- package/dist/session/manager.js +198 -41
- package/dist/session/manager.js.map +1 -1
- package/dist/session/pty.d.ts +19 -0
- package/dist/session/pty.d.ts.map +1 -1
- package/dist/session/pty.js +84 -1
- package/dist/session/pty.js.map +1 -1
- package/package.json +1 -1
- package/web/assets/{index-BOqZOoep.js → index-9Z_8xZqk.js} +10 -6
- package/web/assets/index-DheUm5dl.css +1 -0
- package/web/index.html +2 -2
- package/web/assets/index-B2JtCtHa.css +0 -1
package/dist/remote/lan.js
CHANGED
|
@@ -7,23 +7,76 @@ import { lookup } from 'node:dns/promises';
|
|
|
7
7
|
* their own IPv4 address before they can attach a second machine, which is
|
|
8
8
|
* exactly the kind of step that makes a feature go unused.
|
|
9
9
|
*/
|
|
10
|
-
/**
|
|
10
|
+
/**
|
|
11
|
+
* How good an address is as the one to hand another machine, lower is better.
|
|
12
|
+
*
|
|
13
|
+
* The ordering is "who can reach me on this": a globally routable address can
|
|
14
|
+
* be reached from anywhere, an RFC1918 address only from the same network, a
|
|
15
|
+
* link-local one only from the same wire and usually not even then. A machine
|
|
16
|
+
* with a public IP — a VPS, a box with a routable interface beside its LAN one
|
|
17
|
+
* — has to advertise that one, or it hands out an address the machine being
|
|
18
|
+
* attached has no route to.
|
|
19
|
+
*
|
|
20
|
+
* Interface kind is the tie-break rather than the rule: Docker bridges, WSL
|
|
21
|
+
* adapters and VM host-only networks carry private addresses that are
|
|
22
|
+
* reachable from almost nothing, so they lose to a real interface holding an
|
|
23
|
+
* address of the same class.
|
|
24
|
+
*/
|
|
25
|
+
function addressRank(name, address) {
|
|
26
|
+
const virtual = /^(docker|br-|veth|vEthernet|virbr|utun|tailscale)/i.test(name) ? 1 : 0;
|
|
27
|
+
if (isLinkLocalV4(address))
|
|
28
|
+
return 6 + virtual;
|
|
29
|
+
if (isPrivateV4(address))
|
|
30
|
+
return 2 + virtual;
|
|
31
|
+
return 0 + virtual;
|
|
32
|
+
}
|
|
33
|
+
/** RFC1918 plus the shared-address and carrier-grade NAT range. */
|
|
34
|
+
function isPrivateV4(address) {
|
|
35
|
+
const [a = 0, b = 0] = address.split('.').map(Number);
|
|
36
|
+
if (a === 10)
|
|
37
|
+
return true;
|
|
38
|
+
if (a === 172 && b >= 16 && b <= 31)
|
|
39
|
+
return true;
|
|
40
|
+
if (a === 192 && b === 168)
|
|
41
|
+
return true;
|
|
42
|
+
if (a === 100 && b >= 64 && b <= 127)
|
|
43
|
+
return true;
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
/** 169.254.0.0/16 — what an interface holds when DHCP never answered. */
|
|
47
|
+
function isLinkLocalV4(address) {
|
|
48
|
+
return address.startsWith('169.254.');
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* The IPv4 address another machine should be pointed at.
|
|
52
|
+
*
|
|
53
|
+
* Public beats private beats link-local, and a real NIC beats a virtual one
|
|
54
|
+
* within each class. Ties keep the order the OS reported, which is the closest
|
|
55
|
+
* thing to a preference the machine itself expresses.
|
|
56
|
+
*/
|
|
11
57
|
export function lanAddress() {
|
|
58
|
+
return pickLanAddress(networkInterfaces());
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* The pick itself, over an interface map rather than the machine's own.
|
|
62
|
+
*
|
|
63
|
+
* Split out so the ordering can be tested against a machine shape that is not
|
|
64
|
+
* the one running the test — a VPS with a public address beside a Docker
|
|
65
|
+
* bridge is exactly the case this exists for, and no CI runner has one.
|
|
66
|
+
*/
|
|
67
|
+
export function pickLanAddress(interfaces) {
|
|
12
68
|
const candidates = [];
|
|
13
|
-
for (const [name, addrs] of Object.entries(
|
|
69
|
+
for (const [name, addrs] of Object.entries(interfaces)) {
|
|
14
70
|
for (const a of addrs ?? []) {
|
|
15
71
|
if (a.family !== 'IPv4' || a.internal)
|
|
16
72
|
continue;
|
|
17
|
-
|
|
18
|
-
// from almost nothing, so they lose to a real interface.
|
|
19
|
-
const virtual = /^(docker|br-|veth|vEthernet|virbr|utun|tailscale)/i.test(name);
|
|
20
|
-
if (virtual)
|
|
21
|
-
candidates.push(a.address);
|
|
22
|
-
else
|
|
23
|
-
candidates.unshift(a.address);
|
|
73
|
+
candidates.push({ address: a.address, rank: addressRank(name, a.address) });
|
|
24
74
|
}
|
|
25
75
|
}
|
|
26
|
-
|
|
76
|
+
if (candidates.length === 0)
|
|
77
|
+
return null;
|
|
78
|
+
// Stable: only a strictly better rank moves ahead of what came first.
|
|
79
|
+
return candidates.reduce((best, c) => (c.rank < best.rank ? c : best)).address;
|
|
27
80
|
}
|
|
28
81
|
/**
|
|
29
82
|
* Turn a `--listen` value into a bind address.
|
|
@@ -34,8 +87,14 @@ export function lanAddress() {
|
|
|
34
87
|
* config points. Binding the LAN address by itself would take the hub off
|
|
35
88
|
* 127.0.0.1 and break both. The LAN address is still what gets *advertised* —
|
|
36
89
|
* see advertisedHost.
|
|
90
|
+
*
|
|
91
|
+
* `loopback` is the way back. It was not needed while loopback was the
|
|
92
|
+
* default and nothing could be narrower; now that a hub with a UI binds wide
|
|
93
|
+
* on its own, there has to be a spelling for "only this machine".
|
|
37
94
|
*/
|
|
38
95
|
export function resolveBindHost(spec) {
|
|
96
|
+
if (spec === 'loopback')
|
|
97
|
+
return '127.0.0.1';
|
|
39
98
|
if (spec === 'lan') {
|
|
40
99
|
if (!lanAddress()) {
|
|
41
100
|
throw new Error('--listen lan: no non-loopback IPv4 address on this machine. ' +
|
|
@@ -45,6 +104,56 @@ export function resolveBindHost(spec) {
|
|
|
45
104
|
}
|
|
46
105
|
return spec;
|
|
47
106
|
}
|
|
107
|
+
/**
|
|
108
|
+
* Decide what to bind, and whether to hand out enrollments, from `--listen`.
|
|
109
|
+
*
|
|
110
|
+
* A hub with a UI binds wide by default, and hands out enrollments on that
|
|
111
|
+
* bind. The canvas is worth opening on a phone or a second screen and a second
|
|
112
|
+
* machine is worth attaching, and neither is discoverable from a hub that only
|
|
113
|
+
* ever prints 127.0.0.1.
|
|
114
|
+
*
|
|
115
|
+
* Enrollment used to be the exception — reachable by default, enrollable only
|
|
116
|
+
* on `--listen lan`. That was the wrong line to draw, for a plain reason: the
|
|
117
|
+
* add-machine dialog is the *only* place a second machine is ever attached
|
|
118
|
+
* from, and on a default hub it had nothing to show but an instruction to
|
|
119
|
+
* restart with a flag. A feature reachable only by restarting the process with
|
|
120
|
+
* a flag you have to already know about is a feature nobody uses, and this one
|
|
121
|
+
* is the product. So the default now answers `/join`, and `--listen loopback`
|
|
122
|
+
* is the way to say no.
|
|
123
|
+
*
|
|
124
|
+
* What that costs is worth stating plainly, because it is real: `/join` is the
|
|
125
|
+
* one route served without the client token — it has to be typed by hand on a
|
|
126
|
+
* machine that has nothing yet — so on a network you do not trust, anyone who
|
|
127
|
+
* can reach this hub can pull the installer and put a machine on your canvas.
|
|
128
|
+
* That is what `--listen loopback` is for, and what the banner says out loud on
|
|
129
|
+
* every start. Everything else still needs the token.
|
|
130
|
+
*
|
|
131
|
+
* One thing is still *not* covered by the default:
|
|
132
|
+
*
|
|
133
|
+
* - **A headless hub stays on loopback, and never enrolls.** Headless means a
|
|
134
|
+
* hub that joined a canvas or was deployed over SSH, and the SSH one is
|
|
135
|
+
* reached only through its tunnel — binding it wide would put a hub on a
|
|
136
|
+
* network that its operator never asked to expose and cannot see. It has no
|
|
137
|
+
* UI to reach anyway, and a machine attaching to *it* rather than to the
|
|
138
|
+
* canvas is not a thing anyone wants.
|
|
139
|
+
*
|
|
140
|
+
* `hasLan` is injected so this is testable without a network interface; the
|
|
141
|
+
* fallback matters because a machine with no non-loopback address must still
|
|
142
|
+
* start rather than throw the way an explicit `--listen lan` does.
|
|
143
|
+
*/
|
|
144
|
+
export function listenPlan(spec, opts = {}) {
|
|
145
|
+
const hasLan = opts.hasLan ?? lanAddress() !== null;
|
|
146
|
+
if (spec === undefined) {
|
|
147
|
+
const wide = !opts.headless && hasLan;
|
|
148
|
+
// Enrollment follows the bind, both ways: a hub that fell back to loopback
|
|
149
|
+
// for want of an address has nothing to advertise and must not claim a
|
|
150
|
+
// join page, and a headless one is not a canvas to attach to.
|
|
151
|
+
return { host: wide ? '0.0.0.0' : '127.0.0.1', enroll: wide };
|
|
152
|
+
}
|
|
153
|
+
const host = resolveBindHost(spec);
|
|
154
|
+
// Same rule when it was asked for by hand: anything but loopback enrolls.
|
|
155
|
+
return { host, enroll: !isLoopback(host) };
|
|
156
|
+
}
|
|
48
157
|
/** Whether a bind on this address also answers on 127.0.0.1. */
|
|
49
158
|
export function coversLoopback(host) {
|
|
50
159
|
return host === '0.0.0.0' || host === '::' || isLoopback(host);
|
package/dist/remote/lan.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lan.js","sourceRoot":"","sources":["../../src/remote/lan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C;;;;;;GAMG;AAEH
|
|
1
|
+
{"version":3,"file":"lan.js","sourceRoot":"","sources":["../../src/remote/lan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C;;;;;;GAMG;AAEH;;;;;;;;;;;;;;GAcG;AACH,SAAS,WAAW,CAAC,IAAY,EAAE,OAAe;IAChD,MAAM,OAAO,GAAG,oDAAoD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxF,IAAI,aAAa,CAAC,OAAO,CAAC;QAAE,OAAO,CAAC,GAAG,OAAO,CAAC;IAC/C,IAAI,WAAW,CAAC,OAAO,CAAC;QAAE,OAAO,CAAC,GAAG,OAAO,CAAC;IAC7C,OAAO,CAAC,GAAG,OAAO,CAAC;AACrB,CAAC;AAED,mEAAmE;AACnE,SAAS,WAAW,CAAC,OAAe;IAClC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtD,IAAI,CAAC,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;QAAE,OAAO,IAAI,CAAC;IACjD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IACxC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG;QAAE,OAAO,IAAI,CAAC;IAClD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,yEAAyE;AACzE,SAAS,aAAa,CAAC,OAAe;IACpC,OAAO,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,UAAU;IACxB,OAAO,cAAc,CAAC,iBAAiB,EAAE,CAAC,CAAC;AAC7C,CAAC;AASD;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAC5B,UAAoD;IAEpD,MAAM,UAAU,GAAwC,EAAE,CAAC;IAC3D,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACvD,KAAK,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;YAC5B,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,QAAQ;gBAAE,SAAS;YAChD,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACzC,sEAAsE;IACtE,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;AACjF,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,IAAI,IAAI,KAAK,UAAU;QAAE,OAAO,WAAW,CAAC;IAC5C,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CACb,8DAA8D;gBAC5D,mCAAmC,CACtC,CAAC;QACJ,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAaD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,UAAU,UAAU,CACxB,IAAwB,EACxB,OAAiD,EAAE;IAEnD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,UAAU,EAAE,KAAK,IAAI,CAAC;IACpD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC;QACtC,2EAA2E;QAC3E,uEAAuE;QACvE,8DAA8D;QAC9D,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAChE,CAAC;IACD,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACnC,0EAA0E;IAC1E,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;AAC7C,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;AACjE,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AACjD,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,KAAK,CAAC;AACxE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,UAAU,EAAE,CAAC;IAC7D,IAAI,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAClC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AACjD,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,EAAU,EACV,UAA+C,cAAc;IAE7D,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;IAC/B,IAAI,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAE3C,yEAAyE;IACzE,6EAA6E;IAC7E,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,QAAQ,CAAC,CAAC;IAE9E,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAAE,OAAO,SAAS,CAAC;QAChE,CAAC;QAAC,MAAM,CAAC;YACP,6CAA6C;QAC/C,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,IAAY;IACxC,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3D,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AACrC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"peer-serve.d.ts","sourceRoot":"","sources":["../../src/remote/peer-serve.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,YAAY,
|
|
1
|
+
{"version":3,"file":"peer-serve.d.ts","sourceRoot":"","sources":["../../src/remote/peer-serve.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,YAAY,EAIlB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAuBrC;;;;GAIG;AACH,MAAM,WAAW,MAAM;IACrB,mDAAmD;IACnD,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,iEAAiE;IACjE,MAAM,IAAI,SAAS,EAAE,CAAC;IACtB,uEAAuE;IACvE,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,UAAW,SAAQ,MAAM;IACxC,yDAAyD;IACzD,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IAC/D,0CAA0C;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,IAAI,IAAI,CAAC;CAClB;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,GAAG,UAAU,CA6R1E"}
|
|
@@ -39,6 +39,12 @@ export function createPeerServer(hub, clientToken) {
|
|
|
39
39
|
for (const ws of sockets)
|
|
40
40
|
send(ws, { t: 'sessionUpserted', session: s });
|
|
41
41
|
});
|
|
42
|
+
// Detection over here finishing. Unsolicited, because it completes after
|
|
43
|
+
// the link is already up and nobody on the canvas knows to ask again.
|
|
44
|
+
hub.on('agents', (agents) => {
|
|
45
|
+
for (const ws of sockets)
|
|
46
|
+
send(ws, { t: 'agents', agents });
|
|
47
|
+
});
|
|
42
48
|
hub.on('removed', (_id, address) => {
|
|
43
49
|
// Peers address sessions by name, not by this hub's internal id, which is
|
|
44
50
|
// why the address travels with the event rather than being looked up
|
|
@@ -102,6 +108,13 @@ export function createPeerServer(hub, clientToken) {
|
|
|
102
108
|
switch (req.t) {
|
|
103
109
|
case 'listSessions':
|
|
104
110
|
return ok(hub.sessions.list());
|
|
111
|
+
case 'listAgents':
|
|
112
|
+
// Answered from what is already known rather than probing now:
|
|
113
|
+
// the canvas asks on connect, and a CLI that hangs on --version
|
|
114
|
+
// must not hold the link open behind it. A refresh over here
|
|
115
|
+
// arrives later as an unsolicited `agents`.
|
|
116
|
+
void hub.agents.refresh();
|
|
117
|
+
return ok(hub.agents.snapshot());
|
|
105
118
|
case 'directory':
|
|
106
119
|
// Replaced wholesale: this is the canvas's whole view, minus our
|
|
107
120
|
// own agents, and a merge would keep agents it has dropped.
|
|
@@ -141,10 +154,26 @@ export function createPeerServer(hub, clientToken) {
|
|
|
141
154
|
let ws = hub.store.getWorkspaceByName(req.workspaceName);
|
|
142
155
|
if (!ws)
|
|
143
156
|
ws = hub.createWorkspace(req.workspaceName, req.rootPath, null);
|
|
144
|
-
|
|
157
|
+
// `profile` is an agent id here, not a template: the canvas
|
|
158
|
+
// resolved the template on its own side precisely because the two
|
|
159
|
+
// machines do not share config. The model and effort arrive as
|
|
160
|
+
// values, and this hub's own profile says how to spell them.
|
|
161
|
+
const s = await hub.startResolved({
|
|
145
162
|
workspaceId: ws.id,
|
|
146
|
-
|
|
163
|
+
// The canvas chose this id so it can recognise the child on
|
|
164
|
+
// the wire — its first upsert crosses before the reply does.
|
|
165
|
+
id: req.sessionId,
|
|
166
|
+
agent: req.profile,
|
|
167
|
+
template: req.template ?? null,
|
|
168
|
+
model: req.model,
|
|
169
|
+
effort: req.effort,
|
|
170
|
+
prompt: req.prompt,
|
|
171
|
+
env: req.env,
|
|
147
172
|
name: req.name,
|
|
173
|
+
// Deliberately no `spawnedBy` here even though the request
|
|
174
|
+
// carries one: the spawner lives on the canvas hub, its id
|
|
175
|
+
// would break this table's foreign key, and lineage is the
|
|
176
|
+
// canvas's concern anyway — the registry stamps it there.
|
|
148
177
|
});
|
|
149
178
|
return ok(s);
|
|
150
179
|
}
|
|
@@ -177,7 +206,7 @@ export function createPeerServer(hub, clientToken) {
|
|
|
177
206
|
const t = hub.sessions.getByAddress(req.address);
|
|
178
207
|
if (!t)
|
|
179
208
|
return err(`no agent at address "${req.address}"`);
|
|
180
|
-
return ok(await hub.
|
|
209
|
+
return ok(await hub.resumeSession(t.id));
|
|
181
210
|
}
|
|
182
211
|
case 'attach': {
|
|
183
212
|
attached.get(socket)?.add(req.address);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"peer-serve.js","sourceRoot":"","sources":["../../src/remote/peer-serve.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"peer-serve.js","sourceRoot":"","sources":["../../src/remote/peer-serve.ts"],"names":[],"mappings":"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"}
|
package/dist/remote/peer.d.ts
CHANGED
|
@@ -55,6 +55,13 @@ export declare class PeerConnection extends EventEmitter {
|
|
|
55
55
|
/** Send a request and await its reply. */
|
|
56
56
|
request<T = unknown>(req: PeerRequest): Promise<T>;
|
|
57
57
|
refresh(): Promise<void>;
|
|
58
|
+
/**
|
|
59
|
+
* What agent CLIs that machine has. Its own failure is swallowed rather
|
|
60
|
+
* than raised as a host error: not knowing which agents are over there is
|
|
61
|
+
* a worse picker, not a broken host, and marking it `error` for that would
|
|
62
|
+
* take its windows off the canvas.
|
|
63
|
+
*/
|
|
64
|
+
refreshAgents(): Promise<void>;
|
|
58
65
|
attach(address: string): Promise<void>;
|
|
59
66
|
detach(address: string): Promise<void>;
|
|
60
67
|
close(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"peer.d.ts","sourceRoot":"","sources":["../../src/remote/peer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,EAGL,KAAK,WAAW,
|
|
1
|
+
{"version":3,"file":"peer.d.ts","sourceRoot":"","sources":["../../src/remote/peer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,EAGL,KAAK,WAAW,EAGjB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAUD;;;;;;;;;;;;;GAaG;AACH,qBAAa,cAAe,SAAQ,YAAY;IASlC,OAAO,CAAC,QAAQ,CAAC,IAAI;IARjC,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8B;IACtD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAC9C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAO;IACtB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,cAAc,CAAuB;gBAEhB,IAAI,EAAE,WAAW;IAI9C,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,aAAa,IAAI,MAAM,GAAG,IAAI,CAEjC;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,iEAAiE;IACjE,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,OAAO,IAAI,IAAI;IAsCf;;;;;OAKG;IACH,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;IAiCrD,0EAA0E;IAC1E,OAAO,CAAC,MAAM;IAWd,OAAO,CAAC,SAAS;IAsEjB,OAAO,CAAC,cAAc;IAQtB,0CAA0C;IAC1C,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC;IAoB5C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAY9B;;;;;OAKG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAa9B,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKtC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5C,KAAK,IAAI,IAAI;CAYd"}
|
package/dist/remote/peer.js
CHANGED
|
@@ -168,6 +168,9 @@ export class PeerConnection extends EventEmitter {
|
|
|
168
168
|
case 'sessions':
|
|
169
169
|
this.emit('sessions', msg.sessions);
|
|
170
170
|
return;
|
|
171
|
+
case 'agents':
|
|
172
|
+
this.emit('agents', msg.agents);
|
|
173
|
+
return;
|
|
171
174
|
case 'sessionUpserted':
|
|
172
175
|
this.emit('sessionUpserted', msg.session);
|
|
173
176
|
return;
|
|
@@ -225,6 +228,25 @@ export class PeerConnection extends EventEmitter {
|
|
|
225
228
|
this.emit('error', err);
|
|
226
229
|
}
|
|
227
230
|
}
|
|
231
|
+
/**
|
|
232
|
+
* What agent CLIs that machine has. Its own failure is swallowed rather
|
|
233
|
+
* than raised as a host error: not knowing which agents are over there is
|
|
234
|
+
* a worse picker, not a broken host, and marking it `error` for that would
|
|
235
|
+
* take its windows off the canvas.
|
|
236
|
+
*/
|
|
237
|
+
async refreshAgents() {
|
|
238
|
+
try {
|
|
239
|
+
const agents = await this.request({
|
|
240
|
+
t: 'listAgents',
|
|
241
|
+
id: randomUUID(),
|
|
242
|
+
});
|
|
243
|
+
this.emit('agents', agents);
|
|
244
|
+
}
|
|
245
|
+
catch {
|
|
246
|
+
// Older hub, or a link that dropped mid-question. It pushes an
|
|
247
|
+
// unsolicited `agents` when its own detection finishes anyway.
|
|
248
|
+
}
|
|
249
|
+
}
|
|
228
250
|
async attach(address) {
|
|
229
251
|
this.attached.add(address);
|
|
230
252
|
await this.request({ t: 'attach', id: randomUUID(), address });
|
package/dist/remote/peer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"peer.js","sourceRoot":"","sources":["../../src/remote/peer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,EACL,mBAAmB,EACnB,YAAY,
|
|
1
|
+
{"version":3,"file":"peer.js","sourceRoot":"","sources":["../../src/remote/peer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,20 @@
|
|
|
1
1
|
import { EventEmitter } from 'node:events';
|
|
2
|
-
import type { Host, PeerAgent, Session, WindowRect } from '../protocol/index.js';
|
|
2
|
+
import type { AgentProfileInfo, Host, PeerAgent, Session, WindowRect } from '../protocol/index.js';
|
|
3
3
|
import type { Store } from '../db/store.js';
|
|
4
4
|
import type { WebSocket as WsSocket } from 'ws';
|
|
5
5
|
import { PeerConnection } from './peer.js';
|
|
6
|
+
/**
|
|
7
|
+
* Re-key a peer's session for this canvas.
|
|
8
|
+
*
|
|
9
|
+
* The peer's internal session id means nothing here and could collide with a
|
|
10
|
+
* local one, whereas the address is already globally unique and is what every
|
|
11
|
+
* cross-hub call uses — so the id becomes the address. The lineage is dragged
|
|
12
|
+
* across with it: `spawnedBy` names the parent in whatever id space the
|
|
13
|
+
* reference arrived in, and once the parent window here answers to its canvas
|
|
14
|
+
* id, a canvas that cannot tell who spawned a window cannot frame parent and
|
|
15
|
+
* child together. A parent the translator does not know is left as it arrived.
|
|
16
|
+
*/
|
|
17
|
+
export declare function localizeRemoteSession(s: Session, parentIdFor: (reference: string) => string | null): Session;
|
|
6
18
|
/**
|
|
7
19
|
* Tracks connected peer hubs and the sessions they own.
|
|
8
20
|
*
|
|
@@ -14,10 +26,47 @@ import { PeerConnection } from './peer.js';
|
|
|
14
26
|
export declare class PeerRegistry extends EventEmitter {
|
|
15
27
|
private readonly store;
|
|
16
28
|
private readonly hubVersion;
|
|
29
|
+
/**
|
|
30
|
+
* Resolves a local session's address to its id. Lineage can arrive as an
|
|
31
|
+
* address when the spawner lives on this canvas and the child on a peer —
|
|
32
|
+
* the address is the one id both hubs agree on, but the canvas knows the
|
|
33
|
+
* parent window by its local id.
|
|
34
|
+
*/
|
|
35
|
+
private readonly localIdForAddress;
|
|
17
36
|
private readonly peers;
|
|
18
37
|
/** hostId -> address -> session, as last reported by that peer. */
|
|
19
38
|
private readonly remote;
|
|
20
|
-
|
|
39
|
+
/**
|
|
40
|
+
* hostId -> what that machine has installed, as it last reported.
|
|
41
|
+
*
|
|
42
|
+
* Kept rather than derived because it cannot be: this hub's PATH says
|
|
43
|
+
* nothing about another machine's, and the only source for that answer is
|
|
44
|
+
* the machine itself.
|
|
45
|
+
*/
|
|
46
|
+
private readonly remoteAgents;
|
|
47
|
+
/**
|
|
48
|
+
* hostId -> the peer's internal session id -> the address it answers to
|
|
49
|
+
* here. Kept only so `spawnedBy`, which arrives in the peer's id space, can
|
|
50
|
+
* be translated when the session is re-keyed by address.
|
|
51
|
+
*/
|
|
52
|
+
private readonly peerIds;
|
|
53
|
+
/**
|
|
54
|
+
* hostId -> a child's id -> the canvas id of the parent that spawned it
|
|
55
|
+
* from here. The id is the canvas's own choice, sent with the start request
|
|
56
|
+
* and used by the peer as the child's id — so the lineage can be stamped on
|
|
57
|
+
* the child's first upsert, which crosses before the start request's reply
|
|
58
|
+
* does. The peer cannot hold this lineage at all: its session table's
|
|
59
|
+
* foreign key would reject a parent that is not one of its own.
|
|
60
|
+
*/
|
|
61
|
+
private readonly lineage;
|
|
62
|
+
constructor(store: Store, hubVersion: string,
|
|
63
|
+
/**
|
|
64
|
+
* Resolves a local session's address to its id. Lineage can arrive as an
|
|
65
|
+
* address when the spawner lives on this canvas and the child on a peer —
|
|
66
|
+
* the address is the one id both hubs agree on, but the canvas knows the
|
|
67
|
+
* parent window by its local id.
|
|
68
|
+
*/
|
|
69
|
+
localIdForAddress?: (address: string) => string | null);
|
|
21
70
|
add(host: Host, url: string, token: string): PeerConnection;
|
|
22
71
|
/**
|
|
23
72
|
* Adopt a socket an enrolled host opened towards us. Same peer, same events,
|
|
@@ -26,6 +75,10 @@ export declare class PeerRegistry extends EventEmitter {
|
|
|
26
75
|
*/
|
|
27
76
|
addInbound(host: Host, socket: WsSocket, remoteVersion: string): PeerConnection;
|
|
28
77
|
private create;
|
|
78
|
+
/** What every attached machine has installed, by host id. */
|
|
79
|
+
agentsByHost(): Record<string, AgentProfileInfo[]>;
|
|
80
|
+
/** Ask every attached machine to probe its PATH again. */
|
|
81
|
+
refreshAgents(): void;
|
|
29
82
|
remove(hostId: string): void;
|
|
30
83
|
closeAll(): void;
|
|
31
84
|
private updateHost;
|
|
@@ -34,6 +87,15 @@ export declare class PeerRegistry extends EventEmitter {
|
|
|
34
87
|
* user put its window, and should not: layout is a local concern.
|
|
35
88
|
*/
|
|
36
89
|
private withLocalLayout;
|
|
90
|
+
/** Remember a peer session's original id so lineage can be translated later. */
|
|
91
|
+
private notePeerId;
|
|
92
|
+
/**
|
|
93
|
+
* Stamp canvas-side lineage onto a child the canvas hub itself spawned into
|
|
94
|
+
* a peer. Keyed on the id the canvas chose for the child, so it applies to
|
|
95
|
+
* the first upsert — the one that has to carry the lineage for the canvas
|
|
96
|
+
* to frame parent and child together.
|
|
97
|
+
*/
|
|
98
|
+
private withLineage;
|
|
37
99
|
/** Remote hosts get their own band of canvas, well clear of local windows. */
|
|
38
100
|
private placeRemote;
|
|
39
101
|
peer(hostId: string): PeerConnection | null;
|
|
@@ -89,7 +151,13 @@ export declare class PeerRegistry extends EventEmitter {
|
|
|
89
151
|
startSession(hostId: string, req: {
|
|
90
152
|
workspaceName: string;
|
|
91
153
|
rootPath: string;
|
|
154
|
+
/** The agent id, already resolved from the template on this side. */
|
|
92
155
|
profile: string;
|
|
156
|
+
template?: string | null;
|
|
157
|
+
model?: string;
|
|
158
|
+
effort?: string;
|
|
159
|
+
prompt?: string;
|
|
160
|
+
env?: Record<string, string>;
|
|
93
161
|
name?: string;
|
|
94
162
|
spawnedByAddress: string | null;
|
|
95
163
|
}): Promise<Session>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/remote/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,KAAK,EACV,IAAI,EACJ,SAAS,EAET,OAAO,EACP,UAAU,EACX,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,KAAK,EAAE,SAAS,IAAI,QAAQ,EAAE,MAAM,IAAI,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C;;;;;;;GAOG;AACH,qBAAa,YAAa,SAAQ,YAAY;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/remote/registry.ts"],"names":[],"mappings":"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"}
|