agenthub-multiagent-mcp 1.64.0 → 1.66.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.
Files changed (31) hide show
  1. package/dist/channel.js +28 -5
  2. package/dist/channel.js.map +1 -1
  3. package/dist/channelDiagnostics.d.ts +19 -0
  4. package/dist/channelDiagnostics.d.ts.map +1 -1
  5. package/dist/channelDiagnostics.js +46 -0
  6. package/dist/channelDiagnostics.js.map +1 -1
  7. package/dist/channelDiagnostics.test.js +108 -0
  8. package/dist/channelDiagnostics.test.js.map +1 -1
  9. package/dist/tools/index.d.ts.map +1 -1
  10. package/dist/tools/index.js +27 -84
  11. package/dist/tools/index.js.map +1 -1
  12. package/dist/tools/openspec-viz/parseTasks.test.d.ts +2 -0
  13. package/dist/tools/openspec-viz/parseTasks.test.d.ts.map +1 -0
  14. package/dist/tools/openspec-viz/parseTasks.test.js +220 -0
  15. package/dist/tools/openspec-viz/parseTasks.test.js.map +1 -0
  16. package/dist/tools/openspec-viz/parser.d.ts +10 -1
  17. package/dist/tools/openspec-viz/parser.d.ts.map +1 -1
  18. package/dist/tools/openspec-viz/parser.js +72 -9
  19. package/dist/tools/openspec-viz/parser.js.map +1 -1
  20. package/dist/tools/openspec-viz/taskSync.d.ts +115 -0
  21. package/dist/tools/openspec-viz/taskSync.d.ts.map +1 -0
  22. package/dist/tools/openspec-viz/taskSync.js +144 -0
  23. package/dist/tools/openspec-viz/taskSync.js.map +1 -0
  24. package/dist/tools/openspec-viz/taskSync.test.d.ts +2 -0
  25. package/dist/tools/openspec-viz/taskSync.test.d.ts.map +1 -0
  26. package/dist/tools/openspec-viz/taskSync.test.js +198 -0
  27. package/dist/tools/openspec-viz/taskSync.test.js.map +1 -0
  28. package/dist/websocket.d.ts.map +1 -1
  29. package/dist/websocket.js +9 -2
  30. package/dist/websocket.js.map +1 -1
  31. package/package.json +1 -1
@@ -0,0 +1,115 @@
1
+ import type { TaskGroup } from "./types.js";
2
+ /**
3
+ * The slice of the AgentHub client the task sync needs.
4
+ *
5
+ * Declared here rather than importing the concrete client so the sync can be
6
+ * driven by a fake in tests — the behaviour that matters (what happens when a
7
+ * create throws, and which stories are considered duplicates) is otherwise
8
+ * only reachable through a live server.
9
+ */
10
+ export interface TaskSyncClient {
11
+ listProjectStories(projectId: string, epicId?: string): Promise<{
12
+ stories: Array<{
13
+ id: string;
14
+ title: string;
15
+ key: string;
16
+ status: string;
17
+ epic_id?: string;
18
+ }>;
19
+ }>;
20
+ listProjectTasks(projectId: string, storyId?: string): Promise<{
21
+ tasks: Array<{
22
+ id: string;
23
+ title: string;
24
+ key: string;
25
+ status: string;
26
+ story_id?: string;
27
+ }>;
28
+ }>;
29
+ createStory(params: {
30
+ project_id: string;
31
+ epic_id?: string;
32
+ title: string;
33
+ labels?: string[];
34
+ openspec_change_id?: string;
35
+ }): Promise<{
36
+ id: string;
37
+ key: string;
38
+ }>;
39
+ createTask(params: {
40
+ project_id: string;
41
+ story_id?: string;
42
+ title: string;
43
+ labels?: string[];
44
+ }): Promise<{
45
+ ok: true;
46
+ id: string;
47
+ key: string;
48
+ } | {
49
+ ok: false;
50
+ status: number;
51
+ error: string;
52
+ message?: string;
53
+ }>;
54
+ }
55
+ export interface TaskSyncCounts {
56
+ storiesCreated: number;
57
+ tasksCreated: number;
58
+ storiesSkipped: number;
59
+ tasksSkipped: number;
60
+ }
61
+ export type TaskSyncOutcome =
62
+ /** The sync was not requested, or there was nothing to sync. */
63
+ {
64
+ status: "skipped";
65
+ reason: string;
66
+ } | ({
67
+ status: "ok";
68
+ } & TaskSyncCounts)
69
+ /**
70
+ * The sync threw. The publish is still a success — the attachments are
71
+ * already uploaded — but the hierarchy is partial, and `atGroup`/`atTask`
72
+ * say how far it got so the operator knows which part exists.
73
+ */
74
+ | ({
75
+ status: "failed";
76
+ error: string;
77
+ atGroup?: string;
78
+ atTask?: string;
79
+ } & TaskSyncCounts);
80
+ export interface TaskSyncArgs {
81
+ client: TaskSyncClient;
82
+ projectId: string;
83
+ taskGroups: TaskGroup[];
84
+ /** The ticket the OpenSpec was published to. */
85
+ ticketType: "epic" | "story" | "task";
86
+ ticketId: string;
87
+ /** OpenSpec change id, stamped on created stories so the resolver finds them. */
88
+ changeId?: string;
89
+ /** Defaults to true; false means the caller passed `sync_tasks: false`. */
90
+ enabled?: boolean;
91
+ }
92
+ /**
93
+ * Create Stories and Tasks in the ticket system from an OpenSpec change's task
94
+ * groups. Each group becomes a Story, each checkbox item a Task.
95
+ *
96
+ * Two things this deliberately does NOT do:
97
+ *
98
+ * - It does not throw. The attachments are uploaded before it runs, so a
99
+ * publish is still worth reporting when the hierarchy fails. But it
100
+ * *reports* the failure — it used to be wrapped in a bare `catch` in the
101
+ * tool handler, which made a crashed sync byte-identical to one that was
102
+ * never asked for, and a half-built hierarchy was discovered only by
103
+ * someone independently listing the epic's children.
104
+ *
105
+ * - It does not match a story by title across the whole project. When
106
+ * publishing to an epic it looks only at that epic's stories. Group
107
+ * headings like "Documentation" and "Validation" come from the repo's own
108
+ * task template, so nearly every change has both; matching project-wide
109
+ * attached a change's tasks to an unrelated epic's story, which looks like
110
+ * success and is worse than failing.
111
+ */
112
+ export declare function syncTaskGroups(args: TaskSyncArgs): Promise<TaskSyncOutcome>;
113
+ /** One line describing the outcome, for the tool's summary message. */
114
+ export declare function describeTaskSync(outcome: TaskSyncOutcome): string;
115
+ //# sourceMappingURL=taskSync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taskSync.d.ts","sourceRoot":"","sources":["../../../src/tools/openspec-viz/taskSync.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,144 @@
1
+ /**
2
+ * Create Stories and Tasks in the ticket system from an OpenSpec change's task
3
+ * groups. Each group becomes a Story, each checkbox item a Task.
4
+ *
5
+ * Two things this deliberately does NOT do:
6
+ *
7
+ * - It does not throw. The attachments are uploaded before it runs, so a
8
+ * publish is still worth reporting when the hierarchy fails. But it
9
+ * *reports* the failure — it used to be wrapped in a bare `catch` in the
10
+ * tool handler, which made a crashed sync byte-identical to one that was
11
+ * never asked for, and a half-built hierarchy was discovered only by
12
+ * someone independently listing the epic's children.
13
+ *
14
+ * - It does not match a story by title across the whole project. When
15
+ * publishing to an epic it looks only at that epic's stories. Group
16
+ * headings like "Documentation" and "Validation" come from the repo's own
17
+ * task template, so nearly every change has both; matching project-wide
18
+ * attached a change's tasks to an unrelated epic's story, which looks like
19
+ * success and is worse than failing.
20
+ */
21
+ export async function syncTaskGroups(args) {
22
+ const { client, projectId, taskGroups, ticketType, ticketId, changeId } = args;
23
+ if (args.enabled === false) {
24
+ return { status: "skipped", reason: "sync_tasks was not requested" };
25
+ }
26
+ if (!taskGroups.length) {
27
+ return { status: "skipped", reason: "the change has no task groups" };
28
+ }
29
+ if (!projectId) {
30
+ return { status: "skipped", reason: "the agent is not bound to a project" };
31
+ }
32
+ const counts = {
33
+ storiesCreated: 0,
34
+ tasksCreated: 0,
35
+ storiesSkipped: 0,
36
+ tasksSkipped: 0,
37
+ };
38
+ // Position of the work in flight, so a throw can say where it stopped.
39
+ let atGroup;
40
+ let atTask;
41
+ const failed = (err) => ({
42
+ status: "failed",
43
+ error: err instanceof Error ? err.message : String(err),
44
+ atGroup,
45
+ atTask,
46
+ ...counts,
47
+ });
48
+ try {
49
+ // Scope the duplicate search to the epic being published to. Publishing to
50
+ // a story or task keeps the project-wide view: there is no epic to scope
51
+ // to, and narrowing it would be a guess.
52
+ const epicId = ticketType === "epic" ? ticketId : undefined;
53
+ const existingStories = await client.listProjectStories(projectId, epicId);
54
+ const storyIdByTitle = new Map();
55
+ for (const s of existingStories.stories || []) {
56
+ storyIdByTitle.set(s.title.toLowerCase().trim(), s.id);
57
+ }
58
+ for (const group of taskGroups) {
59
+ const groupTitle = group.title.trim();
60
+ if (!groupTitle)
61
+ continue;
62
+ atGroup = groupTitle;
63
+ atTask = undefined;
64
+ let storyId;
65
+ const existingStoryId = storyIdByTitle.get(groupTitle.toLowerCase());
66
+ if (existingStoryId) {
67
+ storyId = existingStoryId;
68
+ counts.storiesSkipped++;
69
+ }
70
+ else {
71
+ const created = await client.createStory({
72
+ project_id: projectId,
73
+ epic_id: epicId,
74
+ title: groupTitle,
75
+ labels: ["openspec-sync"],
76
+ openspec_change_id: changeId,
77
+ });
78
+ storyId = created.id;
79
+ storyIdByTitle.set(groupTitle.toLowerCase(), storyId);
80
+ counts.storiesCreated++;
81
+ }
82
+ const existingTasks = await client.listProjectTasks(projectId, storyId);
83
+ const taskInfoByTitle = new Map();
84
+ for (const t of existingTasks.tasks || []) {
85
+ taskInfoByTitle.set(t.title.toLowerCase().trim(), { id: t.id, key: t.key });
86
+ }
87
+ for (const task of group.tasks) {
88
+ const taskTitle = task.text.trim();
89
+ if (!taskTitle)
90
+ continue;
91
+ atTask = taskTitle;
92
+ const existing = taskInfoByTitle.get(taskTitle.toLowerCase());
93
+ if (existing) {
94
+ // Record the mapping for already-present tasks too, so the uploaded
95
+ // JSON links every task to its ticket, not only the new ones.
96
+ task.ticket_id = existing.id;
97
+ task.ticket_key = existing.key;
98
+ counts.tasksSkipped++;
99
+ continue;
100
+ }
101
+ const created = await client.createTask({
102
+ project_id: projectId,
103
+ story_id: storyId,
104
+ title: taskTitle,
105
+ labels: ["openspec-sync"],
106
+ });
107
+ if (!created.ok) {
108
+ // A refusal is a failure. It used to be ignored on the grounds that
109
+ // a create through `story_id` is always accepted, which made a 4xx
110
+ // vanish and left the hierarchy quietly short.
111
+ return failed(new Error(`createTask refused with ${created.status} ${created.error}` +
112
+ (created.message ? `: ${created.message}` : "")));
113
+ }
114
+ task.ticket_id = created.id;
115
+ task.ticket_key = created.key;
116
+ counts.tasksCreated++;
117
+ }
118
+ atTask = undefined;
119
+ }
120
+ }
121
+ catch (err) {
122
+ return failed(err);
123
+ }
124
+ return { status: "ok", ...counts };
125
+ }
126
+ /** One line describing the outcome, for the tool's summary message. */
127
+ export function describeTaskSync(outcome) {
128
+ switch (outcome.status) {
129
+ case "skipped":
130
+ return `task sync skipped (${outcome.reason})`;
131
+ case "ok":
132
+ return (`task sync ok: ${outcome.storiesCreated} stories + ${outcome.tasksCreated} tasks created, ` +
133
+ `${outcome.storiesSkipped} stories + ${outcome.tasksSkipped} tasks already present`);
134
+ case "failed": {
135
+ const where = outcome.atGroup
136
+ ? ` while working on "${outcome.atGroup}"${outcome.atTask ? ` → "${outcome.atTask}"` : ""}`
137
+ : "";
138
+ return (`TASK SYNC FAILED${where}: ${outcome.error}. ` +
139
+ `Created ${outcome.storiesCreated} stories and ${outcome.tasksCreated} tasks before stopping — ` +
140
+ `the hierarchy is incomplete.`);
141
+ }
142
+ }
143
+ }
144
+ //# sourceMappingURL=taskSync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taskSync.js","sourceRoot":"","sources":["../../../src/tools/openspec-viz/taskSync.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=taskSync.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taskSync.test.d.ts","sourceRoot":"","sources":["../../../src/tools/openspec-viz/taskSync.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,198 @@
1
+ import { describe, it, expect } from "vitest";
2
+ import { syncTaskGroups } from "./taskSync.js";
3
+ /**
4
+ * A fake ticket API.
5
+ *
6
+ * Stories and tasks are kept as flat rows so a test can seed a story under
7
+ * *another* epic — which is the whole point of the dedup-scoping tests. The
8
+ * real client's `listProjectStories(projectId)` returns every story in the
9
+ * project regardless of epic, so a fake that silently scoped by epic would
10
+ * make the bug untestable.
11
+ */
12
+ function makeClient(seed = {}) {
13
+ const stories = [...(seed.stories ?? [])].map((s, i) => ({
14
+ key: `S-${i}`,
15
+ status: "backlog",
16
+ ...s,
17
+ }));
18
+ const tasks = [...(seed.tasks ?? [])].map((t, i) => ({
19
+ key: `T-${i}`,
20
+ status: "backlog",
21
+ ...t,
22
+ }));
23
+ let n = 0;
24
+ const calls = {
25
+ listStoriesEpicId: [],
26
+ };
27
+ const client = {
28
+ async listProjectStories(_projectId, epicId) {
29
+ calls.listStoriesEpicId.push(epicId);
30
+ // Mirrors the server: filter by epic only when asked to.
31
+ const rows = epicId ? stories.filter((s) => s.epic_id === epicId) : stories;
32
+ return { stories: rows.map((s) => ({ ...s })) };
33
+ },
34
+ async listProjectTasks(_projectId, storyId) {
35
+ const rows = storyId ? tasks.filter((t) => t.story_id === storyId) : tasks;
36
+ return { tasks: rows.map((t) => ({ ...t })) };
37
+ },
38
+ async createStory(p) {
39
+ const row = {
40
+ id: `story-${++n}`,
41
+ key: `NEW-S${n}`,
42
+ title: p.title,
43
+ status: "backlog",
44
+ epic_id: p.epic_id,
45
+ };
46
+ stories.push(row);
47
+ return { id: row.id, key: row.key };
48
+ },
49
+ async createTask(p) {
50
+ const row = {
51
+ id: `task-${++n}`,
52
+ key: `NEW-T${n}`,
53
+ title: p.title,
54
+ status: "backlog",
55
+ story_id: p.story_id,
56
+ };
57
+ tasks.push(row);
58
+ return { ok: true, id: row.id, key: row.key };
59
+ },
60
+ };
61
+ return { client, stories, tasks, calls };
62
+ }
63
+ const GROUPS = [
64
+ { title: "Do the thing", tasks: [{ text: "**1.1** first", done: true }] },
65
+ { title: "Documentation", tasks: [{ text: "**2.1** write it", done: false }] },
66
+ ];
67
+ const BASE = {
68
+ projectId: "proj-1",
69
+ ticketType: "epic",
70
+ ticketId: "epic-mine",
71
+ changeId: "some-change",
72
+ };
73
+ describe("syncTaskGroups — reporting the outcome", () => {
74
+ it("reports counts when every group and task is created", async () => {
75
+ const { client } = makeClient();
76
+ const out = await syncTaskGroups({ ...BASE, client, taskGroups: GROUPS });
77
+ expect(out.status).toBe("ok");
78
+ if (out.status !== "ok")
79
+ return;
80
+ expect(out.storiesCreated).toBe(2);
81
+ expect(out.tasksCreated).toBe(2);
82
+ expect(out.storiesSkipped).toBe(0);
83
+ expect(out.tasksSkipped).toBe(0);
84
+ });
85
+ it("reports a failure instead of swallowing it, and is not mistakable for success", async () => {
86
+ const { client } = makeClient();
87
+ client.createTask = async () => {
88
+ throw new Error("Unexpected token < in JSON at position 0");
89
+ };
90
+ const out = await syncTaskGroups({ ...BASE, client, taskGroups: GROUPS });
91
+ expect(out.status).toBe("failed");
92
+ if (out.status !== "failed")
93
+ return;
94
+ expect(out.error).toContain("Unexpected token");
95
+ // The bug this test exists for: a thrown sync used to be indistinguishable
96
+ // from one that was never asked for.
97
+ expect(out.status).not.toBe("skipped");
98
+ });
99
+ it("names the group and task it had reached, so a partial hierarchy is attributable", async () => {
100
+ const { client } = makeClient();
101
+ const realCreate = client.createTask;
102
+ client.createTask = async (p) => {
103
+ if (p.title.includes("2.1"))
104
+ throw new Error("boom");
105
+ return realCreate(p);
106
+ };
107
+ const out = await syncTaskGroups({ ...BASE, client, taskGroups: GROUPS });
108
+ expect(out.status).toBe("failed");
109
+ if (out.status !== "failed")
110
+ return;
111
+ expect(out.atGroup).toBe("Documentation");
112
+ expect(out.atTask).toContain("2.1");
113
+ // Work completed before the throw is still reported, not lost.
114
+ expect(out.storiesCreated).toBe(2);
115
+ expect(out.tasksCreated).toBe(1);
116
+ });
117
+ it("distinguishes a sync that was never requested", async () => {
118
+ const { client } = makeClient();
119
+ const out = await syncTaskGroups({
120
+ ...BASE,
121
+ client,
122
+ taskGroups: GROUPS,
123
+ enabled: false,
124
+ });
125
+ expect(out.status).toBe("skipped");
126
+ });
127
+ it("treats a refused createTask as a failure, not a silent skip", async () => {
128
+ const { client } = makeClient();
129
+ client.createTask = async () => ({
130
+ ok: false,
131
+ status: 400,
132
+ error: "hierarchy_required",
133
+ });
134
+ const out = await syncTaskGroups({ ...BASE, client, taskGroups: GROUPS });
135
+ expect(out.status).toBe("failed");
136
+ if (out.status !== "failed")
137
+ return;
138
+ expect(out.error).toContain("hierarchy_required");
139
+ });
140
+ });
141
+ describe("syncTaskGroups — story dedup is scoped to the epic", () => {
142
+ it("does not attach to a story with the same title under a different epic", async () => {
143
+ const { client, stories, tasks } = makeClient({
144
+ stories: [{ id: "foreign-doc", title: "Documentation", epic_id: "epic-other" }],
145
+ });
146
+ const out = await syncTaskGroups({ ...BASE, client, taskGroups: GROUPS });
147
+ expect(out.status).toBe("ok");
148
+ // A new Documentation story under OUR epic.
149
+ const mine = stories.filter((s) => s.title === "Documentation" && s.epic_id === "epic-mine");
150
+ expect(mine).toHaveLength(1);
151
+ // And nothing was filed against the foreign one.
152
+ expect(tasks.filter((t) => t.story_id === "foreign-doc")).toHaveLength(0);
153
+ expect(tasks.filter((t) => t.story_id === mine[0].id)).toHaveLength(1);
154
+ });
155
+ it("still reuses this epic's own story", async () => {
156
+ const { client, stories } = makeClient({
157
+ stories: [{ id: "mine-doc", title: "Documentation", epic_id: "epic-mine" }],
158
+ });
159
+ const out = await syncTaskGroups({ ...BASE, client, taskGroups: GROUPS });
160
+ expect(out.status).toBe("ok");
161
+ if (out.status !== "ok")
162
+ return;
163
+ expect(out.storiesSkipped).toBe(1);
164
+ expect(stories.filter((s) => s.title === "Documentation" && s.epic_id === "epic-mine")).toHaveLength(1);
165
+ });
166
+ it("asks the server for only this epic's stories when publishing to an epic", async () => {
167
+ const { client, calls } = makeClient();
168
+ await syncTaskGroups({ ...BASE, client, taskGroups: GROUPS });
169
+ expect(calls.listStoriesEpicId).toEqual(["epic-mine"]);
170
+ });
171
+ it("does not scope when the target is not an epic", async () => {
172
+ const { client, calls } = makeClient();
173
+ await syncTaskGroups({
174
+ ...BASE,
175
+ client,
176
+ taskGroups: GROUPS,
177
+ ticketType: "story",
178
+ });
179
+ expect(calls.listStoriesEpicId).toEqual([undefined]);
180
+ });
181
+ });
182
+ describe("syncTaskGroups — ticket mappings", () => {
183
+ it("writes ticket ids back onto the task groups, for created and existing alike", async () => {
184
+ const { client } = makeClient({
185
+ stories: [{ id: "mine-doc", title: "Documentation", epic_id: "epic-mine" }],
186
+ tasks: [{ id: "existing-21", title: "**2.1** write it", story_id: "mine-doc" }],
187
+ });
188
+ const groups = JSON.parse(JSON.stringify(GROUPS));
189
+ const out = await syncTaskGroups({ ...BASE, client, taskGroups: groups });
190
+ expect(out.status).toBe("ok");
191
+ if (out.status !== "ok")
192
+ return;
193
+ expect(out.tasksSkipped).toBe(1);
194
+ expect(groups[0].tasks[0].ticket_id).toBeTruthy();
195
+ expect(groups[1].tasks[0].ticket_id).toBe("existing-21");
196
+ });
197
+ });
198
+ //# sourceMappingURL=taskSync.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taskSync.test.js","sourceRoot":"","sources":["../../../src/tools/openspec-viz/taskSync.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../src/websocket.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,oBAAoB,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;IAC1E,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kBAAkB,CAAC,EAAE,iBAAiB,CAAC;IACvC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,oBAAoB,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;AAEtG,qBAAa,eAAe;IAC1B,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,oBAAoB,CAAK;IACjC,OAAO,CAAC,cAAc,CAAQ;IAC9B,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,YAAY,CAA6B;IAGjD,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,cAAc,CAAiB;gBAE3B,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAS3C;;;OAGG;IACH,MAAM,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAIpC;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAiD9B;;OAEG;IACH,OAAO,CAAC,aAAa;IAgErB;;OAEG;IACH,OAAO,CAAC,OAAO;IAQf;;OAEG;IACH,OAAO,CAAC,IAAI;IAUZ;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA0BzB;;;;;;;;;;OAUG;IACH,eAAe,IAAI,WAAW;IAO9B;;;;;;;OAOG;IACH,iBAAiB,CAAC,QAAQ,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,IAAI;IAWhF;;;;;;;OAOG;IACH,cAAc,IAAI,WAAW;IAU7B;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACH,KAAK,IAAI,IAAI;CAuBd"}
1
+ {"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../src/websocket.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,oBAAoB,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;IAC1E,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kBAAkB,CAAC,EAAE,iBAAiB,CAAC;IACvC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,oBAAoB,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;AAEtG,qBAAa,eAAe;IAC1B,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,oBAAoB,CAAK;IACjC,OAAO,CAAC,cAAc,CAAQ;IAC9B,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,YAAY,CAA6B;IAGjD,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,cAAc,CAAiB;gBAE3B,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAS3C;;;OAGG;IACH,MAAM,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAIpC;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IA0D9B;;OAEG;IACH,OAAO,CAAC,aAAa;IAgErB;;OAEG;IACH,OAAO,CAAC,OAAO;IAQf;;OAEG;IACH,OAAO,CAAC,IAAI;IAUZ;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA0BzB;;;;;;;;;;OAUG;IACH,eAAe,IAAI,WAAW;IAO9B;;;;;;;OAOG;IACH,iBAAiB,CAAC,QAAQ,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,IAAI;IAWhF;;;;;;;OAOG;IACH,cAAc,IAAI,WAAW;IAU7B;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACH,KAAK,IAAI,IAAI;CAuBd"}
package/dist/websocket.js CHANGED
@@ -63,10 +63,17 @@ export class WebSocketClient {
63
63
  console.error("[AgentHub] Failed to parse WebSocket message:", error);
64
64
  }
65
65
  });
66
- this.ws.on("close", () => {
66
+ // The close code and reason are kept, not dropped (AGHUB-1436). This
67
+ // handler took no arguments and logged one fixed line, so a network blip,
68
+ // a server restart (1001/1012) and a deliberate refusal (1008) were
69
+ // indistinguishable in the log — and 1008 is the one that will never fix
70
+ // itself by reconnecting.
71
+ this.ws.on("close", (code, reason) => {
67
72
  this.isConnecting = false;
68
73
  if (!this.isClosing) {
69
- console.error("[AgentHub] WebSocket disconnected, will reconnect...");
74
+ const text = reason?.toString("utf8").trim();
75
+ const why = text ? `: ${text}` : "";
76
+ console.error(`[AgentHub] WebSocket disconnected (close ${code}${why}), will reconnect...`);
70
77
  this.scheduleReconnect();
71
78
  }
72
79
  });
@@ -1 +1 @@
1
- {"version":3,"file":"websocket.js","sourceRoot":"","sources":["../src/websocket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websocket.js","sourceRoot":"","sources":["../src/websocket.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agenthub-multiagent-mcp",
3
- "version": "1.64.0",
3
+ "version": "1.66.0",
4
4
  "description": "MCP server for AgentHub multi-agent communication",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",