signetai 0.182.9 → 0.183.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.
package/dist/mcp-stdio.js CHANGED
@@ -47475,6 +47475,55 @@ function up114(db) {
47475
47475
  ON entity_attributes(memory_id, agent_id, status, importance);
47476
47476
  `);
47477
47477
  }
47478
+ function up115(db) {
47479
+ db.exec(`
47480
+ CREATE TABLE IF NOT EXISTS cross_agent_messages (
47481
+ id TEXT PRIMARY KEY,
47482
+ from_agent_id TEXT NOT NULL,
47483
+ from_session_key TEXT,
47484
+ to_agent_id TEXT,
47485
+ to_session_key TEXT,
47486
+ to_session_agent_id TEXT,
47487
+ broadcast INTEGER NOT NULL DEFAULT 0 CHECK(broadcast IN (0, 1)),
47488
+ message_type TEXT NOT NULL CHECK(message_type IN ('assist_request', 'decision_update', 'info', 'question')),
47489
+ content TEXT NOT NULL,
47490
+ delivery_path TEXT NOT NULL CHECK(delivery_path IN ('local', 'acp')),
47491
+ delivery_status TEXT NOT NULL CHECK(delivery_status IN ('queued', 'delivered', 'failed')),
47492
+ delivery_error TEXT,
47493
+ delivery_receipt_json TEXT,
47494
+ created_at TEXT NOT NULL,
47495
+ expires_at TEXT NOT NULL,
47496
+ CHECK(
47497
+ delivery_path = 'acp'
47498
+ OR (
47499
+ CAST(to_agent_id IS NOT NULL AS INTEGER)
47500
+ + CAST(to_session_key IS NOT NULL AS INTEGER)
47501
+ + broadcast = 1
47502
+ )
47503
+ )
47504
+ );
47505
+
47506
+ CREATE TABLE IF NOT EXISTS cross_agent_message_receipts (
47507
+ message_id TEXT NOT NULL REFERENCES cross_agent_messages(id) ON DELETE CASCADE,
47508
+ agent_id TEXT NOT NULL,
47509
+ acknowledged_at TEXT NOT NULL,
47510
+ PRIMARY KEY (message_id, agent_id)
47511
+ );
47512
+
47513
+ CREATE INDEX IF NOT EXISTS idx_cross_agent_messages_agent
47514
+ ON cross_agent_messages(to_agent_id, expires_at, created_at, id);
47515
+ CREATE INDEX IF NOT EXISTS idx_cross_agent_messages_session
47516
+ ON cross_agent_messages(to_session_key, expires_at, created_at, id);
47517
+ CREATE INDEX IF NOT EXISTS idx_cross_agent_messages_session_agent
47518
+ ON cross_agent_messages(to_session_agent_id, expires_at, created_at, id);
47519
+ CREATE INDEX IF NOT EXISTS idx_cross_agent_messages_broadcast
47520
+ ON cross_agent_messages(broadcast, expires_at, created_at, id);
47521
+ CREATE INDEX IF NOT EXISTS idx_cross_agent_messages_sender
47522
+ ON cross_agent_messages(from_agent_id, expires_at, created_at, id);
47523
+ CREATE INDEX IF NOT EXISTS idx_cross_agent_receipts_agent
47524
+ ON cross_agent_message_receipts(agent_id, acknowledged_at, message_id);
47525
+ `);
47526
+ }
47478
47527
  var MIGRATIONS = [
47479
47528
  {
47480
47529
  version: 1,
@@ -48392,6 +48441,14 @@ var MIGRATIONS = [
48392
48441
  version: 114,
48393
48442
  name: "memory-traversal-hydration-index",
48394
48443
  up: up114
48444
+ },
48445
+ {
48446
+ version: 115,
48447
+ name: "cross-agent-message-notifications",
48448
+ up: up115,
48449
+ artifacts: {
48450
+ tables: ["cross_agent_messages", "cross_agent_message_receipts"]
48451
+ }
48395
48452
  }
48396
48453
  ];
48397
48454
  var LATEST_SCHEMA_VERSION = MIGRATIONS[MIGRATIONS.length - 1]?.version ?? 0;
@@ -55193,6 +55250,7 @@ var BASE_TOOL_NAMES = new Set([
55193
55250
  "agent_peers",
55194
55251
  "agent_message_send",
55195
55252
  "agent_message_inbox",
55253
+ "agent_message_ack",
55196
55254
  "secret_list",
55197
55255
  "secret_exec",
55198
55256
  "secret_exec_status",
@@ -56238,11 +56296,13 @@ async function createMcpServer(opts) {
56238
56296
  agent_id: exports_external.string().optional().describe("Recipient agent id (defaults to authenticated scope/current agent)"),
56239
56297
  session_key: exports_external.string().optional().describe("Recipient session key"),
56240
56298
  since: exports_external.string().optional().describe("ISO timestamp filter"),
56241
- limit: exports_external.number().optional().describe("Max messages to return"),
56299
+ limit: exports_external.number().optional().describe("Max messages to return (default 25, max 25)"),
56300
+ offset: exports_external.number().optional().describe("Pagination offset"),
56301
+ unread_only: exports_external.boolean().optional().describe("Return only messages not yet acknowledged by this agent"),
56242
56302
  include_sent: exports_external.boolean().optional().describe("Include messages sent by this agent"),
56243
56303
  include_broadcast: exports_external.boolean().optional().describe("Include broadcast messages")
56244
56304
  })
56245
- }, async ({ agent_id, session_key, since, limit, include_sent, include_broadcast }) => {
56305
+ }, async ({ agent_id, session_key, since, limit, offset, unread_only, include_sent, include_broadcast }) => {
56246
56306
  const params = new URLSearchParams;
56247
56307
  if (agent_id)
56248
56308
  params.set("agent_id", agent_id);
@@ -56251,7 +56311,15 @@ async function createMcpServer(opts) {
56251
56311
  if (since)
56252
56312
  params.set("since", since);
56253
56313
  if (typeof limit === "number" && Number.isFinite(limit)) {
56254
- params.set("limit", String(Math.max(1, Math.min(500, Math.round(limit)))));
56314
+ params.set("limit", String(Math.max(1, Math.min(25, Math.round(limit)))));
56315
+ } else {
56316
+ params.set("limit", "25");
56317
+ }
56318
+ if (typeof offset === "number" && Number.isFinite(offset)) {
56319
+ params.set("offset", String(Math.max(0, Math.round(offset))));
56320
+ }
56321
+ if (typeof unread_only === "boolean") {
56322
+ params.set("unread_only", String(unread_only));
56255
56323
  }
56256
56324
  if (typeof include_sent === "boolean") {
56257
56325
  params.set("include_sent", String(include_sent));
@@ -56265,6 +56333,24 @@ async function createMcpServer(opts) {
56265
56333
  }
56266
56334
  return textResult(result.data);
56267
56335
  });
56336
+ registerMcpTool(server, "agent_message_ack", {
56337
+ title: "Acknowledge Agent Message",
56338
+ description: "Mark one visible cross-agent message as processed so hook delivery stops repeating it.",
56339
+ inputSchema: exports_external.object({
56340
+ message_id: exports_external.string().describe("Message id from a notification or agent_message_inbox"),
56341
+ agent_id: exports_external.string().optional().describe("Recipient agent id (defaults to authenticated scope/current agent)"),
56342
+ session_key: exports_external.string().optional().describe("Recipient session key")
56343
+ }),
56344
+ annotations: { readOnlyHint: false }
56345
+ }, async ({ message_id, agent_id, session_key }) => {
56346
+ const result = await fetchDaemon(baseUrl, `/api/cross-agent/messages/${encodeURIComponent(message_id)}/ack`, {
56347
+ method: "POST",
56348
+ body: { agentId: agent_id, sessionKey: session_key }
56349
+ });
56350
+ if (!result.ok)
56351
+ return errorResult(`Message acknowledgement failed: ${result.error}`);
56352
+ return textResult(result.data);
56353
+ });
56268
56354
  registerMcpTool(server, "secret_list", {
56269
56355
  title: "List Secrets",
56270
56356
  description: "List available secret names. Returns names only — raw values are never exposed to agents.",
@@ -1,43 +1,43 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "version": "0.182.9",
3
+ "version": "0.183.0",
4
4
  "assets": [
5
5
  {
6
6
  "name": "signet-darwin-arm64",
7
7
  "platform": "darwin-arm64",
8
- "sha256": "1a7638064193d21dc560d00e7c4ef7edebc4c3e7b245662d194b761b104906c4",
9
- "size": 117243040
8
+ "sha256": "f54cd5e11422ffb591f6e595d8ab2e4b50b6f0b0abdb23dfeb08b4379cb2ad6a",
9
+ "size": 117325600
10
10
  },
11
11
  {
12
12
  "name": "signet-darwin-x64",
13
13
  "platform": "darwin-x64",
14
- "sha256": "f0c6b34325ff20e7fbbe7c94a3ee7b44ac2ca6730fba6f2d7ea875902e428793",
15
- "size": 121866816
14
+ "sha256": "70fad1133fb4fe8a139018ff6c18477e11ab6f2eda897c606fac2dd65cadfb34",
15
+ "size": 121948736
16
16
  },
17
17
  {
18
18
  "name": "signet-linux-arm64",
19
19
  "platform": "linux-arm64",
20
- "sha256": "8e48358918c6edee4d08e5b6be8d043b821661bf2346d57f0b46c5e28d4b494b",
21
- "size": 154479924
20
+ "sha256": "483e8bd3e2e99468f5c5450917286e63ce81f22bf610d7a1941d8f769f10822b",
21
+ "size": 154562937
22
22
  },
23
23
  {
24
24
  "name": "signet-linux-x64",
25
25
  "platform": "linux-x64",
26
- "sha256": "0251f326ca14afa42b69b0b2deab5ad7abe056fe89eb714f9e7d6c550b65bf5e",
27
- "size": 155038909
26
+ "sha256": "c75b9acb661a189e86d61840b097eeb8e91c52d6f0c83d9dda6ffa76e61daa31",
27
+ "size": 155121922
28
28
  },
29
29
  {
30
30
  "name": "signet-win32-x64.exe",
31
31
  "platform": "win32-x64",
32
- "sha256": "60bdb50d1644dfee15fdef5ef4b9ee885fec57f6c974684a3b21b9db44d0048a",
33
- "size": 171171840
32
+ "sha256": "512a8e48f993e93e12844beecf6575fe9179e2a4969b0f21179a2aed0f361513",
33
+ "size": 171255296
34
34
  }
35
35
  ],
36
36
  "components": {
37
37
  "connectors": {
38
- "url": "signet-connectors-0.182.9.tar.gz",
39
- "sha256": "f403f81b5a405609be18d10df395910b3c60de4f529a07f71d43b6fbca1f85d9",
40
- "size": 16354
38
+ "url": "signet-connectors-0.183.0.tar.gz",
39
+ "sha256": "7c8e42b64443ca7cfb75e35e159686cf3833303bc07fda59419389d85d48cd3b",
40
+ "size": 16796
41
41
  }
42
42
  }
43
43
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "signetai",
3
- "version": "0.182.9",
3
+ "version": "0.183.0",
4
4
  "description": "Signet native CLI installer wrapper",
5
5
  "type": "module",
6
6
  "bin": {
@@ -65,10 +65,10 @@
65
65
  "access": "public"
66
66
  },
67
67
  "optionalDependencies": {
68
- "signetai-darwin-arm64": "https://github.com/Signet-AI/signetai/releases/download/v0.182.9/signetai-darwin-arm64-0.182.9.tgz",
69
- "signetai-darwin-x64": "https://github.com/Signet-AI/signetai/releases/download/v0.182.9/signetai-darwin-x64-0.182.9.tgz",
70
- "signetai-linux-arm64": "https://github.com/Signet-AI/signetai/releases/download/v0.182.9/signetai-linux-arm64-0.182.9.tgz",
71
- "signetai-linux-x64": "https://github.com/Signet-AI/signetai/releases/download/v0.182.9/signetai-linux-x64-0.182.9.tgz",
72
- "signetai-win32-x64": "https://github.com/Signet-AI/signetai/releases/download/v0.182.9/signetai-win32-x64-0.182.9.tgz"
68
+ "signetai-darwin-arm64": "https://github.com/Signet-AI/signetai/releases/download/v0.183.0/signetai-darwin-arm64-0.183.0.tgz",
69
+ "signetai-darwin-x64": "https://github.com/Signet-AI/signetai/releases/download/v0.183.0/signetai-darwin-x64-0.183.0.tgz",
70
+ "signetai-linux-arm64": "https://github.com/Signet-AI/signetai/releases/download/v0.183.0/signetai-linux-arm64-0.183.0.tgz",
71
+ "signetai-linux-x64": "https://github.com/Signet-AI/signetai/releases/download/v0.183.0/signetai-linux-x64-0.183.0.tgz",
72
+ "signetai-win32-x64": "https://github.com/Signet-AI/signetai/releases/download/v0.183.0/signetai-win32-x64-0.183.0.tgz"
73
73
  }
74
74
  }