@dp-pcs/ogp 0.9.1 → 0.10.0

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 (38) hide show
  1. package/dist/cli/agent-comms.d.ts +1 -1
  2. package/dist/cli/agent-comms.d.ts.map +1 -1
  3. package/dist/cli/agent-comms.js +9 -2
  4. package/dist/cli/agent-comms.js.map +1 -1
  5. package/dist/cli/config.d.ts.map +1 -1
  6. package/dist/cli/config.js +64 -0
  7. package/dist/cli/config.js.map +1 -1
  8. package/dist/cli/federation.d.ts +27 -0
  9. package/dist/cli/federation.d.ts.map +1 -1
  10. package/dist/cli/federation.js +88 -42
  11. package/dist/cli/federation.js.map +1 -1
  12. package/dist/cli.js +2 -1
  13. package/dist/cli.js.map +1 -1
  14. package/dist/daemon/agent-comms.d.ts +9 -0
  15. package/dist/daemon/agent-comms.d.ts.map +1 -1
  16. package/dist/daemon/agent-comms.js +65 -0
  17. package/dist/daemon/agent-comms.js.map +1 -1
  18. package/dist/daemon/relay-client.d.ts +16 -0
  19. package/dist/daemon/relay-client.d.ts.map +1 -0
  20. package/dist/daemon/relay-client.js +312 -0
  21. package/dist/daemon/relay-client.js.map +1 -0
  22. package/dist/daemon/rendezvous.d.ts +56 -2
  23. package/dist/daemon/rendezvous.d.ts.map +1 -1
  24. package/dist/daemon/rendezvous.js +99 -4
  25. package/dist/daemon/rendezvous.js.map +1 -1
  26. package/dist/daemon/server.d.ts +1 -0
  27. package/dist/daemon/server.d.ts.map +1 -1
  28. package/dist/daemon/server.js +140 -26
  29. package/dist/daemon/server.js.map +1 -1
  30. package/dist/shared/config.d.ts +28 -0
  31. package/dist/shared/config.d.ts.map +1 -1
  32. package/dist/shared/config.js +7 -0
  33. package/dist/shared/config.js.map +1 -1
  34. package/dist/shared/relay-protocol.d.ts +91 -0
  35. package/dist/shared/relay-protocol.d.ts.map +1 -0
  36. package/dist/shared/relay-protocol.js +55 -0
  37. package/dist/shared/relay-protocol.js.map +1 -0
  38. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relay-protocol.d.ts","sourceRoot":"","sources":["../../src/shared/relay-protocol.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ // Relay transport wire protocol (bd-b7em Phase 2).
2
+ //
3
+ // Frames are JSON text over a WebSocket between a daemon and the relay server.
4
+ // The relay is UNTRUSTED: it routes opaque `frame` payloads (the exact body a
5
+ // daemon would POST to /federation/message) by recipient pubkey and never
6
+ // inspects or forges them. End-to-end Ed25519 lives entirely inside `frame`.
7
+ //
8
+ // Auth proves pubkey ownership via a server-issued challenge nonce signed with
9
+ // signCanonical (src/shared/signing.ts). See docs/TRANSPORT-MODES-DESIGN.md.
10
+ /** Max accepted frame size. Envelopes are small; this caps abuse. */
11
+ export const MAX_FRAME_BYTES = 256 * 1024;
12
+ /** App-level heartbeat period (must stay < ALB 60s idle timeout). */
13
+ export const HEARTBEAT_MS = 35_000;
14
+ /** How long a server-issued auth challenge stays valid. */
15
+ export const CHALLENGE_TTL_MS = 10_000;
16
+ // ── Parsing / guards ─────────────────────────────────────────────────────────
17
+ /** Parse a raw WS text frame into a typed object, or null if not a `{type}` object. */
18
+ export function parseFrame(raw) {
19
+ let obj;
20
+ try {
21
+ obj = JSON.parse(raw);
22
+ }
23
+ catch {
24
+ return null;
25
+ }
26
+ if (!obj || typeof obj !== 'object' || typeof obj.type !== 'string') {
27
+ return null;
28
+ }
29
+ return obj;
30
+ }
31
+ export function isChallengeFrame(f) {
32
+ return f.type === 'challenge'
33
+ && typeof f.challengeId === 'string'
34
+ && typeof f.nonce === 'string';
35
+ }
36
+ export function isAuthFrame(f) {
37
+ const a = f;
38
+ return f.type === 'auth'
39
+ && typeof a.pubkey === 'string'
40
+ && typeof a.challengeId === 'string'
41
+ && typeof a.payloadStr === 'string'
42
+ && typeof a.signature === 'string';
43
+ }
44
+ export function isDeliverFrame(f) {
45
+ const d = f;
46
+ return f.type === 'deliver'
47
+ && typeof d.reqId === 'string'
48
+ && !!d.frame && typeof d.frame === 'object'
49
+ && typeof d.frame.messageStr === 'string'
50
+ && typeof d.frame.signature === 'string';
51
+ }
52
+ export function isResponseFrame(f) {
53
+ return f.type === 'response' && typeof f.reqId === 'string';
54
+ }
55
+ //# sourceMappingURL=relay-protocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relay-protocol.js","sourceRoot":"","sources":["../../src/shared/relay-protocol.ts"],"names":[],"mappings":"AAAA,mDAAmD;AACnD,EAAE;AACF,+EAA+E;AAC/E,8EAA8E;AAC9E,0EAA0E;AAC1E,6EAA6E;AAC7E,EAAE;AACF,+EAA+E;AAC/E,6EAA6E;AAsB7E,qEAAqE;AACrE,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,GAAG,IAAI,CAAC;AAE1C,qEAAqE;AACrE,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC;AAEnC,2DAA2D;AAC3D,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAoEvC,gFAAgF;AAEhF,uFAAuF;AACvF,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,IAAI,GAAY,CAAC;IACjB,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAQ,GAA0B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC5F,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,GAAoB,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,CAAgB;IAC/C,OAAO,CAAC,CAAC,IAAI,KAAK,WAAW;WACxB,OAAQ,CAAoB,CAAC,WAAW,KAAK,QAAQ;WACrD,OAAQ,CAAoB,CAAC,KAAK,KAAK,QAAQ,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,CAAgB;IAC1C,MAAM,CAAC,GAAG,CAAc,CAAC;IACzB,OAAO,CAAC,CAAC,IAAI,KAAK,MAAM;WACnB,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;WAC5B,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ;WACjC,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ;WAChC,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,CAAgB;IAC7C,MAAM,CAAC,GAAG,CAAiB,CAAC;IAC5B,OAAO,CAAC,CAAC,IAAI,KAAK,SAAS;WACtB,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ;WAC3B,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ;WACxC,OAAO,CAAC,CAAC,KAAK,CAAC,UAAU,KAAK,QAAQ;WACtC,OAAO,CAAC,CAAC,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,CAAgB;IAC9C,OAAO,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,OAAQ,CAAmB,CAAC,KAAK,KAAK,QAAQ,CAAC;AACjF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dp-pcs/ogp",
3
- "version": "0.9.1",
3
+ "version": "0.10.0",
4
4
  "description": "Open Gateway Protocol (OGP) - Peer-to-peer federation daemon for OpenClaw AI gateways with cryptographic signatures",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",