@studiomopoke/crosschat 1.6.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 (169) hide show
  1. package/LICENSE +62 -0
  2. package/README.md +279 -0
  3. package/bin/cli.cjs +631 -0
  4. package/crosschat.md +196 -0
  5. package/dashboard/dist/assets/index-Blgmbgo_.css +1 -0
  6. package/dashboard/dist/assets/index-DzcjxzDR.js +49 -0
  7. package/dashboard/dist/index.html +13 -0
  8. package/dist/dashboard/dashboard-listener.d.ts +22 -0
  9. package/dist/dashboard/dashboard-listener.d.ts.map +1 -0
  10. package/dist/dashboard/dashboard-listener.js +124 -0
  11. package/dist/dashboard/dashboard-listener.js.map +1 -0
  12. package/dist/dashboard/http-server.d.ts +25 -0
  13. package/dist/dashboard/http-server.d.ts.map +1 -0
  14. package/dist/dashboard/http-server.js +281 -0
  15. package/dist/dashboard/http-server.js.map +1 -0
  16. package/dist/dashboard/message-bridge.d.ts +19 -0
  17. package/dist/dashboard/message-bridge.d.ts.map +1 -0
  18. package/dist/dashboard/message-bridge.js +48 -0
  19. package/dist/dashboard/message-bridge.js.map +1 -0
  20. package/dist/hub/agent-connection.d.ts +101 -0
  21. package/dist/hub/agent-connection.d.ts.map +1 -0
  22. package/dist/hub/agent-connection.js +383 -0
  23. package/dist/hub/agent-connection.js.map +1 -0
  24. package/dist/hub/hub-main.d.ts +2 -0
  25. package/dist/hub/hub-main.d.ts.map +1 -0
  26. package/dist/hub/hub-main.js +16 -0
  27. package/dist/hub/hub-main.js.map +1 -0
  28. package/dist/hub/hub-server.d.ts +8 -0
  29. package/dist/hub/hub-server.d.ts.map +1 -0
  30. package/dist/hub/hub-server.js +1500 -0
  31. package/dist/hub/hub-server.js.map +1 -0
  32. package/dist/hub/protocol.d.ts +221 -0
  33. package/dist/hub/protocol.d.ts.map +1 -0
  34. package/dist/hub/protocol.js +20 -0
  35. package/dist/hub/protocol.js.map +1 -0
  36. package/dist/hub/task-manager.d.ts +68 -0
  37. package/dist/hub/task-manager.d.ts.map +1 -0
  38. package/dist/hub/task-manager.js +250 -0
  39. package/dist/hub/task-manager.js.map +1 -0
  40. package/dist/index.d.ts +2 -0
  41. package/dist/index.d.ts.map +1 -0
  42. package/dist/index.js +7 -0
  43. package/dist/index.js.map +1 -0
  44. package/dist/lifecycle.d.ts +2 -0
  45. package/dist/lifecycle.d.ts.map +1 -0
  46. package/dist/lifecycle.js +234 -0
  47. package/dist/lifecycle.js.map +1 -0
  48. package/dist/prompts.d.ts +3 -0
  49. package/dist/prompts.d.ts.map +1 -0
  50. package/dist/prompts.js +48 -0
  51. package/dist/prompts.js.map +1 -0
  52. package/dist/registry/cleanup.d.ts +2 -0
  53. package/dist/registry/cleanup.d.ts.map +1 -0
  54. package/dist/registry/cleanup.js +60 -0
  55. package/dist/registry/cleanup.js.map +1 -0
  56. package/dist/registry/registry.d.ts +11 -0
  57. package/dist/registry/registry.d.ts.map +1 -0
  58. package/dist/registry/registry.js +82 -0
  59. package/dist/registry/registry.js.map +1 -0
  60. package/dist/server.d.ts +9 -0
  61. package/dist/server.d.ts.map +1 -0
  62. package/dist/server.js +91 -0
  63. package/dist/server.js.map +1 -0
  64. package/dist/stores/message-store.d.ts +21 -0
  65. package/dist/stores/message-store.d.ts.map +1 -0
  66. package/dist/stores/message-store.js +83 -0
  67. package/dist/stores/message-store.js.map +1 -0
  68. package/dist/stores/task-store.d.ts +15 -0
  69. package/dist/stores/task-store.d.ts.map +1 -0
  70. package/dist/stores/task-store.js +57 -0
  71. package/dist/stores/task-store.js.map +1 -0
  72. package/dist/tools/accept-claim.d.ts +4 -0
  73. package/dist/tools/accept-claim.d.ts.map +1 -0
  74. package/dist/tools/accept-claim.js +27 -0
  75. package/dist/tools/accept-claim.js.map +1 -0
  76. package/dist/tools/chat-send.d.ts +4 -0
  77. package/dist/tools/chat-send.d.ts.map +1 -0
  78. package/dist/tools/chat-send.js +19 -0
  79. package/dist/tools/chat-send.js.map +1 -0
  80. package/dist/tools/claim-task.d.ts +4 -0
  81. package/dist/tools/claim-task.d.ts.map +1 -0
  82. package/dist/tools/claim-task.js +26 -0
  83. package/dist/tools/claim-task.js.map +1 -0
  84. package/dist/tools/clear-session.d.ts +5 -0
  85. package/dist/tools/clear-session.d.ts.map +1 -0
  86. package/dist/tools/clear-session.js +41 -0
  87. package/dist/tools/clear-session.js.map +1 -0
  88. package/dist/tools/complete-task.d.ts +4 -0
  89. package/dist/tools/complete-task.d.ts.map +1 -0
  90. package/dist/tools/complete-task.js +29 -0
  91. package/dist/tools/complete-task.js.map +1 -0
  92. package/dist/tools/create-room.d.ts +4 -0
  93. package/dist/tools/create-room.d.ts.map +1 -0
  94. package/dist/tools/create-room.js +28 -0
  95. package/dist/tools/create-room.js.map +1 -0
  96. package/dist/tools/delegate-task.d.ts +4 -0
  97. package/dist/tools/delegate-task.d.ts.map +1 -0
  98. package/dist/tools/delegate-task.js +32 -0
  99. package/dist/tools/delegate-task.js.map +1 -0
  100. package/dist/tools/get-messages.d.ts +4 -0
  101. package/dist/tools/get-messages.d.ts.map +1 -0
  102. package/dist/tools/get-messages.js +35 -0
  103. package/dist/tools/get-messages.js.map +1 -0
  104. package/dist/tools/get-room-digest.d.ts +4 -0
  105. package/dist/tools/get-room-digest.d.ts.map +1 -0
  106. package/dist/tools/get-room-digest.js +63 -0
  107. package/dist/tools/get-room-digest.js.map +1 -0
  108. package/dist/tools/get-task-status.d.ts +4 -0
  109. package/dist/tools/get-task-status.d.ts.map +1 -0
  110. package/dist/tools/get-task-status.js +26 -0
  111. package/dist/tools/get-task-status.js.map +1 -0
  112. package/dist/tools/join-room.d.ts +4 -0
  113. package/dist/tools/join-room.d.ts.map +1 -0
  114. package/dist/tools/join-room.js +26 -0
  115. package/dist/tools/join-room.js.map +1 -0
  116. package/dist/tools/list-peers.d.ts +4 -0
  117. package/dist/tools/list-peers.d.ts.map +1 -0
  118. package/dist/tools/list-peers.js +26 -0
  119. package/dist/tools/list-peers.js.map +1 -0
  120. package/dist/tools/list-tasks.d.ts +4 -0
  121. package/dist/tools/list-tasks.d.ts.map +1 -0
  122. package/dist/tools/list-tasks.js +28 -0
  123. package/dist/tools/list-tasks.js.map +1 -0
  124. package/dist/tools/send-message.d.ts +4 -0
  125. package/dist/tools/send-message.d.ts.map +1 -0
  126. package/dist/tools/send-message.js +28 -0
  127. package/dist/tools/send-message.js.map +1 -0
  128. package/dist/tools/set-status.d.ts +4 -0
  129. package/dist/tools/set-status.d.ts.map +1 -0
  130. package/dist/tools/set-status.js +28 -0
  131. package/dist/tools/set-status.js.map +1 -0
  132. package/dist/tools/update-task.d.ts +4 -0
  133. package/dist/tools/update-task.d.ts.map +1 -0
  134. package/dist/tools/update-task.js +28 -0
  135. package/dist/tools/update-task.js.map +1 -0
  136. package/dist/tools/wait-for-messages.d.ts +4 -0
  137. package/dist/tools/wait-for-messages.d.ts.map +1 -0
  138. package/dist/tools/wait-for-messages.js +84 -0
  139. package/dist/tools/wait-for-messages.js.map +1 -0
  140. package/dist/transport/peer-protocol.d.ts +7 -0
  141. package/dist/transport/peer-protocol.d.ts.map +1 -0
  142. package/dist/transport/peer-protocol.js +30 -0
  143. package/dist/transport/peer-protocol.js.map +1 -0
  144. package/dist/transport/uds-client.d.ts +3 -0
  145. package/dist/transport/uds-client.d.ts.map +1 -0
  146. package/dist/transport/uds-client.js +57 -0
  147. package/dist/transport/uds-client.js.map +1 -0
  148. package/dist/transport/uds-server.d.ts +12 -0
  149. package/dist/transport/uds-server.d.ts.map +1 -0
  150. package/dist/transport/uds-server.js +87 -0
  151. package/dist/transport/uds-server.js.map +1 -0
  152. package/dist/types.d.ts +18 -0
  153. package/dist/types.d.ts.map +1 -0
  154. package/dist/types.js +3 -0
  155. package/dist/types.js.map +1 -0
  156. package/dist/util/id.d.ts +2 -0
  157. package/dist/util/id.d.ts.map +1 -0
  158. package/dist/util/id.js +5 -0
  159. package/dist/util/id.js.map +1 -0
  160. package/dist/util/logger.d.ts +3 -0
  161. package/dist/util/logger.d.ts.map +1 -0
  162. package/dist/util/logger.js +13 -0
  163. package/dist/util/logger.js.map +1 -0
  164. package/dist/util/pid.d.ts +2 -0
  165. package/dist/util/pid.d.ts.map +1 -0
  166. package/dist/util/pid.js +10 -0
  167. package/dist/util/pid.js.map +1 -0
  168. package/hooks/permission-hook.sh +116 -0
  169. package/package.json +59 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hub-server.js","sourceRoot":"","sources":["../../src/hub/hub-server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,221 @@
1
+ /**
2
+ * WebSocket protocol type definitions for CrossChat hub-and-spoke messaging.
3
+ *
4
+ * Defines all agent-to-server and server-to-agent message shapes as
5
+ * discriminated unions keyed on the `type` field.
6
+ */
7
+ export type AgentStatus = 'available' | 'busy';
8
+ export interface PeerInfo {
9
+ peerId: string;
10
+ name: string;
11
+ cwd: string;
12
+ pid: number;
13
+ status: AgentStatus;
14
+ statusDetail?: string;
15
+ currentRoom: string;
16
+ connectedAt: string;
17
+ }
18
+ export type HubTaskStatus = 'open' | 'claimed' | 'in_progress' | 'completed' | 'failed' | 'archived';
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
+ }
45
+ export interface AgentRegisterMessage {
46
+ type: 'agent.register';
47
+ peerId: string;
48
+ name: string;
49
+ cwd: string;
50
+ pid: number;
51
+ }
52
+ export interface AgentHeartbeatMessage {
53
+ type: 'agent.heartbeat';
54
+ }
55
+ export interface AgentStatusMessage {
56
+ type: 'agent.status';
57
+ status: AgentStatus;
58
+ detail?: string;
59
+ taskId?: string;
60
+ }
61
+ export interface AgentDisconnectMessage {
62
+ type: 'agent.disconnect';
63
+ }
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
+ export interface AgentSendMessageMessage {
75
+ type: 'agent.sendMessage';
76
+ content: string;
77
+ metadata?: Record<string, unknown>;
78
+ importance?: MessageImportance;
79
+ }
80
+ export interface AgentListPeersMessage {
81
+ type: 'agent.listPeers';
82
+ requestId: string;
83
+ }
84
+ export interface TaskCreateMessage {
85
+ type: 'task.create';
86
+ description: string;
87
+ context?: string;
88
+ filter?: TaskFilter;
89
+ }
90
+ export interface TaskClaimMessage {
91
+ type: 'task.claim';
92
+ taskId: string;
93
+ }
94
+ export interface TaskAcceptMessage {
95
+ type: 'task.accept';
96
+ taskId: string;
97
+ claimantId: string;
98
+ }
99
+ export interface TaskUpdateMessage {
100
+ type: 'task.update';
101
+ taskId: string;
102
+ content: string;
103
+ status?: HubTaskStatus;
104
+ }
105
+ export interface TaskCompleteMessage {
106
+ type: 'task.complete';
107
+ taskId: string;
108
+ result: string;
109
+ status: 'completed' | 'failed';
110
+ error?: string;
111
+ }
112
+ export interface AgentGetTaskMessage {
113
+ type: 'agent.getTask';
114
+ requestId: string;
115
+ taskId: string;
116
+ }
117
+ export interface AgentListTasksMessage {
118
+ type: 'agent.listTasks';
119
+ requestId: string;
120
+ status?: string;
121
+ roomId?: string;
122
+ assignedTo?: string;
123
+ }
124
+ export interface AgentClearSessionMessage {
125
+ type: 'agent.clearSession';
126
+ requestId: string;
127
+ messages?: boolean;
128
+ tasks?: boolean;
129
+ }
130
+ export type AgentMessage = AgentRegisterMessage | AgentHeartbeatMessage | AgentStatusMessage | AgentDisconnectMessage | AgentJoinRoomMessage | AgentCreateRoomMessage | AgentSendMessageMessage | AgentListPeersMessage | TaskCreateMessage | TaskClaimMessage | TaskAcceptMessage | TaskUpdateMessage | TaskCompleteMessage | AgentGetTaskMessage | AgentListTasksMessage | AgentClearSessionMessage;
131
+ export interface RegisteredMessage {
132
+ type: 'registered';
133
+ peerId: string;
134
+ serverVersion: string;
135
+ }
136
+ export interface PeersMessage {
137
+ type: 'peers';
138
+ requestId: string;
139
+ peers: PeerInfo[];
140
+ }
141
+ export interface RoomJoinedMessage {
142
+ type: 'room.joined';
143
+ roomId: string;
144
+ name: string;
145
+ }
146
+ export interface RoomCreatedMessage {
147
+ type: 'room.created';
148
+ roomId: string;
149
+ name: string;
150
+ }
151
+ export interface RoomMessageMessage {
152
+ type: 'room.message';
153
+ roomId: string;
154
+ messageId: string;
155
+ fromPeerId: string;
156
+ fromName: string;
157
+ content: string;
158
+ metadata?: Record<string, unknown>;
159
+ timestamp: string;
160
+ source: 'agent' | 'user' | 'system';
161
+ mentions?: string[];
162
+ mentionType?: 'direct' | 'here' | 'broadcast';
163
+ importance?: MessageImportance;
164
+ }
165
+ export interface TaskCreatedMessage {
166
+ type: 'task.created';
167
+ task: TaskSummary;
168
+ }
169
+ export interface TaskClaimedMessage {
170
+ type: 'task.claimed';
171
+ taskId: string;
172
+ claimantId: string;
173
+ claimantName: string;
174
+ }
175
+ export interface TaskClaimAcceptedMessage {
176
+ type: 'task.claimAccepted';
177
+ taskId: string;
178
+ assignedTo: string;
179
+ }
180
+ export interface TaskUpdatedMessage {
181
+ type: 'task.updated';
182
+ taskId: string;
183
+ note: TaskNote;
184
+ }
185
+ export interface TaskCompletedMessage {
186
+ type: 'task.completed';
187
+ taskId: string;
188
+ status: 'completed' | 'failed';
189
+ result?: string;
190
+ }
191
+ export interface TaskDetailMessage {
192
+ type: 'task.detail';
193
+ requestId: string;
194
+ task: TaskSummary & {
195
+ notes: TaskNote[];
196
+ result?: string;
197
+ error?: string;
198
+ };
199
+ }
200
+ export interface TasksMessage {
201
+ type: 'tasks';
202
+ requestId: string;
203
+ tasks: TaskSummary[];
204
+ }
205
+ export interface SessionClearedMessage {
206
+ type: 'session.cleared';
207
+ requestId: string;
208
+ messagesCleared: number;
209
+ tasksArchived: number;
210
+ }
211
+ export interface ErrorMessage {
212
+ type: 'error';
213
+ message: string;
214
+ requestId?: string;
215
+ }
216
+ export type ServerMessage = RegisteredMessage | PeersMessage | RoomJoinedMessage | RoomCreatedMessage | RoomMessageMessage | TaskCreatedMessage | TaskClaimedMessage | TaskClaimAcceptedMessage | TaskUpdatedMessage | TaskCompletedMessage | TaskDetailMessage | TasksMessage | SessionClearedMessage | ErrorMessage;
217
+ /** Serialise a protocol message to a JSON string for sending over WebSocket. */
218
+ export declare function encodeMessage(msg: AgentMessage | ServerMessage): string;
219
+ /** Deserialise a raw WebSocket payload into a typed protocol message. */
220
+ export declare function decodeMessage(data: string): ServerMessage | AgentMessage;
221
+ //# sourceMappingURL=protocol.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/hub/protocol.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * WebSocket protocol type definitions for CrossChat hub-and-spoke messaging.
3
+ *
4
+ * Defines all agent-to-server and server-to-agent message shapes as
5
+ * discriminated unions keyed on the `type` field.
6
+ */
7
+ // ─── Helpers ─────────────────────────────────────────────────────
8
+ /** Serialise a protocol message to a JSON string for sending over WebSocket. */
9
+ export function encodeMessage(msg) {
10
+ return JSON.stringify(msg);
11
+ }
12
+ /** Deserialise a raw WebSocket payload into a typed protocol message. */
13
+ export function decodeMessage(data) {
14
+ const parsed = JSON.parse(data);
15
+ if (typeof parsed !== 'object' || parsed === null || typeof parsed.type !== 'string') {
16
+ throw new Error('Invalid protocol message: missing or non-string "type" field');
17
+ }
18
+ return parsed;
19
+ }
20
+ //# sourceMappingURL=protocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/hub/protocol.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA2RH,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"}
@@ -0,0 +1,68 @@
1
+ export type TaskStatus = 'open' | 'claimed' | 'in_progress' | 'completed' | 'failed' | 'archived';
2
+ export interface TaskFilter {
3
+ agentId?: string;
4
+ workingDirReq?: string;
5
+ gitProject?: string;
6
+ }
7
+ export interface TaskNote {
8
+ noteId: string;
9
+ authorId: string;
10
+ authorName: string;
11
+ content: string;
12
+ timestamp: string;
13
+ }
14
+ export interface Task {
15
+ taskId: string;
16
+ roomId: string;
17
+ creatorId: string;
18
+ creatorName: string;
19
+ description: string;
20
+ context?: string;
21
+ filter?: TaskFilter;
22
+ status: TaskStatus;
23
+ claimantId?: string;
24
+ claimantName?: string;
25
+ createdAt: string;
26
+ updatedAt: string;
27
+ notes: TaskNote[];
28
+ result?: string;
29
+ error?: string;
30
+ }
31
+ export declare class TaskManager {
32
+ private tasks;
33
+ private readonly tasksDir;
34
+ constructor(tasksDir?: string);
35
+ init(): Promise<void>;
36
+ create(params: {
37
+ roomId: string;
38
+ creatorId: string;
39
+ creatorName: string;
40
+ description: string;
41
+ context?: string;
42
+ filter?: TaskFilter;
43
+ }): Promise<Task>;
44
+ claim(taskId: string, claimantId: string, claimantName: string): Promise<Task>;
45
+ acceptClaim(taskId: string, creatorId: string): Promise<Task>;
46
+ update(taskId: string, authorId: string, authorName: string, content: string, status?: TaskStatus): Promise<Task>;
47
+ complete(taskId: string, authorId: string, authorName: string, result: string, status: 'completed' | 'failed', error?: string): Promise<Task>;
48
+ archive(taskId: string): Promise<Task>;
49
+ /** Archive all completed/failed tasks in a room. Returns count of tasks archived. */
50
+ archiveTerminal(roomId?: string): Promise<number>;
51
+ get(taskId: string): Task | undefined;
52
+ list(filter?: {
53
+ status?: TaskStatus;
54
+ roomId?: string;
55
+ assignedTo?: string;
56
+ }): Task[];
57
+ matchesFilter(task: Task, agent: {
58
+ peerId: string;
59
+ cwd?: string;
60
+ gitProject?: string;
61
+ }): boolean;
62
+ private persist;
63
+ private loadFromDisk;
64
+ private requireTask;
65
+ private validateParticipant;
66
+ private validateStatusTransition;
67
+ }
68
+ //# sourceMappingURL=task-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-manager.d.ts","sourceRoot":"","sources":["../../src/hub/task-manager.ts"],"names":[],"mappings":"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"}