@hivemindai/mcp-server 0.3.3 → 0.3.5

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/index.js CHANGED
@@ -15,6 +15,8 @@ import { registerBlockersTool } from "./tools/blockers.js";
15
15
  import { registerRememberTool } from "./tools/remember.js";
16
16
  import { registerTasksTool } from "./tools/tasks.js";
17
17
  import { registerContextTool } from "./tools/teams.js";
18
+ import { registerTriggerTool } from "./tools/triggers.js";
19
+ import { registerApprovalsTool } from "./tools/approvals.js";
18
20
  async function main() {
19
21
  const config = loadConfig();
20
22
  let db;
@@ -75,6 +77,8 @@ async function main() {
75
77
  registerTasksTool(server, db, config, client);
76
78
  if (config.mode === "cloud" && client) {
77
79
  registerContextTool(server, config);
80
+ registerTriggerTool(server, config, client);
81
+ registerApprovalsTool(server, config, client);
78
82
  }
79
83
  const transport = new StdioServerTransport();
80
84
  await server.connect(transport);
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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"}
@@ -0,0 +1,5 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import type { ServerConfig } from "../config.js";
3
+ import type { HivemindClient } from "@hivemindai/sdk-ts";
4
+ export declare function registerApprovalsTool(server: McpServer, _config: ServerConfig, client?: HivemindClient): void;
5
+ //# sourceMappingURL=approvals.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"approvals.d.ts","sourceRoot":"","sources":["../../src/tools/approvals.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,YAAY,EACrB,MAAM,CAAC,EAAE,cAAc,QAmMxB"}
@@ -0,0 +1,180 @@
1
+ import { z } from "zod";
2
+ export function registerApprovalsTool(server, _config, client) {
3
+ server.tool("hivemind_approvals", "Human-in-the-loop approval workflow for AI agents. " +
4
+ "Actions: 'request' to ask for approval before a high-impact action, " +
5
+ "'list' to see pending approvals, 'approve' to grant, 'deny' to reject, " +
6
+ "'check' to poll status of a specific request.", {
7
+ action: z
8
+ .enum(["request", "list", "approve", "deny", "check"])
9
+ .describe("Approval action to perform"),
10
+ // For request:
11
+ channel: z
12
+ .string()
13
+ .optional()
14
+ .describe("Channel for the approval request (required for 'request')"),
15
+ description: z
16
+ .string()
17
+ .optional()
18
+ .describe("What you're requesting approval for (required for 'request')"),
19
+ scope: z
20
+ .enum(["one-time", "session", "standing"])
21
+ .optional()
22
+ .describe("Approval scope: 'one-time' (default), 'session', or 'standing'"),
23
+ action_type: z
24
+ .string()
25
+ .optional()
26
+ .describe("Type of action being requested (e.g. 'deployment', 'deletion', 'schema-change')"),
27
+ metadata: z
28
+ .record(z.unknown())
29
+ .optional()
30
+ .describe("Additional context about the action"),
31
+ // For approve/deny/check:
32
+ correlation_id: z
33
+ .string()
34
+ .optional()
35
+ .describe("Correlation ID of the approval to approve/deny/check"),
36
+ reason: z
37
+ .string()
38
+ .optional()
39
+ .describe("Reason for approving or denying"),
40
+ }, async (params) => {
41
+ if (!client) {
42
+ return {
43
+ content: [
44
+ {
45
+ type: "text",
46
+ text: "Approvals are only available in cloud mode.",
47
+ },
48
+ ],
49
+ };
50
+ }
51
+ if (params.action === "list") {
52
+ const result = await client.listApprovals(params.channel);
53
+ if (result.approvals.length === 0) {
54
+ return {
55
+ content: [
56
+ { type: "text", text: "No pending approvals." },
57
+ ],
58
+ };
59
+ }
60
+ const lines = result.approvals.map((a) => {
61
+ const data = a.data;
62
+ const desc = data.description ?? "No description";
63
+ const scope = data.scope ?? "one-time";
64
+ const cid = data.correlationId ?? a.id;
65
+ return `- **${desc}** [${cid}]\n Channel: ${a.channel} | Scope: ${scope} | From: ${a.source?.agent ?? "unknown"} | ${a.created_at}`;
66
+ });
67
+ return {
68
+ content: [
69
+ {
70
+ type: "text",
71
+ text: `## Pending Approvals (${result.total})\n\n${lines.join("\n\n")}`,
72
+ },
73
+ ],
74
+ };
75
+ }
76
+ if (params.action === "request") {
77
+ if (!params.channel) {
78
+ return {
79
+ content: [
80
+ { type: "text", text: "Error: 'channel' is required for request." },
81
+ ],
82
+ };
83
+ }
84
+ if (!params.description) {
85
+ return {
86
+ content: [
87
+ { type: "text", text: "Error: 'description' is required for request." },
88
+ ],
89
+ };
90
+ }
91
+ const result = await client.requestApproval({
92
+ channel: params.channel,
93
+ description: params.description,
94
+ scope: params.scope,
95
+ action_type: params.action_type,
96
+ metadata: params.metadata,
97
+ });
98
+ return {
99
+ content: [
100
+ {
101
+ type: "text",
102
+ text: `Approval requested.\nCorrelation ID: ${result.correlation_id}\n\nWaiting for human approval. Use \`hivemind_approvals(action: "check", correlation_id: "${result.correlation_id}")\` to check status.`,
103
+ },
104
+ ],
105
+ };
106
+ }
107
+ if (params.action === "approve") {
108
+ if (!params.correlation_id) {
109
+ return {
110
+ content: [
111
+ { type: "text", text: "Error: 'correlation_id' is required for approve." },
112
+ ],
113
+ };
114
+ }
115
+ const result = await client.approveRequest(params.correlation_id, params.reason);
116
+ return {
117
+ content: [
118
+ {
119
+ type: "text",
120
+ text: `Approval granted for ${params.correlation_id}.${params.reason ? ` Reason: ${params.reason}` : ""}`,
121
+ },
122
+ ],
123
+ };
124
+ }
125
+ if (params.action === "deny") {
126
+ if (!params.correlation_id) {
127
+ return {
128
+ content: [
129
+ { type: "text", text: "Error: 'correlation_id' is required for deny." },
130
+ ],
131
+ };
132
+ }
133
+ const result = await client.denyRequest(params.correlation_id, params.reason);
134
+ return {
135
+ content: [
136
+ {
137
+ type: "text",
138
+ text: `Approval denied for ${params.correlation_id}.${params.reason ? ` Reason: ${params.reason}` : ""}`,
139
+ },
140
+ ],
141
+ };
142
+ }
143
+ if (params.action === "check") {
144
+ if (!params.correlation_id) {
145
+ return {
146
+ content: [
147
+ { type: "text", text: "Error: 'correlation_id' is required for check." },
148
+ ],
149
+ };
150
+ }
151
+ const result = await client.getApprovalStatus(params.correlation_id);
152
+ if (result.status === "not_found") {
153
+ return {
154
+ content: [
155
+ { type: "text", text: `Approval ${params.correlation_id} not found.` },
156
+ ],
157
+ };
158
+ }
159
+ const reqData = result.request?.data;
160
+ const desc = reqData?.description ?? "No description";
161
+ let text = `## Approval Status: **${result.status}**\n\nDescription: ${desc}`;
162
+ if (result.response) {
163
+ const resData = result.response.data;
164
+ const reason = resData.reason;
165
+ text += `\nResolved by: ${result.response.source?.agent ?? "unknown"} at ${result.response.created_at}`;
166
+ if (reason)
167
+ text += `\nReason: ${reason}`;
168
+ }
169
+ return {
170
+ content: [{ type: "text", text }],
171
+ };
172
+ }
173
+ return {
174
+ content: [
175
+ { type: "text", text: "Unknown action. Use request, list, approve, deny, or check." },
176
+ ],
177
+ };
178
+ });
179
+ }
180
+ //# sourceMappingURL=approvals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"approvals.js","sourceRoot":"","sources":["../../src/tools/approvals.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import type { ServerConfig } from "../config.js";
3
+ import type { HivemindClient } from "@hivemindai/sdk-ts";
4
+ export declare function registerTriggerTool(server: McpServer, _config: ServerConfig, client?: HivemindClient): void;
5
+ //# sourceMappingURL=triggers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"triggers.d.ts","sourceRoot":"","sources":["../../src/tools/triggers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,YAAY,EACrB,MAAM,CAAC,EAAE,cAAc,QAoOxB"}
@@ -0,0 +1,212 @@
1
+ import { z } from "zod";
2
+ export function registerTriggerTool(server, _config, client) {
3
+ server.tool("hivemind_trigger", "Manage event triggers — when events match a pattern, automatically emit new events or call webhooks. " +
4
+ "Actions: 'list' to see triggers, 'create' to add one, 'delete' to remove, 'toggle' to enable/disable.", {
5
+ action: z
6
+ .enum(["list", "create", "delete", "toggle"])
7
+ .describe("Trigger action to perform"),
8
+ // For create:
9
+ name: z
10
+ .string()
11
+ .optional()
12
+ .describe("Trigger name (required for create)"),
13
+ match_channel: z
14
+ .string()
15
+ .optional()
16
+ .describe("Channel to match (exact or '*' for any)"),
17
+ match_event_type: z
18
+ .string()
19
+ .optional()
20
+ .describe("Event type to match (exact or glob like 'task.*')"),
21
+ match_conditions: z
22
+ .record(z.unknown())
23
+ .optional()
24
+ .describe("Data field conditions to match (e.g. {\"status\": \"ready\"})"),
25
+ // Aggregation for compound triggers:
26
+ aggregation_mode: z
27
+ .enum(["all", "any", "count"])
28
+ .optional()
29
+ .describe("Aggregation mode for compound triggers"),
30
+ aggregation_events: z
31
+ .array(z.object({
32
+ channel: z.string().optional(),
33
+ eventType: z.string(),
34
+ dataMatch: z.record(z.unknown()).optional(),
35
+ }))
36
+ .optional()
37
+ .describe("Events that must occur for aggregation trigger"),
38
+ aggregation_threshold: z
39
+ .number()
40
+ .optional()
41
+ .describe("Count threshold for 'count' aggregation mode"),
42
+ aggregation_window_hours: z
43
+ .number()
44
+ .optional()
45
+ .describe("Time window in hours for aggregation (default 24)"),
46
+ // Action:
47
+ action_type: z
48
+ .enum(["emit", "webhook"])
49
+ .optional()
50
+ .describe("Action type: 'emit' a new event or call 'webhook'"),
51
+ emit_channel: z.string().optional().describe("Channel for emitted event"),
52
+ emit_event_type: z
53
+ .string()
54
+ .optional()
55
+ .describe("Event type for emitted event"),
56
+ emit_data: z
57
+ .record(z.unknown())
58
+ .optional()
59
+ .describe("Data payload for emitted event"),
60
+ webhook_url: z.string().optional().describe("Webhook URL for webhook action"),
61
+ // For delete/toggle:
62
+ trigger_id: z
63
+ .string()
64
+ .optional()
65
+ .describe("Trigger ID (required for delete and toggle)"),
66
+ // Toggle:
67
+ active: z
68
+ .boolean()
69
+ .optional()
70
+ .describe("Set active state (for toggle action)"),
71
+ }, async (params) => {
72
+ if (!client) {
73
+ return {
74
+ content: [
75
+ {
76
+ type: "text",
77
+ text: "Triggers are only available in cloud mode.",
78
+ },
79
+ ],
80
+ };
81
+ }
82
+ if (params.action === "list") {
83
+ const result = await client.listTriggers();
84
+ if (result.triggers.length === 0) {
85
+ return {
86
+ content: [
87
+ { type: "text", text: "No triggers configured." },
88
+ ],
89
+ };
90
+ }
91
+ const lines = result.triggers.map((t) => {
92
+ const match = [
93
+ t.match_channel ? `channel=${t.match_channel}` : null,
94
+ t.match_event_type ? `type=${t.match_event_type}` : null,
95
+ ]
96
+ .filter(Boolean)
97
+ .join(", ");
98
+ const actionStr = t.action.type === "emit"
99
+ ? `emit → ${t.action.emit_channel}/${t.action.emit_event_type}`
100
+ : `webhook → ${t.action.webhook_url}`;
101
+ const status = t.active ? "active" : "paused";
102
+ const fired = t.last_fired_at
103
+ ? ` (last fired: ${t.last_fired_at})`
104
+ : "";
105
+ return `- **${t.name}** [${t.id}] (${status})\n Match: ${match || "any"} → ${actionStr}${fired}`;
106
+ });
107
+ return {
108
+ content: [
109
+ {
110
+ type: "text",
111
+ text: `## Triggers (${result.total})\n\n${lines.join("\n\n")}`,
112
+ },
113
+ ],
114
+ };
115
+ }
116
+ if (params.action === "create") {
117
+ if (!params.name) {
118
+ return {
119
+ content: [
120
+ { type: "text", text: "Error: 'name' is required for create." },
121
+ ],
122
+ };
123
+ }
124
+ if (!params.action_type) {
125
+ return {
126
+ content: [
127
+ { type: "text", text: "Error: 'action_type' is required for create." },
128
+ ],
129
+ };
130
+ }
131
+ const aggregation = params.aggregation_mode && params.aggregation_events
132
+ ? {
133
+ mode: params.aggregation_mode,
134
+ events: params.aggregation_events,
135
+ threshold: params.aggregation_threshold,
136
+ window_ms: params.aggregation_window_hours
137
+ ? params.aggregation_window_hours * 3600000
138
+ : undefined,
139
+ }
140
+ : undefined;
141
+ const result = await client.createTrigger({
142
+ name: params.name,
143
+ match_channel: params.match_channel,
144
+ match_event_type: params.match_event_type,
145
+ match_conditions: params.match_conditions,
146
+ aggregation,
147
+ action: {
148
+ type: params.action_type,
149
+ emit_channel: params.emit_channel,
150
+ emit_event_type: params.emit_event_type,
151
+ emit_data: params.emit_data,
152
+ webhook_url: params.webhook_url,
153
+ },
154
+ });
155
+ return {
156
+ content: [
157
+ {
158
+ type: "text",
159
+ text: `Trigger created: ${result.triggerId}${result.webhook_secret ? `\nWebhook secret: ${result.webhook_secret}` : ""}`,
160
+ },
161
+ ],
162
+ };
163
+ }
164
+ if (params.action === "delete") {
165
+ if (!params.trigger_id) {
166
+ return {
167
+ content: [
168
+ { type: "text", text: "Error: 'trigger_id' is required for delete." },
169
+ ],
170
+ };
171
+ }
172
+ const result = await client.deleteTrigger(params.trigger_id);
173
+ return {
174
+ content: [
175
+ {
176
+ type: "text",
177
+ text: result.deleted
178
+ ? `Trigger ${params.trigger_id} deleted.`
179
+ : `Trigger ${params.trigger_id} not found.`,
180
+ },
181
+ ],
182
+ };
183
+ }
184
+ if (params.action === "toggle") {
185
+ if (!params.trigger_id) {
186
+ return {
187
+ content: [
188
+ { type: "text", text: "Error: 'trigger_id' is required for toggle." },
189
+ ],
190
+ };
191
+ }
192
+ const active = params.active ?? false;
193
+ const result = await client.updateTrigger(params.trigger_id, { active });
194
+ return {
195
+ content: [
196
+ {
197
+ type: "text",
198
+ text: result.updated
199
+ ? `Trigger ${params.trigger_id} is now ${active ? "active" : "paused"}.`
200
+ : `Trigger ${params.trigger_id} not found.`,
201
+ },
202
+ ],
203
+ };
204
+ }
205
+ return {
206
+ content: [
207
+ { type: "text", text: "Unknown action. Use list, create, delete, or toggle." },
208
+ ],
209
+ };
210
+ });
211
+ }
212
+ //# sourceMappingURL=triggers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"triggers.js","sourceRoot":"","sources":["../../src/tools/triggers.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hivemindai/mcp-server",
3
- "version": "0.3.3",
3
+ "version": "0.3.5",
4
4
  "description": "MCP server for Hivemind — persistent event log for AI agent coordination",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -35,8 +35,8 @@
35
35
  "dependencies": {
36
36
  "@modelcontextprotocol/sdk": "^1.12.1",
37
37
  "zod": "^3.25.76",
38
- "@hivemindai/core": "0.1.6",
39
- "@hivemindai/sdk-ts": "0.1.6"
38
+ "@hivemindai/sdk-ts": "0.1.8",
39
+ "@hivemindai/core": "0.1.7"
40
40
  },
41
41
  "scripts": {
42
42
  "build": "tsc",