@sleep2agi/commhub-server 0.5.0-preview.13 → 0.5.0-preview.14

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 (2) hide show
  1. package/package.json +1 -1
  2. package/src/tools.ts +11 -5
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sleep2agi/commhub-server",
3
- "version": "0.5.0-preview.13",
3
+ "version": "0.5.0-preview.14",
4
4
  "description": "CommHub MCP Server — AI Agent communication hub with SSE push, MCP protocol, and REST API",
5
5
  "type": "module",
6
6
  "main": "src/index.ts",
package/src/tools.ts CHANGED
@@ -270,9 +270,10 @@ export function registerTools(server: McpServer, clientIP?: string) {
270
270
  {
271
271
  filter_status: z.string().max(50).optional(),
272
272
  filter_server: z.string().max(200).optional(),
273
+ network_id: z.string().max(200).optional().describe("Filter by network"),
273
274
  },
274
- async ({ filter_status, filter_server }) => {
275
- console.log(`[${ts()}] hub → get_all_status${filter_status ? ": filter=" + filter_status : ""}${filter_server ? " server=" + filter_server : ""}`);
275
+ async ({ filter_status, filter_server, network_id: netId }) => {
276
+ console.log(`[${ts()}] hub → get_all_status${filter_status ? ": filter=" + filter_status : ""}${netId ? " net=" + netId.slice(0, 12) : ""}`);
276
277
 
277
278
  const sessions = db.transaction(() => {
278
279
  const cutoff = new Date(Date.now() - 10 * 60 * 1000).toISOString().replace("T", " ").slice(0, 19);
@@ -280,6 +281,7 @@ export function registerTools(server: McpServer, clientIP?: string) {
280
281
 
281
282
  let sql = "SELECT * FROM sessions WHERE 1=1";
282
283
  const params: any[] = [];
284
+ if (netId) { sql += " AND network_id = ?"; params.push(netId); }
283
285
  if (filter_status) { sql += " AND status = ?"; params.push(filter_status); }
284
286
  if (filter_server) { sql += " AND server = ?"; params.push(filter_server); }
285
287
  sql += " ORDER BY updated_at DESC";
@@ -576,11 +578,13 @@ export function registerTools(server: McpServer, clientIP?: string) {
576
578
  alias: z.string().max(200).optional().describe("Filter by to_name (target agent)"),
577
579
  status: z.string().max(50).optional().describe("Filter by status"),
578
580
  from_name: z.string().max(200).optional().describe("Filter by sender"),
581
+ network_id: z.string().max(200).optional().describe("Filter by network"),
579
582
  limit: z.number().min(1).max(100).optional().default(20),
580
583
  },
581
- async ({ alias, status, from_name, limit }) => {
584
+ async ({ alias, status, from_name, network_id: netId, limit }) => {
582
585
  let sql = "SELECT task_id, from_name, to_name, priority, status, content, result, created_at, completed_at FROM tasks WHERE 1=1";
583
586
  const params: any[] = [];
587
+ if (netId) { sql += ` AND network_id = ?${params.length + 1}`; params.push(netId); }
584
588
  if (alias) { sql += ` AND to_name = ?${params.length + 1}`; params.push(alias); }
585
589
  if (status) { sql += ` AND status = ?${params.length + 1}`; params.push(status); }
586
590
  if (from_name) { sql += ` AND from_name = ?${params.length + 1}`; params.push(from_name); }
@@ -672,11 +676,13 @@ export function registerTools(server: McpServer, clientIP?: string) {
672
676
  message: z.string().min(1).max(10000),
673
677
  filter_server: z.string().max(200).optional(),
674
678
  filter_status: z.string().max(50).optional(),
679
+ network_id: z.string().max(200).optional().describe("Broadcast within a specific network"),
675
680
  },
676
- async ({ message, filter_server, filter_status }) => {
677
- console.log(`[${ts()}] hub → broadcast: ${message.slice(0, 60)}${filter_server ? " [server=" + filter_server + "]" : ""}`);
681
+ async ({ message, filter_server, filter_status, network_id: netId }) => {
682
+ console.log(`[${ts()}] hub → broadcast: ${message.slice(0, 60)}${netId ? " [net=" + netId.slice(0, 12) + "]" : ""}`);
678
683
  let sql = "SELECT alias FROM sessions WHERE alias IS NOT NULL";
679
684
  const params: any[] = [];
685
+ if (netId) { sql += " AND network_id = ?"; params.push(netId); }
680
686
  if (filter_server) { sql += " AND server = ?"; params.push(filter_server); }
681
687
  if (filter_status) { sql += " AND status = ?"; params.push(filter_status); }
682
688