kitty-hive 0.5.9 → 0.6.1
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/README.md +5 -0
- package/README.zh.md +5 -0
- package/channel.ts +15 -8
- package/dist/db.d.ts +13 -0
- package/dist/db.js +47 -0
- package/dist/db.js.map +1 -1
- package/dist/federation-http.js +20 -14
- package/dist/federation-http.js.map +1 -1
- package/dist/index.js +217 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp/dm-tools.js +8 -11
- package/dist/mcp/dm-tools.js.map +1 -1
- package/dist/mcp/task-tools.js +54 -45
- package/dist/mcp/task-tools.js.map +1 -1
- package/dist/mcp/team-tools.js +16 -7
- package/dist/mcp/team-tools.js.map +1 -1
- package/dist/preview.d.ts +25 -0
- package/dist/preview.js +31 -0
- package/dist/preview.js.map +1 -1
- package/dist/server.js +32 -2
- package/dist/server.js.map +1 -1
- package/dist/sessions.d.ts +7 -0
- package/dist/sessions.js +65 -8
- package/dist/sessions.js.map +1 -1
- package/package.json +1 -1
package/dist/mcp/task-tools.js
CHANGED
|
@@ -2,7 +2,11 @@ import { z } from 'zod';
|
|
|
2
2
|
import { handleTaskCreateAsync, handleCheck, handleTaskClaimAsync, handleTaskCancelAsync, handleWorkflowProposeAsync, handleWorkflowApproveAsync, handleStepCompleteAsync, handleStepApproveAsync, handleWorkflowRejectAsync, } from '../tools/task.js';
|
|
3
3
|
import { asParam, authError, resolveAgent } from '../auth.js';
|
|
4
4
|
import { notifyAgents, notifyTaskParticipants } from '../sessions.js';
|
|
5
|
+
import { buildPushMessage } from '../preview.js';
|
|
5
6
|
import * as db from '../db.js';
|
|
7
|
+
function eventId(taskId, type) {
|
|
8
|
+
return `task:${taskId}:${type}:${Date.now()}`;
|
|
9
|
+
}
|
|
6
10
|
export function registerTaskTools(mcp) {
|
|
7
11
|
mcp.tool('hive_task', 'Create a task and (optionally) delegate. Omit `to` to create an unassigned task that anyone can claim.', {
|
|
8
12
|
as: asParam,
|
|
@@ -15,9 +19,12 @@ export function registerTaskTools(mcp) {
|
|
|
15
19
|
return authError();
|
|
16
20
|
const result = await handleTaskCreateAsync(agent.id, { to: params.to, title: params.title, input: params.input });
|
|
17
21
|
if (result.assignee) {
|
|
18
|
-
await notifyAgents([result.assignee.id], agent.id,
|
|
19
|
-
type: 'task-assigned',
|
|
20
|
-
|
|
22
|
+
await notifyAgents([result.assignee.id], agent.id, buildPushMessage({
|
|
23
|
+
type: 'task-assigned',
|
|
24
|
+
from: agent.display_name,
|
|
25
|
+
from_agent_id: agent.id,
|
|
26
|
+
event_id: eventId(result.task_id, 'task-assigned'),
|
|
27
|
+
task_id: result.task_id,
|
|
21
28
|
}));
|
|
22
29
|
}
|
|
23
30
|
return { content: [{ type: 'text', text: JSON.stringify(result) }] };
|
|
@@ -27,9 +34,12 @@ export function registerTaskTools(mcp) {
|
|
|
27
34
|
if (!agent)
|
|
28
35
|
return authError();
|
|
29
36
|
const result = await handleTaskClaimAsync(params.task_id, agent.id);
|
|
30
|
-
await notifyTaskParticipants(params.task_id, agent.id,
|
|
31
|
-
type: 'task-claimed',
|
|
32
|
-
|
|
37
|
+
await notifyTaskParticipants(params.task_id, agent.id, buildPushMessage({
|
|
38
|
+
type: 'task-claimed',
|
|
39
|
+
from: agent.display_name,
|
|
40
|
+
from_agent_id: agent.id,
|
|
41
|
+
event_id: eventId(params.task_id, 'task-claimed'),
|
|
42
|
+
task_id: params.task_id,
|
|
33
43
|
}));
|
|
34
44
|
return { content: [{ type: 'text', text: JSON.stringify(result) }] };
|
|
35
45
|
});
|
|
@@ -42,10 +52,13 @@ export function registerTaskTools(mcp) {
|
|
|
42
52
|
if (!agent)
|
|
43
53
|
return authError();
|
|
44
54
|
const result = await handleTaskCancelAsync(params.task_id, agent.id, params.reason);
|
|
45
|
-
await notifyTaskParticipants(params.task_id, agent.id,
|
|
46
|
-
type: 'task-cancel',
|
|
55
|
+
await notifyTaskParticipants(params.task_id, agent.id, buildPushMessage({
|
|
56
|
+
type: 'task-cancel',
|
|
57
|
+
from: agent.display_name,
|
|
58
|
+
from_agent_id: agent.id,
|
|
59
|
+
event_id: eventId(params.task_id, 'task-cancel'),
|
|
47
60
|
task_id: params.task_id,
|
|
48
|
-
|
|
61
|
+
reason: params.reason,
|
|
49
62
|
}));
|
|
50
63
|
return { content: [{ type: 'text', text: JSON.stringify(result) }] };
|
|
51
64
|
});
|
|
@@ -91,9 +104,12 @@ export function registerTaskTools(mcp) {
|
|
|
91
104
|
if (!agent)
|
|
92
105
|
return authError();
|
|
93
106
|
await handleWorkflowProposeAsync(params.task_id, agent.id, params.workflow);
|
|
94
|
-
await notifyTaskParticipants(params.task_id, agent.id,
|
|
95
|
-
type: 'task-propose',
|
|
96
|
-
|
|
107
|
+
await notifyTaskParticipants(params.task_id, agent.id, buildPushMessage({
|
|
108
|
+
type: 'task-propose',
|
|
109
|
+
from: agent.display_name,
|
|
110
|
+
from_agent_id: agent.id,
|
|
111
|
+
event_id: eventId(params.task_id, 'task-propose'),
|
|
112
|
+
task_id: params.task_id,
|
|
97
113
|
}));
|
|
98
114
|
return { content: [{ type: 'text', text: JSON.stringify({ task_id: params.task_id, status: 'proposing', steps: params.workflow.length }) }] };
|
|
99
115
|
});
|
|
@@ -102,9 +118,12 @@ export function registerTaskTools(mcp) {
|
|
|
102
118
|
if (!agent)
|
|
103
119
|
return authError();
|
|
104
120
|
const action = await handleWorkflowApproveAsync(params.task_id, agent.id);
|
|
105
|
-
await notifyTaskParticipants(params.task_id, agent.id,
|
|
106
|
-
type: 'step-start',
|
|
107
|
-
|
|
121
|
+
await notifyTaskParticipants(params.task_id, agent.id, buildPushMessage({
|
|
122
|
+
type: 'step-start',
|
|
123
|
+
from: agent.display_name,
|
|
124
|
+
from_agent_id: agent.id,
|
|
125
|
+
event_id: eventId(params.task_id, 'step-start'),
|
|
126
|
+
task_id: params.task_id,
|
|
108
127
|
}));
|
|
109
128
|
return { content: [{ type: 'text', text: JSON.stringify({ task_id: params.task_id, status: 'approved', action }) }] };
|
|
110
129
|
});
|
|
@@ -118,27 +137,13 @@ export function registerTaskTools(mcp) {
|
|
|
118
137
|
if (!agent)
|
|
119
138
|
return authError();
|
|
120
139
|
const action = await handleStepCompleteAsync(params.task_id, agent.id, params.step, params.result);
|
|
121
|
-
const
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
}
|
|
129
|
-
else if (action?.type === 'awaiting_approval') {
|
|
130
|
-
const approver = action.approver ? db.getAgentById(action.approver)?.display_name ?? action.approver : 'creator';
|
|
131
|
-
msg = `[hive note] Step ${action.step} complete — awaiting approval from ${approver}.\n` +
|
|
132
|
-
`- Continue: hive-workflow-step-approve({ task_id: "${params.task_id}" })\n` +
|
|
133
|
-
`- Rework: hive-workflow-reject({ task_id: "${params.task_id}", step: ${action.step}, reason: "..." })\n` +
|
|
134
|
-
`Do not start the next step until the gate is released.`;
|
|
135
|
-
}
|
|
136
|
-
else {
|
|
137
|
-
msg = `Step ${params.step} progress recorded`;
|
|
138
|
-
}
|
|
139
|
-
await notifyTaskParticipants(params.task_id, agent.id, JSON.stringify({
|
|
140
|
-
type: action?.type || 'step-complete', from_agent_id: agent.id, from: agent.display_name,
|
|
141
|
-
task_id: params.task_id, preview: msg,
|
|
140
|
+
const pushType = action?.type || 'step-complete';
|
|
141
|
+
await notifyTaskParticipants(params.task_id, agent.id, buildPushMessage({
|
|
142
|
+
type: pushType,
|
|
143
|
+
from: agent.display_name,
|
|
144
|
+
from_agent_id: agent.id,
|
|
145
|
+
event_id: eventId(params.task_id, pushType),
|
|
146
|
+
task_id: params.task_id,
|
|
142
147
|
}));
|
|
143
148
|
return { content: [{ type: 'text', text: JSON.stringify({ task_id: params.task_id, action: action || 'waiting' }) }] };
|
|
144
149
|
});
|
|
@@ -152,12 +157,12 @@ export function registerTaskTools(mcp) {
|
|
|
152
157
|
if (!agent)
|
|
153
158
|
return authError();
|
|
154
159
|
const action = await handleStepApproveAsync(params.task_id, agent.id);
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
:
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
task_id: params.task_id,
|
|
160
|
+
await notifyTaskParticipants(params.task_id, agent.id, buildPushMessage({
|
|
161
|
+
type: action.type,
|
|
162
|
+
from: agent.display_name,
|
|
163
|
+
from_agent_id: agent.id,
|
|
164
|
+
event_id: eventId(params.task_id, action.type),
|
|
165
|
+
task_id: params.task_id,
|
|
161
166
|
}));
|
|
162
167
|
return { content: [{ type: 'text', text: JSON.stringify({ task_id: params.task_id, action }) }] };
|
|
163
168
|
});
|
|
@@ -171,9 +176,13 @@ export function registerTaskTools(mcp) {
|
|
|
171
176
|
if (!agent)
|
|
172
177
|
return authError();
|
|
173
178
|
const action = await handleWorkflowRejectAsync(params.task_id, agent.id, params.step, params.reason);
|
|
174
|
-
await notifyTaskParticipants(params.task_id, agent.id,
|
|
175
|
-
type: 'task-reject',
|
|
176
|
-
|
|
179
|
+
await notifyTaskParticipants(params.task_id, agent.id, buildPushMessage({
|
|
180
|
+
type: 'task-reject',
|
|
181
|
+
from: agent.display_name,
|
|
182
|
+
from_agent_id: agent.id,
|
|
183
|
+
event_id: eventId(params.task_id, 'task-reject'),
|
|
184
|
+
task_id: params.task_id,
|
|
185
|
+
reason: params.reason,
|
|
177
186
|
}));
|
|
178
187
|
return { content: [{ type: 'text', text: JSON.stringify({ task_id: params.task_id, action }) }] };
|
|
179
188
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-tools.js","sourceRoot":"","sources":["../../src/mcp/task-tools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,qBAAqB,EAAE,WAAW,EAClC,oBAAoB,EAAE,qBAAqB,EAC3C,0BAA0B,EAAE,0BAA0B,EACtD,uBAAuB,EAAE,sBAAsB,EAAE,yBAAyB,GAC3E,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,KAAK,EAAE,MAAM,UAAU,CAAC;AAE/B,MAAM,UAAU,iBAAiB,CAAC,GAAc;IAC9C,GAAG,CAAC,IAAI,CACN,WAAW,EACX,wGAAwG,EACxG;QACE,EAAE,EAAE,OAAO;QACX,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+OAA+O,CAAC;QACnR,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;QACxC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;KACtF,EACD,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;QACtB,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAe,EAAE,CAAC,CAAC;QAC5H,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,MAAM,YAAY,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC;gBAChE,IAAI,EAAE,eAAe,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,YAAY;gBACxE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK;aAC7C,CAAC,CAAC,CAAC;QACN,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;IACvE,CAAC,CACF,CAAC;IAEF,GAAG,CAAC,IAAI,CACN,iBAAiB,EACjB,2DAA2D,EAC3D,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,EACxD,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;QACtB,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QACpE,MAAM,sBAAsB,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC;YACpE,IAAI,EAAE,cAAc,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,YAAY;YACvE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,YAAY,aAAa,MAAM,CAAC,KAAK,EAAE;SACnF,CAAC,CAAC,CAAC;QACJ,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;IACvE,CAAC,CACF,CAAC;IAEF,GAAG,CAAC,IAAI,CACN,kBAAkB,EAClB,uKAAuK,EACvK;QACE,EAAE,EAAE,OAAO;QACX,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;QACvC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gEAAgE,CAAC;KACzG,EACD,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;QACtB,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACpF,MAAM,sBAAsB,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC;YACpE,IAAI,EAAE,aAAa,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,YAAY;YACtE,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,OAAO,EAAE,oBAAoB,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;SAC9F,CAAC,CAAC,CAAC;QACJ,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;IACvE,CAAC,CACF,CAAC;IAEF,GAAG,CAAC,IAAI,CACN,YAAY,EACZ,4CAA4C,EAC5C;QACE,EAAE,EAAE,OAAO;QACX,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4HAA4H,CAAC;KACrK,EACD,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;QACtB,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACxD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5B,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM;YAC/C,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,YAAY,IAAI,SAAS;YACvE,QAAQ,EAAE,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,iBAAiB,CAAC,EAAE,YAAY,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,YAAY;YAChH,YAAY,EAAE,CAAC,CAAC,YAAY;YAC5B,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa;YAC/B,UAAU,EAAE,CAAC,CAAC,UAAU;SACzB,CAAC,CAAC,CAAC;QACJ,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC/E,CAAC,CACF,CAAC;IAEF,GAAG,CAAC,IAAI,CACN,YAAY,EACZ,0CAA0C,EAC1C,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,EAC3C,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QACnC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;IACvE,CAAC,CACF,CAAC;IAEF,GAAG,CAAC,IAAI,CACN,uBAAuB,EACvB,0EAA0E;QAC1E,oGAAoG;QACpG,4GAA4G;QAC5G,uGAAuG,EACvG;QACE,EAAE,EAAE,OAAO;QACX,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;QACvC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;YACzB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;YAChB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;YACjB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC;YAClE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;YAClB,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;YACjD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8IAA8I,CAAC;YACzL,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+NAA+N,CAAC;SACvQ,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC;KAC/B,EACD,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;QACtB,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,EAAE,CAAC;QAC/B,MAAM,0BAA0B,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,QAAe,CAAC,CAAC;QACnF,MAAM,sBAAsB,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC;YACpE,IAAI,EAAE,cAAc,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,YAAY;YACvE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,sBAAsB,MAAM,CAAC,QAAQ,CAAC,MAAM,QAAQ;SACvF,CAAC,CAAC,CAAC;QACJ,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAChJ,CAAC,CACF,CAAC;IAEF,GAAG,CAAC,IAAI,CACN,uBAAuB,EACvB,4DAA4D,EAC5D,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,EACxD,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;QACtB,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,0BAA0B,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QAC1E,MAAM,sBAAsB,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC;YACpE,IAAI,EAAE,YAAY,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,YAAY;YACrE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,8BAA8B,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;SAC/F,CAAC,CAAC,CAAC;QACJ,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACxH,CAAC,CACF,CAAC;IAEF,GAAG,CAAC,IAAI,CACN,6BAA6B,EAC7B,oPAAoP,EACpP;QACE,EAAE,EAAE,OAAO;QACX,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;QACvC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;QACxC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;KAC7D,EACD,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;QACtB,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACnG,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;QAC/H,IAAI,GAAW,CAAC;QAChB,IAAI,MAAM,EAAE,IAAI,KAAK,eAAe,EAAE,CAAC;YACrC,GAAG,GAAG,iBAAiB,CAAC;QAC1B,CAAC;aAAM,IAAI,MAAM,EAAE,IAAI,KAAK,YAAY,EAAE,CAAC;YACzC,GAAG,GAAG,QAAQ,MAAM,CAAC,IAAI,8BAA8B,aAAa,IAAI,MAAM,EAAE,CAAC;QACnF,CAAC;aAAM,IAAI,MAAM,EAAE,IAAI,KAAK,mBAAmB,EAAE,CAAC;YAChD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,YAAY,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YACjH,GAAG,GAAG,oBAAoB,MAAM,CAAC,IAAI,sCAAsC,QAAQ,KAAK;gBAClF,sDAAsD,MAAM,CAAC,OAAO,QAAQ;gBAC5E,gDAAgD,MAAM,CAAC,OAAO,YAAY,MAAM,CAAC,IAAI,sBAAsB;gBAC3G,wDAAwD,CAAC;QACjE,CAAC;aAAM,CAAC;YACN,GAAG,GAAG,QAAQ,MAAM,CAAC,IAAI,oBAAoB,CAAC;QAChD,CAAC;QACD,MAAM,sBAAsB,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC;YACpE,IAAI,EAAE,MAAM,EAAE,IAAI,IAAI,eAAe,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,YAAY;YACxF,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG;SACtC,CAAC,CAAC,CAAC;QACJ,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACzH,CAAC,CACF,CAAC;IAEF,GAAG,CAAC,IAAI,CACN,4BAA4B,EAC5B,mEAAmE;QACnE,sFAAsF;QACtF,4EAA4E,EAC5E;QACE,EAAE,EAAE,OAAO;QACX,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;KACxC,EACD,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;QACtB,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QACtE,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,KAAK,eAAe;YACzC,CAAC,CAAC,6CAA6C;YAC/C,CAAC,CAAC,QAAQ,MAAM,CAAC,IAAI,8BAA8B,KAAK,CAAC,YAAY,IAAI,CAAC;QAC5E,MAAM,sBAAsB,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC;YACpE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,YAAY;YACpE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG;SACtC,CAAC,CAAC,CAAC;QACJ,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACpG,CAAC,CACF,CAAC;IAEF,GAAG,CAAC,IAAI,CACN,sBAAsB,EACtB,8DAA8D,EAC9D;QACE,EAAE,EAAE,OAAO;QACX,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;QACvC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;QAChD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;KAC3D,EACD,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;QACtB,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,yBAAyB,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACrG,MAAM,sBAAsB,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC;YACpE,IAAI,EAAE,aAAa,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,YAAY;YACtE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,MAAM,CAAC,IAAI,4BAA4B,MAAM,CAAC,IAAI,EAAE;SAC/F,CAAC,CAAC,CAAC;QACJ,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACpG,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"task-tools.js","sourceRoot":"","sources":["../../src/mcp/task-tools.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/team-tools.js
CHANGED
|
@@ -2,6 +2,10 @@ import { z } from 'zod';
|
|
|
2
2
|
import { handleTeamCreate, handleTeamJoin, handleTeamList, handleTeamInfo, handleTeamEvents, handleTeamMessage, handleTeamNickname, handleMyTeams, } from '../tools/team.js';
|
|
3
3
|
import { asParam, authError, resolveAgent } from '../auth.js';
|
|
4
4
|
import { notifyTeamMembers } from '../sessions.js';
|
|
5
|
+
import { buildPushMessage } from '../preview.js';
|
|
6
|
+
function teamEventId(teamId, type) {
|
|
7
|
+
return `team:${teamId}:${type}:${Date.now()}`;
|
|
8
|
+
}
|
|
5
9
|
export function registerTeamTools(mcp) {
|
|
6
10
|
mcp.tool('hive_team_create', 'Create a new team. Optionally set your nickname in this team.', {
|
|
7
11
|
as: asParam,
|
|
@@ -25,9 +29,12 @@ export function registerTeamTools(mcp) {
|
|
|
25
29
|
return authError();
|
|
26
30
|
const result = handleTeamJoin(agent.id, { team_id: params.team_id, name: params.name, nickname: params.nickname });
|
|
27
31
|
const shownName = params.nickname ?? agent.display_name;
|
|
28
|
-
await notifyTeamMembers(result.team_id, agent.id,
|
|
29
|
-
type: 'join',
|
|
30
|
-
|
|
32
|
+
await notifyTeamMembers(result.team_id, agent.id, buildPushMessage({
|
|
33
|
+
type: 'join',
|
|
34
|
+
from: shownName,
|
|
35
|
+
from_agent_id: agent.id,
|
|
36
|
+
event_id: teamEventId(result.team_id, 'join'),
|
|
37
|
+
team_id: result.team_id,
|
|
31
38
|
}));
|
|
32
39
|
return { content: [{ type: 'text', text: JSON.stringify(result) }] };
|
|
33
40
|
});
|
|
@@ -66,10 +73,12 @@ export function registerTeamTools(mcp) {
|
|
|
66
73
|
if (!agent)
|
|
67
74
|
return authError();
|
|
68
75
|
const result = handleTeamMessage(agent.id, { team_id: params.team_id, content: params.content });
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
76
|
+
await notifyTeamMembers(params.team_id, agent.id, buildPushMessage({
|
|
77
|
+
type: 'team-message',
|
|
78
|
+
from: agent.display_name,
|
|
79
|
+
from_agent_id: agent.id,
|
|
80
|
+
event_id: teamEventId(params.team_id, 'team-message'),
|
|
81
|
+
team_id: params.team_id,
|
|
73
82
|
}));
|
|
74
83
|
return { content: [{ type: 'text', text: JSON.stringify(result) }] };
|
|
75
84
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"team-tools.js","sourceRoot":"","sources":["../../src/mcp/team-tools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,gBAAgB,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAChE,gBAAgB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,aAAa,GACvE,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"team-tools.js","sourceRoot":"","sources":["../../src/mcp/team-tools.ts"],"names":[],"mappings":"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"}
|
package/dist/preview.d.ts
CHANGED
|
@@ -29,3 +29,28 @@ export declare function buildDMPreview(opts: BuildPreviewOpts): {
|
|
|
29
29
|
preview: string;
|
|
30
30
|
truncated: boolean;
|
|
31
31
|
};
|
|
32
|
+
export interface PushPayloadInput {
|
|
33
|
+
/** Event type: 'dm' | 'team-message' | 'join' | 'leave' | 'rename' |
|
|
34
|
+
* 'task-assigned' | 'task-claimed' | 'task-propose' | 'step-start' |
|
|
35
|
+
* 'step-complete' | 'awaiting_approval' | 'step-approve' |
|
|
36
|
+
* 'task-reject' | 'task-cancel' | 'task-complete' */
|
|
37
|
+
type: string;
|
|
38
|
+
/** Sender display_name, e.g. for UI labels. */
|
|
39
|
+
from: string;
|
|
40
|
+
from_agent_id: string;
|
|
41
|
+
/** Globally-unique event id. Used for dedup AND as the payload's stable
|
|
42
|
+
* identity. Format conventions:
|
|
43
|
+
* - DM: `dm:<message_id>`
|
|
44
|
+
* - Task: `task-ev:<task_events.id>`
|
|
45
|
+
* - Team: `team-ev:<team_events.id>`
|
|
46
|
+
* - Synth (no DB row, e.g. task-assigned): `task:<task_id>:<type>:<ts>` */
|
|
47
|
+
event_id: string;
|
|
48
|
+
message_id?: number;
|
|
49
|
+
task_id?: string;
|
|
50
|
+
team_id?: string;
|
|
51
|
+
attachments_count?: number;
|
|
52
|
+
/** Optional rejection/cancel reason (exposed so the receiver can see why
|
|
53
|
+
* without a round-trip; it's already a short field by convention). */
|
|
54
|
+
reason?: string;
|
|
55
|
+
}
|
|
56
|
+
export declare function buildPushMessage(p: PushPayloadInput): string;
|
package/dist/preview.js
CHANGED
|
@@ -56,4 +56,35 @@ export function buildDMPreview(opts) {
|
|
|
56
56
|
}
|
|
57
57
|
return { preview: lines.join('\n'), truncated };
|
|
58
58
|
}
|
|
59
|
+
export function buildPushMessage(p) {
|
|
60
|
+
const fromLabel = p.from ? ` from ${p.from}` : '';
|
|
61
|
+
let preview;
|
|
62
|
+
if (p.type === 'dm') {
|
|
63
|
+
const att = p.attachments_count
|
|
64
|
+
? ` (${p.attachments_count} attachment${p.attachments_count > 1 ? 's' : ''})`
|
|
65
|
+
: '';
|
|
66
|
+
preview = `[hive] DM${fromLabel}${att} — call hive-dm-read({ message_id: ${p.message_id} }) for full content.`;
|
|
67
|
+
}
|
|
68
|
+
else if (p.task_id) {
|
|
69
|
+
const reasonLabel = p.reason ? ` — reason: ${p.reason}` : '';
|
|
70
|
+
preview = `[hive] ${p.type}${fromLabel} on task ${p.task_id}${reasonLabel} — call hive-check({ task_id: "${p.task_id}" }) for full state.`;
|
|
71
|
+
}
|
|
72
|
+
else if (p.team_id) {
|
|
73
|
+
preview = `[hive] ${p.type}${fromLabel} in team ${p.team_id} — call hive-team-events({ team_id: "${p.team_id}" }) for details.`;
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
preview = `[hive] ${p.type}${fromLabel}`;
|
|
77
|
+
}
|
|
78
|
+
return JSON.stringify({
|
|
79
|
+
type: p.type,
|
|
80
|
+
from: p.from,
|
|
81
|
+
from_agent_id: p.from_agent_id,
|
|
82
|
+
event_id: p.event_id,
|
|
83
|
+
message_id: p.message_id,
|
|
84
|
+
task_id: p.task_id,
|
|
85
|
+
team_id: p.team_id,
|
|
86
|
+
reason: p.reason,
|
|
87
|
+
preview,
|
|
88
|
+
});
|
|
89
|
+
}
|
|
59
90
|
//# sourceMappingURL=preview.js.map
|
package/dist/preview.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preview.js","sourceRoot":"","sources":["../src/preview.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,2EAA2E;AAC3E,wCAAwC;AACxC,EAAE;AACF,yEAAyE;AACzE,0EAA0E;AAC1E,6BAA6B;AAE7B,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AACvC,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAStC,SAAS,OAAO,CAAC,KAAc;IAC7B,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,GAAG,CAAC;IAC9B,IAAI,KAAK,GAAG,IAAI;QAAE,OAAO,GAAG,KAAK,IAAI,CAAC;IACtC,IAAI,KAAK,GAAG,IAAI,GAAG,IAAI;QAAE,OAAO,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAClE,OAAO,GAAG,CAAC,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;AAClD,CAAC;AAUD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,cAAc,CAAC,IAAsB;IACnD,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,GAAG,EAAE,EAAE,MAAM,GAAG,mBAAmB,EAAE,GAAG,IAAI,CAAC;IACpF,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;IAC1C,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;IAEzC,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,CAAC;QAC7B,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAChD,CAAC;IAED,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAC5D,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,MAAM,kCAAkC,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,qIAAqI,CAAC,CAAC;IAElJ,IAAI,SAAS,EAAE,CAAC;QACd,KAAK,CAAC,IAAI,CAAC,2CAA2C,SAAS,KAAK,CAAC,CAAC;IACxE,CAAC;IACD,IAAI,SAAS,EAAE,CAAC;QACd,KAAK,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAC;QACzF,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC;AAClD,CAAC"}
|
|
1
|
+
{"version":3,"file":"preview.js","sourceRoot":"","sources":["../src/preview.ts"],"names":[],"mappings":"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"}
|
package/dist/server.js
CHANGED
|
@@ -2,9 +2,9 @@ import { randomUUID } from 'node:crypto';
|
|
|
2
2
|
import { createServer } from 'node:http';
|
|
3
3
|
import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
|
|
4
4
|
import { isInitializeRequest } from '@modelcontextprotocol/sdk/types.js';
|
|
5
|
-
import { initDB, cleanupStaleTasks } from './db.js';
|
|
5
|
+
import { initDB, cleanupStaleTasks, cleanupPendingPushes, pendingPushCountByAgent } from './db.js';
|
|
6
6
|
import { log, setLogLevel } from './log.js';
|
|
7
|
-
import { sessions, unbindSession, sessionAgents, activeSSE } from './sessions.js';
|
|
7
|
+
import { sessions, unbindSession, sessionAgents, activeSSE, drainPushesForAgent } from './sessions.js';
|
|
8
8
|
import { createMcpServer } from './mcp/server.js';
|
|
9
9
|
import { handleFederation, cleanupOldFiles, getNodeName } from './federation-http.js';
|
|
10
10
|
import { handleAdmin } from './admin-http.js';
|
|
@@ -43,6 +43,15 @@ export async function startServer(port, dbPath) {
|
|
|
43
43
|
activeSSE.delete(sid);
|
|
44
44
|
log('info', `[sse] stream closed for session=${sid}`);
|
|
45
45
|
});
|
|
46
|
+
// Drain any pending pushes for the bound agent. Fire-and-forget — we
|
|
47
|
+
// don't want to block the SSE handshake on it. Drain runs on next tick
|
|
48
|
+
// so the transport gets a chance to attach first.
|
|
49
|
+
const boundAgent = sessionAgents.get(sid);
|
|
50
|
+
if (boundAgent) {
|
|
51
|
+
setImmediate(() => {
|
|
52
|
+
drainPushesForAgent(boundAgent).catch(err => log('warn', `[drain] failed for ${boundAgent}: ${err}`));
|
|
53
|
+
});
|
|
54
|
+
}
|
|
46
55
|
await sessions[sid].transport.handleRequest(req, res);
|
|
47
56
|
return;
|
|
48
57
|
}
|
|
@@ -157,6 +166,27 @@ export async function startServer(port, dbPath) {
|
|
|
157
166
|
}
|
|
158
167
|
catch { /* ignore */ }
|
|
159
168
|
}, 24 * 60 * 60 * 1000);
|
|
169
|
+
// Sweep stale pending pushes at boot, then daily. Surviving pushes will
|
|
170
|
+
// drain naturally when each agent's SSE comes back online.
|
|
171
|
+
try {
|
|
172
|
+
const dropped = cleanupPendingPushes(7);
|
|
173
|
+
const remaining = pendingPushCountByAgent();
|
|
174
|
+
if (dropped > 0)
|
|
175
|
+
log('info', `[cleanup] removed ${dropped} pending pushes older than 7d`);
|
|
176
|
+
if (remaining.size > 0) {
|
|
177
|
+
const summary = [...remaining.entries()].map(([a, n]) => `${a}:${n}`).join(' ');
|
|
178
|
+
log('info', `[push-queue] ${remaining.size} agent(s) have pending pushes: ${summary}`);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
catch (err) {
|
|
182
|
+
log('warn', `[cleanup] push-queue sweep failed: ${err.message ?? err}`);
|
|
183
|
+
}
|
|
184
|
+
setInterval(() => {
|
|
185
|
+
try {
|
|
186
|
+
cleanupPendingPushes(7);
|
|
187
|
+
}
|
|
188
|
+
catch { /* ignore */ }
|
|
189
|
+
}, 24 * 60 * 60 * 1000);
|
|
160
190
|
startHeartbeat(60 * 1000);
|
|
161
191
|
process.on('SIGINT', async () => {
|
|
162
192
|
for (const sid in sessions) {
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,YAAY,EAAmC,MAAM,WAAW,CAAC;AAC1E,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AACnG,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/dist/sessions.d.ts
CHANGED
|
@@ -11,5 +11,12 @@ export declare const activeSSE: Set<string>;
|
|
|
11
11
|
export declare function bindSession(sessionId: string, agentId: string): void;
|
|
12
12
|
export declare function unbindSession(sessionId: string): void;
|
|
13
13
|
export declare function notifyAgents(agentIds: string[], excludeAgentId?: string, message?: string): Promise<void>;
|
|
14
|
+
/**
|
|
15
|
+
* Drains every pending push for the given agent through whichever live SSE
|
|
16
|
+
* sessions are currently bound. Called from the SSE GET handler right after
|
|
17
|
+
* the stream is registered. Idempotent: rows are removed only after at least
|
|
18
|
+
* one session confirmed the send.
|
|
19
|
+
*/
|
|
20
|
+
export declare function drainPushesForAgent(agentId: string): Promise<void>;
|
|
14
21
|
export declare function notifyTeamMembers(teamId: string, excludeAgentId?: string, message?: string): Promise<void>;
|
|
15
22
|
export declare function notifyTaskParticipants(taskId: string, excludeAgentId?: string, message?: string): Promise<void>;
|
package/dist/sessions.js
CHANGED
|
@@ -23,6 +23,14 @@ export function bindSession(sessionId, agentId) {
|
|
|
23
23
|
}
|
|
24
24
|
set.add(sessionId);
|
|
25
25
|
log('info', `[bind] session=${sessionId} → agent=${agentId} (sessions: ${set.size})`);
|
|
26
|
+
// If SSE is already active for this session, drain immediately. (When SSE
|
|
27
|
+
// opens before bind, the SSE handler also schedules a drain; this covers
|
|
28
|
+
// the opposite ordering.)
|
|
29
|
+
if (activeSSE.has(sessionId)) {
|
|
30
|
+
setImmediate(() => {
|
|
31
|
+
drainPushesForAgent(agentId).catch(err => log('warn', `[drain] failed for ${agentId}: ${err}`));
|
|
32
|
+
});
|
|
33
|
+
}
|
|
26
34
|
}
|
|
27
35
|
export function unbindSession(sessionId) {
|
|
28
36
|
const agentId = sessionAgents.get(sessionId);
|
|
@@ -39,20 +47,20 @@ export function unbindSession(sessionId) {
|
|
|
39
47
|
activeSSE.delete(sessionId);
|
|
40
48
|
}
|
|
41
49
|
export async function notifyAgents(agentIds, excludeAgentId, message) {
|
|
50
|
+
const payload = message ?? 'New event';
|
|
42
51
|
for (const agentId of agentIds) {
|
|
43
52
|
if (agentId === excludeAgentId)
|
|
44
53
|
continue;
|
|
45
54
|
const sids = agentSessions.get(agentId);
|
|
46
|
-
|
|
47
|
-
log('info', `[notify] agent=${agentId} → no bound sessions, push dropped`);
|
|
48
|
-
continue;
|
|
49
|
-
}
|
|
50
|
-
const live = [...sids].filter(s => activeSSE.has(s));
|
|
51
|
-
log('info', `[notify] agent=${agentId} bound=${sids.size} live-sse=${live.length}`);
|
|
55
|
+
const live = sids ? [...sids].filter(s => activeSSE.has(s)) : [];
|
|
52
56
|
if (live.length === 0) {
|
|
53
|
-
|
|
57
|
+
// No live SSE — persist so a future reconnect / restart can pick it up.
|
|
58
|
+
db.enqueuePendingPush(agentId, payload);
|
|
59
|
+
log('info', `[notify] agent=${agentId} → no live SSE, enqueued`);
|
|
54
60
|
continue;
|
|
55
61
|
}
|
|
62
|
+
log('info', `[notify] agent=${agentId} live-sse=${live.length}`);
|
|
63
|
+
let anyDelivered = false;
|
|
56
64
|
for (const sid of live) {
|
|
57
65
|
const session = sessions[sid];
|
|
58
66
|
if (!session) {
|
|
@@ -60,14 +68,63 @@ export async function notifyAgents(agentIds, excludeAgentId, message) {
|
|
|
60
68
|
continue;
|
|
61
69
|
}
|
|
62
70
|
try {
|
|
63
|
-
await session.server.sendLoggingMessage({ level: 'info', data:
|
|
71
|
+
await session.server.sendLoggingMessage({ level: 'info', data: payload }, sid);
|
|
64
72
|
session.server.server.sendResourceUpdated({ uri: 'hive://inbox' });
|
|
65
73
|
log('info', `[notify] sent to session ${sid} (SSE active) OK`);
|
|
74
|
+
anyDelivered = true;
|
|
66
75
|
}
|
|
67
76
|
catch (err) {
|
|
68
77
|
log('warn', `[notify] failed sid=${sid}: ${err}`);
|
|
69
78
|
}
|
|
70
79
|
}
|
|
80
|
+
// If every live session failed to receive, fall back to persistent queue
|
|
81
|
+
// so the message isn't lost. (Channel-side dedup by event_id will absorb
|
|
82
|
+
// any duplicate that manages to slip through later.)
|
|
83
|
+
if (!anyDelivered) {
|
|
84
|
+
db.enqueuePendingPush(agentId, payload);
|
|
85
|
+
log('warn', `[notify] agent=${agentId} all sends failed → enqueued`);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Drains every pending push for the given agent through whichever live SSE
|
|
91
|
+
* sessions are currently bound. Called from the SSE GET handler right after
|
|
92
|
+
* the stream is registered. Idempotent: rows are removed only after at least
|
|
93
|
+
* one session confirmed the send.
|
|
94
|
+
*/
|
|
95
|
+
export async function drainPushesForAgent(agentId) {
|
|
96
|
+
const sids = agentSessions.get(agentId);
|
|
97
|
+
const live = sids ? [...sids].filter(s => activeSSE.has(s)) : [];
|
|
98
|
+
if (live.length === 0)
|
|
99
|
+
return;
|
|
100
|
+
const rows = db.listPendingPushes(agentId);
|
|
101
|
+
if (rows.length === 0)
|
|
102
|
+
return;
|
|
103
|
+
log('info', `[drain] agent=${agentId} pending=${rows.length} live-sse=${live.length}`);
|
|
104
|
+
const delivered = [];
|
|
105
|
+
for (const row of rows) {
|
|
106
|
+
let ok = false;
|
|
107
|
+
for (const sid of live) {
|
|
108
|
+
const session = sessions[sid];
|
|
109
|
+
if (!session)
|
|
110
|
+
continue;
|
|
111
|
+
try {
|
|
112
|
+
await session.server.sendLoggingMessage({ level: 'info', data: row.payload }, sid);
|
|
113
|
+
session.server.server.sendResourceUpdated({ uri: 'hive://inbox' });
|
|
114
|
+
ok = true;
|
|
115
|
+
}
|
|
116
|
+
catch (err) {
|
|
117
|
+
log('warn', `[drain] failed sid=${sid} push=${row.id}: ${err}`);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
if (ok)
|
|
121
|
+
delivered.push(row.id);
|
|
122
|
+
else
|
|
123
|
+
break; // stop on first failure to preserve order
|
|
124
|
+
}
|
|
125
|
+
if (delivered.length > 0) {
|
|
126
|
+
db.deletePendingPushes(delivered);
|
|
127
|
+
log('info', `[drain] agent=${agentId} delivered=${delivered.length}/${rows.length}`);
|
|
71
128
|
}
|
|
72
129
|
}
|
|
73
130
|
export async function notifyTeamMembers(teamId, excludeAgentId, message) {
|
package/dist/sessions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessions.js","sourceRoot":"","sources":["../src/sessions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAO9B,MAAM,CAAC,MAAM,QAAQ,GAA4B,EAAE,CAAC;AACpD,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;AACvD,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAuB,CAAC;AAC5D,mFAAmF;AACnF,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;AAE3C,MAAM,UAAU,WAAW,CAAC,SAAiB,EAAE,OAAe;IAC5D,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAChD,IAAI,UAAU,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC7C,IAAI,MAAM,EAAE,CAAC;YAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAAC,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC;gBAAE,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAAC,CAAC;IACpG,CAAC;IACD,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACtC,IAAI,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACrC,IAAI,CAAC,GAAG,EAAE,CAAC;QAAC,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;QAAC,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAAC,CAAC;IAC/D,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACnB,GAAG,CAAC,MAAM,EAAE,kBAAkB,SAAS,YAAY,OAAO,eAAe,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"sessions.js","sourceRoot":"","sources":["../src/sessions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAO9B,MAAM,CAAC,MAAM,QAAQ,GAA4B,EAAE,CAAC;AACpD,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;AACvD,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAuB,CAAC;AAC5D,mFAAmF;AACnF,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;AAE3C,MAAM,UAAU,WAAW,CAAC,SAAiB,EAAE,OAAe;IAC5D,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAChD,IAAI,UAAU,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC7C,IAAI,MAAM,EAAE,CAAC;YAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAAC,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC;gBAAE,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAAC,CAAC;IACpG,CAAC;IACD,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACtC,IAAI,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACrC,IAAI,CAAC,GAAG,EAAE,CAAC;QAAC,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;QAAC,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAAC,CAAC;IAC/D,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACnB,GAAG,CAAC,MAAM,EAAE,kBAAkB,SAAS,YAAY,OAAO,eAAe,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;IACtF,0EAA0E;IAC1E,yEAAyE;IACzE,0BAA0B;IAC1B,IAAI,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,YAAY,CAAC,GAAG,EAAE;YAChB,mBAAmB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,sBAAsB,OAAO,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC;QAClG,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,SAAiB;IAC7C,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC7C,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,GAAG,EAAE,CAAC;YAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAAC,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC;gBAAE,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAAC,CAAC;QACtF,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAChC,GAAG,CAAC,MAAM,EAAE,oBAAoB,SAAS,YAAY,OAAO,yBAAyB,GAAG,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1G,CAAC;IACD,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,QAAkB,EAAE,cAAuB,EAAE,OAAgB;IAC9F,MAAM,OAAO,GAAG,OAAO,IAAI,WAAW,CAAC;IACvC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,KAAK,cAAc;YAAE,SAAS;QACzC,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,wEAAwE;YACxE,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACxC,GAAG,CAAC,MAAM,EAAE,kBAAkB,OAAO,0BAA0B,CAAC,CAAC;YACjE,SAAS;QACX,CAAC;QACD,GAAG,CAAC,MAAM,EAAE,kBAAkB,OAAO,aAAa,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACjE,IAAI,YAAY,GAAG,KAAK,CAAC;QACzB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,CAAC,OAAO,EAAE,CAAC;gBAAC,GAAG,CAAC,MAAM,EAAE,oBAAoB,GAAG,YAAY,CAAC,CAAC;gBAAC,SAAS;YAAC,CAAC;YAC7E,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;gBAC/E,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC,CAAC;gBACnE,GAAG,CAAC,MAAM,EAAE,4BAA4B,GAAG,kBAAkB,CAAC,CAAC;gBAC/D,YAAY,GAAG,IAAI,CAAC;YACtB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,MAAM,EAAE,uBAAuB,GAAG,KAAK,GAAG,EAAE,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;QACD,yEAAyE;QACzE,yEAAyE;QACzE,qDAAqD;QACrD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACxC,GAAG,CAAC,MAAM,EAAE,kBAAkB,OAAO,8BAA8B,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,OAAe;IACvD,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAE9B,MAAM,IAAI,GAAG,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAE9B,GAAG,CAAC,MAAM,EAAE,iBAAiB,OAAO,YAAY,IAAI,CAAC,MAAM,aAAa,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACvF,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,EAAE,GAAG,KAAK,CAAC;QACf,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,CAAC,OAAO;gBAAE,SAAS;YACvB,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;gBACnF,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC,CAAC;gBACnE,EAAE,GAAG,IAAI,CAAC;YACZ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,MAAM,EAAE,sBAAsB,GAAG,SAAS,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;QACD,IAAI,EAAE;YAAE,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;;YAC1B,MAAM,CAAC,0CAA0C;IACxD,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAClC,GAAG,CAAC,MAAM,EAAE,iBAAiB,OAAO,cAAc,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACvF,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,MAAc,EAAE,cAAuB,EAAE,OAAgB;IAC/F,MAAM,SAAS,GAAG,EAAE,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,YAAY,CAAC,SAAS,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,MAAc,EAAE,cAAuB,EAAE,OAAgB;IACpG,MAAM,IAAI,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACpC,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACxC,IAAI,IAAI,CAAC,iBAAiB;QAAE,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACrE,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;oBACrC,IAAI,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;wBAC1B,MAAM,KAAK,GAAG,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC7C,IAAI,KAAK;4BAAE,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBACxC,CAAC;yBAAM,CAAC;wBACN,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;wBAChC,IAAI,IAAI;4BAAE,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACtC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAC1B,CAAC;IACD,MAAM,YAAY,CAAC,CAAC,GAAG,YAAY,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;AACjE,CAAC"}
|