agent-console-server 3.4.0 → 3.5.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.
@@ -0,0 +1,838 @@
1
+ import { z } from "zod";
2
+ import { SITE_NAME, createUniqueArraySchema } from "@esposter/shared";
3
+ //#region src/models/handshake/HandshakeMessageType.ts
4
+ let HandshakeMessageType = /* @__PURE__ */ function(HandshakeMessageType) {
5
+ HandshakeMessageType["Authenticate"] = "Authenticate";
6
+ HandshakeMessageType["Challenge"] = "Challenge";
7
+ HandshakeMessageType["HandOff"] = "HandOff";
8
+ HandshakeMessageType["Pair"] = "Pair";
9
+ HandshakeMessageType["Revoke"] = "Revoke";
10
+ return HandshakeMessageType;
11
+ }({});
12
+ const handshakeMessageTypeSchema = z.enum(HandshakeMessageType);
13
+ //#endregion
14
+ //#region src/services/constants.ts
15
+ const DEFAULT_APP_ORIGIN = "https://esposter.com";
16
+ const DEFAULT_HOSTNAME = "127.0.0.1";
17
+ const DEFAULT_PORT = 7437;
18
+ const HOST_SCHEME = `${SITE_NAME.toLowerCase()}-host`;
19
+ const PAIRING_CODE_PARAMETER = "code";
20
+ const PAIRING_HASH_PARAMETER = "host";
21
+ const SHELL_OUTPUT_LENGTH = 1e5;
22
+ const SCHEME_PAIRING_CODE_DURATION = Temporal.Duration.from({ minutes: 1 }).total("milliseconds");
23
+ //#endregion
24
+ //#region src/models/handshake/SignaturePurpose.ts
25
+ let SignaturePurpose = /* @__PURE__ */ function(SignaturePurpose) {
26
+ SignaturePurpose["HostProof"] = "HostProof";
27
+ SignaturePurpose["OwnerProof"] = "OwnerProof";
28
+ return SignaturePurpose;
29
+ }({});
30
+ const signaturePurposeSchema = z.enum(SignaturePurpose);
31
+ //#endregion
32
+ //#region src/models/server/BaseServerMessage.ts
33
+ const createBaseServerMessageSchema = (typeSchema) => z.object({ type: typeSchema });
34
+ //#endregion
35
+ //#region src/models/server/ServerMessageType.ts
36
+ let ServerMessageType = /* @__PURE__ */ function(ServerMessageType) {
37
+ ServerMessageType["Authenticated"] = "Authenticated";
38
+ ServerMessageType["CommandError"] = "CommandError";
39
+ ServerMessageType["Events"] = "Events";
40
+ ServerMessageType["HostStopping"] = "HostStopping";
41
+ ServerMessageType["Paired"] = "Paired";
42
+ ServerMessageType["Proof"] = "Proof";
43
+ ServerMessageType["SessionOpened"] = "SessionOpened";
44
+ ServerMessageType["SessionReset"] = "SessionReset";
45
+ ServerMessageType["Sessions"] = "Sessions";
46
+ ServerMessageType["ShellClosed"] = "ShellClosed";
47
+ ServerMessageType["ShellOpened"] = "ShellOpened";
48
+ ServerMessageType["ShellOutput"] = "ShellOutput";
49
+ return ServerMessageType;
50
+ }({});
51
+ const serverMessageTypeSchema = z.enum(ServerMessageType);
52
+ //#endregion
53
+ //#region src/models/server/AuthenticatedMessage.ts
54
+ const authenticatedMessageSchema = z.object({ ...createBaseServerMessageSchema(z.literal("Authenticated")).shape });
55
+ //#endregion
56
+ //#region src/models/server/CommandErrorMessage.ts
57
+ const commandErrorMessageSchema = z.object({
58
+ ...createBaseServerMessageSchema(z.literal("CommandError")).shape,
59
+ commandId: z.string(),
60
+ message: z.string().min(1)
61
+ });
62
+ //#endregion
63
+ //#region src/models/event/AgentEventType.ts
64
+ let AgentEventType = /* @__PURE__ */ function(AgentEventType) {
65
+ AgentEventType["AssistantMessage"] = "AssistantMessage";
66
+ AgentEventType["Capabilities"] = "Capabilities";
67
+ AgentEventType["CommandOutput"] = "CommandOutput";
68
+ AgentEventType["Compaction"] = "Compaction";
69
+ AgentEventType["ContextUsage"] = "ContextUsage";
70
+ AgentEventType["FileRewind"] = "FileRewind";
71
+ AgentEventType["Hook"] = "Hook";
72
+ AgentEventType["HostError"] = "HostError";
73
+ AgentEventType["PermissionRequest"] = "PermissionRequest";
74
+ AgentEventType["PermissionResolution"] = "PermissionResolution";
75
+ AgentEventType["RateLimit"] = "RateLimit";
76
+ AgentEventType["SessionInit"] = "SessionInit";
77
+ AgentEventType["SessionSettings"] = "SessionSettings";
78
+ AgentEventType["SessionState"] = "SessionState";
79
+ AgentEventType["StreamDelta"] = "StreamDelta";
80
+ AgentEventType["Subagent"] = "Subagent";
81
+ AgentEventType["Thinking"] = "Thinking";
82
+ AgentEventType["TodoUpdate"] = "TodoUpdate";
83
+ AgentEventType["ToolProgress"] = "ToolProgress";
84
+ AgentEventType["ToolResult"] = "ToolResult";
85
+ AgentEventType["ToolUse"] = "ToolUse";
86
+ AgentEventType["TurnResult"] = "TurnResult";
87
+ AgentEventType["TurnUsage"] = "TurnUsage";
88
+ AgentEventType["Unknown"] = "Unknown";
89
+ AgentEventType["UserMessage"] = "UserMessage";
90
+ return AgentEventType;
91
+ }({});
92
+ const agentEventTypeSchema = z.enum(AgentEventType);
93
+ //#endregion
94
+ //#region src/models/event/BaseAgentEvent.ts
95
+ const createBaseAgentEventSchema = (typeSchema) => z.object({
96
+ createdAt: z.coerce.date(),
97
+ id: z.string().min(1),
98
+ type: typeSchema
99
+ });
100
+ //#endregion
101
+ //#region src/models/event/MessageUuid.ts
102
+ const messageUuidSchema = z.object({ messageUuid: z.string() });
103
+ //#endregion
104
+ //#region src/models/event/ParentToolUseId.ts
105
+ const parentToolUseIdSchema = z.object({ parentToolUseId: z.string() });
106
+ //#endregion
107
+ //#region src/models/event/AssistantMessageEvent.ts
108
+ const assistantMessageEventSchema = z.object({
109
+ ...createBaseAgentEventSchema(z.literal("AssistantMessage")).shape,
110
+ ...messageUuidSchema.shape,
111
+ ...parentToolUseIdSchema.shape,
112
+ text: z.string()
113
+ });
114
+ //#endregion
115
+ //#region src/models/event/Model.ts
116
+ const modelSchema = z.object({
117
+ description: z.string(),
118
+ displayName: z.string(),
119
+ value: z.string().min(1)
120
+ });
121
+ //#endregion
122
+ //#region src/models/event/SlashCommand.ts
123
+ const slashCommandSchema = z.object({
124
+ argumentHint: z.string(),
125
+ description: z.string(),
126
+ name: z.string().min(1)
127
+ });
128
+ //#endregion
129
+ //#region src/models/event/CapabilitiesEvent.ts
130
+ const capabilitiesEventSchema = z.object({
131
+ ...createBaseAgentEventSchema(z.literal("Capabilities")).shape,
132
+ commands: createUniqueArraySchema(slashCommandSchema, "name"),
133
+ models: createUniqueArraySchema(modelSchema, "value")
134
+ });
135
+ //#endregion
136
+ //#region src/models/event/CommandOutputEvent.ts
137
+ const commandOutputEventSchema = z.object({
138
+ ...createBaseAgentEventSchema(z.literal("CommandOutput")).shape,
139
+ content: z.string()
140
+ });
141
+ //#endregion
142
+ //#region src/models/event/CompactionTrigger.ts
143
+ let CompactionTrigger = /* @__PURE__ */ function(CompactionTrigger) {
144
+ CompactionTrigger["Auto"] = "auto";
145
+ CompactionTrigger["Manual"] = "manual";
146
+ return CompactionTrigger;
147
+ }({});
148
+ const compactionTriggerSchema = z.enum(CompactionTrigger);
149
+ //#endregion
150
+ //#region src/models/event/CompactionEvent.ts
151
+ const compactionEventSchema = z.object({
152
+ ...createBaseAgentEventSchema(z.literal("Compaction")).shape,
153
+ postTokens: z.int().nonnegative(),
154
+ preTokens: z.int().nonnegative(),
155
+ trigger: compactionTriggerSchema
156
+ });
157
+ //#endregion
158
+ //#region src/models/event/ContextUsageEvent.ts
159
+ const contextUsageEventSchema = z.object({
160
+ ...createBaseAgentEventSchema(z.literal("ContextUsage")).shape,
161
+ autoCompactThreshold: z.int().nonnegative(),
162
+ isAutoCompactEnabled: z.boolean(),
163
+ maxTokens: z.int().positive(),
164
+ percentage: z.number().nonnegative(),
165
+ totalTokens: z.int().nonnegative()
166
+ });
167
+ //#endregion
168
+ //#region src/models/event/FileRewindEvent.ts
169
+ const fileRewindEventSchema = z.object({
170
+ ...createBaseAgentEventSchema(z.literal("FileRewind")).shape,
171
+ ...messageUuidSchema.shape,
172
+ deletions: z.int().nonnegative(),
173
+ filePaths: z.string().array(),
174
+ insertions: z.int().nonnegative()
175
+ });
176
+ //#endregion
177
+ //#region src/models/event/HookPhase.ts
178
+ let HookPhase = /* @__PURE__ */ function(HookPhase) {
179
+ HookPhase["Progress"] = "Progress";
180
+ HookPhase["Response"] = "Response";
181
+ HookPhase["Started"] = "Started";
182
+ return HookPhase;
183
+ }({});
184
+ const hookPhaseSchema = z.enum(HookPhase);
185
+ //#endregion
186
+ //#region src/models/event/HookEvent.ts
187
+ const hookEventSchema = z.object({
188
+ ...createBaseAgentEventSchema(z.literal("Hook")).shape,
189
+ exitCode: z.int(),
190
+ hookEvent: z.string().min(1),
191
+ hookId: z.string().min(1),
192
+ hookName: z.string(),
193
+ outcome: z.string(),
194
+ output: z.string(),
195
+ phase: hookPhaseSchema,
196
+ stderr: z.string(),
197
+ stdout: z.string()
198
+ });
199
+ //#endregion
200
+ //#region src/models/event/HostErrorEvent.ts
201
+ const hostErrorEventSchema = z.object({
202
+ ...createBaseAgentEventSchema(z.literal("HostError")).shape,
203
+ message: z.string().min(1)
204
+ });
205
+ //#endregion
206
+ //#region src/models/event/PermissionRequestEvent.ts
207
+ const permissionRequestEventSchema = z.object({
208
+ ...createBaseAgentEventSchema(z.literal("PermissionRequest")).shape,
209
+ blockedPath: z.string(),
210
+ decisionReason: z.string(),
211
+ hasSuggestions: z.boolean(),
212
+ input: z.record(z.string(), z.unknown()),
213
+ requestId: z.string().min(1),
214
+ title: z.string(),
215
+ toolName: z.string().min(1),
216
+ toolUseId: z.string()
217
+ });
218
+ //#endregion
219
+ //#region src/models/command/PermissionBehavior.ts
220
+ let PermissionBehavior = /* @__PURE__ */ function(PermissionBehavior) {
221
+ PermissionBehavior["Allow"] = "Allow";
222
+ PermissionBehavior["AllowAlways"] = "AllowAlways";
223
+ PermissionBehavior["Deny"] = "Deny";
224
+ return PermissionBehavior;
225
+ }({});
226
+ const permissionBehaviorSchema = z.enum(PermissionBehavior);
227
+ //#endregion
228
+ //#region src/models/event/PermissionResolutionEvent.ts
229
+ const permissionResolutionEventSchema = z.object({
230
+ ...createBaseAgentEventSchema(z.literal("PermissionResolution")).shape,
231
+ behavior: permissionBehaviorSchema,
232
+ requestId: z.string().min(1)
233
+ });
234
+ //#endregion
235
+ //#region src/models/event/RateLimitEvent.ts
236
+ const rateLimitEventSchema = z.object({
237
+ ...createBaseAgentEventSchema(z.literal("RateLimit")).shape,
238
+ rateLimitType: z.string(),
239
+ resetsAt: z.coerce.date().optional(),
240
+ status: z.string().min(1),
241
+ utilization: z.number().min(0).max(1).optional()
242
+ });
243
+ //#endregion
244
+ //#region src/models/event/McpServer.ts
245
+ const mcpServerSchema = z.object({
246
+ name: z.string(),
247
+ status: z.string()
248
+ });
249
+ //#endregion
250
+ //#region src/models/session/PermissionMode.ts
251
+ let PermissionMode = /* @__PURE__ */ function(PermissionMode) {
252
+ PermissionMode["AcceptEdits"] = "acceptEdits";
253
+ PermissionMode["Auto"] = "auto";
254
+ PermissionMode["BypassPermissions"] = "bypassPermissions";
255
+ PermissionMode["Default"] = "default";
256
+ PermissionMode["DontAsk"] = "dontAsk";
257
+ PermissionMode["Plan"] = "plan";
258
+ return PermissionMode;
259
+ }({});
260
+ const permissionModeSchema = z.enum(PermissionMode);
261
+ //#endregion
262
+ //#region src/models/event/SessionInitEvent.ts
263
+ const sessionInitEventSchema = z.object({
264
+ ...createBaseAgentEventSchema(z.literal("SessionInit")).shape,
265
+ agents: createUniqueArraySchema(z.string()),
266
+ claudeCodeVersion: z.string(),
267
+ cwd: z.string(),
268
+ mcpServers: createUniqueArraySchema(mcpServerSchema, "name"),
269
+ model: z.string(),
270
+ outputStyle: z.string(),
271
+ permissionMode: permissionModeSchema,
272
+ plugins: createUniqueArraySchema(z.string()),
273
+ skills: createUniqueArraySchema(z.string()),
274
+ slashCommands: createUniqueArraySchema(z.string()),
275
+ tools: createUniqueArraySchema(z.string())
276
+ });
277
+ //#endregion
278
+ //#region src/models/event/SessionSettingsEvent.ts
279
+ const sessionSettingsEventSchema = z.object({
280
+ ...createBaseAgentEventSchema(z.literal("SessionSettings")).shape,
281
+ model: z.string(),
282
+ permissionMode: permissionModeSchema
283
+ });
284
+ //#endregion
285
+ //#region src/models/session/SessionState.ts
286
+ let SessionState = /* @__PURE__ */ function(SessionState) {
287
+ SessionState["Closed"] = "Closed";
288
+ SessionState["Compacting"] = "Compacting";
289
+ SessionState["Idle"] = "Idle";
290
+ SessionState["RequiresAction"] = "RequiresAction";
291
+ SessionState["Running"] = "Running";
292
+ return SessionState;
293
+ }({});
294
+ const sessionStateSchema = z.enum(SessionState);
295
+ //#endregion
296
+ //#region src/models/event/SessionStateEvent.ts
297
+ const sessionStateEventSchema = z.object({
298
+ ...createBaseAgentEventSchema(z.literal("SessionState")).shape,
299
+ state: sessionStateSchema
300
+ });
301
+ //#endregion
302
+ //#region src/models/event/StreamDeltaEvent.ts
303
+ const streamDeltaEventSchema = z.object({
304
+ ...createBaseAgentEventSchema(z.literal("StreamDelta")).shape,
305
+ blockId: z.string().min(1),
306
+ isThinking: z.boolean(),
307
+ text: z.string()
308
+ });
309
+ //#endregion
310
+ //#region src/models/event/SubagentStatus.ts
311
+ let SubagentStatus = /* @__PURE__ */ function(SubagentStatus) {
312
+ SubagentStatus["Completed"] = "Completed";
313
+ SubagentStatus["Failed"] = "Failed";
314
+ SubagentStatus["Running"] = "Running";
315
+ SubagentStatus["Started"] = "Started";
316
+ SubagentStatus["Stopped"] = "Stopped";
317
+ return SubagentStatus;
318
+ }({});
319
+ const subagentStatusSchema = z.enum(SubagentStatus);
320
+ //#endregion
321
+ //#region src/models/event/SubagentEvent.ts
322
+ const subagentEventSchema = z.object({
323
+ ...createBaseAgentEventSchema(z.literal("Subagent")).shape,
324
+ description: z.string(),
325
+ durationMs: z.number().nonnegative(),
326
+ lastToolName: z.string(),
327
+ status: subagentStatusSchema,
328
+ subagentType: z.string(),
329
+ summary: z.string(),
330
+ taskId: z.string().min(1),
331
+ toolUseId: z.string(),
332
+ toolUses: z.int().nonnegative(),
333
+ totalTokens: z.int().nonnegative()
334
+ });
335
+ //#endregion
336
+ //#region src/models/event/ThinkingEvent.ts
337
+ const thinkingEventSchema = z.object({
338
+ ...createBaseAgentEventSchema(z.literal("Thinking")).shape,
339
+ ...messageUuidSchema.shape,
340
+ ...parentToolUseIdSchema.shape,
341
+ thinking: z.string()
342
+ });
343
+ //#endregion
344
+ //#region src/models/event/TodoStatus.ts
345
+ let TodoStatus = /* @__PURE__ */ function(TodoStatus) {
346
+ TodoStatus["Completed"] = "completed";
347
+ TodoStatus["InProgress"] = "in_progress";
348
+ TodoStatus["Pending"] = "pending";
349
+ return TodoStatus;
350
+ }({});
351
+ const todoStatusSchema = z.enum(TodoStatus);
352
+ //#endregion
353
+ //#region src/models/event/Todo.ts
354
+ const todoSchema = z.object({
355
+ activeForm: z.string(),
356
+ content: z.string(),
357
+ id: z.string().min(1),
358
+ status: todoStatusSchema
359
+ });
360
+ //#endregion
361
+ //#region src/models/event/TodoUpdateEvent.ts
362
+ const todoUpdateEventSchema = z.object({
363
+ ...createBaseAgentEventSchema(z.literal("TodoUpdate")).shape,
364
+ todos: createUniqueArraySchema(todoSchema, "id")
365
+ });
366
+ //#endregion
367
+ //#region src/models/event/ToolProgressEvent.ts
368
+ const toolProgressEventSchema = z.object({
369
+ ...createBaseAgentEventSchema(z.literal("ToolProgress")).shape,
370
+ ...parentToolUseIdSchema.shape,
371
+ elapsedSeconds: z.number().nonnegative(),
372
+ toolUseId: z.string().min(1)
373
+ });
374
+ //#endregion
375
+ //#region src/models/event/ToolResultEvent.ts
376
+ const toolResultEventSchema = z.object({
377
+ ...createBaseAgentEventSchema(z.literal("ToolResult")).shape,
378
+ ...parentToolUseIdSchema.shape,
379
+ content: z.string(),
380
+ isError: z.boolean(),
381
+ originalText: z.string().optional(),
382
+ toolUseId: z.string().min(1)
383
+ });
384
+ //#endregion
385
+ //#region src/models/event/ToolUseEvent.ts
386
+ const toolUseEventSchema = z.object({
387
+ ...createBaseAgentEventSchema(z.literal("ToolUse")).shape,
388
+ ...messageUuidSchema.shape,
389
+ ...parentToolUseIdSchema.shape,
390
+ input: z.record(z.string(), z.unknown()),
391
+ name: z.string().min(1),
392
+ toolUseId: z.string().min(1)
393
+ });
394
+ //#endregion
395
+ //#region src/models/event/TokenUsage.ts
396
+ const tokenUsageSchema = z.object({
397
+ cacheCreationInputTokens: z.int().nonnegative(),
398
+ cacheReadInputTokens: z.int().nonnegative(),
399
+ inputTokens: z.int().nonnegative(),
400
+ outputTokens: z.int().nonnegative()
401
+ });
402
+ //#endregion
403
+ //#region src/models/event/TurnResultEvent.ts
404
+ const turnResultEventSchema = z.object({
405
+ ...createBaseAgentEventSchema(z.literal("TurnResult")).shape,
406
+ durationApiMs: z.number().nonnegative(),
407
+ durationMs: z.number().nonnegative(),
408
+ errors: z.string().array(),
409
+ isError: z.boolean(),
410
+ numTurns: z.int().nonnegative(),
411
+ result: z.string(),
412
+ subtype: z.string().min(1),
413
+ totalCostUsd: z.number().nonnegative(),
414
+ usage: tokenUsageSchema
415
+ });
416
+ //#endregion
417
+ //#region src/models/event/TurnUsageEvent.ts
418
+ const turnUsageEventSchema = z.object({
419
+ ...createBaseAgentEventSchema(z.literal("TurnUsage")).shape,
420
+ outputTokens: z.int().nonnegative()
421
+ });
422
+ //#endregion
423
+ //#region src/models/event/UnknownEvent.ts
424
+ const unknownEventSchema = z.object({
425
+ ...createBaseAgentEventSchema(z.literal("Unknown")).shape,
426
+ raw: z.string(),
427
+ sdkType: z.string()
428
+ });
429
+ //#endregion
430
+ //#region src/models/event/UserMessageEvent.ts
431
+ const userMessageEventSchema = z.object({
432
+ ...createBaseAgentEventSchema(z.literal("UserMessage")).shape,
433
+ ...messageUuidSchema.shape,
434
+ ...parentToolUseIdSchema.shape,
435
+ attachmentCount: z.int().nonnegative(),
436
+ text: z.string()
437
+ });
438
+ //#endregion
439
+ //#region src/models/event/AgentEvent.ts
440
+ const agentEventSchema = z.discriminatedUnion("type", [
441
+ assistantMessageEventSchema,
442
+ capabilitiesEventSchema,
443
+ commandOutputEventSchema,
444
+ compactionEventSchema,
445
+ contextUsageEventSchema,
446
+ fileRewindEventSchema,
447
+ hookEventSchema,
448
+ hostErrorEventSchema,
449
+ permissionRequestEventSchema,
450
+ permissionResolutionEventSchema,
451
+ rateLimitEventSchema,
452
+ sessionInitEventSchema,
453
+ sessionSettingsEventSchema,
454
+ sessionStateEventSchema,
455
+ streamDeltaEventSchema,
456
+ subagentEventSchema,
457
+ thinkingEventSchema,
458
+ todoUpdateEventSchema,
459
+ toolProgressEventSchema,
460
+ toolResultEventSchema,
461
+ toolUseEventSchema,
462
+ turnResultEventSchema,
463
+ turnUsageEventSchema,
464
+ unknownEventSchema,
465
+ userMessageEventSchema
466
+ ]);
467
+ //#endregion
468
+ //#region src/models/server/EventsMessage.ts
469
+ const eventsMessageSchema = z.object({
470
+ ...createBaseServerMessageSchema(z.literal("Events")).shape,
471
+ events: createUniqueArraySchema(agentEventSchema, "id"),
472
+ sessionId: z.string().min(1)
473
+ });
474
+ //#endregion
475
+ //#region src/models/server/HostStoppingMessage.ts
476
+ const hostStoppingMessageSchema = z.object({ ...createBaseServerMessageSchema(z.literal("HostStopping")).shape });
477
+ //#endregion
478
+ //#region src/models/server/PairedMessage.ts
479
+ const pairedMessageSchema = z.object({
480
+ ...createBaseServerMessageSchema(z.literal("Paired")).shape,
481
+ credential: z.string().min(1),
482
+ deviceId: z.string().min(1),
483
+ publicKey: z.string().min(1)
484
+ });
485
+ //#endregion
486
+ //#region src/models/server/ProofMessage.ts
487
+ const proofMessageSchema = z.object({
488
+ ...createBaseServerMessageSchema(z.literal("Proof")).shape,
489
+ nonce: z.string().min(1),
490
+ port: z.int(),
491
+ signature: z.string().min(1)
492
+ });
493
+ //#endregion
494
+ //#region src/models/server/SessionOpenedMessage.ts
495
+ const sessionOpenedMessageSchema = z.object({
496
+ ...createBaseServerMessageSchema(z.literal("SessionOpened")).shape,
497
+ commandId: z.string().min(1),
498
+ sessionId: z.string().min(1)
499
+ });
500
+ //#endregion
501
+ //#region src/models/server/SessionResetMessage.ts
502
+ const sessionResetMessageSchema = z.object({
503
+ ...createBaseServerMessageSchema(z.literal("SessionReset")).shape,
504
+ sessionId: z.string().min(1)
505
+ });
506
+ //#endregion
507
+ //#region src/models/session/SessionSummary.ts
508
+ const sessionSummarySchema = z.object({
509
+ cwd: z.string(),
510
+ id: z.string().min(1),
511
+ lastActivityAt: z.coerce.date(),
512
+ state: sessionStateSchema,
513
+ title: z.string()
514
+ });
515
+ //#endregion
516
+ //#region src/models/server/SessionsMessage.ts
517
+ const sessionsMessageSchema = z.object({
518
+ ...createBaseServerMessageSchema(z.literal("Sessions")).shape,
519
+ sessions: createUniqueArraySchema(sessionSummarySchema, "id")
520
+ });
521
+ //#endregion
522
+ //#region src/models/command/ShellId.ts
523
+ const shellIdSchema = z.object({ shellId: z.string().min(1) });
524
+ //#endregion
525
+ //#region src/models/server/ShellClosedMessage.ts
526
+ const shellClosedMessageSchema = z.object({
527
+ ...createBaseServerMessageSchema(z.literal("ShellClosed")).shape,
528
+ ...shellIdSchema.shape
529
+ });
530
+ //#endregion
531
+ //#region src/models/server/ShellOpenedMessage.ts
532
+ const shellOpenedMessageSchema = z.object({
533
+ ...createBaseServerMessageSchema(z.literal("ShellOpened")).shape,
534
+ commandId: z.string(),
535
+ sessionId: z.string().min(1),
536
+ shellId: z.string().min(1)
537
+ });
538
+ //#endregion
539
+ //#region src/models/server/ShellOutputMessage.ts
540
+ const shellOutputMessageSchema = z.object({
541
+ ...createBaseServerMessageSchema(z.literal("ShellOutput")).shape,
542
+ data: z.string(),
543
+ shellId: z.string().min(1)
544
+ });
545
+ //#endregion
546
+ //#region src/models/server/ServerMessage.ts
547
+ const serverMessageSchema = z.discriminatedUnion("type", [
548
+ authenticatedMessageSchema,
549
+ commandErrorMessageSchema,
550
+ eventsMessageSchema,
551
+ hostStoppingMessageSchema,
552
+ pairedMessageSchema,
553
+ proofMessageSchema,
554
+ sessionOpenedMessageSchema,
555
+ sessionResetMessageSchema,
556
+ sessionsMessageSchema,
557
+ shellClosedMessageSchema,
558
+ shellOpenedMessageSchema,
559
+ shellOutputMessageSchema
560
+ ]);
561
+ //#endregion
562
+ //#region src/services/handshake/getSignedText.ts
563
+ const getSignedText = (purpose, port, nonce) => `${purpose}:${port}:${nonce}`;
564
+ //#endregion
565
+ //#region src/models/command/AttachmentMediaType.ts
566
+ let AttachmentMediaType = /* @__PURE__ */ function(AttachmentMediaType) {
567
+ AttachmentMediaType["Gif"] = "image/gif";
568
+ AttachmentMediaType["Jpeg"] = "image/jpeg";
569
+ AttachmentMediaType["Pdf"] = "application/pdf";
570
+ AttachmentMediaType["Png"] = "image/png";
571
+ AttachmentMediaType["Text"] = "text/plain";
572
+ AttachmentMediaType["Webp"] = "image/webp";
573
+ return AttachmentMediaType;
574
+ }({});
575
+ const attachmentMediaTypeSchema = z.enum(AttachmentMediaType);
576
+ //#endregion
577
+ //#region src/models/command/CommandType.ts
578
+ let CommandType = /* @__PURE__ */ function(CommandType) {
579
+ CommandType["BackgroundTasks"] = "BackgroundTasks";
580
+ CommandType["CloseSession"] = "CloseSession";
581
+ CommandType["CloseShell"] = "CloseShell";
582
+ CommandType["CreateSession"] = "CreateSession";
583
+ CommandType["Fork"] = "Fork";
584
+ CommandType["Interrupt"] = "Interrupt";
585
+ CommandType["ListSessions"] = "ListSessions";
586
+ CommandType["OpenShell"] = "OpenShell";
587
+ CommandType["PermissionVerdict"] = "PermissionVerdict";
588
+ CommandType["Prompt"] = "Prompt";
589
+ CommandType["Resume"] = "Resume";
590
+ CommandType["ResumeAt"] = "ResumeAt";
591
+ CommandType["RewindFiles"] = "RewindFiles";
592
+ CommandType["SetModel"] = "SetModel";
593
+ CommandType["SetPermissionMode"] = "SetPermissionMode";
594
+ CommandType["ShellInput"] = "ShellInput";
595
+ CommandType["ShellResize"] = "ShellResize";
596
+ CommandType["SlashCommand"] = "SlashCommand";
597
+ CommandType["StopTask"] = "StopTask";
598
+ return CommandType;
599
+ }({});
600
+ const commandTypeSchema = z.enum(CommandType);
601
+ //#endregion
602
+ //#region src/models/command/BaseCommand.ts
603
+ const createBaseCommandSchema = (typeSchema) => z.object({
604
+ id: z.string().min(1),
605
+ type: typeSchema
606
+ });
607
+ //#endregion
608
+ //#region src/models/command/SessionId.ts
609
+ const sessionIdSchema = z.object({ sessionId: z.string().min(1) });
610
+ //#endregion
611
+ //#region src/models/command/BackgroundTasksCommand.ts
612
+ const backgroundTasksCommandSchema = z.object({
613
+ ...createBaseCommandSchema(z.literal("BackgroundTasks")).shape,
614
+ ...sessionIdSchema.shape
615
+ });
616
+ //#endregion
617
+ //#region src/models/command/CloseSessionCommand.ts
618
+ const closeSessionCommandSchema = z.object({
619
+ ...createBaseCommandSchema(z.literal("CloseSession")).shape,
620
+ ...sessionIdSchema.shape
621
+ });
622
+ //#endregion
623
+ //#region src/models/command/CreateSessionCommand.ts
624
+ const createSessionCommandSchema = z.object({
625
+ ...createBaseCommandSchema(z.literal("CreateSession")).shape,
626
+ cwd: z.string().min(1)
627
+ });
628
+ //#endregion
629
+ //#region src/models/command/ForkCommand.ts
630
+ const forkCommandSchema = z.object({
631
+ ...createBaseCommandSchema(z.literal("Fork")).shape,
632
+ ...sessionIdSchema.shape,
633
+ messageUuid: z.string()
634
+ });
635
+ //#endregion
636
+ //#region src/models/command/InterruptCommand.ts
637
+ const interruptCommandSchema = z.object({
638
+ ...createBaseCommandSchema(z.literal("Interrupt")).shape,
639
+ ...sessionIdSchema.shape
640
+ });
641
+ //#endregion
642
+ //#region src/models/command/ListSessionsCommand.ts
643
+ const listSessionsCommandSchema = z.object({ ...createBaseCommandSchema(z.literal("ListSessions")).shape });
644
+ //#endregion
645
+ //#region src/models/command/PermissionVerdictCommand.ts
646
+ const permissionVerdictCommandSchema = z.object({
647
+ ...createBaseCommandSchema(z.literal("PermissionVerdict")).shape,
648
+ ...sessionIdSchema.shape,
649
+ behavior: permissionBehaviorSchema,
650
+ message: z.string(),
651
+ requestId: z.string().min(1)
652
+ });
653
+ //#endregion
654
+ //#region src/models/command/Attachment.ts
655
+ const attachmentSchema = z.object({
656
+ data: z.string(),
657
+ mediaType: attachmentMediaTypeSchema,
658
+ name: z.string()
659
+ });
660
+ //#endregion
661
+ //#region src/models/command/PromptCommand.ts
662
+ const promptCommandSchema = z.object({
663
+ ...createBaseCommandSchema(z.literal("Prompt")).shape,
664
+ ...sessionIdSchema.shape,
665
+ attachments: attachmentSchema.array(),
666
+ text: z.string()
667
+ });
668
+ //#endregion
669
+ //#region src/models/command/ResumeAtCommand.ts
670
+ const resumeAtCommandSchema = z.object({
671
+ ...createBaseCommandSchema(z.literal("ResumeAt")).shape,
672
+ ...sessionIdSchema.shape,
673
+ messageUuid: z.string().min(1)
674
+ });
675
+ //#endregion
676
+ //#region src/models/command/ResumeCommand.ts
677
+ const resumeCommandSchema = z.object({
678
+ ...createBaseCommandSchema(z.literal("Resume")).shape,
679
+ ...sessionIdSchema.shape
680
+ });
681
+ //#endregion
682
+ //#region src/models/command/RewindFilesCommand.ts
683
+ const rewindFilesCommandSchema = z.object({
684
+ ...createBaseCommandSchema(z.literal("RewindFiles")).shape,
685
+ ...sessionIdSchema.shape,
686
+ messageUuid: z.string().min(1)
687
+ });
688
+ //#endregion
689
+ //#region src/models/command/SetModelCommand.ts
690
+ const setModelCommandSchema = z.object({
691
+ ...createBaseCommandSchema(z.literal("SetModel")).shape,
692
+ ...sessionIdSchema.shape,
693
+ model: z.string().min(1)
694
+ });
695
+ //#endregion
696
+ //#region src/models/command/SetPermissionModeCommand.ts
697
+ const setPermissionModeCommandSchema = z.object({
698
+ ...createBaseCommandSchema(z.literal("SetPermissionMode")).shape,
699
+ ...sessionIdSchema.shape,
700
+ permissionMode: permissionModeSchema
701
+ });
702
+ //#endregion
703
+ //#region src/models/command/SlashCommandCommand.ts
704
+ const slashCommandCommandSchema = z.object({
705
+ ...createBaseCommandSchema(z.literal("SlashCommand")).shape,
706
+ ...sessionIdSchema.shape,
707
+ arguments: z.string(),
708
+ name: z.string().min(1)
709
+ });
710
+ //#endregion
711
+ //#region src/models/command/StopTaskCommand.ts
712
+ const stopTaskCommandSchema = z.object({
713
+ ...createBaseCommandSchema(z.literal("StopTask")).shape,
714
+ ...sessionIdSchema.shape,
715
+ taskId: z.string().min(1)
716
+ });
717
+ //#endregion
718
+ //#region src/models/command/DriverCommand.ts
719
+ const driverCommandSchema = z.discriminatedUnion("type", [
720
+ backgroundTasksCommandSchema,
721
+ closeSessionCommandSchema,
722
+ createSessionCommandSchema,
723
+ forkCommandSchema,
724
+ interruptCommandSchema,
725
+ listSessionsCommandSchema,
726
+ permissionVerdictCommandSchema,
727
+ promptCommandSchema,
728
+ resumeAtCommandSchema,
729
+ resumeCommandSchema,
730
+ rewindFilesCommandSchema,
731
+ setModelCommandSchema,
732
+ setPermissionModeCommandSchema,
733
+ slashCommandCommandSchema,
734
+ stopTaskCommandSchema
735
+ ]);
736
+ //#endregion
737
+ //#region src/models/command/CloseShellCommand.ts
738
+ const closeShellCommandSchema = z.object({
739
+ ...createBaseCommandSchema(z.literal("CloseShell")).shape,
740
+ ...shellIdSchema.shape
741
+ });
742
+ //#endregion
743
+ //#region src/models/command/TerminalSize.ts
744
+ const terminalSizeSchema = z.object({
745
+ cols: z.int().positive(),
746
+ rows: z.int().positive()
747
+ });
748
+ //#endregion
749
+ //#region src/models/command/OpenShellCommand.ts
750
+ const openShellCommandSchema = z.object({
751
+ ...createBaseCommandSchema(z.literal("OpenShell")).shape,
752
+ ...sessionIdSchema.shape,
753
+ ...terminalSizeSchema.shape,
754
+ cwd: z.string().min(1)
755
+ });
756
+ //#endregion
757
+ //#region src/models/command/ShellInputCommand.ts
758
+ const shellInputCommandSchema = z.object({
759
+ ...createBaseCommandSchema(z.literal("ShellInput")).shape,
760
+ ...shellIdSchema.shape,
761
+ data: z.string().min(1)
762
+ });
763
+ //#endregion
764
+ //#region src/models/command/ShellResizeCommand.ts
765
+ const shellResizeCommandSchema = z.object({
766
+ ...createBaseCommandSchema(z.literal("ShellResize")).shape,
767
+ ...shellIdSchema.shape,
768
+ ...terminalSizeSchema.shape
769
+ });
770
+ //#endregion
771
+ //#region src/models/command/ShellCommand.ts
772
+ const shellCommandSchema = z.discriminatedUnion("type", [
773
+ closeShellCommandSchema,
774
+ openShellCommandSchema,
775
+ shellInputCommandSchema,
776
+ shellResizeCommandSchema
777
+ ]);
778
+ //#endregion
779
+ //#region src/models/command/Command.ts
780
+ const commandSchema = z.discriminatedUnion("type", [...driverCommandSchema.options, ...shellCommandSchema.options]);
781
+ //#endregion
782
+ //#region src/models/handshake/BaseHandshakeMessage.ts
783
+ const createBaseHandshakeMessageSchema = (typeSchema) => z.object({ type: typeSchema });
784
+ //#endregion
785
+ //#region src/models/handshake/AuthenticateMessage.ts
786
+ const authenticateMessageSchema = z.object({
787
+ ...createBaseHandshakeMessageSchema(z.literal("Authenticate")).shape,
788
+ credential: z.string().min(1)
789
+ });
790
+ //#endregion
791
+ //#region src/models/handshake/ChallengeMessage.ts
792
+ const challengeMessageSchema = z.object({
793
+ ...createBaseHandshakeMessageSchema(z.literal("Challenge")).shape,
794
+ nonce: z.string().min(1)
795
+ });
796
+ //#endregion
797
+ //#region src/models/handshake/HandOffMessage.ts
798
+ const handOffMessageSchema = z.object({
799
+ ...createBaseHandshakeMessageSchema(z.literal("HandOff")).shape,
800
+ code: z.string().min(1),
801
+ signature: z.string().min(1)
802
+ });
803
+ //#endregion
804
+ //#region src/models/handshake/PairMessage.ts
805
+ const pairMessageSchema = z.object({
806
+ ...createBaseHandshakeMessageSchema(z.literal("Pair")).shape,
807
+ code: z.string().min(1)
808
+ });
809
+ //#endregion
810
+ //#region src/models/handshake/RevokeMessage.ts
811
+ const revokeMessageSchema = z.object({
812
+ ...createBaseHandshakeMessageSchema(z.literal("Revoke")).shape,
813
+ deviceId: z.string().min(1),
814
+ signature: z.string().min(1)
815
+ });
816
+ //#endregion
817
+ //#region src/models/handshake/HandshakeMessage.ts
818
+ const handshakeMessageSchema = z.discriminatedUnion("type", [
819
+ authenticateMessageSchema,
820
+ challengeMessageSchema,
821
+ handOffMessageSchema,
822
+ pairMessageSchema,
823
+ revokeMessageSchema
824
+ ]);
825
+ //#endregion
826
+ //#region src/models/server/HostCloseCode.ts
827
+ let HostCloseCode = /* @__PURE__ */ function(HostCloseCode) {
828
+ HostCloseCode[HostCloseCode["HandshakeRefused"] = 4400] = "HandshakeRefused";
829
+ HostCloseCode[HostCloseCode["CredentialRefused"] = 4401] = "CredentialRefused";
830
+ HostCloseCode[HostCloseCode["PairingRefused"] = 4403] = "PairingRefused";
831
+ HostCloseCode[HostCloseCode["SignatureRefused"] = 4404] = "SignatureRefused";
832
+ return HostCloseCode;
833
+ }({});
834
+ //#endregion
835
+ //#region src/models/event/EphemeralAgentEventTypes.ts
836
+ const EphemeralAgentEventTypes = ["StreamDelta", "TurnUsage"];
837
+ //#endregion
838
+ export { eventsMessageSchema as $, serverMessageTypeSchema as $t, forkCommandSchema as A, permissionRequestEventSchema as At, getSignedText as B, commandOutputEventSchema as Bt, resumeCommandSchema as C, PermissionMode as Ct, permissionVerdictCommandSchema as D, permissionResolutionEventSchema as Dt, attachmentSchema as E, rateLimitEventSchema as Et, createBaseCommandSchema as F, fileRewindEventSchema as Ft, shellIdSchema as G, parentToolUseIdSchema as Gt, shellOutputMessageSchema as H, slashCommandSchema as Ht, CommandType as I, contextUsageEventSchema as It, sessionResetMessageSchema as J, AgentEventType as Jt, sessionsMessageSchema as K, messageUuidSchema as Kt, commandTypeSchema as L, compactionEventSchema as Lt, closeSessionCommandSchema as M, hookEventSchema as Mt, backgroundTasksCommandSchema as N, HookPhase as Nt, listSessionsCommandSchema as O, PermissionBehavior as Ot, sessionIdSchema as P, hookPhaseSchema as Pt, hostStoppingMessageSchema as Q, ServerMessageType as Qt, AttachmentMediaType as R, CompactionTrigger as Rt, rewindFilesCommandSchema as S, sessionInitEventSchema as St, promptCommandSchema as T, mcpServerSchema as Tt, shellOpenedMessageSchema as U, modelSchema as Ut, serverMessageSchema as V, capabilitiesEventSchema as Vt, shellClosedMessageSchema as W, assistantMessageEventSchema as Wt, proofMessageSchema as X, commandErrorMessageSchema as Xt, sessionOpenedMessageSchema as Y, agentEventTypeSchema as Yt, pairedMessageSchema as Z, authenticatedMessageSchema as Zt, driverCommandSchema as _, streamDeltaEventSchema as _t, pairMessageSchema as a, DEFAULT_PORT as an, tokenUsageSchema as at, setPermissionModeCommandSchema as b, sessionStateSchema as bt, authenticateMessageSchema as c, PAIRING_HASH_PARAMETER as cn, toolProgressEventSchema as ct, shellCommandSchema as d, HandshakeMessageType as dn, TodoStatus as dt, createBaseServerMessageSchema as en, agentEventSchema as et, shellResizeCommandSchema as f, handshakeMessageTypeSchema as fn, todoStatusSchema as ft, closeShellCommandSchema as g, subagentStatusSchema as gt, terminalSizeSchema as h, SubagentStatus as ht, revokeMessageSchema as i, DEFAULT_HOSTNAME as in, turnResultEventSchema as it, createSessionCommandSchema as j, hostErrorEventSchema as jt, interruptCommandSchema as k, permissionBehaviorSchema as kt, createBaseHandshakeMessageSchema as l, SCHEME_PAIRING_CODE_DURATION as ln, todoUpdateEventSchema as lt, openShellCommandSchema as m, subagentEventSchema as mt, HostCloseCode as n, signaturePurposeSchema as nn, unknownEventSchema as nt, handOffMessageSchema as o, HOST_SCHEME as on, toolUseEventSchema as ot, shellInputCommandSchema as p, thinkingEventSchema as pt, sessionSummarySchema as q, createBaseAgentEventSchema as qt, handshakeMessageSchema as r, DEFAULT_APP_ORIGIN as rn, turnUsageEventSchema as rt, challengeMessageSchema as s, PAIRING_CODE_PARAMETER as sn, toolResultEventSchema as st, EphemeralAgentEventTypes as t, SignaturePurpose as tn, userMessageEventSchema as tt, commandSchema as u, SHELL_OUTPUT_LENGTH as un, todoSchema as ut, stopTaskCommandSchema as v, sessionStateEventSchema as vt, resumeAtCommandSchema as w, permissionModeSchema as wt, setModelCommandSchema as x, sessionSettingsEventSchema as xt, slashCommandCommandSchema as y, SessionState as yt, attachmentMediaTypeSchema as z, compactionTriggerSchema as zt };