@agentdeck/bridge 1.0.9 → 1.0.10
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/dist/broadcast.d.ts +1 -1
- package/dist/broadcast.d.ts.map +1 -1
- package/dist/broadcast.js +10 -7
- package/dist/broadcast.js.map +1 -1
- package/dist/daemon-server.js +1 -1
- package/dist/daemon-server.js.map +1 -1
- package/dist/daemon.js +1 -1
- package/dist/daemon.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -7
- package/dist/index.js.map +1 -1
- package/dist/modules/broadcast-module.d.ts.map +1 -1
- package/dist/modules/broadcast-module.js +3 -1
- package/dist/modules/broadcast-module.js.map +1 -1
- package/dist/session-registry.js +3 -3
- package/dist/session-registry.js.map +1 -1
- package/package.json +3 -3
package/dist/broadcast.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { AgentType } from './types.js';
|
|
2
|
-
export declare function advertiseUdpBroadcast(port: number, projectName: string, agentType: AgentType
|
|
2
|
+
export declare function advertiseUdpBroadcast(port: number, projectName: string, agentType: AgentType): () => void;
|
|
3
3
|
//# sourceMappingURL=broadcast.d.ts.map
|
package/dist/broadcast.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"broadcast.d.ts","sourceRoot":"","sources":["../src/broadcast.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"broadcast.d.ts","sourceRoot":"","sources":["../src/broadcast.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAwC5C,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,SAAS,GACnB,MAAM,IAAI,CAsFZ"}
|
package/dist/broadcast.js
CHANGED
|
@@ -14,10 +14,12 @@ import { getLanIp } from '@agentdeck/shared';
|
|
|
14
14
|
* (and 255.255.255.255 as a fallback) on UDP port 9121 every 2 seconds.
|
|
15
15
|
* Subnet broadcast is unicast-friendly IGMP-wise and is forwarded by every
|
|
16
16
|
* WiFi AP we have seen, so the device's UDP listener picks it up even when
|
|
17
|
-
* mDNS is blocked. The beacon
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
17
|
+
* mDNS is blocked. The beacon contains discovery metadata only (ip / port /
|
|
18
|
+
* project / agent) plus `authRequired`, matching the unauthenticated /health
|
|
19
|
+
* semantics: discovery says "a daemon is here and pairing is required" and
|
|
20
|
+
* nothing more. It must never contain the pairing token: UDP broadcast is
|
|
21
|
+
* visible to every peer on the segment, just like multicast mDNS. A client
|
|
22
|
+
* must already hold a token obtained through explicit pairing/provisioning.
|
|
21
23
|
*/
|
|
22
24
|
const UDP_DISCOVERY_PORT = 9121;
|
|
23
25
|
const UDP_BROADCAST_INTERVAL_MS = 2_000;
|
|
@@ -34,7 +36,7 @@ function computeSubnetBroadcast(ip) {
|
|
|
34
36
|
}
|
|
35
37
|
return `${parts[0]}.${parts[1]}.${parts[2]}.255`;
|
|
36
38
|
}
|
|
37
|
-
export function advertiseUdpBroadcast(port, projectName, agentType
|
|
39
|
+
export function advertiseUdpBroadcast(port, projectName, agentType) {
|
|
38
40
|
let stopped = false;
|
|
39
41
|
let socket = null;
|
|
40
42
|
let timer = null;
|
|
@@ -74,9 +76,10 @@ export function advertiseUdpBroadcast(port, projectName, agentType, token) {
|
|
|
74
76
|
port,
|
|
75
77
|
project: projectName,
|
|
76
78
|
agent: agentType,
|
|
79
|
+
// Same signal the unauthenticated /health carries: tells a client to
|
|
80
|
+
// open its pairing flow instead of expecting a self-serve credential.
|
|
81
|
+
authRequired: true,
|
|
77
82
|
};
|
|
78
|
-
if (token)
|
|
79
|
-
payload.token = token;
|
|
80
83
|
const buf = Buffer.from(JSON.stringify(payload));
|
|
81
84
|
// Limited broadcast — accepted by every AP, never routed across subnets.
|
|
82
85
|
// This is the primary path when IGMP Snooping drops multicast.
|
package/dist/broadcast.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"broadcast.js","sourceRoot":"","sources":["../src/broadcast.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAC;AAE/B,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C
|
|
1
|
+
{"version":3,"file":"broadcast.js","sourceRoot":"","sources":["../src/broadcast.ts"],"names":[],"mappings":"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"}
|
package/dist/daemon-server.js
CHANGED
|
@@ -3009,7 +3009,7 @@ export async function startDaemon(opts) {
|
|
|
3009
3009
|
}
|
|
3010
3010
|
}
|
|
3011
3011
|
log(`[agentdeck] WebSocket server ready on port ${port}`);
|
|
3012
|
-
log(
|
|
3012
|
+
log('[agentdeck] Pairing credential ready; run "agentdeck qr" to pair a device.');
|
|
3013
3013
|
// Initialize APME store + collector so the daemon can serve /apme/* HTTP
|
|
3014
3014
|
// routes. `setApme` on core is gated against the `daemon` meta-session so
|
|
3015
3015
|
// register/deregister won't open a bogus run. Session bridges opening their
|