@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.
Files changed (192) hide show
  1. package/dist/__tests__/config.test.js +1 -1
  2. package/dist/__tests__/config.test.js 2.map +1 -0
  3. package/dist/__tests__/config.test.js.map +1 -1
  4. package/dist/__tests__/credentials.test 2.js +126 -0
  5. package/dist/__tests__/credentials.test.d.ts 2.map +1 -0
  6. package/dist/__tests__/credentials.test.js +5 -5
  7. package/dist/__tests__/credentials.test.js.map +1 -1
  8. package/dist/__tests__/editor-config.test.d 2.ts +2 -0
  9. package/dist/__tests__/editor-config.test.js 2.map +1 -0
  10. package/dist/__tests__/format.test.d.ts 2.map +1 -0
  11. package/dist/__tests__/format.test.js 2.map +1 -0
  12. package/dist/__tests__/helpers/mock-server 2.js +107 -0
  13. package/dist/__tests__/helpers/mock-server.d 2.ts +79 -0
  14. package/dist/__tests__/helpers/mock-server.d.ts +79 -0
  15. package/dist/__tests__/helpers/mock-server.d.ts 2.map +1 -0
  16. package/dist/__tests__/helpers/mock-server.d.ts.map +1 -0
  17. package/dist/__tests__/helpers/mock-server.js +107 -0
  18. package/dist/__tests__/helpers/mock-server.js 2.map +1 -0
  19. package/dist/__tests__/helpers/mock-server.js.map +1 -0
  20. package/dist/__tests__/remember.test 2.js +152 -0
  21. package/dist/__tests__/remember.test.d.ts +2 -0
  22. package/dist/__tests__/remember.test.d.ts.map +1 -0
  23. package/dist/__tests__/remember.test.js +152 -0
  24. package/dist/__tests__/remember.test.js.map +1 -0
  25. package/dist/__tests__/tools-approvals.test.d.ts +2 -0
  26. package/dist/__tests__/tools-approvals.test.d.ts.map +1 -0
  27. package/dist/__tests__/tools-approvals.test.js +219 -0
  28. package/dist/__tests__/tools-approvals.test.js.map +1 -0
  29. package/dist/__tests__/tools-context.test 2.js +107 -0
  30. package/dist/__tests__/tools-context.test.d.ts +2 -0
  31. package/dist/__tests__/tools-context.test.d.ts.map +1 -0
  32. package/dist/__tests__/tools-context.test.js +107 -0
  33. package/dist/__tests__/tools-context.test.js 2.map +1 -0
  34. package/dist/__tests__/tools-context.test.js.map +1 -0
  35. package/dist/__tests__/tools-handoffs.test.d.ts +2 -0
  36. package/dist/__tests__/tools-handoffs.test.d.ts.map +1 -0
  37. package/dist/__tests__/tools-handoffs.test.js +153 -0
  38. package/dist/__tests__/tools-handoffs.test.js.map +1 -0
  39. package/dist/__tests__/tools-knowledge.test.d 2.ts +2 -0
  40. package/dist/__tests__/tools-knowledge.test.d.ts +2 -0
  41. package/dist/__tests__/tools-knowledge.test.d.ts 2.map +1 -0
  42. package/dist/__tests__/tools-knowledge.test.d.ts.map +1 -0
  43. package/dist/__tests__/tools-knowledge.test.js +169 -0
  44. package/dist/__tests__/tools-knowledge.test.js.map +1 -0
  45. package/dist/__tests__/tools-plans.test.d 2.ts +2 -0
  46. package/dist/__tests__/tools-plans.test.d.ts +2 -0
  47. package/dist/__tests__/tools-plans.test.d.ts.map +1 -0
  48. package/dist/__tests__/tools-plans.test.js +307 -0
  49. package/dist/__tests__/tools-plans.test.js 2.map +1 -0
  50. package/dist/__tests__/tools-plans.test.js.map +1 -0
  51. package/dist/__tests__/tools-schedules.test.d.ts +2 -0
  52. package/dist/__tests__/tools-schedules.test.d.ts.map +1 -0
  53. package/dist/__tests__/tools-schedules.test.js +153 -0
  54. package/dist/__tests__/tools-schedules.test.js 2.map +1 -0
  55. package/dist/__tests__/tools-schedules.test.js.map +1 -0
  56. package/dist/__tests__/tools-skills.test.d 2.ts +2 -0
  57. package/dist/__tests__/tools-skills.test.d.ts +2 -0
  58. package/dist/__tests__/tools-skills.test.d.ts 2.map +1 -0
  59. package/dist/__tests__/tools-skills.test.d.ts.map +1 -0
  60. package/dist/__tests__/tools-skills.test.js +187 -0
  61. package/dist/__tests__/tools-skills.test.js 2.map +1 -0
  62. package/dist/__tests__/tools-skills.test.js.map +1 -0
  63. package/dist/__tests__/tools-tasks.test 2.js +83 -0
  64. package/dist/__tests__/tools-tasks.test.d 2.ts +2 -0
  65. package/dist/__tests__/tools-tasks.test.d.ts +2 -0
  66. package/dist/__tests__/tools-tasks.test.d.ts.map +1 -0
  67. package/dist/__tests__/tools-tasks.test.js +83 -0
  68. package/dist/__tests__/tools-tasks.test.js.map +1 -0
  69. package/dist/__tests__/tools-triggers.test.d 2.ts +2 -0
  70. package/dist/__tests__/tools-triggers.test.d.ts +2 -0
  71. package/dist/__tests__/tools-triggers.test.d.ts.map +1 -0
  72. package/dist/__tests__/tools-triggers.test.js +119 -0
  73. package/dist/__tests__/tools-triggers.test.js.map +1 -0
  74. package/dist/__tests__/tools-workflows.test.d.ts +2 -0
  75. package/dist/__tests__/tools-workflows.test.d.ts 2.map +1 -0
  76. package/dist/__tests__/tools-workflows.test.d.ts.map +1 -0
  77. package/dist/__tests__/tools-workflows.test.js +203 -0
  78. package/dist/__tests__/tools-workflows.test.js.map +1 -0
  79. package/dist/__tests__/tools.test.d.ts 2.map +1 -0
  80. package/dist/__tests__/tools.test.js +2 -2
  81. package/dist/__tests__/tools.test.js.map +1 -1
  82. package/dist/cli/commands/context-inject 2.js +112 -0
  83. package/dist/cli/commands/context-inject.d 2.ts +2 -0
  84. package/dist/cli/commands/context-inject.d.ts 2.map +1 -0
  85. package/dist/cli/commands/context-inject.js 2.map +1 -0
  86. package/dist/cli/commands/doc 2.js +144 -0
  87. package/dist/cli/commands/doc.d.ts 2.map +1 -0
  88. package/dist/cli/commands/doc.js 2.map +1 -0
  89. package/dist/cli/commands/git-hook 2.js +79 -0
  90. package/dist/cli/commands/git-hook.d 2.ts +2 -0
  91. package/dist/cli/commands/git-hook.d 3.ts +2 -0
  92. package/dist/cli/commands/git-hook.js 2.map +1 -0
  93. package/dist/cli/commands/guard 2.js +122 -0
  94. package/dist/cli/commands/guard.d.ts 2.map +1 -0
  95. package/dist/cli/commands/init 2.js +227 -0
  96. package/dist/cli/commands/init.d 2.ts +2 -0
  97. package/dist/cli/commands/init.d.ts 2.map +1 -0
  98. package/dist/cli/commands/init.js 2.map +1 -0
  99. package/dist/cli/commands/login 2.js +120 -0
  100. package/dist/cli/commands/login.d 2.ts +2 -0
  101. package/dist/cli/commands/login.d.ts 2.map +1 -0
  102. package/dist/cli/commands/login.d.ts 3.map +1 -0
  103. package/dist/cli/commands/login.js +1 -1
  104. package/dist/cli/commands/login.js.map +1 -1
  105. package/dist/cli/commands/logout 2.js +21 -0
  106. package/dist/cli/commands/logout.js 2.map +1 -0
  107. package/dist/cli/commands/logout.js 3.map +1 -0
  108. package/dist/cli/commands/release.d 2.ts +2 -0
  109. package/dist/cli/commands/release.d 3.ts +2 -0
  110. package/dist/cli/commands/release.d.ts 2.map +1 -0
  111. package/dist/cli/commands/release.js 2.map +1 -0
  112. package/dist/cli/commands/skill 2.js +185 -0
  113. package/dist/cli/commands/skill-inject 2.js +194 -0
  114. package/dist/cli/commands/skill-inject.d 2.ts +2 -0
  115. package/dist/cli/commands/skill-inject.d.ts 2.map +1 -0
  116. package/dist/cli/commands/skill-inject.d.ts.map +1 -1
  117. package/dist/cli/commands/skill-inject.js +23 -4
  118. package/dist/cli/commands/skill-inject.js 2.map +1 -0
  119. package/dist/cli/commands/skill-inject.js.map +1 -1
  120. package/dist/cli/commands/skill.d 2.ts +2 -0
  121. package/dist/cli/commands/status 2.js +45 -0
  122. package/dist/cli/commands/status.d.ts 2.map +1 -0
  123. package/dist/cli/commands/status.d.ts 3.map +1 -0
  124. package/dist/cli/commands/status.js 2.map +1 -0
  125. package/dist/cli/commands/switch 2.js +88 -0
  126. package/dist/cli/commands/switch 3.js +88 -0
  127. package/dist/cli/commands/switch.js 2.map +1 -0
  128. package/dist/cli/commands/whoami.d 2.ts +2 -0
  129. package/dist/cli/commands/whoami.d 3.ts +2 -0
  130. package/dist/cli/commands/whoami.d.ts 2.map +1 -0
  131. package/dist/cli/commands/whoami.js 2.map +1 -0
  132. package/dist/cli/commands/whoami.js 3.map +1 -0
  133. package/dist/cli/credentials.js +1 -1
  134. package/dist/cli/credentials.js 2.map +1 -0
  135. package/dist/cli/credentials.js.map +1 -1
  136. package/dist/cli/editor-config 2.js +109 -0
  137. package/dist/cli/editor-config.d 2.ts +9 -0
  138. package/dist/cli/editor-config.d.ts 2.map +1 -0
  139. package/dist/cli/editor-config.js 2.map +1 -0
  140. package/dist/cli/index 2.d 2.ts +2 -0
  141. package/dist/cli/index 2.d.ts +2 -0
  142. package/dist/cli/index 2.d.ts 2.map +1 -0
  143. package/dist/cli/index 2.d.ts.map +1 -0
  144. package/dist/cli/index 2.js +63 -0
  145. package/dist/cli/index 2.js 2.map +1 -0
  146. package/dist/cli/index 2.js.map +1 -0
  147. package/dist/cli/index 3.js +63 -0
  148. package/dist/cli/index 4.js +68 -0
  149. package/dist/cli/index.js 2.map +1 -0
  150. package/dist/config.js +1 -1
  151. package/dist/config.js.map +1 -1
  152. package/dist/index.js +2 -0
  153. package/dist/index.js.map +1 -1
  154. package/dist/tools/approvals.d.ts 2.map +1 -0
  155. package/dist/tools/blockers 2.js +24 -0
  156. package/dist/tools/blockers.d 2.ts +21 -0
  157. package/dist/tools/blockers.d.ts 2.map +1 -0
  158. package/dist/tools/handoffs.d.ts 2.map +1 -0
  159. package/dist/tools/knowledge.d.ts 2.map +1 -0
  160. package/dist/tools/knowledge.d.ts.map +1 -1
  161. package/dist/tools/knowledge.js +26 -3
  162. package/dist/tools/knowledge.js 2.map +1 -0
  163. package/dist/tools/knowledge.js 3.map +1 -0
  164. package/dist/tools/knowledge.js.map +1 -1
  165. package/dist/tools/lock.d 2.ts +24 -0
  166. package/dist/tools/lock.d.ts 2.map +1 -0
  167. package/dist/tools/lock.js 2.map +1 -0
  168. package/dist/tools/plans.d 2.ts +5 -0
  169. package/dist/tools/plans.d.ts +5 -0
  170. package/dist/tools/plans.d.ts.map +1 -0
  171. package/dist/tools/plans.js +359 -0
  172. package/dist/tools/plans.js.map +1 -0
  173. package/dist/tools/publish.d 2.ts +24 -0
  174. package/dist/tools/publish.d.ts 2.map +1 -0
  175. package/dist/tools/query 2.js +41 -0
  176. package/dist/tools/query.d 2.ts +27 -0
  177. package/dist/tools/query.js 2.map +1 -0
  178. package/dist/tools/remember.js 2.map +1 -0
  179. package/dist/tools/skills 2.js +273 -0
  180. package/dist/tools/skills.js 2.map +1 -0
  181. package/dist/tools/status.d.ts 2.map +1 -0
  182. package/dist/tools/status.js 2.map +1 -0
  183. package/dist/tools/subscribe.js 2.map +1 -0
  184. package/dist/tools/tasks 2.js +51 -0
  185. package/dist/tools/teams.d 2.ts +4 -0
  186. package/dist/tools/teams.js 2.map +1 -0
  187. package/dist/tools/triggers 2.js +212 -0
  188. package/dist/tools/triggers.d 2.ts +5 -0
  189. package/dist/tools/triggers.d.ts 2.map +1 -0
  190. package/dist/tools/triggers.d.ts 3.map +1 -0
  191. package/dist/tools/workflows.d.ts 2.map +1 -0
  192. 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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tools-workflows.test.d.ts.map
@@ -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 conflict");
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,2 @@
1
+ export declare function contextInject(): Promise<void>;
2
+ //# sourceMappingURL=context-inject.d.ts.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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"}