@mclawnet/shared 0.1.6 → 0.1.7
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/dist/protocol/__tests__/events.test.d.ts +2 -0
- package/dist/protocol/__tests__/events.test.d.ts.map +1 -0
- package/dist/protocol/__tests__/events.test.js +86 -0
- package/dist/protocol/__tests__/events.test.js.map +1 -0
- package/dist/protocol/__tests__/protocol-version.test.d.ts +2 -0
- package/dist/protocol/__tests__/protocol-version.test.d.ts.map +1 -0
- package/dist/protocol/__tests__/protocol-version.test.js +38 -0
- package/dist/protocol/__tests__/protocol-version.test.js.map +1 -0
- package/dist/protocol/chat.d.ts +33 -2
- package/dist/protocol/chat.d.ts.map +1 -1
- package/dist/protocol/events.d.ts +99 -0
- package/dist/protocol/events.d.ts.map +1 -0
- package/dist/protocol/events.js +35 -0
- package/dist/protocol/events.js.map +1 -0
- package/dist/protocol/index.d.ts +3 -1
- package/dist/protocol/index.d.ts.map +1 -1
- package/dist/protocol/index.js +2 -0
- package/dist/protocol/index.js.map +1 -1
- package/dist/protocol/protocol-version.d.ts +4 -0
- package/dist/protocol/protocol-version.d.ts.map +1 -0
- package/dist/protocol/protocol-version.js +20 -0
- package/dist/protocol/protocol-version.js.map +1 -0
- package/dist/schemas.d.ts +8 -8
- package/package.json +5 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.test.d.ts","sourceRoot":"","sources":["../../../src/protocol/__tests__/events.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { describe, it, expect } from "vitest";
|
|
2
|
+
import { isWireEvent, isWireEventType, WIRE_EVENT_TYPES, } from "../events.js";
|
|
3
|
+
describe("WireEvent protocol", () => {
|
|
4
|
+
describe("WIRE_EVENT_TYPES", () => {
|
|
5
|
+
it("contains all 13 event types (8 dialog + 5 swarm)", () => {
|
|
6
|
+
expect(WIRE_EVENT_TYPES).toHaveLength(13);
|
|
7
|
+
});
|
|
8
|
+
it("includes all dialog types from Happy v2", () => {
|
|
9
|
+
expect(WIRE_EVENT_TYPES).toEqual(expect.arrayContaining([
|
|
10
|
+
"turn-start",
|
|
11
|
+
"turn-end",
|
|
12
|
+
"text",
|
|
13
|
+
"tool-call-start",
|
|
14
|
+
"tool-call-end",
|
|
15
|
+
"permission-request",
|
|
16
|
+
"permission-response",
|
|
17
|
+
"service",
|
|
18
|
+
]));
|
|
19
|
+
});
|
|
20
|
+
it("includes swarm extensions", () => {
|
|
21
|
+
expect(WIRE_EVENT_TYPES).toEqual(expect.arrayContaining([
|
|
22
|
+
"role-spawned",
|
|
23
|
+
"role-status-changed",
|
|
24
|
+
"role-stopped",
|
|
25
|
+
"plan-updated",
|
|
26
|
+
"queen-patrol",
|
|
27
|
+
]));
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
describe("isWireEventType", () => {
|
|
31
|
+
it("accepts known types", () => {
|
|
32
|
+
expect(isWireEventType("text")).toBe(true);
|
|
33
|
+
expect(isWireEventType("permission-request")).toBe(true);
|
|
34
|
+
expect(isWireEventType("plan-updated")).toBe(true);
|
|
35
|
+
});
|
|
36
|
+
it("rejects unknown / non-string", () => {
|
|
37
|
+
expect(isWireEventType("unknown")).toBe(false);
|
|
38
|
+
expect(isWireEventType("")).toBe(false);
|
|
39
|
+
expect(isWireEventType(null)).toBe(false);
|
|
40
|
+
expect(isWireEventType(123)).toBe(false);
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
describe("isWireEvent", () => {
|
|
44
|
+
const baseEvent = {
|
|
45
|
+
id: "evt_1",
|
|
46
|
+
sessionId: "sess_1",
|
|
47
|
+
seq: 1,
|
|
48
|
+
role: "agent",
|
|
49
|
+
type: "text",
|
|
50
|
+
ts: Date.now(),
|
|
51
|
+
payload: { text: "hi" },
|
|
52
|
+
};
|
|
53
|
+
it("accepts a minimal valid event", () => {
|
|
54
|
+
expect(isWireEvent(baseEvent)).toBe(true);
|
|
55
|
+
});
|
|
56
|
+
it("rejects when seq < 1", () => {
|
|
57
|
+
expect(isWireEvent({ ...baseEvent, seq: 0 })).toBe(false);
|
|
58
|
+
expect(isWireEvent({ ...baseEvent, seq: -1 })).toBe(false);
|
|
59
|
+
});
|
|
60
|
+
it("rejects when seq is not finite", () => {
|
|
61
|
+
expect(isWireEvent({ ...baseEvent, seq: Number.NaN })).toBe(false);
|
|
62
|
+
expect(isWireEvent({ ...baseEvent, seq: Number.POSITIVE_INFINITY })).toBe(false);
|
|
63
|
+
});
|
|
64
|
+
it("rejects unknown type", () => {
|
|
65
|
+
expect(isWireEvent({ ...baseEvent, type: "bogus" })).toBe(false);
|
|
66
|
+
});
|
|
67
|
+
it("rejects unknown role", () => {
|
|
68
|
+
expect(isWireEvent({ ...baseEvent, role: "robot" })).toBe(false);
|
|
69
|
+
});
|
|
70
|
+
it("rejects missing fields", () => {
|
|
71
|
+
expect(isWireEvent({})).toBe(false);
|
|
72
|
+
expect(isWireEvent(null)).toBe(false);
|
|
73
|
+
expect(isWireEvent("string")).toBe(false);
|
|
74
|
+
});
|
|
75
|
+
it("preserves typed payloads via TypedWireEvent", () => {
|
|
76
|
+
const ev = {
|
|
77
|
+
...baseEvent,
|
|
78
|
+
type: "text",
|
|
79
|
+
payload: { text: "hello", finished: true },
|
|
80
|
+
};
|
|
81
|
+
expect(isWireEvent(ev)).toBe(true);
|
|
82
|
+
expect(ev.payload.text).toBe("hello");
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
//# sourceMappingURL=events.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.test.js","sourceRoot":"","sources":["../../../src/protocol/__tests__/events.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol-version.test.d.ts","sourceRoot":"","sources":["../../../src/protocol/__tests__/protocol-version.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { describe, it, expect } from "vitest";
|
|
2
|
+
import { SESSION_PROTOCOL_VERSION, extractProtocolVersion, isProtocolVersionMismatch, } from "../protocol-version.js";
|
|
3
|
+
describe("SESSION_PROTOCOL_VERSION", () => {
|
|
4
|
+
it("is a positive integer", () => {
|
|
5
|
+
expect(Number.isInteger(SESSION_PROTOCOL_VERSION)).toBe(true);
|
|
6
|
+
expect(SESSION_PROTOCOL_VERSION).toBeGreaterThan(0);
|
|
7
|
+
});
|
|
8
|
+
});
|
|
9
|
+
describe("extractProtocolVersion", () => {
|
|
10
|
+
it("parses ?v=N from a relative URL", () => {
|
|
11
|
+
expect(extractProtocolVersion("/ws/chat?token=t&v=3")).toBe(3);
|
|
12
|
+
});
|
|
13
|
+
it("parses ?v=N from an absolute URL", () => {
|
|
14
|
+
expect(extractProtocolVersion("https://h.example/ws/chat?v=2&token=t")).toBe(2);
|
|
15
|
+
});
|
|
16
|
+
it("returns null when v is missing", () => {
|
|
17
|
+
expect(extractProtocolVersion("/ws/chat?token=t")).toBeNull();
|
|
18
|
+
});
|
|
19
|
+
it("returns null for non-numeric v", () => {
|
|
20
|
+
expect(extractProtocolVersion("/ws/chat?v=abc")).toBeNull();
|
|
21
|
+
});
|
|
22
|
+
it("returns null for malformed URL", () => {
|
|
23
|
+
expect(extractProtocolVersion("not a url ?? ")).toBeNull();
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
describe("isProtocolVersionMismatch", () => {
|
|
27
|
+
it("returns true when client version is missing", () => {
|
|
28
|
+
expect(isProtocolVersionMismatch(null)).toBe(true);
|
|
29
|
+
});
|
|
30
|
+
it("returns true when client version differs from server", () => {
|
|
31
|
+
expect(isProtocolVersionMismatch(SESSION_PROTOCOL_VERSION + 1)).toBe(true);
|
|
32
|
+
expect(isProtocolVersionMismatch(SESSION_PROTOCOL_VERSION - 1)).toBe(true);
|
|
33
|
+
});
|
|
34
|
+
it("returns false when client matches server", () => {
|
|
35
|
+
expect(isProtocolVersionMismatch(SESSION_PROTOCOL_VERSION)).toBe(false);
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
//# sourceMappingURL=protocol-version.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol-version.test.js","sourceRoot":"","sources":["../../../src/protocol/__tests__/protocol-version.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC;AAEhC,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;QAC/B,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9D,MAAM,CAAC,wBAAwB,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,CAAC,sBAAsB,CAAC,sBAAsB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,CAAC,sBAAsB,CAAC,uCAAuC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClF,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAChE,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC9D,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,CAAC,sBAAsB,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC7D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,CAAC,yBAAyB,CAAC,wBAAwB,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3E,MAAM,CAAC,yBAAyB,CAAC,wBAAwB,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,CAAC,yBAAyB,CAAC,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/dist/protocol/chat.d.ts
CHANGED
|
@@ -95,6 +95,16 @@ export interface ChatRequestSessionState {
|
|
|
95
95
|
type: "request_session_state";
|
|
96
96
|
sessionId: string;
|
|
97
97
|
}
|
|
98
|
+
/**
|
|
99
|
+
* M1.S3: subscribe to the unified wire-event stream for a session.
|
|
100
|
+
* Hub replies with `event_backfill` (batched events with seq > afterSeq)
|
|
101
|
+
* followed by individual `event` pushes for new events as they land.
|
|
102
|
+
*/
|
|
103
|
+
export interface ChatEventSubscribe {
|
|
104
|
+
type: "event_subscribe";
|
|
105
|
+
sessionId: string;
|
|
106
|
+
afterSeq: number;
|
|
107
|
+
}
|
|
98
108
|
/** Browser -> Hub: generic request */
|
|
99
109
|
export interface ChatGenericRequest {
|
|
100
110
|
type: "generic.request";
|
|
@@ -120,12 +130,14 @@ export interface ChatGenericPush {
|
|
|
120
130
|
event: string;
|
|
121
131
|
data: Record<string, unknown>;
|
|
122
132
|
}
|
|
123
|
-
export type ChatClientMessage = ChatAuth | ChatCreateConversation | ChatSendMessage | ChatListDirectory | ChatListFolders | ChatListHistorySessions | ChatLoadSessionHistory | ChatCreateSwarmConversation | ChatUpgradeToSwarm | ChatListRoles | ChatListTemplates | ChatAbortExecution | ChatWatchSession | ChatRequestSessionState | ChatGenericRequest;
|
|
133
|
+
export type ChatClientMessage = ChatAuth | ChatCreateConversation | ChatSendMessage | ChatListDirectory | ChatListFolders | ChatListHistorySessions | ChatLoadSessionHistory | ChatCreateSwarmConversation | ChatUpgradeToSwarm | ChatListRoles | ChatListTemplates | ChatAbortExecution | ChatWatchSession | ChatRequestSessionState | ChatEventSubscribe | ChatGenericRequest;
|
|
124
134
|
export interface ChatAuthResult {
|
|
125
135
|
type: "auth_result";
|
|
126
136
|
success: boolean;
|
|
127
137
|
userId?: string;
|
|
128
138
|
error?: string;
|
|
139
|
+
/** Server signals client bundle is stale; client should reload to pick up the new version. */
|
|
140
|
+
forceReload?: boolean;
|
|
129
141
|
}
|
|
130
142
|
export interface ChatConversationCreated {
|
|
131
143
|
type: "conversation_created";
|
|
@@ -278,5 +290,24 @@ export interface ChatSessionState {
|
|
|
278
290
|
claudeSessionId?: string;
|
|
279
291
|
agentId?: string;
|
|
280
292
|
}
|
|
281
|
-
|
|
293
|
+
/**
|
|
294
|
+
* M1.S3: server → client wire-event push. Single event per frame; clients
|
|
295
|
+
* advance their local `afterSeq` cursor to event.seq on receipt.
|
|
296
|
+
*/
|
|
297
|
+
export interface ChatEvent {
|
|
298
|
+
type: "event";
|
|
299
|
+
sessionId: string;
|
|
300
|
+
event: unknown;
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* M1.S3: batched backfill emitted in response to `event_subscribe`. Sent
|
|
304
|
+
* before any live `event` push to fill the gap up to `headSeq`.
|
|
305
|
+
*/
|
|
306
|
+
export interface ChatEventBackfill {
|
|
307
|
+
type: "event_backfill";
|
|
308
|
+
sessionId: string;
|
|
309
|
+
events: unknown[];
|
|
310
|
+
headSeq: number;
|
|
311
|
+
}
|
|
312
|
+
export type ChatServerMessage = ChatAuthResult | ChatConversationCreated | ChatConversationError | ChatClaudeOutput | ChatTurnCompleted | ChatContextUsage | ChatDirectoryListing | ChatFoldersList | ChatHistorySessionsList | ChatSessionHistory | ChatError | ChatSwarmOutput | ChatSwarmTurnCompleted | ChatSwarmStatus | ChatRolesList | ChatTemplatesList | ChatExecutionAborted | ChatSkillListUpdate | ChatSessionState | ChatEvent | ChatEventBackfill | ChatGenericResponse | ChatGenericPush;
|
|
282
313
|
//# sourceMappingURL=chat.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/protocol/chat.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/protocol/chat.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
export type WireEventType = "turn-start" | "turn-end" | "text" | "tool-call-start" | "tool-call-end" | "permission-request" | "permission-response" | "service" | "role-spawned" | "role-status-changed" | "role-stopped" | "plan-updated" | "queen-patrol";
|
|
2
|
+
export type WireEventRole = "user" | "agent" | "system";
|
|
3
|
+
export interface WireEvent<P = unknown> {
|
|
4
|
+
id: string;
|
|
5
|
+
sessionId: string;
|
|
6
|
+
seq: number;
|
|
7
|
+
role: WireEventRole;
|
|
8
|
+
type: WireEventType;
|
|
9
|
+
turnId?: string;
|
|
10
|
+
parentId?: string;
|
|
11
|
+
agentId?: string;
|
|
12
|
+
localId?: string;
|
|
13
|
+
payload: P;
|
|
14
|
+
ts: number;
|
|
15
|
+
}
|
|
16
|
+
export interface TurnStartPayload {
|
|
17
|
+
turnId: string;
|
|
18
|
+
trigger?: "user" | "queen" | "system";
|
|
19
|
+
}
|
|
20
|
+
export interface TurnEndPayload {
|
|
21
|
+
turnId: string;
|
|
22
|
+
status: "complete" | "interrupted" | "error";
|
|
23
|
+
error?: string;
|
|
24
|
+
}
|
|
25
|
+
export interface TextPayload {
|
|
26
|
+
text: string;
|
|
27
|
+
finished?: boolean;
|
|
28
|
+
}
|
|
29
|
+
export interface ToolCallStartPayload {
|
|
30
|
+
toolCallId: string;
|
|
31
|
+
toolName: string;
|
|
32
|
+
args: Record<string, unknown>;
|
|
33
|
+
}
|
|
34
|
+
export interface ToolCallEndPayload {
|
|
35
|
+
toolCallId: string;
|
|
36
|
+
status: "success" | "error" | "cancelled";
|
|
37
|
+
result?: unknown;
|
|
38
|
+
error?: string;
|
|
39
|
+
}
|
|
40
|
+
export interface PermissionRequestPayload {
|
|
41
|
+
requestId: string;
|
|
42
|
+
toolName: string;
|
|
43
|
+
args: Record<string, unknown>;
|
|
44
|
+
reason?: string;
|
|
45
|
+
}
|
|
46
|
+
export interface PermissionResponsePayload {
|
|
47
|
+
requestId: string;
|
|
48
|
+
decision: "allow" | "deny" | "allow_once";
|
|
49
|
+
reason?: string;
|
|
50
|
+
}
|
|
51
|
+
export interface ServicePayload {
|
|
52
|
+
kind: string;
|
|
53
|
+
data?: unknown;
|
|
54
|
+
}
|
|
55
|
+
export interface RoleSpawnedPayload {
|
|
56
|
+
instanceId: string;
|
|
57
|
+
roleName: string;
|
|
58
|
+
roleType: string;
|
|
59
|
+
claudeSessionId?: string;
|
|
60
|
+
}
|
|
61
|
+
export interface RoleStatusChangedPayload {
|
|
62
|
+
instanceId: string;
|
|
63
|
+
status: "idle" | "working" | "blocked" | "error" | "done";
|
|
64
|
+
currentTask?: string;
|
|
65
|
+
}
|
|
66
|
+
export interface RoleStoppedPayload {
|
|
67
|
+
instanceId: string;
|
|
68
|
+
reason?: string;
|
|
69
|
+
}
|
|
70
|
+
export interface PlanUpdatedPayload {
|
|
71
|
+
plan: unknown;
|
|
72
|
+
planStatus?: string;
|
|
73
|
+
}
|
|
74
|
+
export interface QueenPatrolPayload {
|
|
75
|
+
summary?: string;
|
|
76
|
+
decisions?: unknown[];
|
|
77
|
+
}
|
|
78
|
+
export type WireEventPayloadMap = {
|
|
79
|
+
"turn-start": TurnStartPayload;
|
|
80
|
+
"turn-end": TurnEndPayload;
|
|
81
|
+
text: TextPayload;
|
|
82
|
+
"tool-call-start": ToolCallStartPayload;
|
|
83
|
+
"tool-call-end": ToolCallEndPayload;
|
|
84
|
+
"permission-request": PermissionRequestPayload;
|
|
85
|
+
"permission-response": PermissionResponsePayload;
|
|
86
|
+
service: ServicePayload;
|
|
87
|
+
"role-spawned": RoleSpawnedPayload;
|
|
88
|
+
"role-status-changed": RoleStatusChangedPayload;
|
|
89
|
+
"role-stopped": RoleStoppedPayload;
|
|
90
|
+
"plan-updated": PlanUpdatedPayload;
|
|
91
|
+
"queen-patrol": QueenPatrolPayload;
|
|
92
|
+
};
|
|
93
|
+
export type TypedWireEvent<T extends WireEventType> = WireEvent<WireEventPayloadMap[T]> & {
|
|
94
|
+
type: T;
|
|
95
|
+
};
|
|
96
|
+
export declare const WIRE_EVENT_TYPES: readonly WireEventType[];
|
|
97
|
+
export declare function isWireEventType(value: unknown): value is WireEventType;
|
|
98
|
+
export declare function isWireEvent(value: unknown): value is WireEvent;
|
|
99
|
+
//# sourceMappingURL=events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/protocol/events.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
// Wire event protocol — unified seq stream for chat/swarm sessions.
|
|
2
|
+
// Design: plans/session-protocol/plan.md §3.1
|
|
3
|
+
export const WIRE_EVENT_TYPES = [
|
|
4
|
+
"turn-start",
|
|
5
|
+
"turn-end",
|
|
6
|
+
"text",
|
|
7
|
+
"tool-call-start",
|
|
8
|
+
"tool-call-end",
|
|
9
|
+
"permission-request",
|
|
10
|
+
"permission-response",
|
|
11
|
+
"service",
|
|
12
|
+
"role-spawned",
|
|
13
|
+
"role-status-changed",
|
|
14
|
+
"role-stopped",
|
|
15
|
+
"plan-updated",
|
|
16
|
+
"queen-patrol",
|
|
17
|
+
];
|
|
18
|
+
export function isWireEventType(value) {
|
|
19
|
+
return typeof value === "string" && WIRE_EVENT_TYPES.includes(value);
|
|
20
|
+
}
|
|
21
|
+
export function isWireEvent(value) {
|
|
22
|
+
if (!value || typeof value !== "object")
|
|
23
|
+
return false;
|
|
24
|
+
const e = value;
|
|
25
|
+
return (typeof e.id === "string" &&
|
|
26
|
+
typeof e.sessionId === "string" &&
|
|
27
|
+
typeof e.seq === "number" &&
|
|
28
|
+
Number.isFinite(e.seq) &&
|
|
29
|
+
e.seq >= 1 &&
|
|
30
|
+
(e.role === "user" || e.role === "agent" || e.role === "system") &&
|
|
31
|
+
isWireEventType(e.type) &&
|
|
32
|
+
typeof e.ts === "number" &&
|
|
33
|
+
"payload" in e);
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/protocol/events.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,8CAA8C;AAkI9C,MAAM,CAAC,MAAM,gBAAgB,GAA6B;IACxD,YAAY;IACZ,UAAU;IACV,MAAM;IACN,iBAAiB;IACjB,eAAe;IACf,oBAAoB;IACpB,qBAAqB;IACrB,SAAS;IACT,cAAc;IACd,qBAAqB;IACrB,cAAc;IACd,cAAc;IACd,cAAc;CACN,CAAC;AAEX,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAK,gBAAsC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC9F,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,CAAC,GAAG,KAA2B,CAAC;IACtC,OAAO,CACL,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ;QACxB,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ;QAC/B,OAAO,CAAC,CAAC,GAAG,KAAK,QAAQ;QACzB,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC;QACtB,CAAC,CAAC,GAAG,IAAI,CAAC;QACV,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;QAChE,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC;QACvB,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ;QACxB,SAAS,IAAI,CAAC,CACf,CAAC;AACJ,CAAC"}
|
package/dist/protocol/index.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export type { AgentServerMessage, AgentClientMessage, AgentAuthRequired, AgentRegistered, AgentAck, AgentSessionCreate, AgentSessionClose, AgentClaudeInput, AgentClaudeExecute, AgentFsListDir, AgentListFolders, AgentListHistorySessions, AgentListRoles, AgentListTemplates, AgentAuth, AgentHeartbeat, AgentSessionCreated, AgentSessionError, AgentClaudeOutput, AgentClaudeTurnComplete, AgentClaudeSessionStarted, AgentFsListDirResult, AgentFoldersListResult, AgentHistorySessionsResult, AgentRolesListResult, AgentTemplatesListResult, AgentProxyOpen, AgentProxyData, AgentProxyClose, AgentProxyOpened, AgentGenericRequest, AgentGenericResponse, AgentGenericPush, AgentSkillListUpdate, AgentSessionStateReport, AgentSessionForceRestart, AgentSessionDied, } from "./agent.js";
|
|
2
2
|
export { PROJECTS_RPC_CAPABILITY } from "./agent.js";
|
|
3
|
-
export type { ChatClientMessage, ChatServerMessage, ChatAuth, ChatCreateConversation, ChatSendMessage, ChatListDirectory, ChatListFolders, ChatListHistorySessions, ChatUpgradeToSwarm, ChatListRoles, ChatListTemplates, ChatAuthResult, ChatConversationCreated, ChatConversationError, ChatClaudeOutput, ChatTurnCompleted, ChatContextUsage, ChatDirectoryListing, ChatFoldersList, ChatHistorySessionsList, ChatRolesList, ChatTemplatesList, ChatError, ChatGenericRequest, ChatGenericResponse, ChatGenericPush, ChatSkillListUpdate, ChatSessionState, ChatRequestSessionState, } from "./chat.js";
|
|
3
|
+
export type { ChatClientMessage, ChatServerMessage, ChatAuth, ChatCreateConversation, ChatSendMessage, ChatListDirectory, ChatListFolders, ChatListHistorySessions, ChatUpgradeToSwarm, ChatListRoles, ChatListTemplates, ChatAuthResult, ChatConversationCreated, ChatConversationError, ChatClaudeOutput, ChatTurnCompleted, ChatContextUsage, ChatDirectoryListing, ChatFoldersList, ChatHistorySessionsList, ChatRolesList, ChatTemplatesList, ChatError, ChatGenericRequest, ChatGenericResponse, ChatGenericPush, ChatSkillListUpdate, ChatSessionState, ChatRequestSessionState, ChatEventSubscribe, ChatEvent, ChatEventBackfill, } from "./chat.js";
|
|
4
|
+
export * from "./events.js";
|
|
5
|
+
export { SESSION_PROTOCOL_VERSION, extractProtocolVersion, isProtocolVersionMismatch, } from "./protocol-version.js";
|
|
4
6
|
export type { ProxyMessage, ProxyOpen, ProxyOpened, ProxyData, ProxyClose, } from "./proxy.js";
|
|
5
7
|
export type { ScheduleMode, ScheduleStatus, ScheduleRunStatus, Schedule, ScheduleLaunchConfig, ScheduleRun, CreateScheduleInput, UpdateSchedulePatch, ScheduleErrorCode, ScheduleErrorPayload, ScheduleListRequest, ScheduleCreateRequest, ScheduleUpdateRequest, ScheduleDeleteRequest, SchedulePauseRequest, ScheduleResumeRequest, ScheduleTriggerRequest, ScheduleRunsRequest, ScheduleLogRequest, ScheduleListResult, ScheduleCreateResult, ScheduleUpdateResult, ScheduleDeleteResult, SchedulePauseResult, ScheduleResumeResult, ScheduleTriggerResult, ScheduleRunsResult, ScheduleLogResult, ScheduleErrorResponse, ScheduleChangedPush, ScheduleRemovedPush, ScheduleRunPush, ScheduleClientMessage, ScheduleServerMessage, } from "./schedule.js";
|
|
6
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/protocol/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,QAAQ,EACR,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,wBAAwB,EACxB,cAAc,EACd,kBAAkB,EAClB,SAAS,EACT,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,yBAAyB,EACzB,oBAAoB,EACpB,sBAAsB,EACtB,0BAA0B,EAC1B,oBAAoB,EACpB,wBAAwB,EACxB,cAAc,EACd,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EACvB,wBAAwB,EACxB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAErD,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,QAAQ,EACR,sBAAsB,EACtB,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,uBAAuB,EACvB,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,uBAAuB,EACvB,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,uBAAuB,EACvB,aAAa,EACb,iBAAiB,EACjB,SAAS,EACT,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/protocol/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,QAAQ,EACR,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,wBAAwB,EACxB,cAAc,EACd,kBAAkB,EAClB,SAAS,EACT,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,yBAAyB,EACzB,oBAAoB,EACpB,sBAAsB,EACtB,0BAA0B,EAC1B,oBAAoB,EACpB,wBAAwB,EACxB,cAAc,EACd,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EACvB,wBAAwB,EACxB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAErD,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,QAAQ,EACR,sBAAsB,EACtB,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,uBAAuB,EACvB,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,uBAAuB,EACvB,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,uBAAuB,EACvB,aAAa,EACb,iBAAiB,EACjB,SAAS,EACT,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,EAClB,SAAS,EACT,iBAAiB,GAClB,MAAM,WAAW,CAAC;AAEnB,cAAc,aAAa,CAAC;AAC5B,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EACV,YAAY,EACZ,SAAS,EACT,WAAW,EACX,SAAS,EACT,UAAU,GACX,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,QAAQ,EACR,oBAAoB,EACpB,WAAW,EACX,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,eAAe,CAAC"}
|
package/dist/protocol/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/protocol/index.ts"],"names":[],"mappings":"AAwCA,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/protocol/index.ts"],"names":[],"mappings":"AAwCA,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAqCrD,cAAc,aAAa,CAAC;AAC5B,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol-version.d.ts","sourceRoot":"","sources":["../../src/protocol/protocol-version.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAE1C,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKjE;AAED,wBAAgB,yBAAyB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAE/E"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
// Session protocol version handshake.
|
|
2
|
+
//
|
|
3
|
+
// Bumped together with breaking wire-protocol changes (e.g. new mandatory
|
|
4
|
+
// envelope fields, removed types). Clients send the version they were built
|
|
5
|
+
// against; hub rejects mismatched connections with `auth_result{success:false,
|
|
6
|
+
// forceReload:true}` so browsers can grab the new bundle on the next refresh.
|
|
7
|
+
//
|
|
8
|
+
// Background: plans/session-protocol/plan.md §四 ("UI 版本号 + forceReload 机制").
|
|
9
|
+
export const SESSION_PROTOCOL_VERSION = 1;
|
|
10
|
+
export function extractProtocolVersion(url) {
|
|
11
|
+
const m = /[?&]v=([^&#]*)/.exec(url);
|
|
12
|
+
if (!m)
|
|
13
|
+
return null;
|
|
14
|
+
const n = Number(m[1]);
|
|
15
|
+
return Number.isFinite(n) && Number.isInteger(n) ? n : null;
|
|
16
|
+
}
|
|
17
|
+
export function isProtocolVersionMismatch(clientVersion) {
|
|
18
|
+
return clientVersion !== SESSION_PROTOCOL_VERSION;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=protocol-version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol-version.js","sourceRoot":"","sources":["../../src/protocol/protocol-version.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,EAAE;AACF,0EAA0E;AAC1E,4EAA4E;AAC5E,+EAA+E;AAC/E,8EAA8E;AAC9E,EAAE;AACF,6EAA6E;AAE7E,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC;AAE1C,MAAM,UAAU,sBAAsB,CAAC,GAAW;IAChD,MAAM,CAAC,GAAG,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrC,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvB,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,aAA4B;IACpE,OAAO,aAAa,KAAK,wBAAwB,CAAC;AACpD,CAAC"}
|
package/dist/schemas.d.ts
CHANGED
|
@@ -104,25 +104,25 @@ export declare const notificationSchema: z.ZodObject<{
|
|
|
104
104
|
readAt: z.ZodNullable<z.ZodString>;
|
|
105
105
|
createdAt: z.ZodString;
|
|
106
106
|
}, "strip", z.ZodTypeAny, {
|
|
107
|
-
title: string;
|
|
108
107
|
id: string;
|
|
108
|
+
payload: Record<string, unknown> | null;
|
|
109
|
+
title: string;
|
|
109
110
|
userId: string;
|
|
110
111
|
kind: string;
|
|
111
112
|
body: string | null;
|
|
112
|
-
severity: "
|
|
113
|
-
payload: Record<string, unknown> | null;
|
|
113
|
+
severity: "error" | "success" | "info" | "warning";
|
|
114
114
|
link: string | null;
|
|
115
115
|
dedupeKey: string | null;
|
|
116
116
|
readAt: string | null;
|
|
117
117
|
createdAt: string;
|
|
118
118
|
}, {
|
|
119
|
-
title: string;
|
|
120
119
|
id: string;
|
|
120
|
+
payload: Record<string, unknown> | null;
|
|
121
|
+
title: string;
|
|
121
122
|
userId: string;
|
|
122
123
|
kind: string;
|
|
123
124
|
body: string | null;
|
|
124
|
-
severity: "
|
|
125
|
-
payload: Record<string, unknown> | null;
|
|
125
|
+
severity: "error" | "success" | "info" | "warning";
|
|
126
126
|
link: string | null;
|
|
127
127
|
dedupeKey: string | null;
|
|
128
128
|
readAt: string | null;
|
|
@@ -167,9 +167,9 @@ export declare const ideaSchema: z.ZodObject<{
|
|
|
167
167
|
createdAt: z.ZodString;
|
|
168
168
|
updatedAt: z.ZodString;
|
|
169
169
|
}, "strip", z.ZodTypeAny, {
|
|
170
|
+
id: string;
|
|
170
171
|
status: "idea" | "todo" | "researching" | "developed" | "archived";
|
|
171
172
|
title: string;
|
|
172
|
-
id: string;
|
|
173
173
|
userId: string;
|
|
174
174
|
body: string;
|
|
175
175
|
createdAt: string;
|
|
@@ -184,9 +184,9 @@ export declare const ideaSchema: z.ZodObject<{
|
|
|
184
184
|
linkedSwarmTaskId: string | null;
|
|
185
185
|
updatedAt: string;
|
|
186
186
|
}, {
|
|
187
|
+
id: string;
|
|
187
188
|
status: "idea" | "todo" | "researching" | "developed" | "archived";
|
|
188
189
|
title: string;
|
|
189
|
-
id: string;
|
|
190
190
|
userId: string;
|
|
191
191
|
body: string;
|
|
192
192
|
createdAt: string;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mclawnet/shared",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.7",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
@@ -26,10 +26,12 @@
|
|
|
26
26
|
"zod": "^3.24.0"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
|
-
"typescript": "^5.8.3"
|
|
29
|
+
"typescript": "^5.8.3",
|
|
30
|
+
"vitest": "^4.0.18"
|
|
30
31
|
},
|
|
31
32
|
"scripts": {
|
|
32
33
|
"build": "tsc",
|
|
33
|
-
"clean": "rm -rf dist"
|
|
34
|
+
"clean": "rm -rf dist",
|
|
35
|
+
"test": "vitest run"
|
|
34
36
|
}
|
|
35
37
|
}
|