@gholl-studio/pier-connector 0.6.5 → 0.6.6

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/inbound.js CHANGED
@@ -16,11 +16,14 @@ inbound, jobId, robot, pierPlugin) {
16
16
  const rootConfig = ctx.cfg || {};
17
17
  const accountScopedCfg = rootConfig;
18
18
  // 2. Resolve Agent Route
19
+ const isWorkspace = inbound.senderId.startsWith('pierWorkspace:');
20
+ const peerId = isWorkspace ? jobId : jobId; // Both use groupId/jobId in Pier
21
+ const chatType = isWorkspace ? 'group' : 'direct';
19
22
  const route = channelRuntime.routing.resolveAgentRoute({
20
23
  cfg: accountScopedCfg,
21
24
  channel: 'pier',
22
25
  accountId: robot.accountId,
23
- peer: { kind: 'direct', id: jobId }
26
+ peer: { kind: isWorkspace ? 'group' : 'direct', id: peerId }
24
27
  });
25
28
  const finalAgentId = route.agentId || 'main';
26
29
  const routingSource = route.agentId ? 'sdk-scoped-route' : 'sdk-default-fallback';
@@ -64,7 +67,7 @@ inbound, jobId, robot, pierPlugin) {
64
67
  To: `chat:${jobId}`,
65
68
  SessionKey: route.sessionKey,
66
69
  AccountId: robot.accountId,
67
- ChatType: 'direct',
70
+ ChatType: chatType,
68
71
  SenderId: inbound.senderId,
69
72
  SenderName: inbound.senderId,
70
73
  Provider: 'pier',
@@ -1 +1 @@
1
- {"version":3,"file":"inbound.js","sourceRoot":"","sources":["../src/inbound.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inbound.js","sourceRoot":"","sources":["../src/inbound.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -103,7 +103,7 @@ const pierPlugin = {
103
103
  const jobId = ctx.to.replace(/^pier:/, '');
104
104
  const jobMeta = robot.activeNodeJobs.get(jobId);
105
105
  const isWorkspace = jobMeta?.workspace === true || ctx.metadata?.workspace === true;
106
- const subject = isWorkspace ? `workspace.${jobId}.chat` : `chat.${jobId}`;
106
+ // Standard Pier Payload
107
107
  const payload = {
108
108
  id: globalThis.crypto.randomUUID ? globalThis.crypto.randomUUID() : (Math.random().toString(36).substring(2)),
109
109
  job_id: jobId,
@@ -112,9 +112,28 @@ const pierPlugin = {
112
112
  sender_type: 'node',
113
113
  content: ctx.text,
114
114
  created_at: new Date().toISOString(),
115
- auth_token: robot.config.secretKey
115
+ auth_token: robot.config.secretKey,
116
+ timestamp: Date.now()
116
117
  };
117
- await robot.js.publish(subject, new TextEncoder().encode(JSON.stringify(payload)));
118
+ if (isWorkspace) {
119
+ // Use SDK-aligned workspace protocol (includes signing if configured)
120
+ const ns = ctx.metadata?.namespace || 'default';
121
+ let swarmPayload = {
122
+ ...payload,
123
+ version: 'psp-1.0',
124
+ groupId: jobId,
125
+ senderId: robot.accountId,
126
+ };
127
+ if (robot.config.privateKey) {
128
+ swarmPayload = await PierCrypto.signSwarmMessage(swarmPayload, robot.config.privateKey);
129
+ }
130
+ await robot.client.nats.publishGroupChat(jobId, swarmPayload, ns);
131
+ }
132
+ else {
133
+ // Standard Marketplace Job Chat
134
+ const subject = `chat.${jobId}`;
135
+ await robot.js.publish(subject, new TextEncoder().encode(JSON.stringify(payload)));
136
+ }
118
137
  return {
119
138
  channel: 'pier',
120
139
  messageId: payload.id,
@@ -261,6 +280,7 @@ const register = (api) => {
261
280
  metadata = robot.activeNodeJobs.get(toId);
262
281
  }
263
282
  const jobId = metadata?.pierJobId || params.jobId;
283
+ const isWorkspace = metadata?.workspace === true;
264
284
  if (!robot.js) {
265
285
  return { content: [{ type: 'text', text: 'Error: JetStream not available' }], details: {} };
266
286
  }
@@ -272,9 +292,25 @@ const register = (api) => {
272
292
  sender_type: 'node',
273
293
  content: params.text,
274
294
  created_at: new Date().toISOString(),
275
- auth_token: robot.config.secretKey
295
+ auth_token: robot.config.secretKey,
296
+ timestamp: Date.now()
276
297
  };
277
- await robot.js.publish(subject, new TextEncoder().encode(JSON.stringify(payload)));
298
+ if (isWorkspace) {
299
+ let swarmPayload = {
300
+ ...payload,
301
+ version: 'psp-1.0',
302
+ groupId: jobId,
303
+ senderId: robot.accountId,
304
+ };
305
+ if (robot.config.privateKey) {
306
+ swarmPayload = await PierCrypto.signSwarmMessage(swarmPayload, robot.config.privateKey);
307
+ }
308
+ await robot.client.nats.publishGroupChat(jobId, swarmPayload);
309
+ }
310
+ else {
311
+ const subject = `chat.${jobId}`;
312
+ await robot.js.publish(subject, new TextEncoder().encode(JSON.stringify(payload)));
313
+ }
278
314
  return { content: [{ type: 'text', text: 'Message sent' }], details: {} };
279
315
  }
280
316
  catch (err) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/robot.js CHANGED
@@ -268,86 +268,97 @@ export class PierRobot {
268
268
  return { success: false, budgetLeft: -1 }; // Retries exhausted
269
269
  }
270
270
  async handleGroupChat(subject, payload) {
271
- if (!payload || !payload.id || !payload.groupId)
272
- return;
273
- // --- Zero-Trust Crypto Verification ---
274
- if (payload.signature && payload.publicKey) {
275
- const isValid = PierCrypto.verifySwarmMessage(payload);
276
- if (!isValid) {
277
- this.logger.warn(`[pier-connector][${this.accountId}] ⚠️ INVALID SIGNATURE from ${payload.senderId} (${payload.publicKey}). Message DROPPED.`);
271
+ try {
272
+ if (!payload || !payload.id || !payload.groupId) {
273
+ this.logger.debug(`[pier-connector][${this.accountId}] ⚠️ Malformed group chat payload received on ${subject}`);
278
274
  return;
279
275
  }
280
- }
281
- else {
282
- this.logger.warn(`[pier-connector][${this.accountId}] ⚠️ UNSIGNATURED MESSAGE from ${payload.senderId}. Accepting via Soft-Block fallback.`);
283
- }
284
- // Don't echo our own messages
285
- if (payload.senderId === this.config.nodeId || payload.senderId === this.accountId)
286
- return;
287
- // --- Anti-Replay: Nonce deduplication check (PSP 1.0) ---
288
- if (payload.nonce) {
289
- const isFresh = await this.checkAndStoreNonce(payload.senderId, payload.nonce);
290
- if (!isFresh) {
291
- this.logger.warn(`[pier-connector][${this.accountId}] ⛔ REPLAY ATTACK DETECTED: duplicate nonce from ${payload.senderId}. Dropped.`);
276
+ this.logger.debug(`[pier-connector][${this.accountId}] 📩 Received group message: subject=${subject}, id=${payload.id}, sender=${payload.senderId}`);
277
+ // --- Zero-Trust Crypto Verification ---
278
+ if (payload.signature && payload.publicKey) {
279
+ const isValid = PierCrypto.verifySwarmMessage(payload);
280
+ if (!isValid) {
281
+ this.logger.warn(`[pier-connector][${this.accountId}] ⚠️ INVALID SIGNATURE from ${payload.senderId} (${payload.publicKey}). Message DROPPED.`);
282
+ return;
283
+ }
284
+ }
285
+ else {
286
+ this.logger.debug(`[pier-connector][${this.accountId}] ℹ️ Unsigned message from ${payload.senderId}. Accepting...`);
287
+ }
288
+ // Don't echo our own messages
289
+ if (payload.senderId === this.config.nodeId || payload.senderId === this.accountId) {
290
+ this.logger.debug(`[pier-connector][${this.accountId}] 🤫 Dropping own message`);
292
291
  return;
293
292
  }
294
- }
295
- const isMentioned = !!payload.mentions && (payload.mentions.includes(this.accountId) || payload.mentions.includes('all'));
296
- const buffer = this.groupRingBuffer.get(payload.groupId) || [];
297
- buffer.push(payload);
298
- if (buffer.length > 10)
299
- buffer.shift();
300
- this.groupRingBuffer.set(payload.groupId, buffer);
301
- if (isMentioned) {
302
- const backlog = buffer.slice(0, -1);
303
- let injectedBody = payload.content;
304
- if (backlog.length > 0) {
305
- const backlogText = backlog.map(m => `[${new Date(m.timestamp).toLocaleTimeString()}] ${m.senderId}: ${m.content}`).join('\n');
306
- injectedBody = `[System: You were just mentioned. Background context you overheard while silent:\n${backlogText}\nNow, please respond to the latest mention.]\n\n${payload.content}`;
307
- }
308
- // Setup FinOps Circuit Breaker Check (S7 Hardened)
309
- try {
310
- const { success, budgetLeft } = await this.decrementBudgetWithRetry(payload.groupId);
311
- if (!success) {
312
- this.logger.error(`[pier-connector] Budget exhausted or update conflict for workspace ${payload.groupId}. Task BLOCKED.`);
313
- let sysPayload = {
314
- version: 'psp-1.0',
315
- id: `sys-${Date.now()}`,
316
- namespace: payload.namespace || 'default',
317
- groupId: payload.groupId,
318
- senderId: this.accountId,
319
- content: budgetLeft === 0 ? 'Critical Error: Workspace budget exhausted.' : 'Internal Error: Concurrent budget lock failure.',
320
- mentions: [],
321
- timestamp: Date.now()
322
- };
323
- if (this.config.privateKey) {
324
- sysPayload = await PierCrypto.signSwarmMessage(sysPayload, this.config.privateKey);
293
+ // --- Anti-Replay: Nonce deduplication check (PSP 1.0) ---
294
+ if (payload.nonce) {
295
+ const isFresh = await this.checkAndStoreNonce(payload.senderId, payload.nonce);
296
+ if (!isFresh) {
297
+ this.logger.warn(`[pier-connector][${this.accountId}] REPLAY ATTACK DETECTED: duplicate nonce from ${payload.senderId}. Dropped.`);
298
+ return;
299
+ }
300
+ }
301
+ const isMentioned = !!payload.mentions && (payload.mentions.includes(this.accountId) || payload.mentions.includes('all'));
302
+ this.logger.debug(`[pier-connector][${this.accountId}] Mentions check: [${payload.mentions?.join(',') || 'none'}] -> isMentioned=${isMentioned}`);
303
+ const buffer = this.groupRingBuffer.get(payload.groupId) || [];
304
+ buffer.push(payload);
305
+ if (buffer.length > 10)
306
+ buffer.shift();
307
+ this.groupRingBuffer.set(payload.groupId, buffer);
308
+ if (isMentioned || payload.mentions === undefined) {
309
+ const backlog = buffer.slice(0, -1);
310
+ let injectedBody = payload.content;
311
+ if (backlog.length > 0) {
312
+ const backlogText = backlog.map(m => `[${new Date(m.timestamp).toLocaleTimeString()}] ${m.senderId}: ${m.content}`).join('\n');
313
+ injectedBody = `[System: You were just mentioned. Background context you overheard while silent:\n${backlogText}\nNow, please respond to the latest mention.]\n\n${payload.content}`;
314
+ }
315
+ // Setup FinOps Circuit Breaker Check (S7 Hardened)
316
+ try {
317
+ const { success, budgetLeft } = await this.decrementBudgetWithRetry(payload.groupId);
318
+ if (!success) {
319
+ this.logger.error(`[pier-connector] Budget exhausted or update conflict for workspace ${payload.groupId}. Task BLOCKED.`);
320
+ let sysPayload = {
321
+ version: 'psp-1.0',
322
+ id: `sys-${Date.now()}`,
323
+ namespace: payload.namespace || 'default',
324
+ groupId: payload.groupId,
325
+ senderId: this.accountId,
326
+ content: budgetLeft === 0 ? 'Critical Error: Workspace budget exhausted.' : 'Internal Error: Concurrent budget lock failure.',
327
+ mentions: [],
328
+ timestamp: Date.now()
329
+ };
330
+ if (this.config.privateKey) {
331
+ sysPayload = await PierCrypto.signSwarmMessage(sysPayload, this.config.privateKey);
332
+ }
333
+ await this.client.nats.publishGroupChat(payload.groupId, sysPayload, sysPayload.namespace);
334
+ return; // Hard Block / Fail-Close
335
+ }
336
+ if (budgetLeft <= 20 && budgetLeft !== Infinity) {
337
+ injectedBody = `[System WARNING: FinOps Budget is extremely low (${budgetLeft} left). Please summarize your thoughts and conclude your work immediately.]\n\n` + injectedBody;
325
338
  }
326
- await this.client.nats.publishGroupChat(payload.groupId, sysPayload, sysPayload.namespace);
327
- return; // Hard Block / Fail-Close
328
339
  }
329
- if (budgetLeft <= 20 && budgetLeft !== Infinity) {
330
- injectedBody = `[System WARNING: FinOps Budget is extremely low (${budgetLeft} left). Please summarize your thoughts and conclude your work immediately.]\n\n` + injectedBody;
340
+ catch (err) {
341
+ this.logger.warn(`Failed to check budget for workspace ${payload.groupId}: ${err.message}`);
331
342
  }
343
+ this.logger.info(`[pier-connector][${this.accountId}] 🔔 Responding to group ${payload.groupId} by ${payload.senderId}`);
344
+ this.isBusy = true;
345
+ await this.onInbound({
346
+ accountId: this.accountId,
347
+ senderId: `pierWorkspace:${payload.senderId}`,
348
+ body: injectedBody,
349
+ jobId: payload.groupId,
350
+ messageId: payload.id,
351
+ WasMentioned: true
352
+ }, payload.groupId);
353
+ this.isBusy = false;
354
+ }
355
+ else {
356
+ // Silently observe and update context without triggering LLM
357
+ this.logger.debug(`[pier-connector][${this.accountId}] 🤫 Observing group ${payload.groupId} (not mentioned, cached in RingBuffer)`);
332
358
  }
333
- catch (err) {
334
- this.logger.warn(`Failed to check budget for workspace ${payload.groupId}: ${err.message}`);
335
- }
336
- this.logger.info(`[pier-connector][${this.accountId}] 🔔 Mentioned in group ${payload.groupId} by ${payload.senderId}`);
337
- this.isBusy = true;
338
- await this.onInbound({
339
- accountId: this.accountId,
340
- senderId: `pierWorkspace:${payload.senderId}`,
341
- body: injectedBody,
342
- jobId: payload.groupId,
343
- messageId: payload.id,
344
- WasMentioned: true
345
- }, payload.groupId);
346
- this.isBusy = false;
347
359
  }
348
- else {
349
- // Silently observe and update context without triggering LLM
350
- this.logger.debug(`[pier-connector][${this.accountId}] 🤫 Observing group ${payload.groupId} (not mentioned, cached in RingBuffer)`);
360
+ catch (err) {
361
+ this.logger.error(`[pier-connector][${this.accountId}] Error in handleGroupChat: ${err.message}`);
351
362
  }
352
363
  }
353
364
  async handleMessage(msg) {
@@ -547,9 +558,9 @@ export class PierRobot {
547
558
  const durableNameDirect = `pier_node_${this.config.nodeId.replace(/-/g, '_')}_${this.accountId}`;
548
559
  await this.setupMarketplaceConsumer(streamName, this.config.subject, durableNameMarket);
549
560
  await this.setupMarketplaceConsumer(streamName, `jobs.node.${this.config.nodeId}`, durableNameDirect);
550
- // Subscribe to all multi-agent workspaces via NATS core
551
- // Support PSP Federation namespace wildcards
552
- this.client.nats.subscribe('workspace.>.chat', (payload, msg) => {
561
+ // Subscribe to all multi-agent workspaces via Pier SDK (supports federation wide wildcards)
562
+ await this.client.nats.subscribeGroupChat('>', (payload, msg) => {
563
+ this.logger.debug(`[pier-connector] [DEBUG] Raw NATS Message: subject="${msg.subject}"`);
553
564
  this.handleGroupChat(msg.subject, payload);
554
565
  });
555
566
  // Register capability discovery responders (Subject-based Discovery, PSP 1.0)
package/dist/robot.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"robot.js","sourceRoot":"","sources":["../src/robot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"robot.js","sourceRoot":"","sources":["../src/robot.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@gholl-studio/pier-connector",
3
3
  "author": "gholl",
4
- "version": "0.6.5",
4
+ "version": "0.6.6",
5
5
  "description": "OpenClaw plugin that connects to the Pier job marketplace. Automatically fetches, executes, and reports distributed tasks for rewards.",
6
6
  "type": "module",
7
7
  "main": "dist/index.js",
@@ -41,7 +41,7 @@
41
41
  ],
42
42
  "license": "MIT",
43
43
  "dependencies": {
44
- "@gholl-studio/pier-sdk": "^1.4.1",
44
+ "@gholl-studio/pier-sdk": "^1.4.2",
45
45
  "@nats-io/jetstream": "^3.3.1",
46
46
  "@nats-io/transport-node": "^3.0.0",
47
47
  "ethers": "^6.16.0",
package/src/inbound.ts CHANGED
@@ -28,11 +28,15 @@ export async function handleInbound(
28
28
  const accountScopedCfg = rootConfig;
29
29
 
30
30
  // 2. Resolve Agent Route
31
+ const isWorkspace = inbound.senderId.startsWith('pierWorkspace:');
32
+ const peerId = isWorkspace ? jobId : jobId; // Both use groupId/jobId in Pier
33
+ const chatType = isWorkspace ? 'group' : 'direct';
34
+
31
35
  const route = channelRuntime.routing.resolveAgentRoute({
32
36
  cfg: accountScopedCfg,
33
37
  channel: 'pier',
34
38
  accountId: robot.accountId,
35
- peer: { kind: 'direct', id: jobId }
39
+ peer: { kind: isWorkspace ? 'group' : 'direct', id: peerId }
36
40
  });
37
41
 
38
42
  const finalAgentId = route.agentId || 'main';
@@ -80,7 +84,7 @@ export async function handleInbound(
80
84
  To: `chat:${jobId}`,
81
85
  SessionKey: route.sessionKey,
82
86
  AccountId: robot.accountId,
83
- ChatType: 'direct',
87
+ ChatType: chatType as any,
84
88
  SenderId: inbound.senderId,
85
89
  SenderName: inbound.senderId,
86
90
  Provider: 'pier',
package/src/index.ts CHANGED
@@ -120,9 +120,9 @@ const pierPlugin: ChannelPlugin<PierAccountConfig> = {
120
120
  const jobId = ctx.to.replace(/^pier:/, '');
121
121
  const jobMeta = robot.activeNodeJobs.get(jobId);
122
122
  const isWorkspace = jobMeta?.workspace === true || (ctx as any).metadata?.workspace === true;
123
- const subject = isWorkspace ? `workspace.${jobId}.chat` : `chat.${jobId}`;
124
123
 
125
- const payload = {
124
+ // Standard Pier Payload
125
+ const payload: any = {
126
126
  id: (globalThis.crypto as any).randomUUID ? (globalThis.crypto as any).randomUUID() : (Math.random().toString(36).substring(2)),
127
127
  job_id: jobId,
128
128
  sender_id: robot.config.nodeId,
@@ -130,10 +130,28 @@ const pierPlugin: ChannelPlugin<PierAccountConfig> = {
130
130
  sender_type: 'node',
131
131
  content: ctx.text,
132
132
  created_at: new Date().toISOString(),
133
- auth_token: robot.config.secretKey
133
+ auth_token: robot.config.secretKey,
134
+ timestamp: Date.now()
134
135
  };
135
136
 
136
- await robot.js.publish(subject, new TextEncoder().encode(JSON.stringify(payload)));
137
+ if (isWorkspace) {
138
+ // Use SDK-aligned workspace protocol (includes signing if configured)
139
+ const ns = (ctx as any).metadata?.namespace || 'default';
140
+ let swarmPayload: any = {
141
+ ...payload,
142
+ version: 'psp-1.0',
143
+ groupId: jobId,
144
+ senderId: robot.accountId,
145
+ };
146
+ if (robot.config.privateKey) {
147
+ swarmPayload = await PierCrypto.signSwarmMessage(swarmPayload, robot.config.privateKey);
148
+ }
149
+ await robot.client.nats.publishGroupChat(jobId, swarmPayload, ns);
150
+ } else {
151
+ // Standard Marketplace Job Chat
152
+ const subject = `chat.${jobId}`;
153
+ await robot.js.publish(subject, new TextEncoder().encode(JSON.stringify(payload)));
154
+ }
137
155
 
138
156
  return {
139
157
  channel: 'pier',
@@ -295,12 +313,13 @@ const register = (api: PierPluginApi) => {
295
313
  }
296
314
 
297
315
  const jobId = metadata?.pierJobId || params.jobId;
316
+ const isWorkspace = metadata?.workspace === true;
298
317
 
299
318
  if (!robot.js) {
300
319
  return { content: [{ type: 'text', text: 'Error: JetStream not available' }], details: {} };
301
320
  }
302
321
 
303
- const payload = {
322
+ const payload: any = {
304
323
  id: (globalThis.crypto as any).randomUUID ? (globalThis.crypto as any).randomUUID() : (Math.random().toString(36).substring(2)),
305
324
  job_id: jobId,
306
325
  sender_id: robot.config.nodeId,
@@ -308,10 +327,25 @@ const register = (api: PierPluginApi) => {
308
327
  sender_type: 'node',
309
328
  content: params.text,
310
329
  created_at: new Date().toISOString(),
311
- auth_token: robot.config.secretKey
330
+ auth_token: robot.config.secretKey,
331
+ timestamp: Date.now()
312
332
  };
313
333
 
314
- await robot.js.publish(subject, new TextEncoder().encode(JSON.stringify(payload)));
334
+ if (isWorkspace) {
335
+ let swarmPayload: any = {
336
+ ...payload,
337
+ version: 'psp-1.0',
338
+ groupId: jobId,
339
+ senderId: robot.accountId,
340
+ };
341
+ if (robot.config.privateKey) {
342
+ swarmPayload = await PierCrypto.signSwarmMessage(swarmPayload, robot.config.privateKey);
343
+ }
344
+ await robot.client.nats.publishGroupChat(jobId, swarmPayload);
345
+ } else {
346
+ const subject = `chat.${jobId}`;
347
+ await robot.js.publish(subject, new TextEncoder().encode(JSON.stringify(payload)));
348
+ }
315
349
  return { content: [{ type: 'text', text: 'Message sent' }], details: {} };
316
350
  } catch (err: any) {
317
351
  return { content: [{ type: 'text', text: `Error: ${err.message}` }], details: {} };
package/src/robot.ts CHANGED
@@ -276,90 +276,103 @@ export class PierRobot {
276
276
  }
277
277
 
278
278
  async handleGroupChat(subject: string, payload: GroupMessagePayload) {
279
- if (!payload || !payload.id || !payload.groupId) return;
280
-
281
- // --- Zero-Trust Crypto Verification ---
282
- if (payload.signature && payload.publicKey) {
283
- const isValid = PierCrypto.verifySwarmMessage(payload as any);
284
- if (!isValid) {
285
- this.logger.warn(`[pier-connector][${this.accountId}] ⚠️ INVALID SIGNATURE from ${payload.senderId} (${payload.publicKey}). Message DROPPED.`);
279
+ try {
280
+ if (!payload || !payload.id || !payload.groupId) {
281
+ this.logger.debug(`[pier-connector][${this.accountId}] ⚠️ Malformed group chat payload received on ${subject}`);
286
282
  return;
287
283
  }
288
- } else {
289
- this.logger.warn(`[pier-connector][${this.accountId}] ⚠️ UNSIGNATURED MESSAGE from ${payload.senderId}. Accepting via Soft-Block fallback.`);
290
- }
291
284
 
292
- // Don't echo our own messages
293
- if (payload.senderId === this.config.nodeId || payload.senderId === this.accountId) return;
285
+ this.logger.debug(`[pier-connector][${this.accountId}] 📩 Received group message: subject=${subject}, id=${payload.id}, sender=${payload.senderId}`);
286
+
287
+ // --- Zero-Trust Crypto Verification ---
288
+ if (payload.signature && payload.publicKey) {
289
+ const isValid = PierCrypto.verifySwarmMessage(payload as any);
290
+ if (!isValid) {
291
+ this.logger.warn(`[pier-connector][${this.accountId}] ⚠️ INVALID SIGNATURE from ${payload.senderId} (${payload.publicKey}). Message DROPPED.`);
292
+ return;
293
+ }
294
+ } else {
295
+ this.logger.debug(`[pier-connector][${this.accountId}] ℹ️ Unsigned message from ${payload.senderId}. Accepting...`);
296
+ }
294
297
 
295
- // --- Anti-Replay: Nonce deduplication check (PSP 1.0) ---
296
- if (payload.nonce) {
297
- const isFresh = await this.checkAndStoreNonce(payload.senderId, payload.nonce);
298
- if (!isFresh) {
299
- this.logger.warn(`[pier-connector][${this.accountId}] ⛔ REPLAY ATTACK DETECTED: duplicate nonce from ${payload.senderId}. Dropped.`);
298
+ // Don't echo our own messages
299
+ if (payload.senderId === this.config.nodeId || payload.senderId === this.accountId) {
300
+ this.logger.debug(`[pier-connector][${this.accountId}] 🤫 Dropping own message`);
300
301
  return;
301
302
  }
302
- }
303
303
 
304
- const isMentioned = !!payload.mentions && (payload.mentions.includes(this.accountId) || payload.mentions.includes('all'));
305
-
306
- const buffer = this.groupRingBuffer.get(payload.groupId) || [];
307
- buffer.push(payload);
308
- if (buffer.length > 10) buffer.shift();
309
- this.groupRingBuffer.set(payload.groupId, buffer);
310
-
311
- if (isMentioned) {
312
- const backlog = buffer.slice(0, -1);
313
- let injectedBody = payload.content;
314
- if (backlog.length > 0) {
315
- const backlogText = backlog.map(m => `[${new Date(m.timestamp).toLocaleTimeString()}] ${m.senderId}: ${m.content}`).join('\n');
316
- injectedBody = `[System: You were just mentioned. Background context you overheard while silent:\n${backlogText}\nNow, please respond to the latest mention.]\n\n${payload.content}`;
317
- }
304
+ // --- Anti-Replay: Nonce deduplication check (PSP 1.0) ---
305
+ if (payload.nonce) {
306
+ const isFresh = await this.checkAndStoreNonce(payload.senderId, payload.nonce);
307
+ if (!isFresh) {
308
+ this.logger.warn(`[pier-connector][${this.accountId}] REPLAY ATTACK DETECTED: duplicate nonce from ${payload.senderId}. Dropped.`);
309
+ return;
310
+ }
311
+ }
318
312
 
319
- // Setup FinOps Circuit Breaker Check (S7 Hardened)
320
- try {
321
- const { success, budgetLeft } = await this.decrementBudgetWithRetry(payload.groupId);
322
-
323
- if (!success) {
324
- this.logger.error(`[pier-connector] Budget exhausted or update conflict for workspace ${payload.groupId}. Task BLOCKED.`);
325
- let sysPayload: any = {
326
- version: 'psp-1.0',
327
- id: `sys-${Date.now()}`,
328
- namespace: payload.namespace || 'default',
329
- groupId: payload.groupId,
330
- senderId: this.accountId,
331
- content: budgetLeft === 0 ? 'Critical Error: Workspace budget exhausted.' : 'Internal Error: Concurrent budget lock failure.',
332
- mentions: [],
333
- timestamp: Date.now()
334
- };
335
- if (this.config.privateKey) {
336
- sysPayload = await PierCrypto.signSwarmMessage(sysPayload, this.config.privateKey);
337
- }
338
- await this.client.nats.publishGroupChat(payload.groupId, sysPayload, sysPayload.namespace);
339
- return; // Hard Block / Fail-Close
340
- }
341
-
342
- if (budgetLeft <= 20 && budgetLeft !== Infinity) {
343
- injectedBody = `[System WARNING: FinOps Budget is extremely low (${budgetLeft} left). Please summarize your thoughts and conclude your work immediately.]\n\n` + injectedBody;
344
- }
345
- } catch (err: any) {
346
- this.logger.warn(`Failed to check budget for workspace ${payload.groupId}: ${err.message}`);
347
- }
313
+ const isMentioned = !!payload.mentions && (payload.mentions.includes(this.accountId) || payload.mentions.includes('all'));
314
+ this.logger.debug(`[pier-connector][${this.accountId}] Mentions check: [${payload.mentions?.join(',') || 'none'}] -> isMentioned=${isMentioned}`);
348
315
 
349
- this.logger.info(`[pier-connector][${this.accountId}] 🔔 Mentioned in group ${payload.groupId} by ${payload.senderId}`);
350
- this.isBusy = true;
351
- await this.onInbound({
352
- accountId: this.accountId,
353
- senderId: `pierWorkspace:${payload.senderId}`,
354
- body: injectedBody,
355
- jobId: payload.groupId,
356
- messageId: payload.id,
357
- WasMentioned: true
358
- }, payload.groupId);
359
- this.isBusy = false;
360
- } else {
361
- // Silently observe and update context without triggering LLM
362
- this.logger.debug(`[pier-connector][${this.accountId}] 🤫 Observing group ${payload.groupId} (not mentioned, cached in RingBuffer)`);
316
+ const buffer = this.groupRingBuffer.get(payload.groupId) || [];
317
+ buffer.push(payload);
318
+ if (buffer.length > 10) buffer.shift();
319
+ this.groupRingBuffer.set(payload.groupId, buffer);
320
+
321
+ if (isMentioned || payload.mentions === undefined) {
322
+ const backlog = buffer.slice(0, -1);
323
+ let injectedBody = payload.content;
324
+ if (backlog.length > 0) {
325
+ const backlogText = backlog.map(m => `[${new Date(m.timestamp).toLocaleTimeString()}] ${m.senderId}: ${m.content}`).join('\n');
326
+ injectedBody = `[System: You were just mentioned. Background context you overheard while silent:\n${backlogText}\nNow, please respond to the latest mention.]\n\n${payload.content}`;
327
+ }
328
+
329
+ // Setup FinOps Circuit Breaker Check (S7 Hardened)
330
+ try {
331
+ const { success, budgetLeft } = await this.decrementBudgetWithRetry(payload.groupId);
332
+
333
+ if (!success) {
334
+ this.logger.error(`[pier-connector] Budget exhausted or update conflict for workspace ${payload.groupId}. Task BLOCKED.`);
335
+ let sysPayload: any = {
336
+ version: 'psp-1.0',
337
+ id: `sys-${Date.now()}`,
338
+ namespace: payload.namespace || 'default',
339
+ groupId: payload.groupId,
340
+ senderId: this.accountId,
341
+ content: budgetLeft === 0 ? 'Critical Error: Workspace budget exhausted.' : 'Internal Error: Concurrent budget lock failure.',
342
+ mentions: [],
343
+ timestamp: Date.now()
344
+ };
345
+ if (this.config.privateKey) {
346
+ sysPayload = await PierCrypto.signSwarmMessage(sysPayload, this.config.privateKey);
347
+ }
348
+ await this.client.nats.publishGroupChat(payload.groupId, sysPayload, sysPayload.namespace);
349
+ return; // Hard Block / Fail-Close
350
+ }
351
+
352
+ if (budgetLeft <= 20 && budgetLeft !== Infinity) {
353
+ injectedBody = `[System WARNING: FinOps Budget is extremely low (${budgetLeft} left). Please summarize your thoughts and conclude your work immediately.]\n\n` + injectedBody;
354
+ }
355
+ } catch (err: any) {
356
+ this.logger.warn(`Failed to check budget for workspace ${payload.groupId}: ${err.message}`);
357
+ }
358
+
359
+ this.logger.info(`[pier-connector][${this.accountId}] 🔔 Responding to group ${payload.groupId} by ${payload.senderId}`);
360
+ this.isBusy = true;
361
+ await this.onInbound({
362
+ accountId: this.accountId,
363
+ senderId: `pierWorkspace:${payload.senderId}`,
364
+ body: injectedBody,
365
+ jobId: payload.groupId,
366
+ messageId: payload.id,
367
+ WasMentioned: true
368
+ }, payload.groupId);
369
+ this.isBusy = false;
370
+ } else {
371
+ // Silently observe and update context without triggering LLM
372
+ this.logger.debug(`[pier-connector][${this.accountId}] 🤫 Observing group ${payload.groupId} (not mentioned, cached in RingBuffer)`);
373
+ }
374
+ } catch (err: any) {
375
+ this.logger.error(`[pier-connector][${this.accountId}] ✖ Error in handleGroupChat: ${err.message}`);
363
376
  }
364
377
  }
365
378
 
@@ -568,9 +581,9 @@ export class PierRobot {
568
581
  await this.setupMarketplaceConsumer(streamName, this.config.subject, durableNameMarket);
569
582
  await this.setupMarketplaceConsumer(streamName, `jobs.node.${this.config.nodeId}`, durableNameDirect);
570
583
 
571
- // Subscribe to all multi-agent workspaces via NATS core
572
- // Support PSP Federation namespace wildcards
573
- this.client.nats.subscribe('workspace.>.chat', (payload: any, msg: any) => {
584
+ // Subscribe to all multi-agent workspaces via Pier SDK (supports federation wide wildcards)
585
+ await this.client.nats.subscribeGroupChat('>', (payload: any, msg: any) => {
586
+ this.logger.debug(`[pier-connector] [DEBUG] Raw NATS Message: subject="${msg.subject}"`);
574
587
  this.handleGroupChat(msg.subject, payload);
575
588
  });
576
589