@studiomopoke/crosschat 1.8.2 → 2.0.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 +48 -118
- package/bin/cli.cjs +37 -57
- package/crosschat.md +73 -104
- package/dashboard/dist/assets/index-BY-IQhma.js +49 -0
- package/dashboard/dist/assets/index-CI8v9PKQ.css +1 -0
- package/dashboard/dist/index.html +2 -2
- package/dist/hub/_hub-section-1-infra.d.ts +8 -0
- package/dist/hub/_hub-section-1-infra.d.ts.map +1 -0
- package/dist/hub/_hub-section-1-infra.js +152 -0
- package/dist/hub/_hub-section-1-infra.js.map +1 -0
- package/dist/hub/_hub-section-2-handlers.d.ts +2 -0
- package/dist/hub/_hub-section-2-handlers.d.ts.map +1 -0
- package/dist/hub/_hub-section-2-handlers.js +514 -0
- package/dist/hub/_hub-section-2-handlers.js.map +1 -0
- package/dist/hub/_hub-section-3-rest.d.ts +2 -0
- package/dist/hub/_hub-section-3-rest.d.ts.map +1 -0
- package/dist/hub/_hub-section-3-rest.js +418 -0
- package/dist/hub/_hub-section-3-rest.js.map +1 -0
- package/dist/hub/_hub-section-4-ws.d.ts +2 -0
- package/dist/hub/_hub-section-4-ws.d.ts.map +1 -0
- package/dist/hub/_hub-section-4-ws.js +367 -0
- package/dist/hub/_hub-section-4-ws.js.map +1 -0
- package/dist/hub/agent-connection.d.ts +38 -62
- package/dist/hub/agent-connection.d.ts.map +1 -1
- package/dist/hub/agent-connection.js +146 -229
- package/dist/hub/agent-connection.js.map +1 -1
- package/dist/hub/hub-server.d.ts +1 -1
- package/dist/hub/hub-server.d.ts.map +1 -1
- package/dist/hub/hub-server.js +389 -685
- package/dist/hub/hub-server.js.map +1 -1
- package/dist/hub/message-manager.d.ts +158 -0
- package/dist/hub/message-manager.d.ts.map +1 -0
- package/dist/hub/message-manager.js +443 -0
- package/dist/hub/message-manager.js.map +1 -0
- package/dist/hub/protocol.d.ts +73 -131
- package/dist/hub/protocol.d.ts.map +1 -1
- package/dist/hub/protocol.js +3 -0
- package/dist/hub/protocol.js.map +1 -1
- package/dist/lifecycle.d.ts.map +1 -1
- package/dist/lifecycle.js +15 -89
- package/dist/lifecycle.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +22 -33
- package/dist/server.js.map +1 -1
- package/dist/tools/add-badge.d.ts +4 -0
- package/dist/tools/add-badge.d.ts.map +1 -0
- package/dist/tools/add-badge.js +29 -0
- package/dist/tools/add-badge.js.map +1 -0
- package/dist/tools/claim-task.js +5 -5
- package/dist/tools/claim-task.js.map +1 -1
- package/dist/tools/clear-session.d.ts +1 -2
- package/dist/tools/clear-session.d.ts.map +1 -1
- package/dist/tools/clear-session.js +7 -22
- package/dist/tools/clear-session.js.map +1 -1
- package/dist/tools/flag-as-task.d.ts +4 -0
- package/dist/tools/flag-as-task.d.ts.map +1 -0
- package/dist/tools/flag-as-task.js +31 -0
- package/dist/tools/flag-as-task.js.map +1 -0
- package/dist/tools/get-messages.d.ts +2 -1
- package/dist/tools/get-messages.d.ts.map +1 -1
- package/dist/tools/get-messages.js +19 -6
- package/dist/tools/get-messages.js.map +1 -1
- package/dist/tools/list-peers.d.ts.map +1 -1
- package/dist/tools/list-peers.js +1 -4
- package/dist/tools/list-peers.js.map +1 -1
- package/dist/tools/resolve-task.d.ts +4 -0
- package/dist/tools/resolve-task.d.ts.map +1 -0
- package/dist/tools/resolve-task.js +29 -0
- package/dist/tools/resolve-task.js.map +1 -0
- package/dist/tools/send-message.d.ts.map +1 -1
- package/dist/tools/send-message.js +6 -5
- package/dist/tools/send-message.js.map +1 -1
- package/dist/tools/set-status.js +3 -3
- package/dist/tools/set-status.js.map +1 -1
- package/dist/tools/wait-for-messages.js +1 -1
- package/dist/tools/wait-for-messages.js.map +1 -1
- package/dist/types.d.ts +4 -3
- package/dist/types.d.ts.map +1 -1
- package/hooks/permission-hook.sh +19 -18
- package/package.json +1 -1
- package/dashboard/dist/assets/index-BR-2rRm6.css +0 -1
- package/dashboard/dist/assets/index-Ci2ihChN.js +0 -49
package/dist/hub/protocol.d.ts
CHANGED
|
@@ -3,7 +3,11 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Defines all agent-to-server and server-to-agent message shapes as
|
|
5
5
|
* discriminated unions keyed on the `type` field.
|
|
6
|
+
*
|
|
7
|
+
* v2: Unified messaging — rooms renamed to channels, tasks replaced by
|
|
8
|
+
* message badges, threads via threadId on messages.
|
|
6
9
|
*/
|
|
10
|
+
import type { Badge, TaskFilter } from './message-manager.js';
|
|
7
11
|
export type AgentStatus = 'available' | 'busy';
|
|
8
12
|
export interface PeerInfo {
|
|
9
13
|
peerId: string;
|
|
@@ -12,42 +16,17 @@ export interface PeerInfo {
|
|
|
12
16
|
pid: number;
|
|
13
17
|
status: AgentStatus;
|
|
14
18
|
statusDetail?: string;
|
|
15
|
-
|
|
19
|
+
currentChannel: string;
|
|
16
20
|
connectedAt: string;
|
|
17
21
|
}
|
|
18
|
-
export type
|
|
19
|
-
export interface TaskFilter {
|
|
20
|
-
agentId?: string;
|
|
21
|
-
workingDirReq?: string;
|
|
22
|
-
gitProject?: string;
|
|
23
|
-
}
|
|
24
|
-
export interface TaskNote {
|
|
25
|
-
noteId: string;
|
|
26
|
-
authorId: string;
|
|
27
|
-
authorName: string;
|
|
28
|
-
content: string;
|
|
29
|
-
timestamp: string;
|
|
30
|
-
}
|
|
31
|
-
export interface TaskSummary {
|
|
32
|
-
taskId: string;
|
|
33
|
-
roomId: string;
|
|
34
|
-
creatorId: string;
|
|
35
|
-
creatorName: string;
|
|
36
|
-
description: string;
|
|
37
|
-
context?: string;
|
|
38
|
-
filter?: TaskFilter;
|
|
39
|
-
status: HubTaskStatus;
|
|
40
|
-
claimantId?: string;
|
|
41
|
-
claimantName?: string;
|
|
42
|
-
createdAt: string;
|
|
43
|
-
updatedAt: string;
|
|
44
|
-
}
|
|
22
|
+
export type MessageImportance = 'important' | 'comment' | 'chitchat';
|
|
45
23
|
export interface AgentRegisterMessage {
|
|
46
24
|
type: 'agent.register';
|
|
47
25
|
peerId: string;
|
|
48
26
|
name: string;
|
|
49
27
|
cwd: string;
|
|
50
28
|
pid: number;
|
|
29
|
+
parentPid?: number;
|
|
51
30
|
}
|
|
52
31
|
export interface AgentHeartbeatMessage {
|
|
53
32
|
type: 'agent.heartbeat';
|
|
@@ -56,24 +35,15 @@ export interface AgentStatusMessage {
|
|
|
56
35
|
type: 'agent.status';
|
|
57
36
|
status: AgentStatus;
|
|
58
37
|
detail?: string;
|
|
59
|
-
|
|
38
|
+
taskMessageId?: string;
|
|
60
39
|
}
|
|
61
40
|
export interface AgentDisconnectMessage {
|
|
62
41
|
type: 'agent.disconnect';
|
|
63
42
|
}
|
|
64
|
-
export interface AgentJoinRoomMessage {
|
|
65
|
-
type: 'agent.joinRoom';
|
|
66
|
-
roomId: string;
|
|
67
|
-
}
|
|
68
|
-
export interface AgentCreateRoomMessage {
|
|
69
|
-
type: 'agent.createRoom';
|
|
70
|
-
roomId: string;
|
|
71
|
-
name?: string;
|
|
72
|
-
}
|
|
73
|
-
export type MessageImportance = 'important' | 'comment' | 'chitchat';
|
|
74
43
|
export interface AgentSendMessageMessage {
|
|
75
44
|
type: 'agent.sendMessage';
|
|
76
45
|
content: string;
|
|
46
|
+
threadId?: string;
|
|
77
47
|
metadata?: Record<string, unknown>;
|
|
78
48
|
importance?: MessageImportance;
|
|
79
49
|
}
|
|
@@ -81,59 +51,46 @@ export interface AgentListPeersMessage {
|
|
|
81
51
|
type: 'agent.listPeers';
|
|
82
52
|
requestId: string;
|
|
83
53
|
}
|
|
84
|
-
export interface
|
|
85
|
-
type: '
|
|
86
|
-
requestId
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
}
|
|
91
|
-
export interface TaskClaimMessage {
|
|
92
|
-
type: 'task.claim';
|
|
93
|
-
taskId: string;
|
|
54
|
+
export interface AgentGetMessagesMessage {
|
|
55
|
+
type: 'agent.getMessages';
|
|
56
|
+
requestId: string;
|
|
57
|
+
threadId?: string;
|
|
58
|
+
limit?: number;
|
|
59
|
+
afterMessageId?: string;
|
|
94
60
|
}
|
|
95
|
-
export interface
|
|
96
|
-
type: '
|
|
97
|
-
|
|
98
|
-
|
|
61
|
+
export interface AgentFlagTaskMessage {
|
|
62
|
+
type: 'agent.flagTask';
|
|
63
|
+
requestId: string;
|
|
64
|
+
messageId: string;
|
|
65
|
+
filter?: TaskFilter;
|
|
99
66
|
}
|
|
100
|
-
export interface
|
|
101
|
-
type: '
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
status?: HubTaskStatus;
|
|
67
|
+
export interface AgentClaimTaskMessage {
|
|
68
|
+
type: 'agent.claimTask';
|
|
69
|
+
requestId: string;
|
|
70
|
+
messageId: string;
|
|
105
71
|
}
|
|
106
|
-
export interface
|
|
107
|
-
type: '
|
|
108
|
-
|
|
109
|
-
|
|
72
|
+
export interface AgentResolveTaskMessage {
|
|
73
|
+
type: 'agent.resolveTask';
|
|
74
|
+
requestId: string;
|
|
75
|
+
messageId: string;
|
|
110
76
|
status: 'completed' | 'failed';
|
|
77
|
+
result: string;
|
|
111
78
|
error?: string;
|
|
112
79
|
}
|
|
113
|
-
export interface
|
|
114
|
-
type: 'agent.
|
|
80
|
+
export interface AgentAddBadgeMessage {
|
|
81
|
+
type: 'agent.addBadge';
|
|
115
82
|
requestId: string;
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
requestId: string;
|
|
121
|
-
status?: string;
|
|
122
|
-
roomId?: string;
|
|
123
|
-
assignedTo?: string;
|
|
83
|
+
messageId: string;
|
|
84
|
+
badgeType: string;
|
|
85
|
+
badgeValue: string;
|
|
86
|
+
label?: string;
|
|
124
87
|
}
|
|
125
88
|
export interface AgentClearSessionMessage {
|
|
126
89
|
type: 'agent.clearSession';
|
|
127
90
|
requestId: string;
|
|
128
91
|
messages?: boolean;
|
|
129
|
-
tasks?: boolean;
|
|
130
|
-
}
|
|
131
|
-
export interface AgentRequestDigestMessage {
|
|
132
|
-
type: 'agent.requestDigest';
|
|
133
|
-
requestId: string;
|
|
134
|
-
clearMessages?: boolean;
|
|
135
92
|
}
|
|
136
|
-
export type AgentMessage = AgentRegisterMessage | AgentHeartbeatMessage | AgentStatusMessage | AgentDisconnectMessage |
|
|
93
|
+
export type AgentMessage = AgentRegisterMessage | AgentHeartbeatMessage | AgentStatusMessage | AgentDisconnectMessage | AgentSendMessageMessage | AgentListPeersMessage | AgentGetMessagesMessage | AgentFlagTaskMessage | AgentClaimTaskMessage | AgentResolveTaskMessage | AgentAddBadgeMessage | AgentClearSessionMessage;
|
|
137
94
|
export interface RegisteredMessage {
|
|
138
95
|
type: 'registered';
|
|
139
96
|
peerId: string;
|
|
@@ -144,20 +101,11 @@ export interface PeersMessage {
|
|
|
144
101
|
requestId: string;
|
|
145
102
|
peers: PeerInfo[];
|
|
146
103
|
}
|
|
147
|
-
export interface
|
|
148
|
-
type: '
|
|
149
|
-
|
|
150
|
-
name: string;
|
|
151
|
-
}
|
|
152
|
-
export interface RoomCreatedMessage {
|
|
153
|
-
type: 'room.created';
|
|
154
|
-
roomId: string;
|
|
155
|
-
name: string;
|
|
156
|
-
}
|
|
157
|
-
export interface RoomMessageMessage {
|
|
158
|
-
type: 'room.message';
|
|
159
|
-
roomId: string;
|
|
104
|
+
export interface ChannelMessageMessage {
|
|
105
|
+
type: 'channel.message';
|
|
106
|
+
channelId: string;
|
|
160
107
|
messageId: string;
|
|
108
|
+
threadId?: string;
|
|
161
109
|
fromPeerId: string;
|
|
162
110
|
fromName: string;
|
|
163
111
|
content: string;
|
|
@@ -167,67 +115,61 @@ export interface RoomMessageMessage {
|
|
|
167
115
|
mentions?: string[];
|
|
168
116
|
mentionType?: 'direct' | 'here' | 'broadcast';
|
|
169
117
|
importance?: MessageImportance;
|
|
118
|
+
badges: Badge[];
|
|
170
119
|
}
|
|
171
|
-
export interface
|
|
172
|
-
type: '
|
|
173
|
-
|
|
174
|
-
|
|
120
|
+
export interface MessageBadgeAddedMessage {
|
|
121
|
+
type: 'message.badgeAdded';
|
|
122
|
+
messageId: string;
|
|
123
|
+
badge: Badge;
|
|
124
|
+
}
|
|
125
|
+
export interface MessageUpdatedMessage {
|
|
126
|
+
type: 'message.updated';
|
|
127
|
+
messageId: string;
|
|
128
|
+
badges: Badge[];
|
|
129
|
+
}
|
|
130
|
+
export interface TaskFlaggedMessage {
|
|
131
|
+
type: 'task.flagged';
|
|
132
|
+
requestId: string;
|
|
133
|
+
messageId: string;
|
|
134
|
+
badges: Badge[];
|
|
175
135
|
}
|
|
176
136
|
export interface TaskClaimedMessage {
|
|
177
137
|
type: 'task.claimed';
|
|
178
|
-
|
|
138
|
+
requestId: string;
|
|
139
|
+
messageId: string;
|
|
179
140
|
claimantId: string;
|
|
180
141
|
claimantName: string;
|
|
181
142
|
}
|
|
182
|
-
export interface
|
|
183
|
-
type: 'task.
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
}
|
|
187
|
-
export interface TaskUpdatedMessage {
|
|
188
|
-
type: 'task.updated';
|
|
189
|
-
taskId: string;
|
|
190
|
-
note: TaskNote;
|
|
191
|
-
}
|
|
192
|
-
export interface TaskCompletedMessage {
|
|
193
|
-
type: 'task.completed';
|
|
194
|
-
taskId: string;
|
|
143
|
+
export interface TaskResolvedMessage {
|
|
144
|
+
type: 'task.resolved';
|
|
145
|
+
requestId: string;
|
|
146
|
+
messageId: string;
|
|
195
147
|
status: 'completed' | 'failed';
|
|
196
|
-
result
|
|
148
|
+
result: string;
|
|
197
149
|
}
|
|
198
|
-
export interface
|
|
199
|
-
type: '
|
|
150
|
+
export interface BadgeAddedMessage {
|
|
151
|
+
type: 'badge.added';
|
|
200
152
|
requestId: string;
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
}
|
|
207
|
-
export interface TasksMessage {
|
|
208
|
-
type: 'tasks';
|
|
153
|
+
messageId: string;
|
|
154
|
+
badge: Badge;
|
|
155
|
+
}
|
|
156
|
+
export interface MessagesResponseMessage {
|
|
157
|
+
type: 'messages';
|
|
209
158
|
requestId: string;
|
|
210
|
-
|
|
159
|
+
messages: ChannelMessageMessage[];
|
|
160
|
+
threadId?: string;
|
|
211
161
|
}
|
|
212
162
|
export interface SessionClearedMessage {
|
|
213
163
|
type: 'session.cleared';
|
|
214
164
|
requestId: string;
|
|
215
165
|
messagesCleared: number;
|
|
216
|
-
tasksArchived: number;
|
|
217
|
-
}
|
|
218
|
-
export interface DigestRequestedMessage {
|
|
219
|
-
type: 'digest.requested';
|
|
220
|
-
requestId: string;
|
|
221
|
-
taskId: string;
|
|
222
|
-
messageCount: number;
|
|
223
|
-
messagesCleared: boolean;
|
|
224
166
|
}
|
|
225
167
|
export interface ErrorMessage {
|
|
226
168
|
type: 'error';
|
|
227
169
|
message: string;
|
|
228
170
|
requestId?: string;
|
|
229
171
|
}
|
|
230
|
-
export type ServerMessage = RegisteredMessage | PeersMessage |
|
|
172
|
+
export type ServerMessage = RegisteredMessage | PeersMessage | ChannelMessageMessage | MessageBadgeAddedMessage | MessageUpdatedMessage | TaskFlaggedMessage | TaskClaimedMessage | TaskResolvedMessage | BadgeAddedMessage | MessagesResponseMessage | SessionClearedMessage | ErrorMessage;
|
|
231
173
|
/** Serialise a protocol message to a JSON string for sending over WebSocket. */
|
|
232
174
|
export declare function encodeMessage(msg: AgentMessage | ServerMessage): string;
|
|
233
175
|
/** Deserialise a raw WebSocket payload into a typed protocol message. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/hub/protocol.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/hub/protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAI9D,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,MAAM,CAAC;AAE/C,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,WAAW,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG,SAAS,GAAG,UAAU,CAAC;AAIrE,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,iBAAiB,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,cAAc,CAAC;IACrB,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,kBAAkB,CAAC;CAC1B;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,UAAU,CAAC,EAAE,iBAAiB,CAAC;CAChC;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,iBAAiB,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,gBAAgB,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,iBAAiB,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,WAAW,GAAG,QAAQ,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,gBAAgB,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,oBAAoB,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,MAAM,YAAY,GACpB,oBAAoB,GACpB,qBAAqB,GACrB,kBAAkB,GAClB,sBAAsB,GACtB,uBAAuB,GACvB,qBAAqB,GACrB,uBAAuB,GACvB,oBAAoB,GACpB,qBAAqB,GACrB,uBAAuB,GACvB,oBAAoB,GACpB,wBAAwB,CAAC;AAI7B,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,iBAAiB,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;IAC9C,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,MAAM,EAAE,KAAK,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,oBAAoB,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC;CACd;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,iBAAiB,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,KAAK,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,cAAc,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,KAAK,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,cAAc,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,eAAe,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,WAAW,GAAG,QAAQ,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,aAAa,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC;CACd;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,qBAAqB,EAAE,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,iBAAiB,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,aAAa,GACrB,iBAAiB,GACjB,YAAY,GACZ,qBAAqB,GACrB,wBAAwB,GACxB,qBAAqB,GACrB,kBAAkB,GAClB,kBAAkB,GAClB,mBAAmB,GACnB,iBAAiB,GACjB,uBAAuB,GACvB,qBAAqB,GACrB,YAAY,CAAC;AAIjB,gFAAgF;AAChF,wBAAgB,aAAa,CAAC,GAAG,EAAE,YAAY,GAAG,aAAa,GAAG,MAAM,CAEvE;AAED,yEAAyE;AACzE,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,YAAY,CAMxE"}
|
package/dist/hub/protocol.js
CHANGED
|
@@ -3,6 +3,9 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Defines all agent-to-server and server-to-agent message shapes as
|
|
5
5
|
* discriminated unions keyed on the `type` field.
|
|
6
|
+
*
|
|
7
|
+
* v2: Unified messaging — rooms renamed to channels, tasks replaced by
|
|
8
|
+
* message badges, threads via threadId on messages.
|
|
6
9
|
*/
|
|
7
10
|
// ─── Helpers ─────────────────────────────────────────────────────
|
|
8
11
|
/** Serialise a protocol message to a JSON string for sending over WebSocket. */
|
package/dist/hub/protocol.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/hub/protocol.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/hub/protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAiOH,oEAAoE;AAEpE,gFAAgF;AAChF,MAAM,UAAU,aAAa,CAAC,GAAiC;IAC7D,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACrF,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAClF,CAAC;IACD,OAAO,MAAsC,CAAC;AAChD,CAAC"}
|
package/dist/lifecycle.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":"AAoHA,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAyGjD"}
|
package/dist/lifecycle.js
CHANGED
|
@@ -16,17 +16,11 @@ const require = createRequire(import.meta.url);
|
|
|
16
16
|
const pkg = require('../package.json');
|
|
17
17
|
const CROSSCHAT_DIR = path.join(os.homedir(), '.crosschat');
|
|
18
18
|
const DASHBOARD_LOCK_FILE = path.join(CROSSCHAT_DIR, 'dashboard.lock');
|
|
19
|
-
const SESSIONS_DIR = path.join(CROSSCHAT_DIR, 'sessions');
|
|
20
19
|
const HUB_MAIN_PATH = path.join(__dirname, '..', 'dist', 'hub', 'hub-main.js');
|
|
21
20
|
// When running from dist directly, hub-main.js is a sibling directory
|
|
22
21
|
const HUB_MAIN_PATH_ALT = path.join(__dirname, 'hub', 'hub-main.js');
|
|
23
22
|
const LOCK_POLL_INTERVAL_MS = 500;
|
|
24
23
|
const LOCK_POLL_TIMEOUT_MS = 5_000;
|
|
25
|
-
/**
|
|
26
|
-
* Read and validate the dashboard lock file.
|
|
27
|
-
* Returns the lock data if the file exists and the process is alive,
|
|
28
|
-
* otherwise cleans up the stale lock and returns null.
|
|
29
|
-
*/
|
|
30
24
|
async function readDashboardLock() {
|
|
31
25
|
try {
|
|
32
26
|
const data = await fs.readFile(DASHBOARD_LOCK_FILE, 'utf-8');
|
|
@@ -34,7 +28,6 @@ async function readDashboardLock() {
|
|
|
34
28
|
if (isProcessAlive(lock.pid)) {
|
|
35
29
|
return lock;
|
|
36
30
|
}
|
|
37
|
-
// Stale lock — remove it
|
|
38
31
|
await fs.unlink(DASHBOARD_LOCK_FILE).catch(() => { });
|
|
39
32
|
return null;
|
|
40
33
|
}
|
|
@@ -42,34 +35,19 @@ async function readDashboardLock() {
|
|
|
42
35
|
return null;
|
|
43
36
|
}
|
|
44
37
|
}
|
|
45
|
-
/**
|
|
46
|
-
* Resolve the path to hub-main.js, checking both possible locations
|
|
47
|
-
* (project root dist/ and co-located dist/).
|
|
48
|
-
*/
|
|
49
38
|
async function resolveHubMainPath() {
|
|
50
|
-
// Try the co-located path first (when running from dist/)
|
|
51
39
|
try {
|
|
52
40
|
await fs.access(HUB_MAIN_PATH_ALT);
|
|
53
41
|
return HUB_MAIN_PATH_ALT;
|
|
54
42
|
}
|
|
55
|
-
catch {
|
|
56
|
-
// Fall through
|
|
57
|
-
}
|
|
58
|
-
// Try the project-root path (when running from src/ during dev)
|
|
43
|
+
catch { /* fall through */ }
|
|
59
44
|
try {
|
|
60
45
|
await fs.access(HUB_MAIN_PATH);
|
|
61
46
|
return HUB_MAIN_PATH;
|
|
62
47
|
}
|
|
63
|
-
catch {
|
|
64
|
-
// Fall through
|
|
65
|
-
}
|
|
66
|
-
// Default to the co-located path and let spawn fail with a clear error
|
|
48
|
+
catch { /* fall through */ }
|
|
67
49
|
return HUB_MAIN_PATH_ALT;
|
|
68
50
|
}
|
|
69
|
-
/**
|
|
70
|
-
* Spawn the hub server as a detached child process.
|
|
71
|
-
* The hub writes its own lock file once ready.
|
|
72
|
-
*/
|
|
73
51
|
async function spawnHub() {
|
|
74
52
|
const hubPath = await resolveHubMainPath();
|
|
75
53
|
log(`Spawning hub: node ${hubPath}`);
|
|
@@ -80,10 +58,6 @@ async function spawnHub() {
|
|
|
80
58
|
});
|
|
81
59
|
child.unref();
|
|
82
60
|
}
|
|
83
|
-
/**
|
|
84
|
-
* Wait for the hub lock file to appear with a valid port.
|
|
85
|
-
* Polls every LOCK_POLL_INTERVAL_MS up to LOCK_POLL_TIMEOUT_MS.
|
|
86
|
-
*/
|
|
87
61
|
async function waitForHubLock() {
|
|
88
62
|
const deadline = Date.now() + LOCK_POLL_TIMEOUT_MS;
|
|
89
63
|
while (Date.now() < deadline) {
|
|
@@ -96,27 +70,17 @@ async function waitForHubLock() {
|
|
|
96
70
|
throw new Error(`Hub did not write lock file within ${LOCK_POLL_TIMEOUT_MS}ms. ` +
|
|
97
71
|
`Check ~/.crosschat/ for errors.`);
|
|
98
72
|
}
|
|
99
|
-
/**
|
|
100
|
-
* Ensure the hub is running and return its port.
|
|
101
|
-
* If no live hub is detected, spawns one and waits for it to be ready.
|
|
102
|
-
*/
|
|
103
73
|
async function ensureHub() {
|
|
104
|
-
// Check for an existing running hub
|
|
105
74
|
const existingLock = await readDashboardLock();
|
|
106
75
|
if (existingLock) {
|
|
107
|
-
// Version mismatch — restart the hub so it serves the current build
|
|
108
76
|
if (existingLock.version && existingLock.version !== pkg.version) {
|
|
109
77
|
log(`Hub version mismatch: running v${existingLock.version}, we are v${pkg.version}. ` +
|
|
110
78
|
`Stopping old hub (pid ${existingLock.pid}) and spawning new one.`);
|
|
111
79
|
try {
|
|
112
80
|
process.kill(existingLock.pid, 'SIGTERM');
|
|
113
|
-
// Give the old hub a moment to shut down and clean up its lock file
|
|
114
81
|
await new Promise((resolve) => setTimeout(resolve, 1_000));
|
|
115
82
|
}
|
|
116
|
-
catch {
|
|
117
|
-
// Process already gone — that's fine
|
|
118
|
-
}
|
|
119
|
-
// Remove stale lock if the old hub didn't clean it up
|
|
83
|
+
catch { /* Process already gone */ }
|
|
120
84
|
await fs.unlink(DASHBOARD_LOCK_FILE).catch(() => { });
|
|
121
85
|
}
|
|
122
86
|
else {
|
|
@@ -124,7 +88,6 @@ async function ensureHub() {
|
|
|
124
88
|
return existingLock;
|
|
125
89
|
}
|
|
126
90
|
}
|
|
127
|
-
// No hub running (or old version was stopped) — spawn one
|
|
128
91
|
await spawnHub();
|
|
129
92
|
const lock = await waitForHubLock();
|
|
130
93
|
log(`Hub started on port ${lock.port} (pid ${lock.pid})`);
|
|
@@ -153,9 +116,8 @@ export async function startServer() {
|
|
|
153
116
|
const agentConnection = new AgentConnection(hubPort, peerId, peerName, cwd);
|
|
154
117
|
// 3. Create the local message store (bridges hub messages for MCP tool access)
|
|
155
118
|
const messageStore = new MessageStore();
|
|
156
|
-
// 4. Bridge hub
|
|
119
|
+
// 4. Bridge hub channel messages into the local MessageStore
|
|
157
120
|
agentConnection.onMessage((msg) => {
|
|
158
|
-
// Skip messages from ourselves to avoid echo
|
|
159
121
|
if (msg.fromPeerId === peerId)
|
|
160
122
|
return;
|
|
161
123
|
const peerMessage = {
|
|
@@ -168,65 +130,31 @@ export async function startServer() {
|
|
|
168
130
|
receivedAt: new Date().toISOString(),
|
|
169
131
|
read: false,
|
|
170
132
|
type: 'message',
|
|
133
|
+
threadId: msg.threadId,
|
|
171
134
|
mentions: msg.mentions,
|
|
172
135
|
mentionType: msg.mentionType,
|
|
173
136
|
importance: msg.importance,
|
|
137
|
+
badges: msg.badges,
|
|
174
138
|
};
|
|
175
139
|
messageStore.add(peerMessage);
|
|
176
140
|
});
|
|
177
|
-
// 5. Bridge
|
|
178
|
-
agentConnection.
|
|
179
|
-
|
|
180
|
-
let type = 'message';
|
|
181
|
-
switch (evt.type) {
|
|
182
|
-
case 'task.created':
|
|
183
|
-
content = `[TASK CREATED] ${evt.task.description} (taskId: ${evt.task.taskId})`;
|
|
184
|
-
type = 'task_delegated';
|
|
185
|
-
break;
|
|
186
|
-
case 'task.claimed':
|
|
187
|
-
content = `[TASK CLAIMED] Task ${evt.taskId} claimed by ${evt.claimantName} (${evt.claimantId})`;
|
|
188
|
-
break;
|
|
189
|
-
case 'task.claimAccepted':
|
|
190
|
-
content = `[TASK ACCEPTED] You have been assigned task ${evt.taskId}`;
|
|
191
|
-
break;
|
|
192
|
-
case 'task.updated':
|
|
193
|
-
content = `[TASK UPDATED] Task ${evt.taskId}: ${evt.note.content.slice(0, 200)}`;
|
|
194
|
-
break;
|
|
195
|
-
case 'task.completed':
|
|
196
|
-
content = `[TASK ${evt.status === 'completed' ? 'COMPLETED' : 'FAILED'}] Task ${evt.taskId}${evt.result ? `: ${evt.result.slice(0, 200)}` : ''}`;
|
|
197
|
-
type = 'task_result';
|
|
198
|
-
break;
|
|
199
|
-
default:
|
|
200
|
-
return;
|
|
201
|
-
}
|
|
202
|
-
const taskMessage = {
|
|
141
|
+
// 5. Bridge badge events into the MessageStore
|
|
142
|
+
agentConnection.onBadge((evt) => {
|
|
143
|
+
const badgeMessage = {
|
|
203
144
|
messageId: generateId(),
|
|
204
|
-
fromPeerId: '
|
|
205
|
-
fromName: 'CrossChat
|
|
206
|
-
content
|
|
145
|
+
fromPeerId: 'system',
|
|
146
|
+
fromName: 'CrossChat',
|
|
147
|
+
content: `[BADGE] ${evt.badge.type}:${evt.badge.value} on message ${evt.messageId}`,
|
|
207
148
|
sentAt: new Date().toISOString(),
|
|
208
149
|
receivedAt: new Date().toISOString(),
|
|
209
150
|
read: false,
|
|
210
|
-
type,
|
|
151
|
+
type: 'badge_update',
|
|
152
|
+
metadata: { targetMessageId: evt.messageId, badge: evt.badge },
|
|
211
153
|
};
|
|
212
|
-
messageStore.add(
|
|
154
|
+
messageStore.add(badgeMessage);
|
|
213
155
|
});
|
|
214
156
|
// 6. Connect to the hub
|
|
215
157
|
agentConnection.connect();
|
|
216
|
-
// 6b. Write session marker so the permission hook can detect this instance.
|
|
217
|
-
// Key by parent PID (Claude Code's PID) — the hook uses $PPID which matches.
|
|
218
|
-
const sessionFile = path.join(SESSIONS_DIR, `${process.ppid}`);
|
|
219
|
-
try {
|
|
220
|
-
await fs.mkdir(SESSIONS_DIR, { recursive: true });
|
|
221
|
-
await fs.writeFile(sessionFile, JSON.stringify({
|
|
222
|
-
name: peerName,
|
|
223
|
-
peerId,
|
|
224
|
-
connectedAt: new Date().toISOString(),
|
|
225
|
-
}));
|
|
226
|
-
}
|
|
227
|
-
catch (err) {
|
|
228
|
-
logError('Failed to write session marker', err);
|
|
229
|
-
}
|
|
230
158
|
// 7. Create and connect the MCP server
|
|
231
159
|
const mcpServer = createMcpServer(peerId, peerName, messageStore, agentConnection, dashboardInfo);
|
|
232
160
|
const transport = new StdioServerTransport();
|
|
@@ -240,8 +168,6 @@ export async function startServer() {
|
|
|
240
168
|
log('Shutting down...');
|
|
241
169
|
agentConnection.disconnect();
|
|
242
170
|
await mcpServer.close();
|
|
243
|
-
// Clean up session marker
|
|
244
|
-
await fs.unlink(sessionFile).catch(() => { });
|
|
245
171
|
log('Shutdown complete');
|
|
246
172
|
process.exit(0);
|
|
247
173
|
};
|
package/dist/lifecycle.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAI9C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/D,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAwB,CAAC;AAE9D,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,CAAC;AAC5D,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;AACvE,MAAM,
|
|
1
|
+
{"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AA4CjE,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAClD,SAAS,CA8CX"}
|