@dp-pcs/ogp 0.2.27 → 0.2.30

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.
@@ -7,8 +7,9 @@ const _require = createRequire(import.meta.url);
7
7
  const OGP_VERSION = _require('../../package.json').version;
8
8
  import { requireConfig, loadConfig, getConfigDir } from '../shared/config.js';
9
9
  import { getPublicKey } from './keypair.js';
10
- import { addPeer, getPeer, approvePeer, listPeers, updatePeer } from './peers.js';
10
+ import { addPeer, getPeer, approvePeer, listPeers, updatePeer, removePeer } from './peers.js';
11
11
  import { handleMessage } from './message-handler.js';
12
+ import { verify } from '../shared/signing.js';
12
13
  import { notifyOpenClaw } from './notify.js';
13
14
  import { startDoormanCleanup, stopDoormanCleanup } from './doorman.js';
14
15
  import { startReplyCleanup, stopReplyCleanup, getPendingReply, deletePendingReply, storePendingReply } from './reply-handler.js';
@@ -83,7 +84,9 @@ export function startServer(config, background = false) {
83
84
  gatewayUrl: peer.gatewayUrl,
84
85
  publicKey: peer.publicKey,
85
86
  status: 'pending',
86
- requestedAt: new Date().toISOString()
87
+ requestedAt: new Date().toISOString(),
88
+ // BUILD-115: Record which agent owns this federation relationship
89
+ agentId: cfg.agentId
87
90
  };
88
91
  // Store offered intents if provided (BUILD-110: intent negotiation)
89
92
  const offeredIntents = req.body.offeredIntents;
@@ -197,6 +200,8 @@ export function startServer(config, background = false) {
197
200
  if (fromEmail)
198
201
  peerUpdates.email = fromEmail;
199
202
  peerUpdates.protocolVersion = protocolVersion;
203
+ // BUILD-115: Record which agent owns this federation relationship
204
+ peerUpdates.agentId = cfg.agentId;
200
205
  // Store received scopes (what this peer grants TO us)
201
206
  if (scopeGrants) {
202
207
  peerUpdates.receivedScopes = scopeGrants;
@@ -252,6 +257,102 @@ export function startServer(config, background = false) {
252
257
  res.status(500).json({ error: 'Internal server error' });
253
258
  }
254
259
  });
260
+ // POST /federation/removed - Receive tear-down notification from removing peer
261
+ // BUILD-113: Orphaned federation cleanup (asymmetric removal)
262
+ app.post('/federation/removed', async (req, res) => {
263
+ try {
264
+ const { peerId, timestamp, signature } = req.body;
265
+ // Validate required fields
266
+ if (!peerId || !timestamp || !signature) {
267
+ return res.status(400).json({
268
+ success: false,
269
+ error: 'Missing required fields: peerId, timestamp, signature'
270
+ });
271
+ }
272
+ // Find the peer
273
+ const peer = getPeer(peerId);
274
+ if (!peer) {
275
+ return res.status(404).json({
276
+ success: false,
277
+ error: 'Unknown peer'
278
+ });
279
+ }
280
+ // Verify signature from the removing peer
281
+ // The message to verify is the JSON string of the payload
282
+ const payload = { peerId, timestamp };
283
+ const payloadStr = JSON.stringify(payload);
284
+ const isValidSignature = verify(payloadStr, signature, peer.publicKey);
285
+ if (!isValidSignature) {
286
+ return res.status(403).json({
287
+ success: false,
288
+ error: 'Invalid signature'
289
+ });
290
+ }
291
+ // Check timestamp freshness (allow 5 minute window)
292
+ const now = Date.now();
293
+ const removalTime = new Date(timestamp).getTime();
294
+ const fiveMinutes = 5 * 60 * 1000;
295
+ if (isNaN(removalTime) || Math.abs(now - removalTime) > fiveMinutes) {
296
+ return res.status(400).json({
297
+ success: false,
298
+ error: 'Invalid or stale timestamp'
299
+ });
300
+ }
301
+ // Update peer status to 'removed'
302
+ const removed = removePeer(peer.id);
303
+ if (!removed) {
304
+ return res.status(500).json({
305
+ success: false,
306
+ error: 'Failed to update peer status'
307
+ });
308
+ }
309
+ console.log(`[OGP] Federation removed by ${peer.displayName} (${peer.id})`);
310
+ // BUILD-113: Notify OpenClaw that a peer has removed us
311
+ const notificationText = `[OGP Federation Removed] ${peer.displayName} (${peer.id}) has removed your gateway from their federation\n` +
312
+ `Your gateway is no longer federated with ${peer.displayName}.\n` +
313
+ `You can re-establish federation by sending a new request if needed.`;
314
+ const notificationPayload = {
315
+ text: notificationText,
316
+ sessionKey: 'agent:main:main',
317
+ metadata: {
318
+ ogp: {
319
+ type: 'federation_removed',
320
+ peer: {
321
+ id: peer.id,
322
+ displayName: peer.displayName,
323
+ email: peer.email,
324
+ gatewayUrl: peer.gatewayUrl
325
+ },
326
+ removedAt: new Date().toISOString(),
327
+ removalType: 'asymmetric'
328
+ }
329
+ }
330
+ };
331
+ // Fire notification (best effort - no retry needed as removal is already processed)
332
+ try {
333
+ const notified = await notifyOpenClaw(notificationPayload);
334
+ if (notified) {
335
+ console.log(`[OGP] Agent session notified of federation removal by ${peer.displayName}`);
336
+ }
337
+ else {
338
+ console.warn(`[OGP] Failed to notify agent session of federation removal by ${peer.displayName} (logged but not retried)`);
339
+ }
340
+ }
341
+ catch (error) {
342
+ console.error(`[OGP] Error notifying agent session of removal:`, error);
343
+ // No retry - removal is already processed, notification is best-effort
344
+ }
345
+ res.json({
346
+ success: true,
347
+ peerId: peer.id,
348
+ status: 'removed'
349
+ });
350
+ }
351
+ catch (error) {
352
+ console.error('[OGP] Error handling removal notification:', error);
353
+ res.status(500).json({ success: false, error: 'Internal server error' });
354
+ }
355
+ });
255
356
  // GET /federation/ping - Simple liveness + identity check (no auth required)
256
357
  app.get('/federation/ping', (req, res) => {
257
358
  res.json({
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/daemon/server.ts"],"names":[],"mappings":"AAAA,OAAO,OAAsD,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChD,MAAM,WAAW,GAAW,QAAQ,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAkB,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC9F,OAAO,EAAE,YAAY,EAAiB,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAuC,MAAM,YAAY,CAAC;AACvH,OAAO,EAAE,aAAa,EAA0B,MAAM,sBAAsB,CAAC;AAE7E,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,eAAe,EAAE,kBAAkB,EAAE,iBAAiB,EAAqB,MAAM,oBAAoB,CAAC;AACpJ,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAElE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,IAAI,MAAM,GAAQ,IAAI,CAAC;AAEvB,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,YAAY,CAAC,CAAC;AAChE,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,YAAY,CAAC,CAAC;AAEhE,MAAM,UAAU,WAAW,CAAC,MAAkB,EAAE,UAAU,GAAG,KAAK;IAChE,MAAM,GAAG,GAAG,MAAM,IAAI,aAAa,EAAE,CAAC;IAEtC,qDAAqD;IACrD,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,SAAS,GAAG,EAAE,CAAC,QAAQ,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;QACpD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE;YAChE,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC;SACxC,CAAC,CAAC;QAEH,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,EAAE,CAAC,aAAa,CAAC,eAAe,EAAE,KAAK,CAAC,GAAI,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,SAAS,eAAe,EAAE,CAAC,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,GAAG,GAAY,OAAO,EAAE,CAAC;IAE/B,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAExB,wCAAwC;IACxC,GAAG,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;QAC1D,sCAAsC;QACtC,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;QAC9B,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAE7C,GAAG,CAAC,IAAI,CAAC;YACP,OAAO,EAAE,WAAW;YACpB,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,SAAS,EAAE,YAAY,EAAE;YACzB,YAAY,EAAE;gBACZ,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE,CAAC,mBAAmB,EAAE,gBAAgB,CAAC;aAClD;YACD,SAAS,EAAE;gBACT,OAAO,EAAE,GAAG,GAAG,CAAC,UAAU,qBAAqB;gBAC/C,OAAO,EAAE,GAAG,GAAG,CAAC,UAAU,qBAAqB;gBAC/C,OAAO,EAAE,GAAG,GAAG,CAAC,UAAU,qBAAqB;gBAC/C,KAAK,EAAE,GAAG,GAAG,CAAC,UAAU,0BAA0B;aACnD;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,yDAAyD;IACzD,GAAG,CAAC,IAAI,CAAC,qBAAqB,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;QACpE,IAAI,CAAC;YACH,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;YAErC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACxB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC,CAAC;YACtE,CAAC;YAED,qEAAqE;YACrE,8DAA8D;YAC9D,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAEtD,+CAA+C;YAC/C,MAAM,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;YAC5C,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBAC1B,QAAQ,EAAE,IAAI;oBACd,MAAM,EAAE,6BAA6B;oBACrC,MAAM,EAAE,aAAa;iBACtB,CAAC,CAAC;YACL,CAAC;YAED,MAAM,QAAQ,GAAS;gBACrB,EAAE,EAAE,aAAa,EAAG,wCAAwC;gBAC5D,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,MAAM,EAAE,SAAS;gBACjB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACtC,CAAC;YAEF,oEAAoE;YACpE,MAAM,cAAc,GAAG,GAAG,CAAC,IAAI,CAAC,cAAsC,CAAC;YACvE,IAAI,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChD,QAAQ,CAAC,cAAc,GAAG,cAAc,CAAC;gBACzC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,WAAW,oBAAoB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC7F,CAAC;YAED,6DAA6D;YAC7D,0DAA0D;YAC1D,OAAO,CAAC,QAAQ,CAAC,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,WAAW,KAAK,aAAa,uBAAuB,CAAC,CAAC;YAErF,OAAO,CAAC,GAAG,CAAC,iCAAiC,IAAI,CAAC,WAAW,KAAK,aAAa,GAAG,CAAC,CAAC;YAEpF,kEAAkE;YAClE,MAAM,kBAAkB,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,4CAA4C,CAAC;YACvI,MAAM,gBAAgB,GAAG,4BAA4B,IAAI,CAAC,WAAW,KAAK,aAAa,kCAAkC;gBACvH,YAAY,IAAI,CAAC,UAAU,IAAI;gBAC/B,UAAU,IAAI,CAAC,KAAK,IAAI;gBACxB,4CAA4C;gBAC5C,oBAAoB,kBAAkB,IAAI;gBAC1C,mEAAmE,aAAa,EAAE,CAAC;YAErF,uDAAuD;YACvD,MAAM,mBAAmB,GAAG;gBAC1B,IAAI,EAAE,gBAAgB;gBACtB,UAAU,EAAE,iBAAiB,EAAE,6BAA6B;gBAC5D,QAAQ,EAAE;oBACR,GAAG,EAAE;wBACH,IAAI,EAAE,oBAAoB;wBAC1B,IAAI,EAAE;4BACJ,EAAE,EAAE,IAAI,CAAC,EAAE;4BACX,WAAW,EAAE,IAAI,CAAC,WAAW;4BAC7B,KAAK,EAAE,IAAI,CAAC,KAAK;4BACjB,UAAU,EAAE,IAAI,CAAC,UAAU;yBAC5B;wBACD,WAAW,EAAE,QAAQ,CAAC,WAAW;wBACjC,cAAc,EAAE,eAAe;wBAC/B,cAAc,EAAE,QAAQ,CAAC,cAAc,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,cAAc,EAAE,oBAAoB,EAAE,eAAe,EAAE,gBAAgB,CAAC;wBAC9I,eAAe,EAAE,0BAA0B,IAAI,CAAC,EAAE,EAAE;qBACrD;iBACF;aACF,CAAC;YAEF,oDAAoD;YACpD,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,mBAAmB,CAAC,CAAC;gBAC3D,IAAI,QAAQ,EAAE,CAAC;oBACb,OAAO,CAAC,GAAG,CAAC,2DAA2D,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;gBAC7F,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,IAAI,CAAC,mEAAmE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;gBACtG,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;YAC/D,CAAC;YAED,GAAG,CAAC,IAAI,CAAC;gBACP,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,kDAAkD;aAC5D,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAE,KAAK,CAAC,CAAC;YACjE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,uDAAuD;IACvD,sGAAsG;IACtG,yDAAyD;IACzD,GAAG,CAAC,IAAI,CAAC,qBAAqB,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;QACpE,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;YAE5B,0DAA0D;YAC1D,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YACzC,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;YAC3C,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;YAC7C,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YACzC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAEjC,gDAAgD;YAChD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAE3B,+CAA+C;YAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,WAAsC,CAAC;YAChE,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAElF,qEAAqE;YACrE,MAAM,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,aAAa,CAAC,CAAC;YAEjG,qDAAqD;YACrD,IAAI,IAAI,GAAG,IAAI,CAAC;YAEhB,IAAI,aAAa;gBAAE,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;YACjD,IAAI,CAAC,IAAI,IAAI,cAAc,EAAE,CAAC;gBAC5B,MAAM,QAAQ,GAAG,SAAS,EAAE,CAAC;gBAC7B,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAO,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,cAAc,CAAC,IAAI,IAAI,CAAC;YAC7E,CAAC;YACD,0CAA0C;YAC1C,IAAI,CAAC,IAAI,IAAI,aAAa,EAAE,CAAC;gBAC3B,MAAM,QAAQ,GAAG,SAAS,EAAE,CAAC;gBAC7B,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAO,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;YACpG,CAAC;YACD,2CAA2C;YAC3C,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,QAAQ,GAAG,SAAS,EAAE,CAAC;gBAC7B,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAO,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,IAAI,IAAI,CAAC;YACpE,CAAC;YAED,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;YAClE,CAAC;YAED,4CAA4C;YAC5C,MAAM,WAAW,GAAkB,EAAE,CAAC;YACtC,IAAI,eAAe;gBAAE,WAAW,CAAC,WAAW,GAAG,eAAe,CAAC;YAC/D,IAAI,aAAa;gBAAE,WAAW,CAAC,SAAS,GAAG,aAAa,CAAC;YACzD,IAAI,SAAS;gBAAE,WAAW,CAAC,KAAK,GAAG,SAAS,CAAC;YAC7C,WAAW,CAAC,eAAe,GAAG,eAAe,CAAC;YAE9C,sDAAsD;YACtD,IAAI,WAAW,EAAE,CAAC;gBAChB,WAAW,CAAC,cAAc,GAAG,WAAW,CAAC;gBACzC,OAAO,CAAC,GAAG,CAAC,oCAAoC,IAAI,CAAC,WAAW,GAAG,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACzH,CAAC;YAED,4BAA4B;YAC5B,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;YACnC,CAAC;YAED,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,gCAAgC,IAAI,CAAC,WAAW,MAAM,eAAe,GAAG,CAAC,CAAC;YAEtF,2FAA2F;YAC3F,6EAA6E;YAC7E,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;YAC/D,MAAM,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;YAChG,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;YACvE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;YAEzE,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnC,IAAI,SAAS,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;gBAC1C,MAAM,cAAc,GAAG,CAAC,SAAS,EAAE,aAAa,EAAE,cAAc,EAAE,oBAAoB,EAAE,eAAe,EAAE,gBAAgB,CAAC,CAAC;gBAC3H,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC;gBACzG,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBACzC,uBAAuB,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;gBACzC,OAAO,CAAC,GAAG,CAAC,wCAAwC,IAAI,CAAC,WAAW,KAAK,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAEtG,6CAA6C;gBAC7C,IAAI,CAAC;oBACH,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;oBAClC,MAAM,OAAO,GAAG,CAAC,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,qBAAqB,EAAE,CAAC;oBACvE,MAAM,KAAK,CAAC,GAAG,SAAS,CAAC,UAAU,qBAAqB,EAAE;wBACxD,MAAM,EAAE,MAAM;wBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;wBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,aAAa,EAAE,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,QAAQ,IAAI,SAAS,CAAC,UAAU,EAAE;4BAClF,eAAe,EAAE,SAAS,CAAC,WAAW;4BACtC,cAAc,EAAE,SAAS,CAAC,UAAU;4BACpC,aAAa,EAAE,OAAO,CAAC,SAAS;4BAChC,SAAS,EAAE,SAAS,CAAC,KAAK;4BAC1B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;4BACnC,eAAe,EAAE,OAAO;4BACxB,WAAW,EAAE,MAAM;yBACpB,CAAC;qBACH,CAAC,CAAC;oBACH,OAAO,CAAC,GAAG,CAAC,8CAA8C,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;gBAChF,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,OAAO,CAAC,IAAI,CAAC,2CAA2C,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC,CAAC,CAAC;gBAClF,CAAC;YACH,CAAC;YAED,GAAG,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;YACvD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,6EAA6E;IAC7E,GAAG,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;QAC1D,GAAG,CAAC,IAAI,CAAC;YACP,IAAI,EAAE,IAAI;YACV,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,uDAAuD;IACvD,GAAG,CAAC,IAAI,CAAC,qBAAqB,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;QACpE,IAAI,CAAC;YACH,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;YAEpD,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC3B,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,8BAA8B,EAAE,CAAC,CAAC;YACzE,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAA4B,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;YAExF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,kFAAkF;gBAClF,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC9E,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YACrF,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;YACtD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,6DAA6D;IAC7D,GAAG,CAAC,GAAG,CAAC,0BAA0B,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;QAClE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QAC7B,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QAErC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBAC1B,KAAK;gBACL,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,yBAAyB;aACnC,CAAC,CAAC;QACL,CAAC;QAED,yBAAyB;QACzB,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAE1B,GAAG,CAAC,IAAI,CAAC;YACP,KAAK;YACL,MAAM,EAAE,UAAU;YAClB,KAAK,EAAE;gBACL,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,SAAS,EAAE,KAAK,CAAC,SAAS;aAC3B;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,6EAA6E;IAC7E,GAAG,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;QACnE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QAC7B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QAE5B,0CAA0C;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC;QAEjC,MAAM,YAAY,GAAiB;YACjC,KAAK;YACL,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI;YAC9B,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACvD,CAAC;QAEF,4BAA4B;QAC5B,iBAAiB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,2CAA2C,KAAK,EAAE,CAAC,CAAC;QAEhE,GAAG,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,EAAE;QACvC,OAAO,CAAC,GAAG,CAAC,kCAAkC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,qBAAqB,YAAY,EAAE,EAAE,CAAC,CAAC;QAEnD,uBAAuB;QACvB,mBAAmB,EAAE,CAAC;QACtB,iBAAiB,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;QAE9D,gDAAgD;QAChD,IAAI,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC;YAC5B,eAAe,CAAC,GAAG,CAAC,UAAU,EAAE,YAAY,EAAE,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE;gBACnF,OAAO,CAAC,IAAI,CAAC,mCAAmC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACjE,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,wDAAwD;IACxD,MAAM,gBAAgB,GAAG,KAAK,IAAI,EAAE;QAClC,MAAM,cAAc,EAAE,CAAC;IACzB,CAAC,CAAC;IAEF,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,gBAAgB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,gBAAgB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,sBAAsB;IACtB,kBAAkB,EAAE,CAAC;IACrB,gBAAgB,EAAE,CAAC;IACnB,+CAA+C;IAC/C,cAAc,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAEjC,qBAAqB;IACrB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QACzC,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QAChE,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAChD,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,8BAA8B;QAC9B,IAAI,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,oCAAoC;QAC5D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;YAC1D,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,eAAe;QACf,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC7B,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,IAAI,GAAG,MAAM,EAAE,UAAU,IAAI,KAAK,CAAC;IAEzC,uBAAuB;IACvB,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,GAAuB,CAAC;IAE5B,IAAI,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;YAChE,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACvC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;gBACtB,IAAI,CAAC;oBACH,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;oBAC3B,UAAU,GAAG,IAAI,CAAC;oBAClB,GAAG,GAAG,SAAS,CAAC;gBAClB,CAAC;gBAAC,MAAM,CAAC;oBACP,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;gBACjC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;IACH,CAAC;IAED,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IAChC,CAAC;IAED,kFAAkF;IAClF,yFAAyF;IACzF,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;QACrC,MAAM,SAAS,GAAG,MAAM,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;YACvD,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAA0B,EAAE,EAAE;gBAClD,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE;gBAC5B,MAAM,CAAC,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;QACH,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;QAC/C,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,0BAA0B;IAC5B,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/daemon/server.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,9 @@ export interface OGPConfig {
38
38
  stateDir: string;
39
39
  agentComms?: AgentCommsConfig;
40
40
  rendezvous?: RendezvousConfig;
41
+ notifyTarget?: string;
42
+ notifyTargets?: Record<string, string>;
43
+ agentId?: string;
41
44
  }
42
45
  export declare function getConfigPath(): string;
43
46
  export declare function getConfigDir(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/shared/config.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,GAAG,KAAK,CAAC;AAE7E;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,aAAa,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,cAAc,CAAC;IAC7B,YAAY,EAAE,aAAa,CAAC;IAC5B,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IAEjB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAE9B,UAAU,CAAC,EAAE,gBAAgB,CAAC;CAC/B;AAKD,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wBAAgB,eAAe,IAAI,IAAI,CAItC;AAED,wBAAgB,UAAU,IAAI,SAAS,GAAG,IAAI,CAW7C;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAGlD;AAED,wBAAgB,aAAa,IAAI,SAAS,CAOzC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/shared/config.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,GAAG,KAAK,CAAC;AAE7E;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,aAAa,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,cAAc,CAAC;IAC7B,YAAY,EAAE,aAAa,CAAC;IAC5B,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IAEjB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAE9B,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAE9B,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEvC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAKD,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wBAAgB,eAAe,IAAI,IAAI,CAItC;AAED,wBAAgB,UAAU,IAAI,SAAS,GAAG,IAAI,CAW7C;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAGlD;AAED,wBAAgB,aAAa,IAAI,SAAS,CAOzC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/shared/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AAmDzB,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;AACnF,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;AAEjE,MAAM,UAAU,aAAa;IAC3B,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACvC,EAAE,CAAC,SAAS,CAAC,kBAAkB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,IAAI,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAc,CAAC;IACvC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAiB;IAC1C,eAAe,EAAE,CAAC;IAClB,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/shared/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AAyDzB,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;AACnF,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;AAEjE,MAAM,UAAU,aAAa;IAC3B,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACvC,EAAE,CAAC,SAAS,CAAC,kBAAkB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,IAAI,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAc,CAAC;IACvC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAiB;IAC1C,eAAe,EAAE,CAAC;IAClB,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,281 @@
1
+ # OGP Protocol Specification
2
+
3
+ > Open Gateway Protocol (OGP) v0.2.x — Federation Protocol Reference
4
+
5
+ ## Overview
6
+
7
+ OGP enables cryptographically secured peer-to-peer federation between OpenClaw AI gateway instances. This document specifies the protocol endpoints, message formats, and sequences.
8
+
9
+ ## Table of Contents
10
+
11
+ 1. [Endpoints](#endpoints)
12
+ 2. [Federation Lifecycle](#federation-lifecycle)
13
+ 3. [Tear-Down Sequence](#tear-down-sequence)
14
+ 4. [Security Requirements](#security-requirements)
15
+ 5. [Error Handling](#error-handling)
16
+
17
+ ## Endpoints
18
+
19
+ ### Discovery
20
+
21
+ | Endpoint | Method | Auth | Description |
22
+ |----------|--------|------|-------------|
23
+ | `/.well-known/ogp` | GET | None | Public discovery — returns gateway identity, public key, capabilities |
24
+
25
+ ### Federation Management
26
+
27
+ | Endpoint | Method | Auth | Description |
28
+ |----------|--------|------|-------------|
29
+ | `/federation/request` | POST | Signature | Receive federation request from peer |
30
+ | `/federation/approve` | POST | Signature | Receive approval from peer |
31
+ | `/federation/removed` | POST | Signature | **Receive tear-down notification (BUILD-113)** |
32
+
33
+ ### Messaging
34
+
35
+ | Endpoint | Method | Auth | Description |
36
+ |----------|--------|------|-------------|
37
+ | `/federation/message` | POST | Signature | Receive federated message |
38
+ | `/federation/reply/:nonce` | GET | None | Poll for reply to a message |
39
+ | `/federation/reply/:nonce` | POST | Signature | Receive reply callback from remote gateway |
40
+ | `/federation/ping` | GET | None | Health check — returns `pong: true` |
41
+
42
+ ## Federation Lifecycle
43
+
44
+ ### 1. Discovery
45
+
46
+ Peers discover each other via `/.well-known/ogp` before establishing federation.
47
+
48
+ ### 2. Request → Approval
49
+
50
+ ```
51
+ Alice Bob
52
+ | |
53
+ |-- POST /federation/request ->
54
+ |<- 200 {received: true, status: "pending"} --|
55
+ | |
56
+ | [Bob approves]
57
+ | |
58
+ |<- POST /federation/approve ----|
59
+ |--- 200 {received: true} --->|
60
+ ```
61
+
62
+ ### 3. Active Federation
63
+
64
+ Both peers can now send messages via `/federation/message`.
65
+
66
+ ### 4. Tear-Down (Asymmetric Removal)
67
+
68
+ Either peer can terminate federation unilaterally. See [Tear-Down Sequence](#tear-down-sequence).
69
+
70
+ ## Tear-Down Sequence
71
+
72
+ OGP uses **asymmetric removal** for federation tear-down. The removing peer's decision is authoritative; the removed peer is notified on a best-effort basis but does not control the removal.
73
+
74
+ ### Sequence Diagram
75
+
76
+ ```
77
+ Alice (Initiator) Bob (Recipient)
78
+ | |
79
+ | 1. CLI: ogp federation remove |
80
+ | peer-bob |
81
+ | |
82
+ | 2. Sign {peerId, timestamp} |
83
+ | with Alice's private key |
84
+ | |
85
+ | 3. POST /federation/removed ----> |
86
+ | {peerId, timestamp, signature} |
87
+ | |
88
+ |<-- 4. 200 {success: true} ---------|
89
+ | (best-effort, ignored if fails)|
90
+ | |
91
+ | 5. Update status to 'removed' |
92
+ | (local, authoritative) |
93
+ | |
94
+ | 6. Notify OpenClaw agent |
95
+ | |
96
+ [Federation terminated — Alice side]
97
+ | |
98
+ | | 7. Validate signature
99
+ | | with Alice's public key
100
+ | |
101
+ | | 8. Update status to 'removed'
102
+ | | (local)
103
+ | |
104
+ | | 9. Notify OpenClaw agent
105
+ | |
106
+ [Federation terminated — Bob side]
107
+ ```
108
+
109
+ ### Asymmetric Removal Properties
110
+
111
+ | Property | Description |
112
+ |----------|-------------|
113
+ | **Unilateral** | Either peer can remove the other without consent |
114
+ | **Authoritative** | Remover's local state change is immediate and binding |
115
+ | **Best-effort notify** | Notification is sent but failures don't block removal |
116
+ | **No retry** | If notification fails, no automatic retry (remover already removed peer) |
117
+ | **Reversible** | Either peer can re-establish federation with a new request |
118
+
119
+ ### `/federation/removed` Endpoint Specification
120
+
121
+ **URL:** `POST /federation/removed`
122
+
123
+ **Headers:**
124
+ ```
125
+ Content-Type: application/json
126
+ ```
127
+
128
+ **Request Body:**
129
+ ```json
130
+ {
131
+ "peerId": "string", // Public key prefix (16 chars) of removing peer
132
+ "timestamp": "string", // ISO 8601 timestamp
133
+ "signature": "string" // Ed25519 signature (base64/hex)
134
+ }
135
+ ```
136
+
137
+ **Payload for Signature:**
138
+ The signature covers the canonical JSON serialization of `{peerId, timestamp}`:
139
+ ```typescript
140
+ const payload = JSON.stringify({ peerId, timestamp });
141
+ const signature = sign(payload, privateKey);
142
+ ```
143
+
144
+ **Response (Success):**
145
+ ```json
146
+ {
147
+ "success": true,
148
+ "peerId": "peer-alice",
149
+ "status": "removed"
150
+ }
151
+ ```
152
+
153
+ **Response (Error):**
154
+
155
+ | Status | Condition |
156
+ |--------|-----------|
157
+ | 400 | Missing required fields (`peerId`, `timestamp`, or `signature`) |
158
+ | 400 | Invalid or stale timestamp (>5 minute window) |
159
+ | 403 | Invalid signature (authentication failure) |
160
+ | 404 | Unknown peer (not in recipient's peer list) |
161
+ | 500 | Failed to update peer status |
162
+
163
+ ### Error Response Bodies
164
+
165
+ ```json
166
+ // 400 - Missing fields
167
+ {
168
+ "success": false,
169
+ "error": "Missing required fields: peerId, timestamp, signature"
170
+ }
171
+
172
+ // 400 - Stale timestamp
173
+ {
174
+ "success": false,
175
+ "error": "Invalid or stale timestamp"
176
+ }
177
+
178
+ // 403 - Invalid signature
179
+ {
180
+ "success": false,
181
+ "error": "Invalid signature"
182
+ }
183
+
184
+ // 404 - Unknown peer
185
+ {
186
+ "success": false,
187
+ "error": "Unknown peer"
188
+ }
189
+
190
+ // 500 - Internal error
191
+ {
192
+ "success": false,
193
+ "error": "Failed to update peer status"
194
+ }
195
+ ```
196
+
197
+ ## Security Requirements
198
+
199
+ ### Signature Verification
200
+
201
+ All federation endpoints (except discovery and ping) require Ed25519 signatures:
202
+
203
+ 1. **Serialize payload** — Canonical JSON string
204
+ 2. **Sign** — Ed25519 private key of sender
205
+ 3. **Verify** — Look up sender's public key from `peers.json`, verify signature
206
+
207
+ ### Timestamp Freshness
208
+
209
+ Removal notifications include a timestamp checked for freshness:
210
+ - Valid window: ±5 minutes from server time
211
+ - Purpose: Prevent replay attacks
212
+ - Failure: HTTP 400 with "Invalid or stale timestamp"
213
+
214
+ ### Peer Lookup
215
+
216
+ Recipients must verify:
217
+ 1. Peer exists in local `peers.json` (or return 404)
218
+ 2. Peer status allows receiving notifications (approved, pending)
219
+ 3. Public key matches stored key (via signature verification)
220
+
221
+ ## Error Handling
222
+
223
+ ### Client (Initiator) Errors
224
+
225
+ | Scenario | Behavior |
226
+ |----------|----------|
227
+ | Network timeout | Log warning, continue with local removal |
228
+ | HTTP 4xx/5xx | Log warning with status code, continue with local removal |
229
+ | Signature failure (local) | Abort, display error to user |
230
+
231
+ ### Server (Recipient) Errors
232
+
233
+ | Scenario | Behavior |
234
+ |----------|----------|
235
+ | Missing fields | HTTP 400, do not modify peer state |
236
+ | Invalid signature | HTTP 403, do not modify peer state |
237
+ | Stale timestamp | HTTP 400, do not modify peer state |
238
+ | Unknown peer | HTTP 404, do not create new peer |
239
+ | Update failure | HTTP 500, peer state unchanged |
240
+
241
+ ### OpenClaw Notification
242
+
243
+ On successful removal (either side):
244
+ - Fire `notifyOpenClaw()` with metadata
245
+ - Include: peer ID, display name, removal type ("federation_removed")
246
+ - Session key: `agent:main:main` (configurable)
247
+
248
+ ## CLI Reference
249
+
250
+ ### Remove Peer Command
251
+
252
+ ```bash
253
+ ogp federation remove <peer-id>
254
+ ```
255
+
256
+ **Example:**
257
+ ```bash
258
+ ogp federation remove peer-bob
259
+ ```
260
+
261
+ **Output (success):**
262
+ ```
263
+ ✓ Notified peer of removal
264
+ ✓ Removed peer: peer-bob (Bob)
265
+ ```
266
+
267
+ **Output (peer unreachable):**
268
+ ```
269
+ ⚠ Could not notify peer of removal: fetch failed
270
+ ✓ Removed peer: peer-bob (Bob)
271
+ ```
272
+
273
+ The removal succeeds even if notification fails.
274
+
275
+ ## Version History
276
+
277
+ | Version | Change |
278
+ |---------|--------|
279
+ | 0.2.x | Added asymmetric federation removal (`/federation/removed` endpoint) — BUILD-113 |
280
+ | 0.2.0 | Added scope negotiation and agent-comms |
281
+ | 0.1.0 | Initial protocol with request/approve/message |