@kmmao/happy-wire 0.4.0 → 0.4.2

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/index.cjs CHANGED
@@ -114,7 +114,9 @@ const sessionTaskStartEventSchema = z__namespace.object({
114
114
  taskId: z__namespace.string(),
115
115
  toolUseId: z__namespace.string().optional(),
116
116
  description: z__namespace.string(),
117
- taskType: z__namespace.string().optional()
117
+ taskType: z__namespace.string().optional(),
118
+ /** meta.name from the workflow script (e.g. 'spec'). Only set when taskType is 'local_workflow'. */
119
+ workflowName: z__namespace.string().optional()
118
120
  });
119
121
  const sessionTaskProgressEventSchema = z__namespace.object({
120
122
  t: z__namespace.literal("task-progress"),
@@ -154,6 +156,11 @@ const sessionPromptSuggestionEventSchema = z__namespace.object({
154
156
  const sessionNeedsContinueEventSchema = z__namespace.object({
155
157
  t: z__namespace.literal("needs-continue")
156
158
  });
159
+ const sessionStateChangedEventSchema = z__namespace.object({
160
+ t: z__namespace.literal("session-state-changed"),
161
+ /** Authoritative session lifecycle state from the SDK */
162
+ state: z__namespace.enum(["idle", "running", "requires_action"])
163
+ });
157
164
  const sessionEventSchema = z__namespace.discriminatedUnion("t", [
158
165
  sessionTextEventSchema,
159
166
  sessionServiceMessageEventSchema,
@@ -170,7 +177,8 @@ const sessionEventSchema = z__namespace.discriminatedUnion("t", [
170
177
  sessionTaskEndEventSchema,
171
178
  sessionToolProgressEventSchema,
172
179
  sessionPromptSuggestionEventSchema,
173
- sessionNeedsContinueEventSchema
180
+ sessionNeedsContinueEventSchema,
181
+ sessionStateChangedEventSchema
174
182
  ]);
175
183
  const sessionEnvelopeSchema = z__namespace.object({
176
184
  id: z__namespace.string(),
@@ -189,7 +197,7 @@ const sessionEnvelopeSchema = z__namespace.object({
189
197
  path: ["role"]
190
198
  });
191
199
  }
192
- if ((envelope.ev.t === "start" || envelope.ev.t === "stop" || envelope.ev.t === "usage-update" || envelope.ev.t === "task-start" || envelope.ev.t === "task-progress" || envelope.ev.t === "task-end" || envelope.ev.t === "tool-progress" || envelope.ev.t === "prompt-suggestion" || envelope.ev.t === "needs-continue") && envelope.role !== "agent") {
200
+ if ((envelope.ev.t === "start" || envelope.ev.t === "stop" || envelope.ev.t === "usage-update" || envelope.ev.t === "task-start" || envelope.ev.t === "task-progress" || envelope.ev.t === "task-end" || envelope.ev.t === "tool-progress" || envelope.ev.t === "prompt-suggestion" || envelope.ev.t === "needs-continue" || envelope.ev.t === "session-state-changed") && envelope.role !== "agent") {
193
201
  ctx.addIssue({
194
202
  code: z__namespace.ZodIssueCode.custom,
195
203
  message: `${envelope.ev.t} events must use role "agent"`,
@@ -426,6 +434,7 @@ exports.sessionPromptSuggestionEventSchema = sessionPromptSuggestionEventSchema;
426
434
  exports.sessionRoleSchema = sessionRoleSchema;
427
435
  exports.sessionServiceMessageEventSchema = sessionServiceMessageEventSchema;
428
436
  exports.sessionStartEventSchema = sessionStartEventSchema;
437
+ exports.sessionStateChangedEventSchema = sessionStateChangedEventSchema;
429
438
  exports.sessionStopEventSchema = sessionStopEventSchema;
430
439
  exports.sessionTaskEndEventSchema = sessionTaskEndEventSchema;
431
440
  exports.sessionTaskProgressEventSchema = sessionTaskProgressEventSchema;
package/dist/index.d.cts CHANGED
@@ -128,6 +128,7 @@ declare const SessionProtocolMessageSchema: z.ZodObject<{
128
128
  toolUseId: z.ZodOptional<z.ZodString>;
129
129
  description: z.ZodString;
130
130
  taskType: z.ZodOptional<z.ZodString>;
131
+ workflowName: z.ZodOptional<z.ZodString>;
131
132
  }, z.core.$strip>, z.ZodObject<{
132
133
  t: z.ZodLiteral<"task-progress">;
133
134
  taskId: z.ZodString;
@@ -164,6 +165,13 @@ declare const SessionProtocolMessageSchema: z.ZodObject<{
164
165
  suggestion: z.ZodString;
165
166
  }, z.core.$strip>, z.ZodObject<{
166
167
  t: z.ZodLiteral<"needs-continue">;
168
+ }, z.core.$strip>, z.ZodObject<{
169
+ t: z.ZodLiteral<"session-state-changed">;
170
+ state: z.ZodEnum<{
171
+ idle: "idle";
172
+ running: "running";
173
+ requires_action: "requires_action";
174
+ }>;
167
175
  }, z.core.$strip>], "t">;
168
176
  }, z.core.$strip>;
169
177
  meta: z.ZodOptional<z.ZodObject<{
@@ -326,6 +334,7 @@ declare const MessageContentSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
326
334
  toolUseId: z.ZodOptional<z.ZodString>;
327
335
  description: z.ZodString;
328
336
  taskType: z.ZodOptional<z.ZodString>;
337
+ workflowName: z.ZodOptional<z.ZodString>;
329
338
  }, z.core.$strip>, z.ZodObject<{
330
339
  t: z.ZodLiteral<"task-progress">;
331
340
  taskId: z.ZodString;
@@ -362,6 +371,13 @@ declare const MessageContentSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
362
371
  suggestion: z.ZodString;
363
372
  }, z.core.$strip>, z.ZodObject<{
364
373
  t: z.ZodLiteral<"needs-continue">;
374
+ }, z.core.$strip>, z.ZodObject<{
375
+ t: z.ZodLiteral<"session-state-changed">;
376
+ state: z.ZodEnum<{
377
+ idle: "idle";
378
+ running: "running";
379
+ requires_action: "requires_action";
380
+ }>;
365
381
  }, z.core.$strip>], "t">;
366
382
  }, z.core.$strip>;
367
383
  meta: z.ZodOptional<z.ZodObject<{
@@ -883,6 +899,7 @@ declare const sessionTaskStartEventSchema: z.ZodObject<{
883
899
  toolUseId: z.ZodOptional<z.ZodString>;
884
900
  description: z.ZodString;
885
901
  taskType: z.ZodOptional<z.ZodString>;
902
+ workflowName: z.ZodOptional<z.ZodString>;
886
903
  }, z.core.$strip>;
887
904
  declare const sessionTaskProgressEventSchema: z.ZodObject<{
888
905
  t: z.ZodLiteral<"task-progress">;
@@ -925,6 +942,14 @@ declare const sessionPromptSuggestionEventSchema: z.ZodObject<{
925
942
  declare const sessionNeedsContinueEventSchema: z.ZodObject<{
926
943
  t: z.ZodLiteral<"needs-continue">;
927
944
  }, z.core.$strip>;
945
+ declare const sessionStateChangedEventSchema: z.ZodObject<{
946
+ t: z.ZodLiteral<"session-state-changed">;
947
+ state: z.ZodEnum<{
948
+ idle: "idle";
949
+ running: "running";
950
+ requires_action: "requires_action";
951
+ }>;
952
+ }, z.core.$strip>;
928
953
  declare const sessionEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
929
954
  t: z.ZodLiteral<"text">;
930
955
  text: z.ZodString;
@@ -1003,6 +1028,7 @@ declare const sessionEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1003
1028
  toolUseId: z.ZodOptional<z.ZodString>;
1004
1029
  description: z.ZodString;
1005
1030
  taskType: z.ZodOptional<z.ZodString>;
1031
+ workflowName: z.ZodOptional<z.ZodString>;
1006
1032
  }, z.core.$strip>, z.ZodObject<{
1007
1033
  t: z.ZodLiteral<"task-progress">;
1008
1034
  taskId: z.ZodString;
@@ -1039,6 +1065,13 @@ declare const sessionEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1039
1065
  suggestion: z.ZodString;
1040
1066
  }, z.core.$strip>, z.ZodObject<{
1041
1067
  t: z.ZodLiteral<"needs-continue">;
1068
+ }, z.core.$strip>, z.ZodObject<{
1069
+ t: z.ZodLiteral<"session-state-changed">;
1070
+ state: z.ZodEnum<{
1071
+ idle: "idle";
1072
+ running: "running";
1073
+ requires_action: "requires_action";
1074
+ }>;
1042
1075
  }, z.core.$strip>], "t">;
1043
1076
  type SessionEvent = z.infer<typeof sessionEventSchema>;
1044
1077
  declare const sessionEnvelopeSchema: z.ZodObject<{
@@ -1128,6 +1161,7 @@ declare const sessionEnvelopeSchema: z.ZodObject<{
1128
1161
  toolUseId: z.ZodOptional<z.ZodString>;
1129
1162
  description: z.ZodString;
1130
1163
  taskType: z.ZodOptional<z.ZodString>;
1164
+ workflowName: z.ZodOptional<z.ZodString>;
1131
1165
  }, z.core.$strip>, z.ZodObject<{
1132
1166
  t: z.ZodLiteral<"task-progress">;
1133
1167
  taskId: z.ZodString;
@@ -1164,6 +1198,13 @@ declare const sessionEnvelopeSchema: z.ZodObject<{
1164
1198
  suggestion: z.ZodString;
1165
1199
  }, z.core.$strip>, z.ZodObject<{
1166
1200
  t: z.ZodLiteral<"needs-continue">;
1201
+ }, z.core.$strip>, z.ZodObject<{
1202
+ t: z.ZodLiteral<"session-state-changed">;
1203
+ state: z.ZodEnum<{
1204
+ idle: "idle";
1205
+ running: "running";
1206
+ requires_action: "requires_action";
1207
+ }>;
1167
1208
  }, z.core.$strip>], "t">;
1168
1209
  }, z.core.$strip>;
1169
1210
  type SessionEnvelope = z.infer<typeof sessionEnvelopeSchema>;
@@ -1360,5 +1401,5 @@ declare const DaemonStateSchema: z.ZodObject<{
1360
1401
  }, z.core.$strip>;
1361
1402
  type DaemonState = z.infer<typeof DaemonStateSchema>;
1362
1403
 
1363
- export { AgentMessageSchema, ApiMessageSchema, ApiUpdateMachineStateSchema, ApiUpdateNewMessageSchema, ApiUpdateSessionStateSchema, CoreUpdateBodySchema, CoreUpdateContainerSchema, DaemonStateSchema, LegacyMessageContentSchema, MachineMetadataSchema, MessageContentSchema, MessageMetaSchema, SessionMessageContentSchema, SessionMessageSchema, SessionProtocolMessageSchema, TailscaleInfoSchema, TailscaleServeEntrySchema, TunnelEntrySchema, TunnelProviderInfoSchema, TunnelStateSchema, UpdateBodySchema, UpdateMachineBodySchema, UpdateNewMessageBodySchema, UpdateSchema, UpdateSessionBodySchema, UserMessageSchema, VersionedEncryptedValueSchema, VersionedMachineEncryptedValueSchema, VersionedNullableEncryptedValueSchema, createEnvelope, sessionEnvelopeSchema, sessionEventSchema, sessionFileEventSchema, sessionModelUsageSchema, sessionNeedsContinueEventSchema, sessionPromptSuggestionEventSchema, sessionRoleSchema, sessionServiceMessageEventSchema, sessionStartEventSchema, sessionStopEventSchema, sessionTaskEndEventSchema, sessionTaskProgressEventSchema, sessionTaskStartEventSchema, sessionTextEventSchema, sessionToolCallEndEventSchema, sessionToolCallStartEventSchema, sessionToolProgressEventSchema, sessionTurnEndEventSchema, sessionTurnEndStatusSchema, sessionTurnStartEventSchema, sessionUsageUpdateEventSchema };
1404
+ export { AgentMessageSchema, ApiMessageSchema, ApiUpdateMachineStateSchema, ApiUpdateNewMessageSchema, ApiUpdateSessionStateSchema, CoreUpdateBodySchema, CoreUpdateContainerSchema, DaemonStateSchema, LegacyMessageContentSchema, MachineMetadataSchema, MessageContentSchema, MessageMetaSchema, SessionMessageContentSchema, SessionMessageSchema, SessionProtocolMessageSchema, TailscaleInfoSchema, TailscaleServeEntrySchema, TunnelEntrySchema, TunnelProviderInfoSchema, TunnelStateSchema, UpdateBodySchema, UpdateMachineBodySchema, UpdateNewMessageBodySchema, UpdateSchema, UpdateSessionBodySchema, UserMessageSchema, VersionedEncryptedValueSchema, VersionedMachineEncryptedValueSchema, VersionedNullableEncryptedValueSchema, createEnvelope, sessionEnvelopeSchema, sessionEventSchema, sessionFileEventSchema, sessionModelUsageSchema, sessionNeedsContinueEventSchema, sessionPromptSuggestionEventSchema, sessionRoleSchema, sessionServiceMessageEventSchema, sessionStartEventSchema, sessionStateChangedEventSchema, sessionStopEventSchema, sessionTaskEndEventSchema, sessionTaskProgressEventSchema, sessionTaskStartEventSchema, sessionTextEventSchema, sessionToolCallEndEventSchema, sessionToolCallStartEventSchema, sessionToolProgressEventSchema, sessionTurnEndEventSchema, sessionTurnEndStatusSchema, sessionTurnStartEventSchema, sessionUsageUpdateEventSchema };
1364
1405
  export type { AgentMessage, ApiMessage, ApiUpdateMachineState, ApiUpdateNewMessage, ApiUpdateSessionState, CoreUpdateBody, CoreUpdateContainer, CreateEnvelopeOptions, DaemonState, LegacyMessageContent, MachineMetadata, MessageContent, MessageMeta, SessionEnvelope, SessionEvent, SessionMessage, SessionMessageContent, SessionModelUsage, SessionProtocolMessage, SessionRole, SessionTurnEndStatus, TailscaleInfo, TailscaleServeEntry, TunnelEntry, TunnelProviderInfo, TunnelState, Update, UpdateBody, UpdateMachineBody, UpdateNewMessageBody, UpdateSessionBody, UserMessage, VersionedEncryptedValue, VersionedMachineEncryptedValue, VersionedNullableEncryptedValue };
package/dist/index.d.mts CHANGED
@@ -128,6 +128,7 @@ declare const SessionProtocolMessageSchema: z.ZodObject<{
128
128
  toolUseId: z.ZodOptional<z.ZodString>;
129
129
  description: z.ZodString;
130
130
  taskType: z.ZodOptional<z.ZodString>;
131
+ workflowName: z.ZodOptional<z.ZodString>;
131
132
  }, z.core.$strip>, z.ZodObject<{
132
133
  t: z.ZodLiteral<"task-progress">;
133
134
  taskId: z.ZodString;
@@ -164,6 +165,13 @@ declare const SessionProtocolMessageSchema: z.ZodObject<{
164
165
  suggestion: z.ZodString;
165
166
  }, z.core.$strip>, z.ZodObject<{
166
167
  t: z.ZodLiteral<"needs-continue">;
168
+ }, z.core.$strip>, z.ZodObject<{
169
+ t: z.ZodLiteral<"session-state-changed">;
170
+ state: z.ZodEnum<{
171
+ idle: "idle";
172
+ running: "running";
173
+ requires_action: "requires_action";
174
+ }>;
167
175
  }, z.core.$strip>], "t">;
168
176
  }, z.core.$strip>;
169
177
  meta: z.ZodOptional<z.ZodObject<{
@@ -326,6 +334,7 @@ declare const MessageContentSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
326
334
  toolUseId: z.ZodOptional<z.ZodString>;
327
335
  description: z.ZodString;
328
336
  taskType: z.ZodOptional<z.ZodString>;
337
+ workflowName: z.ZodOptional<z.ZodString>;
329
338
  }, z.core.$strip>, z.ZodObject<{
330
339
  t: z.ZodLiteral<"task-progress">;
331
340
  taskId: z.ZodString;
@@ -362,6 +371,13 @@ declare const MessageContentSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
362
371
  suggestion: z.ZodString;
363
372
  }, z.core.$strip>, z.ZodObject<{
364
373
  t: z.ZodLiteral<"needs-continue">;
374
+ }, z.core.$strip>, z.ZodObject<{
375
+ t: z.ZodLiteral<"session-state-changed">;
376
+ state: z.ZodEnum<{
377
+ idle: "idle";
378
+ running: "running";
379
+ requires_action: "requires_action";
380
+ }>;
365
381
  }, z.core.$strip>], "t">;
366
382
  }, z.core.$strip>;
367
383
  meta: z.ZodOptional<z.ZodObject<{
@@ -883,6 +899,7 @@ declare const sessionTaskStartEventSchema: z.ZodObject<{
883
899
  toolUseId: z.ZodOptional<z.ZodString>;
884
900
  description: z.ZodString;
885
901
  taskType: z.ZodOptional<z.ZodString>;
902
+ workflowName: z.ZodOptional<z.ZodString>;
886
903
  }, z.core.$strip>;
887
904
  declare const sessionTaskProgressEventSchema: z.ZodObject<{
888
905
  t: z.ZodLiteral<"task-progress">;
@@ -925,6 +942,14 @@ declare const sessionPromptSuggestionEventSchema: z.ZodObject<{
925
942
  declare const sessionNeedsContinueEventSchema: z.ZodObject<{
926
943
  t: z.ZodLiteral<"needs-continue">;
927
944
  }, z.core.$strip>;
945
+ declare const sessionStateChangedEventSchema: z.ZodObject<{
946
+ t: z.ZodLiteral<"session-state-changed">;
947
+ state: z.ZodEnum<{
948
+ idle: "idle";
949
+ running: "running";
950
+ requires_action: "requires_action";
951
+ }>;
952
+ }, z.core.$strip>;
928
953
  declare const sessionEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
929
954
  t: z.ZodLiteral<"text">;
930
955
  text: z.ZodString;
@@ -1003,6 +1028,7 @@ declare const sessionEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1003
1028
  toolUseId: z.ZodOptional<z.ZodString>;
1004
1029
  description: z.ZodString;
1005
1030
  taskType: z.ZodOptional<z.ZodString>;
1031
+ workflowName: z.ZodOptional<z.ZodString>;
1006
1032
  }, z.core.$strip>, z.ZodObject<{
1007
1033
  t: z.ZodLiteral<"task-progress">;
1008
1034
  taskId: z.ZodString;
@@ -1039,6 +1065,13 @@ declare const sessionEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1039
1065
  suggestion: z.ZodString;
1040
1066
  }, z.core.$strip>, z.ZodObject<{
1041
1067
  t: z.ZodLiteral<"needs-continue">;
1068
+ }, z.core.$strip>, z.ZodObject<{
1069
+ t: z.ZodLiteral<"session-state-changed">;
1070
+ state: z.ZodEnum<{
1071
+ idle: "idle";
1072
+ running: "running";
1073
+ requires_action: "requires_action";
1074
+ }>;
1042
1075
  }, z.core.$strip>], "t">;
1043
1076
  type SessionEvent = z.infer<typeof sessionEventSchema>;
1044
1077
  declare const sessionEnvelopeSchema: z.ZodObject<{
@@ -1128,6 +1161,7 @@ declare const sessionEnvelopeSchema: z.ZodObject<{
1128
1161
  toolUseId: z.ZodOptional<z.ZodString>;
1129
1162
  description: z.ZodString;
1130
1163
  taskType: z.ZodOptional<z.ZodString>;
1164
+ workflowName: z.ZodOptional<z.ZodString>;
1131
1165
  }, z.core.$strip>, z.ZodObject<{
1132
1166
  t: z.ZodLiteral<"task-progress">;
1133
1167
  taskId: z.ZodString;
@@ -1164,6 +1198,13 @@ declare const sessionEnvelopeSchema: z.ZodObject<{
1164
1198
  suggestion: z.ZodString;
1165
1199
  }, z.core.$strip>, z.ZodObject<{
1166
1200
  t: z.ZodLiteral<"needs-continue">;
1201
+ }, z.core.$strip>, z.ZodObject<{
1202
+ t: z.ZodLiteral<"session-state-changed">;
1203
+ state: z.ZodEnum<{
1204
+ idle: "idle";
1205
+ running: "running";
1206
+ requires_action: "requires_action";
1207
+ }>;
1167
1208
  }, z.core.$strip>], "t">;
1168
1209
  }, z.core.$strip>;
1169
1210
  type SessionEnvelope = z.infer<typeof sessionEnvelopeSchema>;
@@ -1360,5 +1401,5 @@ declare const DaemonStateSchema: z.ZodObject<{
1360
1401
  }, z.core.$strip>;
1361
1402
  type DaemonState = z.infer<typeof DaemonStateSchema>;
1362
1403
 
1363
- export { AgentMessageSchema, ApiMessageSchema, ApiUpdateMachineStateSchema, ApiUpdateNewMessageSchema, ApiUpdateSessionStateSchema, CoreUpdateBodySchema, CoreUpdateContainerSchema, DaemonStateSchema, LegacyMessageContentSchema, MachineMetadataSchema, MessageContentSchema, MessageMetaSchema, SessionMessageContentSchema, SessionMessageSchema, SessionProtocolMessageSchema, TailscaleInfoSchema, TailscaleServeEntrySchema, TunnelEntrySchema, TunnelProviderInfoSchema, TunnelStateSchema, UpdateBodySchema, UpdateMachineBodySchema, UpdateNewMessageBodySchema, UpdateSchema, UpdateSessionBodySchema, UserMessageSchema, VersionedEncryptedValueSchema, VersionedMachineEncryptedValueSchema, VersionedNullableEncryptedValueSchema, createEnvelope, sessionEnvelopeSchema, sessionEventSchema, sessionFileEventSchema, sessionModelUsageSchema, sessionNeedsContinueEventSchema, sessionPromptSuggestionEventSchema, sessionRoleSchema, sessionServiceMessageEventSchema, sessionStartEventSchema, sessionStopEventSchema, sessionTaskEndEventSchema, sessionTaskProgressEventSchema, sessionTaskStartEventSchema, sessionTextEventSchema, sessionToolCallEndEventSchema, sessionToolCallStartEventSchema, sessionToolProgressEventSchema, sessionTurnEndEventSchema, sessionTurnEndStatusSchema, sessionTurnStartEventSchema, sessionUsageUpdateEventSchema };
1404
+ export { AgentMessageSchema, ApiMessageSchema, ApiUpdateMachineStateSchema, ApiUpdateNewMessageSchema, ApiUpdateSessionStateSchema, CoreUpdateBodySchema, CoreUpdateContainerSchema, DaemonStateSchema, LegacyMessageContentSchema, MachineMetadataSchema, MessageContentSchema, MessageMetaSchema, SessionMessageContentSchema, SessionMessageSchema, SessionProtocolMessageSchema, TailscaleInfoSchema, TailscaleServeEntrySchema, TunnelEntrySchema, TunnelProviderInfoSchema, TunnelStateSchema, UpdateBodySchema, UpdateMachineBodySchema, UpdateNewMessageBodySchema, UpdateSchema, UpdateSessionBodySchema, UserMessageSchema, VersionedEncryptedValueSchema, VersionedMachineEncryptedValueSchema, VersionedNullableEncryptedValueSchema, createEnvelope, sessionEnvelopeSchema, sessionEventSchema, sessionFileEventSchema, sessionModelUsageSchema, sessionNeedsContinueEventSchema, sessionPromptSuggestionEventSchema, sessionRoleSchema, sessionServiceMessageEventSchema, sessionStartEventSchema, sessionStateChangedEventSchema, sessionStopEventSchema, sessionTaskEndEventSchema, sessionTaskProgressEventSchema, sessionTaskStartEventSchema, sessionTextEventSchema, sessionToolCallEndEventSchema, sessionToolCallStartEventSchema, sessionToolProgressEventSchema, sessionTurnEndEventSchema, sessionTurnEndStatusSchema, sessionTurnStartEventSchema, sessionUsageUpdateEventSchema };
1364
1405
  export type { AgentMessage, ApiMessage, ApiUpdateMachineState, ApiUpdateNewMessage, ApiUpdateSessionState, CoreUpdateBody, CoreUpdateContainer, CreateEnvelopeOptions, DaemonState, LegacyMessageContent, MachineMetadata, MessageContent, MessageMeta, SessionEnvelope, SessionEvent, SessionMessage, SessionMessageContent, SessionModelUsage, SessionProtocolMessage, SessionRole, SessionTurnEndStatus, TailscaleInfo, TailscaleServeEntry, TunnelEntry, TunnelProviderInfo, TunnelState, Update, UpdateBody, UpdateMachineBody, UpdateNewMessageBody, UpdateSessionBody, UserMessage, VersionedEncryptedValue, VersionedMachineEncryptedValue, VersionedNullableEncryptedValue };
package/dist/index.mjs CHANGED
@@ -93,7 +93,9 @@ const sessionTaskStartEventSchema = z.object({
93
93
  taskId: z.string(),
94
94
  toolUseId: z.string().optional(),
95
95
  description: z.string(),
96
- taskType: z.string().optional()
96
+ taskType: z.string().optional(),
97
+ /** meta.name from the workflow script (e.g. 'spec'). Only set when taskType is 'local_workflow'. */
98
+ workflowName: z.string().optional()
97
99
  });
98
100
  const sessionTaskProgressEventSchema = z.object({
99
101
  t: z.literal("task-progress"),
@@ -133,6 +135,11 @@ const sessionPromptSuggestionEventSchema = z.object({
133
135
  const sessionNeedsContinueEventSchema = z.object({
134
136
  t: z.literal("needs-continue")
135
137
  });
138
+ const sessionStateChangedEventSchema = z.object({
139
+ t: z.literal("session-state-changed"),
140
+ /** Authoritative session lifecycle state from the SDK */
141
+ state: z.enum(["idle", "running", "requires_action"])
142
+ });
136
143
  const sessionEventSchema = z.discriminatedUnion("t", [
137
144
  sessionTextEventSchema,
138
145
  sessionServiceMessageEventSchema,
@@ -149,7 +156,8 @@ const sessionEventSchema = z.discriminatedUnion("t", [
149
156
  sessionTaskEndEventSchema,
150
157
  sessionToolProgressEventSchema,
151
158
  sessionPromptSuggestionEventSchema,
152
- sessionNeedsContinueEventSchema
159
+ sessionNeedsContinueEventSchema,
160
+ sessionStateChangedEventSchema
153
161
  ]);
154
162
  const sessionEnvelopeSchema = z.object({
155
163
  id: z.string(),
@@ -168,7 +176,7 @@ const sessionEnvelopeSchema = z.object({
168
176
  path: ["role"]
169
177
  });
170
178
  }
171
- if ((envelope.ev.t === "start" || envelope.ev.t === "stop" || envelope.ev.t === "usage-update" || envelope.ev.t === "task-start" || envelope.ev.t === "task-progress" || envelope.ev.t === "task-end" || envelope.ev.t === "tool-progress" || envelope.ev.t === "prompt-suggestion" || envelope.ev.t === "needs-continue") && envelope.role !== "agent") {
179
+ if ((envelope.ev.t === "start" || envelope.ev.t === "stop" || envelope.ev.t === "usage-update" || envelope.ev.t === "task-start" || envelope.ev.t === "task-progress" || envelope.ev.t === "task-end" || envelope.ev.t === "tool-progress" || envelope.ev.t === "prompt-suggestion" || envelope.ev.t === "needs-continue" || envelope.ev.t === "session-state-changed") && envelope.role !== "agent") {
172
180
  ctx.addIssue({
173
181
  code: z.ZodIssueCode.custom,
174
182
  message: `${envelope.ev.t} events must use role "agent"`,
@@ -366,4 +374,4 @@ const DaemonStateSchema = z.object({
366
374
  tunnels: TunnelStateSchema.optional()
367
375
  });
368
376
 
369
- export { AgentMessageSchema, ApiMessageSchema, ApiUpdateMachineStateSchema, ApiUpdateNewMessageSchema, ApiUpdateSessionStateSchema, CoreUpdateBodySchema, CoreUpdateContainerSchema, DaemonStateSchema, LegacyMessageContentSchema, MachineMetadataSchema, MessageContentSchema, MessageMetaSchema, SessionMessageContentSchema, SessionMessageSchema, SessionProtocolMessageSchema, TailscaleInfoSchema, TailscaleServeEntrySchema, TunnelEntrySchema, TunnelProviderInfoSchema, TunnelStateSchema, UpdateBodySchema, UpdateMachineBodySchema, UpdateNewMessageBodySchema, UpdateSchema, UpdateSessionBodySchema, UserMessageSchema, VersionedEncryptedValueSchema, VersionedMachineEncryptedValueSchema, VersionedNullableEncryptedValueSchema, createEnvelope, sessionEnvelopeSchema, sessionEventSchema, sessionFileEventSchema, sessionModelUsageSchema, sessionNeedsContinueEventSchema, sessionPromptSuggestionEventSchema, sessionRoleSchema, sessionServiceMessageEventSchema, sessionStartEventSchema, sessionStopEventSchema, sessionTaskEndEventSchema, sessionTaskProgressEventSchema, sessionTaskStartEventSchema, sessionTextEventSchema, sessionToolCallEndEventSchema, sessionToolCallStartEventSchema, sessionToolProgressEventSchema, sessionTurnEndEventSchema, sessionTurnEndStatusSchema, sessionTurnStartEventSchema, sessionUsageUpdateEventSchema };
377
+ export { AgentMessageSchema, ApiMessageSchema, ApiUpdateMachineStateSchema, ApiUpdateNewMessageSchema, ApiUpdateSessionStateSchema, CoreUpdateBodySchema, CoreUpdateContainerSchema, DaemonStateSchema, LegacyMessageContentSchema, MachineMetadataSchema, MessageContentSchema, MessageMetaSchema, SessionMessageContentSchema, SessionMessageSchema, SessionProtocolMessageSchema, TailscaleInfoSchema, TailscaleServeEntrySchema, TunnelEntrySchema, TunnelProviderInfoSchema, TunnelStateSchema, UpdateBodySchema, UpdateMachineBodySchema, UpdateNewMessageBodySchema, UpdateSchema, UpdateSessionBodySchema, UserMessageSchema, VersionedEncryptedValueSchema, VersionedMachineEncryptedValueSchema, VersionedNullableEncryptedValueSchema, createEnvelope, sessionEnvelopeSchema, sessionEventSchema, sessionFileEventSchema, sessionModelUsageSchema, sessionNeedsContinueEventSchema, sessionPromptSuggestionEventSchema, sessionRoleSchema, sessionServiceMessageEventSchema, sessionStartEventSchema, sessionStateChangedEventSchema, sessionStopEventSchema, sessionTaskEndEventSchema, sessionTaskProgressEventSchema, sessionTaskStartEventSchema, sessionTextEventSchema, sessionToolCallEndEventSchema, sessionToolCallStartEventSchema, sessionToolProgressEventSchema, sessionTurnEndEventSchema, sessionTurnEndStatusSchema, sessionTurnStartEventSchema, sessionUsageUpdateEventSchema };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kmmao/happy-wire",
3
- "version": "0.4.0",
3
+ "version": "0.4.2",
4
4
  "description": "Shared message wire types and Zod schemas for Happy clients and services",
5
5
  "author": "kmmao",
6
6
  "license": "MIT",