@hivemindai/mcp-server 0.5.1 → 0.6.2
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/__tests__/config.test.js +1 -1
- package/dist/__tests__/config.test.js 2.map +1 -0
- package/dist/__tests__/config.test.js.map +1 -1
- package/dist/__tests__/credentials.test 2.js +126 -0
- package/dist/__tests__/credentials.test.d.ts 2.map +1 -0
- package/dist/__tests__/credentials.test.js +5 -5
- package/dist/__tests__/credentials.test.js.map +1 -1
- package/dist/__tests__/editor-config.test.d 2.ts +2 -0
- package/dist/__tests__/editor-config.test.js 2.map +1 -0
- package/dist/__tests__/format.test.d.ts 2.map +1 -0
- package/dist/__tests__/format.test.js 2.map +1 -0
- package/dist/__tests__/helpers/mock-server 2.js +107 -0
- package/dist/__tests__/helpers/mock-server.d 2.ts +79 -0
- package/dist/__tests__/helpers/mock-server.d.ts +79 -0
- package/dist/__tests__/helpers/mock-server.d.ts 2.map +1 -0
- package/dist/__tests__/helpers/mock-server.d.ts.map +1 -0
- package/dist/__tests__/helpers/mock-server.js +107 -0
- package/dist/__tests__/helpers/mock-server.js 2.map +1 -0
- package/dist/__tests__/helpers/mock-server.js.map +1 -0
- package/dist/__tests__/remember.test 2.js +152 -0
- package/dist/__tests__/remember.test.d.ts +2 -0
- package/dist/__tests__/remember.test.d.ts.map +1 -0
- package/dist/__tests__/remember.test.js +152 -0
- package/dist/__tests__/remember.test.js.map +1 -0
- package/dist/__tests__/tools-approvals.test.d.ts +2 -0
- package/dist/__tests__/tools-approvals.test.d.ts.map +1 -0
- package/dist/__tests__/tools-approvals.test.js +219 -0
- package/dist/__tests__/tools-approvals.test.js.map +1 -0
- package/dist/__tests__/tools-context.test 2.js +107 -0
- package/dist/__tests__/tools-context.test.d.ts +2 -0
- package/dist/__tests__/tools-context.test.d.ts.map +1 -0
- package/dist/__tests__/tools-context.test.js +107 -0
- package/dist/__tests__/tools-context.test.js 2.map +1 -0
- package/dist/__tests__/tools-context.test.js.map +1 -0
- package/dist/__tests__/tools-handoffs.test.d.ts +2 -0
- package/dist/__tests__/tools-handoffs.test.d.ts.map +1 -0
- package/dist/__tests__/tools-handoffs.test.js +153 -0
- package/dist/__tests__/tools-handoffs.test.js.map +1 -0
- package/dist/__tests__/tools-knowledge.test.d 2.ts +2 -0
- package/dist/__tests__/tools-knowledge.test.d.ts +2 -0
- package/dist/__tests__/tools-knowledge.test.d.ts 2.map +1 -0
- package/dist/__tests__/tools-knowledge.test.d.ts.map +1 -0
- package/dist/__tests__/tools-knowledge.test.js +169 -0
- package/dist/__tests__/tools-knowledge.test.js.map +1 -0
- package/dist/__tests__/tools-plans.test.d 2.ts +2 -0
- package/dist/__tests__/tools-plans.test.d.ts +2 -0
- package/dist/__tests__/tools-plans.test.d.ts.map +1 -0
- package/dist/__tests__/tools-plans.test.js +307 -0
- package/dist/__tests__/tools-plans.test.js 2.map +1 -0
- package/dist/__tests__/tools-plans.test.js.map +1 -0
- package/dist/__tests__/tools-schedules.test.d.ts +2 -0
- package/dist/__tests__/tools-schedules.test.d.ts.map +1 -0
- package/dist/__tests__/tools-schedules.test.js +153 -0
- package/dist/__tests__/tools-schedules.test.js 2.map +1 -0
- package/dist/__tests__/tools-schedules.test.js.map +1 -0
- package/dist/__tests__/tools-skills.test.d 2.ts +2 -0
- package/dist/__tests__/tools-skills.test.d.ts +2 -0
- package/dist/__tests__/tools-skills.test.d.ts 2.map +1 -0
- package/dist/__tests__/tools-skills.test.d.ts.map +1 -0
- package/dist/__tests__/tools-skills.test.js +187 -0
- package/dist/__tests__/tools-skills.test.js 2.map +1 -0
- package/dist/__tests__/tools-skills.test.js.map +1 -0
- package/dist/__tests__/tools-tasks.test 2.js +83 -0
- package/dist/__tests__/tools-tasks.test.d 2.ts +2 -0
- package/dist/__tests__/tools-tasks.test.d.ts +2 -0
- package/dist/__tests__/tools-tasks.test.d.ts.map +1 -0
- package/dist/__tests__/tools-tasks.test.js +83 -0
- package/dist/__tests__/tools-tasks.test.js.map +1 -0
- package/dist/__tests__/tools-triggers.test.d 2.ts +2 -0
- package/dist/__tests__/tools-triggers.test.d.ts +2 -0
- package/dist/__tests__/tools-triggers.test.d.ts.map +1 -0
- package/dist/__tests__/tools-triggers.test.js +119 -0
- package/dist/__tests__/tools-triggers.test.js.map +1 -0
- package/dist/__tests__/tools-workflows.test.d.ts +2 -0
- package/dist/__tests__/tools-workflows.test.d.ts 2.map +1 -0
- package/dist/__tests__/tools-workflows.test.d.ts.map +1 -0
- package/dist/__tests__/tools-workflows.test.js +203 -0
- package/dist/__tests__/tools-workflows.test.js.map +1 -0
- package/dist/__tests__/tools.test.d.ts 2.map +1 -0
- package/dist/__tests__/tools.test.js +2 -2
- package/dist/__tests__/tools.test.js.map +1 -1
- package/dist/cli/commands/context-inject 2.js +112 -0
- package/dist/cli/commands/context-inject.d 2.ts +2 -0
- package/dist/cli/commands/context-inject.d.ts 2.map +1 -0
- package/dist/cli/commands/context-inject.js 2.map +1 -0
- package/dist/cli/commands/doc 2.js +144 -0
- package/dist/cli/commands/doc.d.ts 2.map +1 -0
- package/dist/cli/commands/doc.js 2.map +1 -0
- package/dist/cli/commands/git-hook 2.js +79 -0
- package/dist/cli/commands/git-hook.d 2.ts +2 -0
- package/dist/cli/commands/git-hook.d 3.ts +2 -0
- package/dist/cli/commands/git-hook.js 2.map +1 -0
- package/dist/cli/commands/guard 2.js +122 -0
- package/dist/cli/commands/guard.d.ts 2.map +1 -0
- package/dist/cli/commands/init 2.js +227 -0
- package/dist/cli/commands/init.d 2.ts +2 -0
- package/dist/cli/commands/init.d.ts 2.map +1 -0
- package/dist/cli/commands/init.js 2.map +1 -0
- package/dist/cli/commands/login 2.js +120 -0
- package/dist/cli/commands/login.d 2.ts +2 -0
- package/dist/cli/commands/login.d.ts 2.map +1 -0
- package/dist/cli/commands/login.d.ts 3.map +1 -0
- package/dist/cli/commands/login.js +1 -1
- package/dist/cli/commands/login.js.map +1 -1
- package/dist/cli/commands/logout 2.js +21 -0
- package/dist/cli/commands/logout.js 2.map +1 -0
- package/dist/cli/commands/logout.js 3.map +1 -0
- package/dist/cli/commands/release.d 2.ts +2 -0
- package/dist/cli/commands/release.d 3.ts +2 -0
- package/dist/cli/commands/release.d.ts 2.map +1 -0
- package/dist/cli/commands/release.js 2.map +1 -0
- package/dist/cli/commands/skill 2.js +185 -0
- package/dist/cli/commands/skill-inject 2.js +194 -0
- package/dist/cli/commands/skill-inject.d 2.ts +2 -0
- package/dist/cli/commands/skill-inject.d.ts 2.map +1 -0
- package/dist/cli/commands/skill-inject.d.ts.map +1 -1
- package/dist/cli/commands/skill-inject.js +23 -4
- package/dist/cli/commands/skill-inject.js 2.map +1 -0
- package/dist/cli/commands/skill-inject.js.map +1 -1
- package/dist/cli/commands/skill.d 2.ts +2 -0
- package/dist/cli/commands/status 2.js +45 -0
- package/dist/cli/commands/status.d.ts 2.map +1 -0
- package/dist/cli/commands/status.d.ts 3.map +1 -0
- package/dist/cli/commands/status.js 2.map +1 -0
- package/dist/cli/commands/switch 2.js +88 -0
- package/dist/cli/commands/switch 3.js +88 -0
- package/dist/cli/commands/switch.js 2.map +1 -0
- package/dist/cli/commands/whoami.d 2.ts +2 -0
- package/dist/cli/commands/whoami.d 3.ts +2 -0
- package/dist/cli/commands/whoami.d.ts 2.map +1 -0
- package/dist/cli/commands/whoami.js 2.map +1 -0
- package/dist/cli/commands/whoami.js 3.map +1 -0
- package/dist/cli/credentials.js +1 -1
- package/dist/cli/credentials.js 2.map +1 -0
- package/dist/cli/credentials.js.map +1 -1
- package/dist/cli/editor-config 2.js +109 -0
- package/dist/cli/editor-config.d 2.ts +9 -0
- package/dist/cli/editor-config.d.ts 2.map +1 -0
- package/dist/cli/editor-config.js 2.map +1 -0
- package/dist/cli/index 2.d 2.ts +2 -0
- package/dist/cli/index 2.d.ts +2 -0
- package/dist/cli/index 2.d.ts 2.map +1 -0
- package/dist/cli/index 2.d.ts.map +1 -0
- package/dist/cli/index 2.js +63 -0
- package/dist/cli/index 2.js 2.map +1 -0
- package/dist/cli/index 2.js.map +1 -0
- package/dist/cli/index 3.js +63 -0
- package/dist/cli/index 4.js +68 -0
- package/dist/cli/index.js 2.map +1 -0
- package/dist/config.js +1 -1
- package/dist/config.js.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/tools/approvals.d.ts 2.map +1 -0
- package/dist/tools/blockers 2.js +24 -0
- package/dist/tools/blockers.d 2.ts +21 -0
- package/dist/tools/blockers.d.ts 2.map +1 -0
- package/dist/tools/handoffs.d.ts 2.map +1 -0
- package/dist/tools/knowledge.d.ts 2.map +1 -0
- package/dist/tools/knowledge.d.ts.map +1 -1
- package/dist/tools/knowledge.js +26 -3
- package/dist/tools/knowledge.js 2.map +1 -0
- package/dist/tools/knowledge.js 3.map +1 -0
- package/dist/tools/knowledge.js.map +1 -1
- package/dist/tools/lock.d 2.ts +24 -0
- package/dist/tools/lock.d.ts 2.map +1 -0
- package/dist/tools/lock.js 2.map +1 -0
- package/dist/tools/plans.d 2.ts +5 -0
- package/dist/tools/plans.d.ts +5 -0
- package/dist/tools/plans.d.ts.map +1 -0
- package/dist/tools/plans.js +359 -0
- package/dist/tools/plans.js.map +1 -0
- package/dist/tools/publish.d 2.ts +24 -0
- package/dist/tools/publish.d.ts 2.map +1 -0
- package/dist/tools/query 2.js +41 -0
- package/dist/tools/query.d 2.ts +27 -0
- package/dist/tools/query.js 2.map +1 -0
- package/dist/tools/remember.js 2.map +1 -0
- package/dist/tools/skills 2.js +273 -0
- package/dist/tools/skills.js 2.map +1 -0
- package/dist/tools/status.d.ts 2.map +1 -0
- package/dist/tools/status.js 2.map +1 -0
- package/dist/tools/subscribe.js 2.map +1 -0
- package/dist/tools/tasks 2.js +51 -0
- package/dist/tools/teams.d 2.ts +4 -0
- package/dist/tools/teams.js 2.map +1 -0
- package/dist/tools/triggers 2.js +212 -0
- package/dist/tools/triggers.d 2.ts +5 -0
- package/dist/tools/triggers.d.ts 2.map +1 -0
- package/dist/tools/triggers.d.ts 3.map +1 -0
- package/dist/tools/workflows.d.ts 2.map +1 -0
- package/package.json +11 -11
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { describe, it, expect, vi, beforeEach } from "vitest";
|
|
2
|
+
import { mockConfig, createMockServer, createMockClient } from "./helpers/mock-server.js";
|
|
3
|
+
import { registerTriggerTool } from "../tools/triggers.js";
|
|
4
|
+
let server;
|
|
5
|
+
let client;
|
|
6
|
+
beforeEach(() => {
|
|
7
|
+
vi.clearAllMocks();
|
|
8
|
+
server = createMockServer();
|
|
9
|
+
client = createMockClient();
|
|
10
|
+
});
|
|
11
|
+
describe("registerTriggerTool", () => {
|
|
12
|
+
it("returns cloud-only message when no client", async () => {
|
|
13
|
+
registerTriggerTool(server, mockConfig);
|
|
14
|
+
const handler = server.getHandler("hivemind_trigger");
|
|
15
|
+
const result = await handler({ action: "list" });
|
|
16
|
+
expect(result.content[0].text).toContain("only available in cloud mode");
|
|
17
|
+
});
|
|
18
|
+
it("list: calls client.listTriggers", async () => {
|
|
19
|
+
client.listTriggers.mockResolvedValueOnce({ triggers: [], total: 0 });
|
|
20
|
+
registerTriggerTool(server, mockConfig, client);
|
|
21
|
+
const handler = server.getHandler("hivemind_trigger");
|
|
22
|
+
const result = await handler({ action: "list" });
|
|
23
|
+
expect(client.listTriggers).toHaveBeenCalled();
|
|
24
|
+
expect(result.content[0].text).toContain("No triggers");
|
|
25
|
+
});
|
|
26
|
+
it("list: formats triggers", async () => {
|
|
27
|
+
client.listTriggers.mockResolvedValueOnce({
|
|
28
|
+
triggers: [
|
|
29
|
+
{
|
|
30
|
+
id: "trg_1",
|
|
31
|
+
name: "my-trigger",
|
|
32
|
+
active: true,
|
|
33
|
+
match_channel: "general",
|
|
34
|
+
match_event_type: "task.*",
|
|
35
|
+
action: {
|
|
36
|
+
type: "emit",
|
|
37
|
+
emit_channel: "alerts",
|
|
38
|
+
emit_event_type: "alert.fire",
|
|
39
|
+
},
|
|
40
|
+
created_at: "2024-01-01T00:00:00Z",
|
|
41
|
+
last_fired_at: null,
|
|
42
|
+
},
|
|
43
|
+
],
|
|
44
|
+
total: 1,
|
|
45
|
+
});
|
|
46
|
+
registerTriggerTool(server, mockConfig, client);
|
|
47
|
+
const handler = server.getHandler("hivemind_trigger");
|
|
48
|
+
const result = await handler({ action: "list" });
|
|
49
|
+
expect(result.content[0].text).toContain("my-trigger");
|
|
50
|
+
});
|
|
51
|
+
it("create: calls client.createTrigger", async () => {
|
|
52
|
+
client.createTrigger.mockResolvedValueOnce({ triggerId: "trg_new" });
|
|
53
|
+
registerTriggerTool(server, mockConfig, client);
|
|
54
|
+
const handler = server.getHandler("hivemind_trigger");
|
|
55
|
+
const result = await handler({
|
|
56
|
+
action: "create",
|
|
57
|
+
name: "test",
|
|
58
|
+
action_type: "emit",
|
|
59
|
+
emit_channel: "general",
|
|
60
|
+
emit_event_type: "alert.fire",
|
|
61
|
+
});
|
|
62
|
+
expect(client.createTrigger).toHaveBeenCalled();
|
|
63
|
+
expect(result.content[0].text).toContain("Trigger created: trg_new");
|
|
64
|
+
});
|
|
65
|
+
it("create: includes webhook secret", async () => {
|
|
66
|
+
client.createTrigger.mockResolvedValueOnce({
|
|
67
|
+
triggerId: "trg_new",
|
|
68
|
+
webhook_secret: "whsec_abc",
|
|
69
|
+
});
|
|
70
|
+
registerTriggerTool(server, mockConfig, client);
|
|
71
|
+
const handler = server.getHandler("hivemind_trigger");
|
|
72
|
+
const result = await handler({
|
|
73
|
+
action: "create",
|
|
74
|
+
name: "test",
|
|
75
|
+
action_type: "webhook",
|
|
76
|
+
webhook_url: "https://example.com/hook",
|
|
77
|
+
});
|
|
78
|
+
expect(result.content[0].text).toContain("whsec_abc");
|
|
79
|
+
});
|
|
80
|
+
it("delete: calls client.deleteTrigger", async () => {
|
|
81
|
+
client.deleteTrigger.mockResolvedValueOnce({ deleted: true });
|
|
82
|
+
registerTriggerTool(server, mockConfig, client);
|
|
83
|
+
const handler = server.getHandler("hivemind_trigger");
|
|
84
|
+
const result = await handler({ action: "delete", trigger_id: "trg_1" });
|
|
85
|
+
expect(client.deleteTrigger).toHaveBeenCalledWith("trg_1");
|
|
86
|
+
expect(result.content[0].text).toContain("deleted");
|
|
87
|
+
});
|
|
88
|
+
it("delete: handles not found", async () => {
|
|
89
|
+
client.deleteTrigger.mockResolvedValueOnce({ deleted: false });
|
|
90
|
+
registerTriggerTool(server, mockConfig, client);
|
|
91
|
+
const handler = server.getHandler("hivemind_trigger");
|
|
92
|
+
const result = await handler({ action: "delete", trigger_id: "trg_1" });
|
|
93
|
+
expect(result.content[0].text).toContain("not found");
|
|
94
|
+
});
|
|
95
|
+
it("toggle: enables trigger", async () => {
|
|
96
|
+
client.updateTrigger.mockResolvedValueOnce({ updated: true });
|
|
97
|
+
registerTriggerTool(server, mockConfig, client);
|
|
98
|
+
const handler = server.getHandler("hivemind_trigger");
|
|
99
|
+
const result = await handler({ action: "toggle", trigger_id: "trg_1", active: true });
|
|
100
|
+
expect(client.updateTrigger).toHaveBeenCalledWith("trg_1", { active: true });
|
|
101
|
+
expect(result.content[0].text).toContain("active");
|
|
102
|
+
});
|
|
103
|
+
it("toggle: pauses trigger", async () => {
|
|
104
|
+
client.updateTrigger.mockResolvedValueOnce({ updated: true });
|
|
105
|
+
registerTriggerTool(server, mockConfig, client);
|
|
106
|
+
const handler = server.getHandler("hivemind_trigger");
|
|
107
|
+
const result = await handler({ action: "toggle", trigger_id: "trg_1", active: false });
|
|
108
|
+
expect(client.updateTrigger).toHaveBeenCalledWith("trg_1", { active: false });
|
|
109
|
+
expect(result.content[0].text).toContain("paused");
|
|
110
|
+
});
|
|
111
|
+
it("toggle: handles not found", async () => {
|
|
112
|
+
client.updateTrigger.mockResolvedValueOnce({ updated: false });
|
|
113
|
+
registerTriggerTool(server, mockConfig, client);
|
|
114
|
+
const handler = server.getHandler("hivemind_trigger");
|
|
115
|
+
const result = await handler({ action: "toggle", trigger_id: "trg_1", active: true });
|
|
116
|
+
expect(result.content[0].text).toContain("not found");
|
|
117
|
+
});
|
|
118
|
+
});
|
|
119
|
+
//# sourceMappingURL=tools-triggers.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools-triggers.test.js","sourceRoot":"","sources":["../../src/__tests__/tools-triggers.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools-workflows.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/tools-workflows.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools-workflows.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/tools-workflows.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
import { describe, it, expect, vi, beforeEach } from "vitest";
|
|
2
|
+
import { mockConfig, createMockServer, createMockClient } from "./helpers/mock-server.js";
|
|
3
|
+
import { registerWorkflowTool } from "../tools/workflows.js";
|
|
4
|
+
let server;
|
|
5
|
+
let client;
|
|
6
|
+
beforeEach(() => {
|
|
7
|
+
vi.clearAllMocks();
|
|
8
|
+
server = createMockServer();
|
|
9
|
+
client = createMockClient();
|
|
10
|
+
});
|
|
11
|
+
describe("registerWorkflowTool", () => {
|
|
12
|
+
it("returns cloud-only message when no client", async () => {
|
|
13
|
+
registerWorkflowTool(server, mockConfig, undefined);
|
|
14
|
+
const handler = server.getHandler("hivemind_workflow");
|
|
15
|
+
const result = await handler({ action: "list" });
|
|
16
|
+
expect(result.content[0].text).toContain("only available in cloud mode");
|
|
17
|
+
});
|
|
18
|
+
// --- list ---
|
|
19
|
+
it("list: calls client.listWorkflows", async () => {
|
|
20
|
+
client.listWorkflows.mockResolvedValueOnce({
|
|
21
|
+
workflows: [
|
|
22
|
+
{
|
|
23
|
+
workflowId: "wf_1",
|
|
24
|
+
name: "deploy",
|
|
25
|
+
description: "Deploy pipeline",
|
|
26
|
+
active: true,
|
|
27
|
+
nodes: [{ nodeId: "n1", type: "task", label: "Test", config: {} }],
|
|
28
|
+
edges: [],
|
|
29
|
+
created_at: "2024-01-01T00:00:00Z",
|
|
30
|
+
},
|
|
31
|
+
],
|
|
32
|
+
total: 1,
|
|
33
|
+
});
|
|
34
|
+
registerWorkflowTool(server, mockConfig, client);
|
|
35
|
+
const handler = server.getHandler("hivemind_workflow");
|
|
36
|
+
const result = await handler({ action: "list" });
|
|
37
|
+
expect(result.content[0].text).toContain("Workflows");
|
|
38
|
+
expect(result.content[0].text).toContain("deploy");
|
|
39
|
+
});
|
|
40
|
+
it("list: empty", async () => {
|
|
41
|
+
client.listWorkflows.mockResolvedValueOnce({ workflows: [], total: 0 });
|
|
42
|
+
registerWorkflowTool(server, mockConfig, client);
|
|
43
|
+
const handler = server.getHandler("hivemind_workflow");
|
|
44
|
+
const result = await handler({ action: "list" });
|
|
45
|
+
expect(result.content[0].text).toContain("No workflows found");
|
|
46
|
+
});
|
|
47
|
+
// --- get ---
|
|
48
|
+
it("get: calls client.getWorkflow", async () => {
|
|
49
|
+
client.getWorkflow.mockResolvedValueOnce({
|
|
50
|
+
workflow: {
|
|
51
|
+
workflowId: "wf_1",
|
|
52
|
+
name: "deploy",
|
|
53
|
+
description: "Deploy pipeline",
|
|
54
|
+
nodes: [{ nodeId: "n1", type: "task", label: "Test", config: {} }],
|
|
55
|
+
edges: [],
|
|
56
|
+
active: true,
|
|
57
|
+
created_at: "2024-01-01T00:00:00Z",
|
|
58
|
+
},
|
|
59
|
+
});
|
|
60
|
+
registerWorkflowTool(server, mockConfig, client);
|
|
61
|
+
const handler = server.getHandler("hivemind_workflow");
|
|
62
|
+
const result = await handler({ action: "get", workflow_id: "wf_1" });
|
|
63
|
+
expect(result.content[0].text).toContain("deploy");
|
|
64
|
+
});
|
|
65
|
+
// --- create ---
|
|
66
|
+
it("create: calls client.createWorkflow", async () => {
|
|
67
|
+
client.createWorkflow.mockResolvedValueOnce({ workflowId: "wf_new" });
|
|
68
|
+
registerWorkflowTool(server, mockConfig, client);
|
|
69
|
+
const handler = server.getHandler("hivemind_workflow");
|
|
70
|
+
const result = await handler({
|
|
71
|
+
action: "create",
|
|
72
|
+
name: "test-pipeline",
|
|
73
|
+
nodes: [{ nodeId: "n1", type: "task", label: "Test", config: {} }],
|
|
74
|
+
edges: [],
|
|
75
|
+
});
|
|
76
|
+
expect(result.content[0].text).toContain("Workflow created");
|
|
77
|
+
expect(result.content[0].text).toContain("wf_new");
|
|
78
|
+
});
|
|
79
|
+
it("create: passes description", async () => {
|
|
80
|
+
client.createWorkflow.mockResolvedValueOnce({ workflowId: "wf_new" });
|
|
81
|
+
registerWorkflowTool(server, mockConfig, client);
|
|
82
|
+
const handler = server.getHandler("hivemind_workflow");
|
|
83
|
+
await handler({
|
|
84
|
+
action: "create",
|
|
85
|
+
name: "test-pipeline",
|
|
86
|
+
description: "A test pipeline",
|
|
87
|
+
nodes: [{ nodeId: "n1", type: "task", label: "Test", config: {} }],
|
|
88
|
+
edges: [],
|
|
89
|
+
});
|
|
90
|
+
expect(client.createWorkflow).toHaveBeenCalledWith({
|
|
91
|
+
name: "test-pipeline",
|
|
92
|
+
description: "A test pipeline",
|
|
93
|
+
nodes: [{ nodeId: "n1", type: "task", label: "Test", config: {} }],
|
|
94
|
+
edges: [],
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
// --- run ---
|
|
98
|
+
it("run: calls client.runWorkflow", async () => {
|
|
99
|
+
client.runWorkflow.mockResolvedValueOnce({ runId: "run_1" });
|
|
100
|
+
registerWorkflowTool(server, mockConfig, client);
|
|
101
|
+
const handler = server.getHandler("hivemind_workflow");
|
|
102
|
+
const result = await handler({ action: "run", workflow_id: "wf_1" });
|
|
103
|
+
expect(result.content[0].text).toContain("Workflow run started");
|
|
104
|
+
expect(result.content[0].text).toContain("run_1");
|
|
105
|
+
});
|
|
106
|
+
// --- runs ---
|
|
107
|
+
it("runs: calls client.listWorkflowRuns", async () => {
|
|
108
|
+
client.listWorkflowRuns.mockResolvedValueOnce({
|
|
109
|
+
runs: [
|
|
110
|
+
{
|
|
111
|
+
runId: "run_1",
|
|
112
|
+
workflowId: "wf_1",
|
|
113
|
+
status: "running",
|
|
114
|
+
startedAt: "2024-01-01T00:00:00Z",
|
|
115
|
+
completedAt: null,
|
|
116
|
+
nodeStates: [],
|
|
117
|
+
},
|
|
118
|
+
],
|
|
119
|
+
total: 1,
|
|
120
|
+
});
|
|
121
|
+
registerWorkflowTool(server, mockConfig, client);
|
|
122
|
+
const handler = server.getHandler("hivemind_workflow");
|
|
123
|
+
const result = await handler({ action: "runs" });
|
|
124
|
+
expect(result.content[0].text).toContain("Workflow Runs");
|
|
125
|
+
});
|
|
126
|
+
it("runs: empty", async () => {
|
|
127
|
+
client.listWorkflowRuns.mockResolvedValueOnce({ runs: [], total: 0 });
|
|
128
|
+
registerWorkflowTool(server, mockConfig, client);
|
|
129
|
+
const handler = server.getHandler("hivemind_workflow");
|
|
130
|
+
const result = await handler({ action: "runs" });
|
|
131
|
+
expect(result.content[0].text).toContain("No workflow runs");
|
|
132
|
+
});
|
|
133
|
+
it("runs: passes filters", async () => {
|
|
134
|
+
client.listWorkflowRuns.mockResolvedValueOnce({ runs: [], total: 0 });
|
|
135
|
+
registerWorkflowTool(server, mockConfig, client);
|
|
136
|
+
const handler = server.getHandler("hivemind_workflow");
|
|
137
|
+
await handler({ action: "runs", workflow_id: "wf_1", status: "completed" });
|
|
138
|
+
expect(client.listWorkflowRuns).toHaveBeenCalledWith({
|
|
139
|
+
workflow_id: "wf_1",
|
|
140
|
+
status: "completed",
|
|
141
|
+
limit: undefined,
|
|
142
|
+
});
|
|
143
|
+
});
|
|
144
|
+
// --- run-status ---
|
|
145
|
+
it("run-status: calls client.getWorkflowRun", async () => {
|
|
146
|
+
client.getWorkflowRun.mockResolvedValueOnce({
|
|
147
|
+
run: {
|
|
148
|
+
runId: "run_1",
|
|
149
|
+
workflowId: "wf_1",
|
|
150
|
+
status: "running",
|
|
151
|
+
startedAt: "2024-01-01T00:00:00Z",
|
|
152
|
+
completedAt: null,
|
|
153
|
+
nodeStates: [
|
|
154
|
+
{ nodeId: "n1", status: "completed" },
|
|
155
|
+
{ nodeId: "n2", status: "running" },
|
|
156
|
+
],
|
|
157
|
+
},
|
|
158
|
+
});
|
|
159
|
+
registerWorkflowTool(server, mockConfig, client);
|
|
160
|
+
const handler = server.getHandler("hivemind_workflow");
|
|
161
|
+
const result = await handler({ action: "run-status", run_id: "run_1" });
|
|
162
|
+
expect(result.content[0].text).toContain("Run run_1");
|
|
163
|
+
expect(result.content[0].text).toContain("running");
|
|
164
|
+
});
|
|
165
|
+
// --- update ---
|
|
166
|
+
it("update: calls client.updateWorkflow", async () => {
|
|
167
|
+
client.updateWorkflow.mockResolvedValueOnce({ updated: true });
|
|
168
|
+
registerWorkflowTool(server, mockConfig, client);
|
|
169
|
+
const handler = server.getHandler("hivemind_workflow");
|
|
170
|
+
const result = await handler({ action: "update", workflow_id: "wf_1", name: "new-name" });
|
|
171
|
+
expect(result.content[0].text).toContain("updated");
|
|
172
|
+
});
|
|
173
|
+
it("update: not found", async () => {
|
|
174
|
+
client.updateWorkflow.mockResolvedValueOnce({ updated: false });
|
|
175
|
+
registerWorkflowTool(server, mockConfig, client);
|
|
176
|
+
const handler = server.getHandler("hivemind_workflow");
|
|
177
|
+
const result = await handler({ action: "update", workflow_id: "wf_missing", name: "x" });
|
|
178
|
+
expect(result.content[0].text).toContain("not found");
|
|
179
|
+
});
|
|
180
|
+
it("update: toggles active", async () => {
|
|
181
|
+
client.updateWorkflow.mockResolvedValueOnce({ updated: true });
|
|
182
|
+
registerWorkflowTool(server, mockConfig, client);
|
|
183
|
+
const handler = server.getHandler("hivemind_workflow");
|
|
184
|
+
await handler({ action: "update", workflow_id: "wf_1", active: false });
|
|
185
|
+
expect(client.updateWorkflow).toHaveBeenCalledWith("wf_1", expect.objectContaining({ active: false }));
|
|
186
|
+
});
|
|
187
|
+
// --- delete ---
|
|
188
|
+
it("delete: calls client.deleteWorkflow", async () => {
|
|
189
|
+
client.deleteWorkflow.mockResolvedValueOnce({ deleted: true });
|
|
190
|
+
registerWorkflowTool(server, mockConfig, client);
|
|
191
|
+
const handler = server.getHandler("hivemind_workflow");
|
|
192
|
+
const result = await handler({ action: "delete", workflow_id: "wf_1" });
|
|
193
|
+
expect(result.content[0].text).toContain("deleted");
|
|
194
|
+
});
|
|
195
|
+
it("delete: not found", async () => {
|
|
196
|
+
client.deleteWorkflow.mockResolvedValueOnce({ deleted: false });
|
|
197
|
+
registerWorkflowTool(server, mockConfig, client);
|
|
198
|
+
const handler = server.getHandler("hivemind_workflow");
|
|
199
|
+
const result = await handler({ action: "delete", workflow_id: "wf_missing" });
|
|
200
|
+
expect(result.content[0].text).toContain("not found");
|
|
201
|
+
});
|
|
202
|
+
});
|
|
203
|
+
//# sourceMappingURL=tools-workflows.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools-workflows.test.js","sourceRoot":"","sources":["../../src/__tests__/tools-workflows.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/tools.test.ts"],"names":[],"mappings":""}
|
|
@@ -250,7 +250,7 @@ describe("handleLock", () => {
|
|
|
250
250
|
action: "acquire",
|
|
251
251
|
resource: "src/db.ts",
|
|
252
252
|
});
|
|
253
|
-
expect(result.content[0].text).toContain("Lock
|
|
253
|
+
expect(result.content[0].text).toContain("Lock DENIED");
|
|
254
254
|
expect(result.content[0].text).toContain("other-agent");
|
|
255
255
|
});
|
|
256
256
|
it("releases a lock", async () => {
|
|
@@ -258,7 +258,7 @@ describe("handleLock", () => {
|
|
|
258
258
|
action: "release",
|
|
259
259
|
resource: "src/db.ts",
|
|
260
260
|
});
|
|
261
|
-
expect(mockDb.releaseLock).toHaveBeenCalledWith("default", "src/db.ts");
|
|
261
|
+
expect(mockDb.releaseLock).toHaveBeenCalledWith("default", "src/db.ts", "coding-agent");
|
|
262
262
|
expect(result.content[0].text).toContain("Lock released");
|
|
263
263
|
});
|
|
264
264
|
it("reports when no lock found for release", async () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.test.js","sourceRoot":"","sources":["../../src/__tests__/tools.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tools.test.js","sourceRoot":"","sources":["../../src/__tests__/tools.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { readFileSync, existsSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
function loadCredentials() {
|
|
4
|
+
const credPath = join(process.env.HOME ?? process.env.USERPROFILE ?? ".", ".hivemind", "credentials.json");
|
|
5
|
+
if (!existsSync(credPath))
|
|
6
|
+
return null;
|
|
7
|
+
try {
|
|
8
|
+
const creds = JSON.parse(readFileSync(credPath, "utf-8"));
|
|
9
|
+
return { api_key: creds.api_key, api_url: creds.api_url };
|
|
10
|
+
}
|
|
11
|
+
catch {
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
export async function contextInject() {
|
|
16
|
+
const creds = loadCredentials();
|
|
17
|
+
if (!creds) {
|
|
18
|
+
console.error("Not logged in. Run: hivemind login");
|
|
19
|
+
process.exit(1);
|
|
20
|
+
}
|
|
21
|
+
try {
|
|
22
|
+
const res = await fetch(`${creds.api_url}/v1/intelligence/context`, {
|
|
23
|
+
headers: {
|
|
24
|
+
Authorization: `Bearer ${creds.api_key}`,
|
|
25
|
+
},
|
|
26
|
+
});
|
|
27
|
+
if (!res.ok) {
|
|
28
|
+
console.error(`Failed to fetch context: ${res.status}`);
|
|
29
|
+
process.exit(1);
|
|
30
|
+
}
|
|
31
|
+
const ctx = await res.json();
|
|
32
|
+
const sections = [];
|
|
33
|
+
sections.push("=== Hivemind Session Context ===\n");
|
|
34
|
+
// Active tasks
|
|
35
|
+
if (ctx.active_tasks?.length > 0) {
|
|
36
|
+
sections.push(`Active Tasks (${ctx.active_tasks.length}):`);
|
|
37
|
+
for (const t of ctx.active_tasks) {
|
|
38
|
+
sections.push(` - [${t.channel}] ${t.description ?? t.id} (by ${t.source?.agent ?? "unknown"})`);
|
|
39
|
+
}
|
|
40
|
+
sections.push("");
|
|
41
|
+
}
|
|
42
|
+
// Recent completions
|
|
43
|
+
if (ctx.recent_completions?.length > 0) {
|
|
44
|
+
sections.push(`Recent Completions (${ctx.recent_completions.length}):`);
|
|
45
|
+
for (const c of ctx.recent_completions) {
|
|
46
|
+
const files = c.files_changed ? ` [${c.files_changed.join(", ")}]` : "";
|
|
47
|
+
sections.push(` - ${c.description ?? c.id}${files}`);
|
|
48
|
+
}
|
|
49
|
+
sections.push("");
|
|
50
|
+
}
|
|
51
|
+
// Recent decisions
|
|
52
|
+
if (ctx.recent_decisions?.length > 0) {
|
|
53
|
+
sections.push(`Recent Decisions (${ctx.recent_decisions.length}):`);
|
|
54
|
+
for (const d of ctx.recent_decisions) {
|
|
55
|
+
sections.push(` - [${d.channel}] ${d.description ?? JSON.stringify(d.data)}`);
|
|
56
|
+
}
|
|
57
|
+
sections.push("");
|
|
58
|
+
}
|
|
59
|
+
// Blockers
|
|
60
|
+
if (ctx.blockers?.length > 0) {
|
|
61
|
+
sections.push(`Blockers (${ctx.blockers.length}):`);
|
|
62
|
+
for (const b of ctx.blockers) {
|
|
63
|
+
sections.push(` - [${b.channel}] ${b.description ?? b.id}`);
|
|
64
|
+
}
|
|
65
|
+
sections.push("");
|
|
66
|
+
}
|
|
67
|
+
// Active locks
|
|
68
|
+
if (ctx.active_locks?.length > 0) {
|
|
69
|
+
sections.push(`Active Locks (${ctx.active_locks.length}):`);
|
|
70
|
+
for (const l of ctx.active_locks) {
|
|
71
|
+
sections.push(` - ${l.resource} (held by ${l.agent})`);
|
|
72
|
+
}
|
|
73
|
+
sections.push("");
|
|
74
|
+
}
|
|
75
|
+
// Knowledge docs
|
|
76
|
+
if (ctx.knowledge_docs?.length > 0) {
|
|
77
|
+
sections.push(`Knowledge Docs (${ctx.knowledge_docs.length}):`);
|
|
78
|
+
for (const d of ctx.knowledge_docs) {
|
|
79
|
+
const tags = d.tags?.length > 0 ? ` [${d.tags.join(", ")}]` : "";
|
|
80
|
+
sections.push(` - ${d.title}${tags}`);
|
|
81
|
+
}
|
|
82
|
+
sections.push("");
|
|
83
|
+
}
|
|
84
|
+
// Learned patterns
|
|
85
|
+
try {
|
|
86
|
+
const patternsRes = await fetch(`${creds.api_url}/v1/intelligence/patterns?limit=10`, {
|
|
87
|
+
headers: {
|
|
88
|
+
Authorization: `Bearer ${creds.api_key}`,
|
|
89
|
+
},
|
|
90
|
+
});
|
|
91
|
+
if (patternsRes.ok) {
|
|
92
|
+
const patternsData = await patternsRes.json();
|
|
93
|
+
if (patternsData.patterns?.length > 0) {
|
|
94
|
+
sections.push(`Learned Patterns (${patternsData.patterns.length}):`);
|
|
95
|
+
for (const p of patternsData.patterns) {
|
|
96
|
+
sections.push(` - [${p.pattern_type}] ${p.description} (seen ${p.frequency}x, last: ${p.last_seen_at})`);
|
|
97
|
+
}
|
|
98
|
+
sections.push("");
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
catch {
|
|
103
|
+
// Don't fail if patterns fetch fails
|
|
104
|
+
}
|
|
105
|
+
console.log(sections.join("\n"));
|
|
106
|
+
}
|
|
107
|
+
catch (err) {
|
|
108
|
+
console.error("Failed to fetch context:", err instanceof Error ? err.message : String(err));
|
|
109
|
+
process.exit(1);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=context-inject.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-inject.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/context-inject.ts"],"names":[],"mappings":"AAkBA,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CA0GnD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-inject.js","sourceRoot":"","sources":["../../../src/cli/commands/context-inject.ts"],"names":[],"mappings":"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"}
|