@kmmao/happy-wire 0.1.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -82,6 +82,17 @@ const sessionTurnEndEventSchema = z__namespace.object({
82
82
  const sessionStopEventSchema = z__namespace.object({
83
83
  t: z__namespace.literal("stop")
84
84
  });
85
+ const sessionUsageUpdateEventSchema = z__namespace.object({
86
+ t: z__namespace.literal("usage-update"),
87
+ model: z__namespace.string().optional(),
88
+ usage: z__namespace.object({
89
+ input_tokens: z__namespace.number(),
90
+ output_tokens: z__namespace.number(),
91
+ cache_creation_input_tokens: z__namespace.number().optional(),
92
+ cache_read_input_tokens: z__namespace.number().optional()
93
+ }),
94
+ durationMs: z__namespace.number().optional()
95
+ });
85
96
  const sessionEventSchema = z__namespace.discriminatedUnion("t", [
86
97
  sessionTextEventSchema,
87
98
  sessionServiceMessageEventSchema,
@@ -91,7 +102,8 @@ const sessionEventSchema = z__namespace.discriminatedUnion("t", [
91
102
  sessionTurnStartEventSchema,
92
103
  sessionStartEventSchema,
93
104
  sessionTurnEndEventSchema,
94
- sessionStopEventSchema
105
+ sessionStopEventSchema,
106
+ sessionUsageUpdateEventSchema
95
107
  ]);
96
108
  const sessionEnvelopeSchema = z__namespace.object({
97
109
  id: z__namespace.string(),
@@ -110,7 +122,7 @@ const sessionEnvelopeSchema = z__namespace.object({
110
122
  path: ["role"]
111
123
  });
112
124
  }
113
- if ((envelope.ev.t === "start" || envelope.ev.t === "stop") && envelope.role !== "agent") {
125
+ if ((envelope.ev.t === "start" || envelope.ev.t === "stop" || envelope.ev.t === "usage-update") && envelope.role !== "agent") {
114
126
  ctx.addIssue({
115
127
  code: z__namespace.ZodIssueCode.custom,
116
128
  message: `${envelope.ev.t} events must use role "agent"`,
@@ -266,3 +278,4 @@ exports.sessionToolCallStartEventSchema = sessionToolCallStartEventSchema;
266
278
  exports.sessionTurnEndEventSchema = sessionTurnEndEventSchema;
267
279
  exports.sessionTurnEndStatusSchema = sessionTurnEndStatusSchema;
268
280
  exports.sessionTurnStartEventSchema = sessionTurnStartEventSchema;
281
+ exports.sessionUsageUpdateEventSchema = sessionUsageUpdateEventSchema;