bitchat-node 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.
Files changed (45) hide show
  1. package/README.md +94 -23
  2. package/dist/client.d.ts +1 -0
  3. package/dist/client.d.ts.map +1 -1
  4. package/dist/client.js +143 -28
  5. package/dist/client.js.map +1 -1
  6. package/dist/debug.d.ts +39 -0
  7. package/dist/debug.d.ts.map +1 -0
  8. package/dist/debug.js +89 -0
  9. package/dist/debug.js.map +1 -0
  10. package/dist/index.d.ts +2 -0
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +4 -0
  13. package/dist/index.js.map +1 -1
  14. package/dist/mesh/router.d.ts.map +1 -1
  15. package/dist/mesh/router.js +9 -1
  16. package/dist/mesh/router.js.map +1 -1
  17. package/dist/protocol/binary.d.ts +1 -1
  18. package/dist/protocol/binary.d.ts.map +1 -1
  19. package/dist/protocol/binary.js +2 -2
  20. package/dist/protocol/binary.js.map +1 -1
  21. package/dist/session/manager.d.ts.map +1 -1
  22. package/dist/session/manager.js +18 -1
  23. package/dist/session/manager.js.map +1 -1
  24. package/dist/transport/ble.d.ts +15 -0
  25. package/dist/transport/ble.d.ts.map +1 -1
  26. package/dist/transport/ble.js +63 -16
  27. package/dist/transport/ble.js.map +1 -1
  28. package/dist/ui/html.d.ts +5 -0
  29. package/dist/ui/html.d.ts.map +1 -0
  30. package/dist/ui/html.js +506 -0
  31. package/dist/ui/html.js.map +1 -0
  32. package/dist/ui/server.d.ts +5 -1
  33. package/dist/ui/server.d.ts.map +1 -1
  34. package/dist/ui/server.js +61 -255
  35. package/dist/ui/server.js.map +1 -1
  36. package/package.json +3 -2
  37. package/src/client.ts +159 -34
  38. package/src/debug.ts +119 -0
  39. package/src/index.ts +11 -0
  40. package/src/mesh/router.ts +11 -1
  41. package/src/protocol/binary.ts +2 -2
  42. package/src/session/manager.ts +19 -1
  43. package/src/transport/ble.ts +70 -16
  44. package/src/ui/html.ts +506 -0
  45. package/src/ui/server.ts +78 -258
package/dist/debug.js ADDED
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Global debug logger for Bitchat
3
+ * Emits events that can be forwarded to UI/webhooks
4
+ */
5
+ import { EventEmitter } from 'node:events';
6
+ class DebugLogger extends EventEmitter {
7
+ enabled = true;
8
+ logToConsole = true;
9
+ enable() {
10
+ this.enabled = true;
11
+ }
12
+ disable() {
13
+ this.enabled = false;
14
+ }
15
+ setConsoleLogging(enabled) {
16
+ this.logToConsole = enabled;
17
+ }
18
+ log(event) {
19
+ if (!this.enabled)
20
+ return;
21
+ const fullEvent = {
22
+ ...event,
23
+ time: Date.now(),
24
+ };
25
+ this.emit('debug', fullEvent);
26
+ if (this.logToConsole) {
27
+ const tag = event.tag || event.category.toUpperCase();
28
+ const parts = [`[${tag}]`];
29
+ if (event.text)
30
+ parts.push(event.text);
31
+ if (event.hex)
32
+ parts.push(`hex: ${event.hex.slice(0, 60)}${event.hex.length > 60 ? '...' : ''}`);
33
+ if (event.decoded)
34
+ parts.push(`→ ${event.decoded}`);
35
+ console.log(parts.join(' '));
36
+ }
37
+ }
38
+ // Convenience methods
39
+ bleRx(data, decoded) {
40
+ this.log({
41
+ category: 'ble-rx',
42
+ tag: 'BLE RX',
43
+ hex: Buffer.from(data).toString('hex'),
44
+ decoded,
45
+ });
46
+ }
47
+ bleTx(data, decoded) {
48
+ this.log({
49
+ category: 'ble-tx',
50
+ tag: 'BLE TX',
51
+ hex: Buffer.from(data).toString('hex'),
52
+ decoded,
53
+ });
54
+ }
55
+ session(peerID, text) {
56
+ this.log({
57
+ category: 'session',
58
+ tag: 'Session',
59
+ text: `[${peerID.slice(0, 8)}] ${text}`,
60
+ });
61
+ }
62
+ packet(direction, type, info) {
63
+ this.log({
64
+ category: 'packet',
65
+ tag: `PKT ${direction.toUpperCase()}`,
66
+ text: `${type}: ${info}`,
67
+ });
68
+ }
69
+ pm(direction, peerID, text) {
70
+ this.log({
71
+ category: 'pm',
72
+ tag: `PM ${direction.toUpperCase()}`,
73
+ text: `[${peerID.slice(0, 8)}] ${text}`,
74
+ });
75
+ }
76
+ error(context, error) {
77
+ this.log({
78
+ category: 'error',
79
+ tag: 'ERROR',
80
+ text: `${context}: ${error instanceof Error ? error.message : error}`,
81
+ });
82
+ }
83
+ updateSession(state) {
84
+ this.emit('session', state);
85
+ }
86
+ }
87
+ // Global singleton
88
+ export const debugLog = new DebugLogger();
89
+ //# sourceMappingURL=debug.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug.js","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -29,4 +29,6 @@ export { type DeduplicatorConfig, type Link, MeshRouter, MessageDeduplicator, ty
29
29
  export { type BitchatPacket, CHARACTERISTIC_UUID, type ChatMessage, DEFAULT_TTL, type DeliveryStatus, decode, encode, encodeForSigning, HandshakeState, MAX_MESSAGE_LENGTH, MAX_TTL, MessageType, makeDeduplicationID, NoisePayloadType, PacketFlags, PeerID, type PeerInfo, type ReadReceipt, SERVICE_UUID, SERVICE_UUID_TESTNET, } from './protocol/index.js';
30
30
  export { SessionManager, type SessionManagerConfig, type SessionManagerEvents, } from './session/index.js';
31
31
  export { BLELink, BLETransport, type BLETransportConfig, type BLETransportEvents, } from './transport/index.js';
32
+ export { startUIServer, type UIServerConfig, type DebugEvent, type SessionState, } from './ui/server.js';
33
+ export { debugLog } from './debug.js';
32
34
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAGH,OAAO,EAAE,aAAa,EAAE,KAAK,mBAAmB,EAAE,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEhG,OAAO,EAEL,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,eAAe,EAEf,sBAAsB,EACtB,cAAc,IAAI,mBAAmB,EACrC,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,YAAY,EACZ,KAAK,cAAc,EACnB,MAAM,EACN,IAAI,EACJ,MAAM,GACP,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,IAAI,EACT,UAAU,EACV,mBAAmB,EACnB,KAAK,YAAY,GAClB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,KAAK,aAAa,EAClB,mBAAmB,EACnB,KAAK,WAAW,EAChB,WAAW,EACX,KAAK,cAAc,EACnB,MAAM,EAEN,MAAM,EACN,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,OAAO,EAEP,WAAW,EACX,mBAAmB,EACnB,gBAAgB,EAChB,WAAW,EACX,MAAM,EACN,KAAK,QAAQ,EACb,KAAK,WAAW,EAEhB,YAAY,EACZ,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,cAAc,EACd,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,OAAO,EACP,YAAY,EACZ,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,GACxB,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAGH,OAAO,EAAE,aAAa,EAAE,KAAK,mBAAmB,EAAE,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEhG,OAAO,EAEL,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,eAAe,EAEf,sBAAsB,EACtB,cAAc,IAAI,mBAAmB,EACrC,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,YAAY,EACZ,KAAK,cAAc,EACnB,MAAM,EACN,IAAI,EACJ,MAAM,GACP,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,IAAI,EACT,UAAU,EACV,mBAAmB,EACnB,KAAK,YAAY,GAClB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,KAAK,aAAa,EAClB,mBAAmB,EACnB,KAAK,WAAW,EAChB,WAAW,EACX,KAAK,cAAc,EACnB,MAAM,EAEN,MAAM,EACN,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,OAAO,EAEP,WAAW,EACX,mBAAmB,EACnB,gBAAgB,EAChB,WAAW,EACX,MAAM,EACN,KAAK,QAAQ,EACb,KAAK,WAAW,EAEhB,YAAY,EACZ,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,cAAc,EACd,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,OAAO,EACP,YAAY,EACZ,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,GACxB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,aAAa,EACb,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,YAAY,GAClB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -45,4 +45,8 @@ SERVICE_UUID, SERVICE_UUID_TESTNET, } from './protocol/index.js';
45
45
  export { SessionManager, } from './session/index.js';
46
46
  // Transport
47
47
  export { BLELink, BLETransport, } from './transport/index.js';
48
+ // UI Server
49
+ export { startUIServer, } from './ui/server.js';
50
+ // Debug
51
+ export { debugLog } from './debug.js';
48
52
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,cAAc;AACd,OAAO,EAAE,aAAa,EAAsD,MAAM,aAAa,CAAC;AAChG,SAAS;AACT,OAAO;AACL,iBAAiB;AACjB,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,eAAe;AACf,UAAU;AACV,sBAAsB,EACtB,cAAc,IAAI,mBAAmB,EAGrC,YAAY,EAEZ,MAAM,EACN,IAAI,EACJ,MAAM,GACP,MAAM,mBAAmB,CAAC;AAC3B,OAAO;AACP,OAAO,EAGL,UAAU,EACV,mBAAmB,GAEpB,MAAM,iBAAiB,CAAC;AACzB,WAAW;AACX,OAAO,EAEL,mBAAmB,EAEnB,WAAW,EAEX,MAAM;AACN,kBAAkB;AAClB,MAAM,EACN,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,OAAO;AACP,QAAQ;AACR,WAAW,EACX,mBAAmB,EACnB,gBAAgB,EAChB,WAAW,EACX,MAAM;AAGN,YAAY;AACZ,YAAY,EACZ,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAE7B,WAAW;AACX,OAAO,EACL,cAAc,GAGf,MAAM,oBAAoB,CAAC;AAE5B,YAAY;AACZ,OAAO,EACL,OAAO,EACP,YAAY,GAGb,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,cAAc;AACd,OAAO,EAAE,aAAa,EAAsD,MAAM,aAAa,CAAC;AAChG,SAAS;AACT,OAAO;AACL,iBAAiB;AACjB,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,eAAe;AACf,UAAU;AACV,sBAAsB,EACtB,cAAc,IAAI,mBAAmB,EAGrC,YAAY,EAEZ,MAAM,EACN,IAAI,EACJ,MAAM,GACP,MAAM,mBAAmB,CAAC;AAC3B,OAAO;AACP,OAAO,EAGL,UAAU,EACV,mBAAmB,GAEpB,MAAM,iBAAiB,CAAC;AACzB,WAAW;AACX,OAAO,EAEL,mBAAmB,EAEnB,WAAW,EAEX,MAAM;AACN,kBAAkB;AAClB,MAAM,EACN,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,OAAO;AACP,QAAQ;AACR,WAAW,EACX,mBAAmB,EACnB,gBAAgB,EAChB,WAAW,EACX,MAAM;AAGN,YAAY;AACZ,YAAY,EACZ,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAE7B,WAAW;AACX,OAAO,EACL,cAAc,GAGf,MAAM,oBAAoB,CAAC;AAE5B,YAAY;AACZ,OAAO,EACL,OAAO,EACP,YAAY,GAGb,MAAM,sBAAsB,CAAC;AAE9B,YAAY;AACZ,OAAO,EACL,aAAa,GAId,MAAM,gBAAgB,CAAC;AAExB,QAAQ;AACR,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/mesh/router.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,EAAE,KAAK,aAAa,EAAe,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAGpF,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AASD,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC;IAC/D,OAAO,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;IAC1D,IAAI,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACvD;AAED;;GAEG;AACH,qBAAa,UAAW,SAAQ,YAAY;IAC1C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAsB;IACnD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA2B;IACjD,OAAO,CAAC,QAAQ,CAAuB;IAGvC,OAAO,CAAC,YAAY,CAA6B;gBAErC,MAAM,GAAE,OAAO,CAAC,YAAY,CAAM;IAM9C;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIjC;;OAEG;IACH,WAAW,IAAI,MAAM,GAAG,IAAI;IAI5B;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAIzB;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAUhC;;OAEG;IACH,QAAQ,IAAI,IAAI,EAAE;IAIlB;;OAEG;IACH,mBAAmB,IAAI,MAAM,EAAE;IAM/B;;OAEG;IACG,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;IA+BlF;;OAEG;IACG,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAUtD;;OAEG;IACH,OAAO,CAAC,aAAa;IAuBrB;;OAEG;YACW,OAAO;IAqBrB;;OAEG;YACW,SAAS;IAKvB;;OAEG;YACW,WAAW;IAgBzB;;OAEG;IACG,UAAU,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAgBzE;;OAEG;IACH,OAAO,IAAI,IAAI;CAMhB"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/mesh/router.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,EAAE,KAAK,aAAa,EAAe,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAGpF,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AASD,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC;IAC/D,OAAO,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;IAC1D,IAAI,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACvD;AAED;;GAEG;AACH,qBAAa,UAAW,SAAQ,YAAY;IAC1C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAsB;IACnD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA2B;IACjD,OAAO,CAAC,QAAQ,CAAuB;IAGvC,OAAO,CAAC,YAAY,CAA6B;gBAErC,MAAM,GAAE,OAAO,CAAC,YAAY,CAAM;IAM9C;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIjC;;OAEG;IACH,WAAW,IAAI,MAAM,GAAG,IAAI;IAI5B;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAIzB;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAUhC;;OAEG;IACH,QAAQ,IAAI,IAAI,EAAE;IAIlB;;OAEG;IACH,mBAAmB,IAAI,MAAM,EAAE;IAM/B;;OAEG;IACG,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;IA+BlF;;OAEG;IACG,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAUtD;;OAEG;IACH,OAAO,CAAC,aAAa;IAuBrB;;OAEG;YACW,OAAO;IAqBrB;;OAEG;YACW,SAAS;IAKvB;;OAEG;YACW,WAAW;IAgBzB;;OAEG;IACG,UAAU,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA0BzE;;OAEG;IACH,OAAO,IAAI,IAAI;CAMhB"}
@@ -179,13 +179,21 @@ export class MeshRouter extends EventEmitter {
179
179
  * Send to a specific peer (if we have a direct link)
180
180
  */
181
181
  async sendToPeer(packet, peerID) {
182
+ const peerHex = peerID.toHex().slice(0, 8);
182
183
  // Find link for this peer
183
- const link = Array.from(this.links.values()).find((l) => l.peerID?.equals(peerID));
184
+ const allLinks = Array.from(this.links.values());
185
+ console.log(`[Router] sendToPeer ${peerHex}: ${allLinks.length} links available`);
186
+ allLinks.forEach((l, i) => {
187
+ console.log(`[Router] Link ${i}: id=${l.id.slice(0, 8)}, peerID=${l.peerID?.toHex().slice(0, 8) ?? 'none'}`);
188
+ });
189
+ const link = allLinks.find((l) => l.peerID?.equals(peerID));
184
190
  if (!link) {
191
+ console.log(`[Router] No direct link to ${peerHex}, broadcasting instead`);
185
192
  // No direct link - broadcast and hope for relay
186
193
  await this.sendPacket(packet);
187
194
  return false;
188
195
  }
196
+ console.log(`[Router] Found direct link to ${peerHex}, sending directly`);
189
197
  const { encode } = await import('../protocol/binary.js');
190
198
  const data = encode(packet);
191
199
  await link.send(data);
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/mesh/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/mesh/router.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAsB,WAAW,EAAe,MAAM,sBAAsB,CAAC;AACpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AASxD,MAAM,qBAAqB,GAAiB;IAC1C,MAAM,EAAE,OAAO;IACf,UAAU,EAAE,WAAW;IACvB,kBAAkB,EAAE,KAAK;IACzB,gBAAgB,EAAE,GAAG;CACtB,CAAC;AAcF;;GAEG;AACH,MAAM,OAAO,UAAW,SAAQ,YAAY;IACzB,MAAM,CAAe;IACrB,YAAY,CAAsB;IAClC,KAAK,GAAG,IAAI,GAAG,EAAgB,CAAC;IACzC,QAAQ,GAAkB,IAAI,CAAC;IAEvC,oDAAoD;IAC5C,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEjD,YAAY,SAAgC,EAAE;QAC5C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,qBAAqB,EAAE,GAAG,MAAM,EAAE,CAAC;QACtD,IAAI,CAAC,YAAY,GAAG,IAAI,mBAAmB,EAAE,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,MAAc;QACxB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,IAAU;QAChB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,MAAc;QACvB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1B,gCAAgC;QAChC,KAAK,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACvD,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;gBAC7B,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,mBAAmB;QACjB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;aACnC,MAAM,CAAC,CAAC,IAAI,EAAqC,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC;aAC9E,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,MAAqB,EAAE,QAAqB;QAC7D,MAAM,OAAO,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAE5C,sBAAsB;QACtB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;YACvC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,qBAAqB;QACrB,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC9C,CAAC;QAED,eAAe;QACf,IAAI,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACpC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;YAC1C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,6BAA6B;QAC7B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAEtC,4BAA4B;QAC5B,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC3C,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,MAAqB;QACpC,MAAM,OAAO,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAE5C,wDAAwD;QACxD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEpC,yBAAyB;QACzB,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,MAAqB;QACzC,iCAAiC;QACjC,IAAI,MAAM,CAAC,GAAG,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QAElC,sCAAsC;QACtC,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,KAAK,WAAW,CAAC,YAAY;gBAC3B,+BAA+B;gBAC/B,OAAO,KAAK,CAAC;YACf;gBACE,MAAM;QACV,CAAC;QAED,sCAAsC;QACtC,IAAI,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBACjD,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,OAAO,CAAC,MAAqB,EAAE,aAAsB;QACjE,gBAAgB;QAChB,MAAM,aAAa,GAAkB;YACnC,GAAG,MAAM;YACT,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC;SACpB,CAAC;QAEF,8CAA8C;QAC9C,MAAM,OAAO,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,aAAa,GAAG,aAAa,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEtE,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,aAAa,CAAC,CAAC;QAEhG,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAErC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;QAEjD,2BAA2B;QAC3B,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,SAAS,CAAC,MAAqB;QAC3C,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QACpD,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,WAAW,CAAC,MAAqB,EAAE,KAAa;QAC5D,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAE5B,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YAC5C,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,+CAA+C;gBAC/C,OAAO,CAAC,KAAK,CAAC,0BAA0B,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,MAAqB,EAAE,MAAc;QACpD,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAE3C,0BAA0B;QAC1B,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,uBAAuB,OAAO,KAAK,QAAQ,CAAC,MAAM,kBAAkB,CAAC,CAAC;QAClF,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACxB,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAC,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,EAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;QAC/G,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAE5D,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,8BAA8B,OAAO,wBAAwB,CAAC,CAAC;YAC3E,gDAAgD;YAChD,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,iCAAiC,OAAO,oBAAoB,CAAC,CAAC;QAC1E,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5B,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,OAAO;QACL,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;CACF"}
@@ -29,7 +29,7 @@ export declare function decode(data: Uint8Array): BitchatPacket | null;
29
29
  /**
30
30
  * Create binary representation for signing (without signature, TTL=0)
31
31
  */
32
- export declare function encodeForSigning(packet: BitchatPacket): Uint8Array;
32
+ export declare function encodeForSigning(packet: BitchatPacket, preserveTTL?: boolean): Uint8Array;
33
33
  /**
34
34
  * Create message deduplication ID
35
35
  */
@@ -1 +1 @@
1
- {"version":3,"file":"binary.d.ts","sourceRoot":"","sources":["../../src/protocol/binary.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAWH,OAAO,EAAE,KAAK,aAAa,EAAyC,MAAM,YAAY,CAAC;AA0CvF;;GAEG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,UAAU,CAyG7F;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,aAAa,GAAG,IAAI,CAY7D;AAmID;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,aAAa,GAAG,UAAU,CASlE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAEjE"}
1
+ {"version":3,"file":"binary.d.ts","sourceRoot":"","sources":["../../src/protocol/binary.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAWH,OAAO,EAAE,KAAK,aAAa,EAAyC,MAAM,YAAY,CAAC;AA0CvF;;GAEG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,UAAU,CAyG7F;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,aAAa,GAAG,IAAI,CAY7D;AAmID;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,aAAa,EAAE,WAAW,UAAQ,GAAG,UAAU,CASvF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAEjE"}
@@ -291,11 +291,11 @@ function decodeCore(data) {
291
291
  /**
292
292
  * Create binary representation for signing (without signature, TTL=0)
293
293
  */
294
- export function encodeForSigning(packet) {
294
+ export function encodeForSigning(packet, preserveTTL = false) {
295
295
  const unsigned = {
296
296
  ...packet,
297
297
  signature: undefined,
298
- ttl: 0,
298
+ ttl: preserveTTL ? packet.ttl : 0, // Some implementations preserve TTL for verification
299
299
  isRSR: false,
300
300
  };
301
301
  // Must use padding: true to match Swift's toBinaryDataForSigning()
@@ -1 +1 @@
1
- {"version":3,"file":"binary.js","sourceRoot":"","sources":["../../src/protocol/binary.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"binary.js","sourceRoot":"","sources":["../../src/protocol/binary.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,GACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAwC,WAAW,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEvF;;GAEG;AACH,SAAS,gBAAgB,CAAC,UAAkB;IAC1C,KAAK,MAAM,IAAI,IAAI,mBAAmB,EAAE,CAAC;QACvC,IAAI,UAAU,IAAI,IAAI,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;IAC1C,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,SAAS,GAAG,CAAC,IAAgB,EAAE,UAAkB;IAC/C,MAAM,aAAa,GAAG,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC;IAC/C,IAAI,aAAa,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAEpC,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC;IAC1C,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjB,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACxC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,KAAK,CAAC,IAAgB;IAC7B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEnC,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC5C,IAAI,aAAa,KAAK,CAAC,IAAI,aAAa,GAAG,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEpE,+BAA+B;IAC/B,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,aAAa,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/D,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,aAAa;YAAE,OAAO,IAAI,CAAC;IAC7C,CAAC;IAED,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,CAAC;AACvD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,MAAM,CAAC,MAAqB,EAAE,UAAiC,EAAE;IAC/E,MAAM,EAAE,OAAO,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IACnC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAE/B,IAAI,OAAO,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,iCAAiC,OAAO,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC;IAEnE,cAAc;IACd,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,MAAM,CAAC,WAAW,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO;QAAE,KAAK,IAAI,WAAW,CAAC,aAAa,CAAC;IAC1F,IAAI,MAAM,CAAC,SAAS;QAAE,KAAK,IAAI,WAAW,CAAC,aAAa,CAAC;IACzD,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,IAAI,CAAC;QAAE,KAAK,IAAI,WAAW,CAAC,SAAS,CAAC;IAC5F,IAAI,MAAM,CAAC,KAAK;QAAE,KAAK,IAAI,WAAW,CAAC,MAAM,CAAC;IAC9C,yBAAyB;IAEzB,kBAAkB;IAClB,MAAM,YAAY,GAAG,CAAC,KAAK,GAAG,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC/D,MAAM,YAAY,GAAG,CAAC,KAAK,GAAG,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC/D,MAAM,QAAQ,GAAG,CAAC,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAEvD,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IACpF,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;IAE1C,iBAAiB;IACjB,IAAI,OAAO,KAAK,CAAC,IAAI,WAAW,GAAG,MAAM,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,IAAI,WAAW,GAAG,UAAU,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IAED,uBAAuB;IACvB,MAAM,SAAS,GACb,UAAU;QACV,cAAc;QACd,CAAC,YAAY,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,WAAW;QACX,WAAW;QACX,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEtC,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACzC,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,SAAS;IACT,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC;IAC3B,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;IAC/B,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;IAE9B,iCAAiC;IACjC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACnD,MAAM,IAAI,CAAC,CAAC;IAEZ,QAAQ;IACR,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,KAAK,CAAC;IAEzB,iBAAiB;IACjB,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;QAC3C,MAAM,IAAI,CAAC,CAAC;IACd,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;QAC3C,MAAM,IAAI,CAAC,CAAC;IACd,CAAC;IAED,YAAY;IACZ,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IAC9C,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAChC,MAAM,IAAI,cAAc,CAAC;IAEzB,0BAA0B;IAC1B,IAAI,YAAY,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACvC,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QACpD,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QACnC,MAAM,IAAI,iBAAiB,CAAC;IAC9B,CAAC;IAED,wBAAwB;IACxB,IAAI,QAAQ,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAC7B,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;QACvC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAC/B,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;YAClC,MAAM,IAAI,cAAc,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,UAAU;IACV,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACnC,MAAM,IAAI,WAAW,CAAC;IAEtB,uBAAuB;IACvB,IAAI,YAAY,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC;QACjE,MAAM,IAAI,cAAc,CAAC;IAC3B,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACnD,OAAO,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,MAAM,CAAC,IAAgB;IACrC,yBAAyB;IACzB,IAAI,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,6BAA6B;IAC7B,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,YAAY,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;QACxC,MAAM,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,UAAU,CAAC,IAAgB;IAClC,IAAI,IAAI,CAAC,MAAM,GAAG,cAAc,GAAG,cAAc,EAAE,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACzE,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/B,IAAI,OAAO,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEhD,MAAM,UAAU,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC;IACnE,IAAI,IAAI,CAAC,MAAM,GAAG,UAAU,GAAG,cAAc;QAAE,OAAO,IAAI,CAAC;IAE3D,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAgB,CAAC;IAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAE3B,iCAAiC;IACjC,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACnD,MAAM,IAAI,CAAC,CAAC;IAEZ,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7B,MAAM,YAAY,GAAG,CAAC,KAAK,GAAG,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC/D,MAAM,YAAY,GAAG,CAAC,KAAK,GAAG,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC/D,MAAM,YAAY,GAAG,CAAC,KAAK,GAAG,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC/D,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACvE,MAAM,KAAK,GAAG,CAAC,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEjD,iBAAiB;IACjB,IAAI,aAAqB,CAAC;IAC1B,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;QAClB,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC9C,MAAM,IAAI,CAAC,CAAC;IACd,CAAC;SAAM,CAAC;QACN,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC9C,MAAM,IAAI,CAAC,CAAC;IACd,CAAC;IAED,WAAW;IACX,IAAI,aAAa,GAAG,CAAC,IAAI,aAAa,GAAG,qBAAqB;QAAE,OAAO,IAAI,CAAC;IAE5E,YAAY;IACZ,IAAI,MAAM,GAAG,cAAc,GAAG,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACvD,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC;IAC5E,MAAM,IAAI,cAAc,CAAC;IAEzB,eAAe;IACf,IAAI,WAA+B,CAAC;IACpC,IAAI,YAAY,EAAE,CAAC;QACjB,IAAI,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAC1D,WAAW,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,iBAAiB,CAAC,CAAC,CAAC;QAC5E,MAAM,IAAI,iBAAiB,CAAC;IAC9B,CAAC;IAED,QAAQ;IACR,IAAI,KAA2B,CAAC;IAChC,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,MAAM,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACvC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAClC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACnB,KAAK,GAAG,EAAE,CAAC;YACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;gBACpC,IAAI,MAAM,GAAG,cAAc,GAAG,IAAI,CAAC,MAAM;oBAAE,OAAO,IAAI,CAAC;gBACvD,KAAK,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;gBACvE,MAAM,IAAI,cAAc,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAED,UAAU;IACV,IAAI,YAAY,EAAE,CAAC;QACjB,2BAA2B;QAC3B,mCAAmC;QACnC,MAAM,eAAe,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,aAAa,GAAG,eAAe;YAAE,OAAO,IAAI,CAAC;QACjD,2BAA2B;QAC3B,MAAM,IAAI,eAAe,CAAC;QAC1B,MAAM,cAAc,GAAG,aAAa,GAAG,eAAe,CAAC;QACvD,IAAI,MAAM,GAAG,cAAc,GAAG,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACvD,uCAAuC;QACvC,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC;QAC/E,MAAM,IAAI,cAAc,CAAC;QAEzB,YAAY;QACZ,IAAI,SAAiC,CAAC;QACtC,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,MAAM,GAAG,cAAc,GAAG,IAAI,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC;YACvD,SAAS,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC;QAC7E,CAAC;QAED,OAAO;YACL,OAAO;YACP,IAAI;YACJ,GAAG;YACH,SAAS;YACT,QAAQ;YACR,WAAW;YACX,OAAO;YACP,SAAS;YACT,KAAK;YACL,KAAK;SACN,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,GAAG,aAAa,GAAG,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACtD,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC;IAC9E,MAAM,IAAI,aAAa,CAAC;IAExB,YAAY;IACZ,IAAI,SAAiC,CAAC;IACtC,IAAI,YAAY,EAAE,CAAC;QACjB,IAAI,MAAM,GAAG,cAAc,GAAG,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACvD,SAAS,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,OAAO;QACL,OAAO;QACP,IAAI;QACJ,GAAG;QACH,SAAS;QACT,QAAQ;QACR,WAAW;QACX,OAAO;QACP,SAAS;QACT,KAAK;QACL,KAAK;KACN,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAqB,EAAE,WAAW,GAAG,KAAK;IACzE,MAAM,QAAQ,GAAkB;QAC9B,GAAG,MAAM;QACT,SAAS,EAAE,SAAS;QACpB,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAG,qDAAqD;QACzF,KAAK,EAAE,KAAK;KACb,CAAC;IACF,mEAAmE;IACnE,OAAO,MAAM,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAqB;IACvD,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;AACzE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/session/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/session/manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAI3C,OAAO,EAGL,KAAK,YAAY,EAEjB,YAAY,EACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAuC,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAChG,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAwD7E,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,OAAO,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAoBD,MAAM,WAAW,oBAAoB;IACnC,qBAAqB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC;IACvE,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACzD,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,mBAAmB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,KAAK,IAAI,CAAC;CACpE;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,YAAY;IAC9C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;IAG9C,QAAQ,CAAC,aAAa,EAAE,YAAY,CAAC;IACrC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAG7B,OAAO,CAAC,iBAAiB,CAAuC;IAChE,OAAO,CAAC,QAAQ,CAAyC;IAGzD,OAAO,CAAC,KAAK,CAA+B;IAG5C,OAAO,CAAC,eAAe,CAAqE;gBAG1F,MAAM,GAAE,OAAO,CAAC,oBAAoB,CAAM,EAC1C,YAAY,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,YAAY,CAAC;QAAC,OAAO,CAAC,EAAE,cAAc,CAAA;KAAE;IAyBpE;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAInC;;OAEG;IACH,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAI/C;;OAEG;IACH,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc;IAUjD;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAIpD;;OAEG;IACH,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU;IAkC7C;;OAEG;IACH,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,UAAU,GAAG,IAAI;IAgD9E;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAgDzB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAI9B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAsB9B;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,GAAG,UAAU;IAQ1D;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,UAAU;IAQ3D;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI;IAOpD;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAiB5B;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAoBlC;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI;IAchE;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAIjD;;OAEG;IACH,WAAW,IAAI,QAAQ,EAAE;IAIzB;;OAEG;IACH,iBAAiB,IAAI,QAAQ,EAAE;IAK/B;;OAEG;IACH,OAAO,IAAI,IAAI;CAmBhB"}
@@ -9,6 +9,7 @@ import { join } from 'node:path';
9
9
  import { generateKeyPair, HandshakeState as NoiseHandshake, NoiseSession, } from '../crypto/noise.js';
10
10
  import { fingerprint, generateSigningKeyPair } from '../crypto/signing.js';
11
11
  import { HandshakeState, PeerID } from '../protocol/types.js';
12
+ import { debugLog } from '../debug.js';
12
13
  // Key persistence path
13
14
  const KEY_DIR = join(homedir(), '.bitchat-node');
14
15
  const KEY_FILE = join(KEY_DIR, 'identity.json');
@@ -211,8 +212,17 @@ export class SessionManager extends EventEmitter {
211
212
  return;
212
213
  }
213
214
  // Create session
214
- const { send, receive, hash } = pending.state.split();
215
+ // iOS uses useExtractedNonce: true (4-byte nonce prepended to ciphertext)
216
+ const { send, receive, hash } = pending.state.split(true);
215
217
  const session = new NoiseSession(send, receive, hash, remotePublicKey);
218
+ debugLog.session(peerID.toHex(), `Session established (${pending.role}, extracted nonce mode)`);
219
+ debugLog.updateSession({
220
+ peerID: peerID.toHex(),
221
+ established: true,
222
+ initiator: pending.role === 'initiator',
223
+ txNonce: 0,
224
+ rxNonce: 0,
225
+ });
216
226
  // Store session
217
227
  this.sessions.set(key, {
218
228
  session,
@@ -240,6 +250,13 @@ export class SessionManager extends EventEmitter {
240
250
  handleHandshakeFailure(peerID, error) {
241
251
  const key = peerID.toHex();
242
252
  const pending = this.pendingHandshakes.get(key);
253
+ debugLog.session(key, `Handshake failed: ${error.message}`);
254
+ debugLog.updateSession({
255
+ peerID: key,
256
+ established: false,
257
+ initiator: pending?.role === 'initiator',
258
+ error: error.message,
259
+ });
243
260
  if (pending?.timeoutHandle) {
244
261
  clearTimeout(pending.timeoutHandle);
245
262
  }
@@ -1 +1 @@
1
- {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/session/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/session/manager.ts"],"names":[],"mappings":"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"}
@@ -42,6 +42,19 @@ export declare class BLELink implements Link {
42
42
  send(data: Uint8Array): Promise<void>;
43
43
  get isConnected(): boolean;
44
44
  }
45
+ /**
46
+ * Peripheral Link - represents a central (e.g., iOS) connected to us
47
+ */
48
+ export declare class PeripheralLink implements Link {
49
+ readonly id: string;
50
+ private _peerID?;
51
+ private notifyCallback;
52
+ constructor(centralId: string, notifyCallback: (data: Buffer) => void);
53
+ get peerID(): PeerID | undefined;
54
+ setPeerID(peerID: PeerID): void;
55
+ send(data: Uint8Array): Promise<void>;
56
+ get isConnected(): boolean;
57
+ }
45
58
  /**
46
59
  * BLE Transport - handles Bluetooth mesh networking
47
60
  */
@@ -54,6 +67,8 @@ export declare class BLETransport extends EventEmitter {
54
67
  private links;
55
68
  private subscribedCentrals;
56
69
  private notifyCallback?;
70
+ private peripheralLink?;
71
+ private lastCentralAddress;
57
72
  constructor(config?: Partial<BLETransportConfig>);
58
73
  /**
59
74
  * Start the BLE transport
@@ -1 +1 @@
1
- {"version":3,"file":"ble.d.ts","sourceRoot":"","sources":["../../src/transport/ble.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAO9C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAInD,KAAK,UAAU,GAAG,OAAO,oBAAoB,EAAE,UAAU,CAAC;AAC1D,KAAK,cAAc,GAAG,OAAO,oBAAoB,EAAE,cAAc,CAAC;AAKlE,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAkBD,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,IAAI,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IACpD,gBAAgB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,mBAAmB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AAED;;GAEG;AACH,qBAAa,OAAQ,YAAW,IAAI;IAClC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,GAAG,CAAS;gBAER,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,GAAG,GAAE,MAAoB;IAO7F,IAAI,MAAM,IAAI,MAAM,GAAG,SAAS,CAE/B;IAED,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIzB,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA6B3C,IAAI,WAAW,IAAI,OAAO,CAEzB;CACF;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,YAAY;IAC5C,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,KAAK,CAAC,CAAc;IAC5B,OAAO,CAAC,KAAK,CAAC,CAAc;IAC5B,OAAO,CAAC,OAAO,CAAS;IAGxB,OAAO,CAAC,WAAW,CAA0C;IAC7D,OAAO,CAAC,KAAK,CAA8B;IAG3C,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,cAAc,CAAC,CAAyB;gBAEpC,MAAM,GAAE,OAAO,CAAC,kBAAkB,CAAM;IAgBpD;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAsB5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAiC3B;;OAEG;IACH,QAAQ,IAAI,OAAO,EAAE;IAIrB;;OAEG;IACH,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAIxC;;OAEG;IACG,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;YA4BlC,WAAW;YAoBX,gBAAgB;IA2B9B,OAAO,CAAC,iBAAiB,CAA2D;IAEpF,OAAO,CAAC,qBAAqB,CAAqB;YAEpC,UAAU;IAoIxB,OAAO,CAAC,YAAY;YAQN,cAAc;YAqEd,qBAAqB;IA0BnC;;OAEG;IACH,OAAO,IAAI,IAAI;CAIhB"}
1
+ {"version":3,"file":"ble.d.ts","sourceRoot":"","sources":["../../src/transport/ble.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@
7
7
  */
8
8
  import { EventEmitter } from 'node:events';
9
9
  import { BLE_MAX_MTU, CHARACTERISTIC_UUID, SERVICE_UUID, SERVICE_UUID_TESTNET, } from '../protocol/constants.js';
10
+ import { debugLog } from '../debug.js';
10
11
  const DEFAULT_CONFIG = {
11
12
  serviceUUID: SERVICE_UUID,
12
13
  characteristicUUID: CHARACTERISTIC_UUID,
@@ -42,21 +43,16 @@ export class BLELink {
42
43
  // TODO: Implement fragmentation
43
44
  throw new Error('Message too large for MTU, fragmentation not yet implemented');
44
45
  }
45
- console.log('[BLE] Sending', data.length, 'bytes to', this.id);
46
- console.log('[BLE] First 50 bytes:', Buffer.from(data.slice(0, 50)).toString('hex'));
47
- console.log('[BLE] Last 20 bytes:', Buffer.from(data.slice(-20)).toString('hex'));
46
+ debugLog.bleTx(data, `→ ${this.id.slice(0, 8)} (${data.length}b)`);
48
47
  const buf = Buffer.from(data);
49
- console.log('[BLE] Buffer check - is Buffer:', Buffer.isBuffer(buf), 'length:', buf.length);
50
- // Try write WITHOUT response (withoutResponse = true)
51
- // This uses a different BLE write type that might work better
48
+ // Use regular write WITH response (withoutResponse = false) to match iOS behavior
52
49
  return new Promise((resolve, reject) => {
53
- this.characteristic.write(buf, true, (error) => {
50
+ this.characteristic.write(buf, false, (error) => {
54
51
  if (error) {
55
- console.error('[BLE] Send error:', error);
52
+ debugLog.error('BLE TX', error);
56
53
  reject(error);
57
54
  }
58
55
  else {
59
- console.log('[BLE] Send success (without response)');
60
56
  resolve();
61
57
  }
62
58
  });
@@ -66,6 +62,33 @@ export class BLELink {
66
62
  return this.peripheral.state === 'connected';
67
63
  }
68
64
  }
65
+ /**
66
+ * Peripheral Link - represents a central (e.g., iOS) connected to us
67
+ */
68
+ export class PeripheralLink {
69
+ id;
70
+ _peerID;
71
+ notifyCallback;
72
+ constructor(centralId, notifyCallback) {
73
+ this.id = centralId;
74
+ this.notifyCallback = notifyCallback;
75
+ }
76
+ get peerID() {
77
+ return this._peerID;
78
+ }
79
+ setPeerID(peerID) {
80
+ this._peerID = peerID;
81
+ console.log(`[BLE] PeripheralLink ${this.id.slice(0, 8)} now associated with peer ${peerID.toHex().slice(0, 8)}`);
82
+ }
83
+ async send(data) {
84
+ debugLog.bleTx(data, `→ notify (${data.length}b)`);
85
+ const buf = Buffer.from(data);
86
+ this.notifyCallback(buf);
87
+ }
88
+ get isConnected() {
89
+ return true; // Peripheral link is always "connected" while active
90
+ }
91
+ }
69
92
  /**
70
93
  * BLE Transport - handles Bluetooth mesh networking
71
94
  */
@@ -80,6 +103,8 @@ export class BLETransport extends EventEmitter {
80
103
  // Subscribed centrals (peripheral mode)
81
104
  subscribedCentrals = new Set();
82
105
  notifyCallback;
106
+ peripheralLink;
107
+ lastCentralAddress = 'unknown-central';
83
108
  constructor(config = {}) {
84
109
  super();
85
110
  const baseConfig = { ...DEFAULT_CONFIG, ...config };
@@ -269,9 +294,7 @@ export class BLETransport extends EventEmitter {
269
294
  console.log('[BLE] Connecting to', peripheral.uuid);
270
295
  await peripheral.connectAsync();
271
296
  console.log('[BLE] Connected to', peripheral.uuid);
272
- // Clear tracking state on success
273
- this.connectingPeripherals.delete(peripheral.uuid);
274
- this.failedConnections.delete(peripheral.uuid);
297
+ // NOTE: Keep in connectingPeripherals until fully set up to prevent race conditions
275
298
  // Discover services and characteristics
276
299
  console.log('[BLE] Discovering services for', peripheral.uuid);
277
300
  const { characteristics } = await peripheral.discoverSomeServicesAndCharacteristicsAsync([this.config.serviceUUID], [this.config.characteristicUUID]);
@@ -298,13 +321,18 @@ export class BLETransport extends EventEmitter {
298
321
  // Subscribe to notifications
299
322
  await characteristic.subscribeAsync();
300
323
  characteristic.on('data', (data) => {
324
+ debugLog.bleRx(new Uint8Array(data), `← ${peripheral.uuid.slice(0, 8)} (${data.length}b)`);
301
325
  this.emit('data', new Uint8Array(data), link);
302
326
  });
303
327
  // Handle disconnect
304
328
  peripheral.once('disconnect', () => {
305
329
  this.onDisconnect(peripheral.uuid);
306
330
  });
331
+ // Now safe to clear connecting state - link is fully established
332
+ this.connectingPeripherals.delete(peripheral.uuid);
333
+ this.failedConnections.delete(peripheral.uuid);
307
334
  this.emit('link:connected', link);
335
+ console.log('[BLE] Link established to', peripheral.uuid);
308
336
  }
309
337
  catch (error) {
310
338
  // Clear connecting state
@@ -354,17 +382,28 @@ export class BLETransport extends EventEmitter {
354
382
  properties: ['read', 'write', 'writeWithoutResponse', 'notify'],
355
383
  onWriteRequest: (data, _offset, _withoutResponse, callback) => {
356
384
  // Handle incoming data from central
357
- this.emit('data', new Uint8Array(data), null);
385
+ debugLog.bleRx(new Uint8Array(data), `← central (${data.length}b)`);
386
+ // Pass the peripheral link if available
387
+ this.emit('data', new Uint8Array(data), this.peripheralLink ?? null);
358
388
  callback(CharacteristicClass.RESULT_SUCCESS);
359
389
  },
360
390
  onSubscribe: (_maxValueSize, updateValueCallback) => {
361
- // Central subscribed to notifications - store callback
391
+ // Central subscribed to notifications - store callback and create link
362
392
  this.notifyCallback = updateValueCallback;
393
+ // Create a peripheral link for the connected central
394
+ this.peripheralLink = new PeripheralLink(this.lastCentralAddress, updateValueCallback);
363
395
  console.log('Central subscribed to notifications');
396
+ console.log('[BLE] Created peripheral link for central:', this.lastCentralAddress);
397
+ // Emit link:connected so router can use this link
398
+ this.emit('link:connected', this.peripheralLink);
364
399
  },
365
400
  onUnsubscribe: () => {
366
401
  // Central unsubscribed
402
+ if (this.peripheralLink) {
403
+ this.emit('link:disconnected', this.peripheralLink.id);
404
+ }
367
405
  this.notifyCallback = undefined;
406
+ this.peripheralLink = undefined;
368
407
  console.log('Central unsubscribed');
369
408
  },
370
409
  });
@@ -379,10 +418,18 @@ export class BLETransport extends EventEmitter {
379
418
  // Listen for central connection events
380
419
  const bleno = this.bleno;
381
420
  bleno.on('accept', (clientAddress) => {
382
- console.log('[BLE] Central accepted connection from:', clientAddress);
421
+ console.log('[BLE] Central connected:', clientAddress);
422
+ this.lastCentralAddress = clientAddress;
423
+ this.subscribedCentrals.add(clientAddress);
383
424
  });
384
425
  bleno.on('disconnect', (clientAddress) => {
385
- console.log('[BLE] Central disconnected:', clientAddress);
426
+ console.log('[BLE] Central disconnected:', clientAddress);
427
+ this.subscribedCentrals.delete(clientAddress);
428
+ // Clean up peripheral link if this central disconnected
429
+ if (this.peripheralLink && this.peripheralLink.id === clientAddress) {
430
+ this.emit('link:disconnected', this.peripheralLink.id);
431
+ this.peripheralLink = undefined;
432
+ }
386
433
  });
387
434
  bleno.on('servicesSet', (error) => {
388
435
  console.log('[BLE] Services set, error:', error);