@moxt-ai/mobius-sdk 0.0.100 → 0.0.102

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/dist/client.d.ts +1 -1
  2. package/dist/client.d.ts.map +1 -1
  3. package/dist/client.js +1 -1
  4. package/dist/client.js.map +1 -1
  5. package/dist/index.d.ts +2 -2
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +1 -1
  8. package/dist/index.js.map +1 -1
  9. package/dist/platform.d.ts +2 -2
  10. package/dist/platform.d.ts.map +1 -1
  11. package/dist/platform.js +2 -2
  12. package/dist/platform.js.map +1 -1
  13. package/dist/project-authentication.js +1 -1
  14. package/dist/project-authentication.js.map +1 -1
  15. package/dist/protocol/codecs/messages.d.ts +32 -0
  16. package/dist/protocol/codecs/messages.d.ts.map +1 -0
  17. package/dist/protocol/codecs/messages.js +249 -0
  18. package/dist/protocol/codecs/messages.js.map +1 -0
  19. package/dist/protocol/control-messages.d.ts +964 -0
  20. package/dist/protocol/control-messages.d.ts.map +1 -0
  21. package/dist/protocol/control-messages.js +754 -0
  22. package/dist/protocol/control-messages.js.map +1 -0
  23. package/dist/protocol/conversation-title.d.ts +2 -0
  24. package/dist/protocol/conversation-title.d.ts.map +1 -0
  25. package/dist/protocol/conversation-title.js +28 -0
  26. package/dist/protocol/conversation-title.js.map +1 -0
  27. package/dist/protocol/daemon-transport.d.ts +3979 -0
  28. package/dist/protocol/daemon-transport.d.ts.map +1 -0
  29. package/dist/protocol/daemon-transport.js +94 -0
  30. package/dist/protocol/daemon-transport.js.map +1 -0
  31. package/dist/protocol/identifier.d.ts +7 -0
  32. package/dist/protocol/identifier.d.ts.map +1 -0
  33. package/dist/protocol/identifier.js +11 -0
  34. package/dist/protocol/identifier.js.map +1 -0
  35. package/dist/protocol/index.d.ts +18 -0
  36. package/dist/protocol/index.d.ts.map +1 -0
  37. package/dist/protocol/index.js +18 -0
  38. package/dist/protocol/index.js.map +1 -0
  39. package/dist/protocol/messages.d.ts +67 -0
  40. package/dist/protocol/messages.d.ts.map +1 -0
  41. package/dist/protocol/messages.js +16 -0
  42. package/dist/protocol/messages.js.map +1 -0
  43. package/dist/protocol/mobius-api.d.ts +10 -0
  44. package/dist/protocol/mobius-api.d.ts.map +1 -0
  45. package/dist/protocol/mobius-api.js +23 -0
  46. package/dist/protocol/mobius-api.js.map +1 -0
  47. package/dist/protocol/native-sessions.d.ts +401 -0
  48. package/dist/protocol/native-sessions.d.ts.map +1 -0
  49. package/dist/protocol/native-sessions.js +154 -0
  50. package/dist/protocol/native-sessions.js.map +1 -0
  51. package/dist/protocol/project-location.d.ts +16 -0
  52. package/dist/protocol/project-location.d.ts.map +1 -0
  53. package/dist/protocol/project-location.js +6 -0
  54. package/dist/protocol/project-location.js.map +1 -0
  55. package/dist/protocol/prompt-usage.d.ts +76 -0
  56. package/dist/protocol/prompt-usage.d.ts.map +1 -0
  57. package/dist/protocol/prompt-usage.js +88 -0
  58. package/dist/protocol/prompt-usage.js.map +1 -0
  59. package/dist/protocol/resource-model.d.ts +339 -0
  60. package/dist/protocol/resource-model.d.ts.map +1 -0
  61. package/dist/protocol/resource-model.js +161 -0
  62. package/dist/protocol/resource-model.js.map +1 -0
  63. package/dist/protocol/runtime-diagnostics.d.ts +19 -0
  64. package/dist/protocol/runtime-diagnostics.d.ts.map +1 -0
  65. package/dist/protocol/runtime-diagnostics.js +24 -0
  66. package/dist/protocol/runtime-diagnostics.js.map +1 -0
  67. package/dist/protocol/runtime-upgrade.d.ts +29 -0
  68. package/dist/protocol/runtime-upgrade.d.ts.map +1 -0
  69. package/dist/protocol/runtime-upgrade.js +38 -0
  70. package/dist/protocol/runtime-upgrade.js.map +1 -0
  71. package/dist/protocol/session-access.d.ts +21 -0
  72. package/dist/protocol/session-access.d.ts.map +1 -0
  73. package/dist/protocol/session-access.js +108 -0
  74. package/dist/protocol/session-access.js.map +1 -0
  75. package/dist/protocol/session-event-log.d.ts +13542 -0
  76. package/dist/protocol/session-event-log.d.ts.map +1 -0
  77. package/dist/protocol/session-event-log.js +584 -0
  78. package/dist/protocol/session-event-log.js.map +1 -0
  79. package/dist/protocol/session-history.d.ts +2907 -0
  80. package/dist/protocol/session-history.d.ts.map +1 -0
  81. package/dist/protocol/session-history.js +58 -0
  82. package/dist/protocol/session-history.js.map +1 -0
  83. package/dist/protocol/session-recording.d.ts +5640 -0
  84. package/dist/protocol/session-recording.d.ts.map +1 -0
  85. package/dist/protocol/session-recording.js +365 -0
  86. package/dist/protocol/session-recording.js.map +1 -0
  87. package/dist/public-request.js +1 -1
  88. package/dist/public-request.js.map +1 -1
  89. package/dist/resources.d.ts +1 -1
  90. package/dist/resources.d.ts.map +1 -1
  91. package/dist/resources.js +1 -1
  92. package/dist/resources.js.map +1 -1
  93. package/dist/server.d.ts +2 -2
  94. package/dist/server.d.ts.map +1 -1
  95. package/dist/server.js +1 -1
  96. package/dist/server.js.map +1 -1
  97. package/dist/service-client.d.ts +19 -19
  98. package/dist/service-client.d.ts.map +1 -1
  99. package/dist/service-client.js +21 -23
  100. package/dist/service-client.js.map +1 -1
  101. package/dist/transport/http-transport.d.ts +1 -1
  102. package/dist/transport/http-transport.js +1 -1
  103. package/dist/transport/ws-transport.d.ts +1 -1
  104. package/dist/transport/ws-transport.js +2 -2
  105. package/dist/transport/ws-transport.js.map +1 -1
  106. package/package.json +8 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-event-log.d.ts","sourceRoot":"","sources":["../../src/protocol/session-event-log.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAKvB,CAAC;AAChB,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAwB5E,eAAO,MAAM,kBAAkB,UAAW,OAAO,KAAG,YAAiD,CAAC;AACtG,eAAO,MAAM,kBAAkB,UAAW,YAAY,KAAG,MAA2C,CAAC;AACrG,eAAO,MAAM,sBAAsB,UAAW,OAAO,KAAG,gBAAyD,CAAC;AAClH,eAAO,MAAM,sBAAsB,UAAW,gBAAgB,KAAG,MAA+C,CAAC;AACjH,eAAO,MAAM,uBAAuB,UAAW,OAAO,KAAG,iBAA2D,CAAC;AACrH,eAAO,MAAM,uBAAuB,UAAW,iBAAiB,KAAG,MAAgD,CAAC;AACpH,eAAO,MAAM,2BAA2B,UAAW,OAAO,KAAG,qBACf,CAAC;AAC/C,eAAO,MAAM,2BAA2B,UAAW,qBAAqB,KAAG,MAC7B,CAAC;AAC/C,eAAO,MAAM,yBAAyB,UAAW,OAAO,KAAG,mBACf,CAAC;AAC7C,eAAO,MAAM,yBAAyB,UAAW,mBAAmB,KAAG,MAC3B,CAAC;AAC7C,eAAO,MAAM,0BAA0B,UAAW,OAAO,KAAG,oBACf,CAAC;AAC9C,eAAO,MAAM,0BAA0B,UAAW,oBAAoB,KAAG,MAC5B,CAAC;AAC9C,eAAO,MAAM,sBAAsB,UAAW,OAAO,KAAG,gBAAyD,CAAC;AAClH,eAAO,MAAM,yBAAyB,UAAW,OAAO,KAAG,mBACf,CAAC;AAC7C,eAAO,MAAM,yBAAyB,UAAW,mBAAmB,KAAG,MAC3B,CAAC;AAC7C,eAAO,MAAM,yBAAyB,UAAW,OAAO,KAAG,mBACf,CAAC;AAC7C,eAAO,MAAM,yBAAyB,UAAW,mBAAmB,KAAG,MAC3B,CAAC"}
@@ -0,0 +1,584 @@
1
+ import { z } from "zod";
2
+ import { ProtocolMessageError } from "./codecs/messages.js";
3
+ import { sessionElicitationRequestedEventSchema, sessionElicitationResolvedEventSchema, sessionPermissionRequestedEventSchema, sessionPermissionResolvedEventSchema, } from "./control-messages.js";
4
+ import { identifierStringSchema as identifier } from "./identifier.js";
5
+ const MAX_EVENT_COUNT = 10_000;
6
+ const MAX_COLLECTION_SIZE = 1_000;
7
+ const MAX_CONTENT_LENGTH = 1_000_000;
8
+ const MAX_JSON_DEPTH = 16;
9
+ const MAX_JSON_KEYS = 1_000;
10
+ export const SESSION_EVENT_KIND = "session.event.v2";
11
+ export const SESSION_EVENT_BATCH_MAX_SIZE = 1_000;
12
+ const boundedString = z.string().max(MAX_CONTENT_LENGTH);
13
+ const shortString = z.string().max(2_048);
14
+ const externalContentKeySchema = z.string().regex(/^[a-f0-9]{64}$/u);
15
+ function boundedJsonIssue(value, depth = 0) {
16
+ if (depth > MAX_JSON_DEPTH) {
17
+ return "JSON nesting exceeds the maximum depth";
18
+ }
19
+ if (typeof value === "string") {
20
+ return value.length <= MAX_CONTENT_LENGTH ? null : "JSON string exceeds the maximum length";
21
+ }
22
+ if (typeof value === "number") {
23
+ return Number.isFinite(value) ? null : "JSON number must be finite";
24
+ }
25
+ if (typeof value === "boolean" || value === null) {
26
+ return null;
27
+ }
28
+ if (Array.isArray(value)) {
29
+ if (value.length > MAX_COLLECTION_SIZE) {
30
+ return "JSON array exceeds the maximum length";
31
+ }
32
+ for (const item of value) {
33
+ const issue = boundedJsonIssue(item, depth + 1);
34
+ if (issue !== null) {
35
+ return issue;
36
+ }
37
+ }
38
+ return null;
39
+ }
40
+ if (typeof value === "object" && value !== undefined) {
41
+ const entries = Object.entries(value);
42
+ if (entries.length > MAX_JSON_KEYS) {
43
+ return "JSON object exceeds the maximum key count";
44
+ }
45
+ for (const [key, item] of entries) {
46
+ if (key.length > 255) {
47
+ return "JSON key exceeds the maximum length";
48
+ }
49
+ const issue = boundedJsonIssue(item, depth + 1);
50
+ if (issue !== null) {
51
+ return issue;
52
+ }
53
+ }
54
+ return null;
55
+ }
56
+ return "Value is not bounded JSON";
57
+ }
58
+ export const boundedJsonSchema = z.unknown().superRefine((value, context) => {
59
+ const issue = boundedJsonIssue(value);
60
+ if (issue !== null) {
61
+ context.addIssue({ code: "custom", message: issue });
62
+ }
63
+ });
64
+ const annotationsSchema = z
65
+ .object({
66
+ audience: z
67
+ .array(z.enum(["assistant", "user"]))
68
+ .max(2)
69
+ .readonly()
70
+ .nullable()
71
+ .optional(),
72
+ lastModified: shortString.nullable().optional(),
73
+ priority: z.number().finite().nullable().optional(),
74
+ })
75
+ .readonly();
76
+ const contentFields = { annotations: annotationsSchema.nullable().optional() };
77
+ const textContentSchema = z.object({ ...contentFields, text: boundedString, type: z.literal("text") }).readonly();
78
+ const imageContentSchema = z
79
+ .object({
80
+ ...contentFields,
81
+ data: boundedString,
82
+ mimeType: shortString,
83
+ type: z.literal("image"),
84
+ uri: boundedString.nullable().optional(),
85
+ })
86
+ .readonly();
87
+ const audioContentSchema = z
88
+ .object({ ...contentFields, data: boundedString, mimeType: shortString, type: z.literal("audio") })
89
+ .readonly();
90
+ const externalImageContentSchema = z
91
+ .object({
92
+ ...contentFields,
93
+ byteLength: z.number().int().positive().safe(),
94
+ imageKey: externalContentKeySchema,
95
+ mimeType: shortString,
96
+ type: z.literal("external_image"),
97
+ uri: boundedString.nullable().optional(),
98
+ })
99
+ .readonly();
100
+ const externalAudioContentSchema = z
101
+ .object({
102
+ ...contentFields,
103
+ audioKey: externalContentKeySchema,
104
+ byteLength: z.number().int().positive().safe(),
105
+ mimeType: shortString,
106
+ type: z.literal("external_audio"),
107
+ })
108
+ .readonly();
109
+ const externalResourceContentSchema = z
110
+ .object({
111
+ ...contentFields,
112
+ byteLength: z.number().int().positive().safe(),
113
+ encoding: z.enum(["binary", "text"]),
114
+ mimeType: shortString.nullable().optional(),
115
+ resourceKey: externalContentKeySchema,
116
+ type: z.literal("external_resource"),
117
+ uri: boundedString,
118
+ })
119
+ .readonly();
120
+ const resourceLinkSchema = z
121
+ .object({
122
+ ...contentFields,
123
+ description: boundedString.nullable().optional(),
124
+ mimeType: shortString.nullable().optional(),
125
+ name: shortString,
126
+ size: z.number().int().nonnegative().safe().nullable().optional(),
127
+ title: shortString.nullable().optional(),
128
+ type: z.literal("resource_link"),
129
+ uri: boundedString,
130
+ })
131
+ .readonly();
132
+ const textResourceSchema = z
133
+ .object({
134
+ mimeType: shortString.nullable().optional(),
135
+ text: boundedString,
136
+ uri: boundedString,
137
+ })
138
+ .readonly();
139
+ const blobResourceSchema = z
140
+ .object({
141
+ blob: boundedString,
142
+ mimeType: shortString.nullable().optional(),
143
+ uri: boundedString,
144
+ })
145
+ .readonly();
146
+ const embeddedResourceSchema = z
147
+ .object({
148
+ ...contentFields,
149
+ resource: z.union([textResourceSchema, blobResourceSchema]),
150
+ type: z.literal("resource"),
151
+ })
152
+ .readonly();
153
+ export const contentBlockSchema = z.discriminatedUnion("type", [
154
+ textContentSchema,
155
+ imageContentSchema,
156
+ audioContentSchema,
157
+ resourceLinkSchema,
158
+ embeddedResourceSchema,
159
+ externalImageContentSchema,
160
+ externalAudioContentSchema,
161
+ externalResourceContentSchema,
162
+ ]);
163
+ export const toolCallContentSchema = z.discriminatedUnion("type", [
164
+ z.object({ content: contentBlockSchema, type: z.literal("content") }).readonly(),
165
+ z
166
+ .object({
167
+ newText: boundedString,
168
+ oldText: boundedString.nullable().optional(),
169
+ path: boundedString,
170
+ type: z.literal("diff"),
171
+ })
172
+ .readonly(),
173
+ z.object({ terminalId: shortString, type: z.literal("terminal") }).readonly(),
174
+ ]);
175
+ export const toolCallLocationSchema = z
176
+ .object({
177
+ line: z.number().int().nonnegative().safe().nullable().optional(),
178
+ path: boundedString,
179
+ })
180
+ .readonly();
181
+ export const toolKindSchema = z.enum([
182
+ "read",
183
+ "edit",
184
+ "delete",
185
+ "move",
186
+ "search",
187
+ "execute",
188
+ "think",
189
+ "fetch",
190
+ "switch_mode",
191
+ "other",
192
+ ]);
193
+ export const toolStatusSchema = z.enum(["pending", "in_progress", "completed", "failed"]);
194
+ const toolPatchFields = {
195
+ content: z.array(toolCallContentSchema).max(MAX_COLLECTION_SIZE).readonly().nullable().optional(),
196
+ kind: toolKindSchema.nullable().optional(),
197
+ locations: z.array(toolCallLocationSchema).max(MAX_COLLECTION_SIZE).readonly().nullable().optional(),
198
+ name: shortString.nullable().optional(),
199
+ rawInput: boundedJsonSchema.optional(),
200
+ rawOutput: boundedJsonSchema.optional(),
201
+ status: toolStatusSchema.nullable().optional(),
202
+ title: boundedString.nullable().optional(),
203
+ };
204
+ const planEntrySchema = z
205
+ .object({
206
+ content: boundedString,
207
+ priority: z.enum(["high", "medium", "low"]),
208
+ status: z.enum(["pending", "in_progress", "completed"]),
209
+ })
210
+ .readonly();
211
+ const planContentSchema = z.discriminatedUnion("type", [
212
+ z
213
+ .object({
214
+ entries: z.array(planEntrySchema).max(MAX_COLLECTION_SIZE).readonly(),
215
+ planId: shortString,
216
+ type: z.literal("items"),
217
+ })
218
+ .readonly(),
219
+ z.object({ planId: shortString, type: z.literal("file"), uri: boundedString }).readonly(),
220
+ z
221
+ .object({
222
+ content: boundedString,
223
+ planId: shortString,
224
+ type: z.literal("markdown"),
225
+ })
226
+ .readonly(),
227
+ ]);
228
+ const commandSchema = z
229
+ .object({
230
+ description: boundedString,
231
+ input: z.object({ hint: boundedString }).readonly().nullable().optional(),
232
+ name: shortString,
233
+ })
234
+ .readonly();
235
+ const configSelectOptionSchema = z
236
+ .object({
237
+ description: boundedString.nullable().optional(),
238
+ name: shortString,
239
+ value: shortString,
240
+ })
241
+ .readonly();
242
+ const configSelectGroupSchema = z
243
+ .object({
244
+ group: shortString,
245
+ name: shortString,
246
+ options: z.array(configSelectOptionSchema).max(MAX_COLLECTION_SIZE).readonly(),
247
+ })
248
+ .readonly();
249
+ const configBaseFields = {
250
+ category: shortString.nullable().optional(),
251
+ description: boundedString.nullable().optional(),
252
+ id: shortString,
253
+ name: shortString,
254
+ };
255
+ const sessionConfigOptionSchema = z.discriminatedUnion("type", [
256
+ z
257
+ .object({
258
+ ...configBaseFields,
259
+ currentValue: shortString,
260
+ options: z.union([
261
+ z.array(configSelectOptionSchema).max(MAX_COLLECTION_SIZE).readonly(),
262
+ z.array(configSelectGroupSchema).max(MAX_COLLECTION_SIZE).readonly(),
263
+ ]),
264
+ type: z.literal("select"),
265
+ })
266
+ .readonly(),
267
+ z.object({ ...configBaseFields, currentValue: z.boolean(), type: z.literal("boolean") }).readonly(),
268
+ ]);
269
+ const contentChunkFields = {
270
+ content: contentBlockSchema,
271
+ messageId: shortString.nullable().optional(),
272
+ };
273
+ export const acpSessionUpdateSchema = z.discriminatedUnion("sessionUpdate", [
274
+ z.object({ ...contentChunkFields, sessionUpdate: z.literal("user_message_chunk") }).readonly(),
275
+ z.object({ ...contentChunkFields, sessionUpdate: z.literal("agent_message_chunk") }).readonly(),
276
+ z.object({ ...contentChunkFields, sessionUpdate: z.literal("agent_thought_chunk") }).readonly(),
277
+ z
278
+ .object({
279
+ content: z.array(toolCallContentSchema).max(MAX_COLLECTION_SIZE).readonly().optional(),
280
+ kind: toolKindSchema.optional(),
281
+ locations: z.array(toolCallLocationSchema).max(MAX_COLLECTION_SIZE).readonly().optional(),
282
+ name: shortString.nullable().optional(),
283
+ rawInput: boundedJsonSchema.optional(),
284
+ rawOutput: boundedJsonSchema.optional(),
285
+ sessionUpdate: z.literal("tool_call"),
286
+ status: toolStatusSchema.optional(),
287
+ title: boundedString,
288
+ toolCallId: shortString,
289
+ })
290
+ .readonly(),
291
+ z.object({ ...toolPatchFields, sessionUpdate: z.literal("tool_call_update"), toolCallId: shortString }).readonly(),
292
+ z
293
+ .object({
294
+ entries: z.array(planEntrySchema).max(MAX_COLLECTION_SIZE).readonly(),
295
+ sessionUpdate: z.literal("plan"),
296
+ })
297
+ .readonly(),
298
+ z.object({ plan: planContentSchema, sessionUpdate: z.literal("plan_update") }).readonly(),
299
+ z.object({ planId: shortString, sessionUpdate: z.literal("plan_removed") }).readonly(),
300
+ z
301
+ .object({
302
+ availableCommands: z.array(commandSchema).max(MAX_COLLECTION_SIZE).readonly(),
303
+ sessionUpdate: z.literal("available_commands_update"),
304
+ })
305
+ .readonly(),
306
+ z
307
+ .object({
308
+ currentModeId: shortString,
309
+ sessionUpdate: z.literal("current_mode_update"),
310
+ })
311
+ .readonly(),
312
+ z
313
+ .object({
314
+ configOptions: z.array(sessionConfigOptionSchema).max(MAX_COLLECTION_SIZE).readonly(),
315
+ sessionUpdate: z.literal("config_option_update"),
316
+ })
317
+ .readonly(),
318
+ z
319
+ .object({
320
+ sessionUpdate: z.literal("session_info_update"),
321
+ title: boundedString.nullable().optional(),
322
+ updatedAt: shortString.nullable().optional(),
323
+ })
324
+ .readonly(),
325
+ z
326
+ .object({
327
+ cost: z
328
+ .object({ amount: z.number().finite(), currency: z.string().max(16) })
329
+ .readonly()
330
+ .nullable()
331
+ .optional(),
332
+ sessionUpdate: z.literal("usage_update"),
333
+ size: z.number().int().nonnegative().safe(),
334
+ used: z.number().int().nonnegative().safe(),
335
+ })
336
+ .readonly(),
337
+ z
338
+ .object({
339
+ compactionId: shortString,
340
+ error: boundedString.nullable().optional(),
341
+ sessionUpdate: z.literal("compaction_update"),
342
+ status: shortString,
343
+ summary: z.array(contentBlockSchema).max(MAX_COLLECTION_SIZE).readonly().nullable().optional(),
344
+ })
345
+ .readonly(),
346
+ z
347
+ .object({
348
+ compactionId: shortString,
349
+ content: contentBlockSchema,
350
+ sessionUpdate: z.literal("compaction_summary_chunk"),
351
+ })
352
+ .readonly(),
353
+ ]);
354
+ const lifecycleBase = { commandId: identifier };
355
+ const promptExecutionContextSchema = z
356
+ .object({
357
+ agentId: identifier,
358
+ directoryId: shortString,
359
+ additionalDirectoryIds: z.array(identifier).max(16).readonly(),
360
+ })
361
+ .readonly();
362
+ export const lifecycleMetadataSchema = z.discriminatedUnion("kind", [
363
+ z.object({ kind: z.literal("session.queue.changed") }).readonly(),
364
+ z
365
+ .object({ event: sessionPermissionRequestedEventSchema, kind: z.literal("session.permission.requested") })
366
+ .readonly(),
367
+ z
368
+ .object({ event: sessionPermissionResolvedEventSchema, kind: z.literal("session.permission.resolved") })
369
+ .readonly(),
370
+ z
371
+ .object({ event: sessionElicitationRequestedEventSchema, kind: z.literal("session.elicitation.requested") })
372
+ .readonly(),
373
+ z
374
+ .object({ event: sessionElicitationResolvedEventSchema, kind: z.literal("session.elicitation.resolved") })
375
+ .readonly(),
376
+ z
377
+ .object({
378
+ ...lifecycleBase,
379
+ content: z.array(contentBlockSchema).min(1).max(100).readonly(),
380
+ disposition: shortString.optional(),
381
+ kind: z.literal("prompt.requested"),
382
+ context: promptExecutionContextSchema.optional(),
383
+ targetCommandId: identifier.optional(),
384
+ })
385
+ .readonly(),
386
+ z
387
+ .object({ ...lifecycleBase, attemptId: identifier, epoch: identifier, kind: z.literal("prompt.started") })
388
+ .readonly(),
389
+ z.object({ ...lifecycleBase, kind: z.literal("prompt.completed"), stopReason: shortString }).readonly(),
390
+ z
391
+ .object({
392
+ ...lifecycleBase,
393
+ code: identifier,
394
+ kind: z.literal("prompt.failed-before-start"),
395
+ message: z.string().min(1).max(500),
396
+ })
397
+ .readonly(),
398
+ z
399
+ .object({
400
+ ...lifecycleBase,
401
+ attemptId: identifier,
402
+ code: identifier,
403
+ kind: z.literal("prompt.failed"),
404
+ message: z.string().min(1).max(500),
405
+ })
406
+ .readonly(),
407
+ ]);
408
+ export const sessionEventPayloadSchema = z.discriminatedUnion("type", [
409
+ z.object({ payload: acpSessionUpdateSchema, type: z.literal("acp") }).readonly(),
410
+ z.object({ payload: lifecycleMetadataSchema, type: z.literal("lifecycle-metadata") }).readonly(),
411
+ ]);
412
+ const positionSchema = z.string().regex(/^(0|[1-9][0-9]*)$/);
413
+ const provenanceSchema = z.discriminatedUnion("kind", [
414
+ z.object({ kind: z.literal("original") }).readonly(),
415
+ z
416
+ .object({
417
+ kind: z.literal("imported"),
418
+ sourceEventId: identifier,
419
+ sourcePosition: positionSchema,
420
+ sourceSessionId: identifier,
421
+ })
422
+ .readonly(),
423
+ z
424
+ .object({
425
+ kind: z.literal("forked"),
426
+ sourceEventId: identifier,
427
+ sourcePosition: positionSchema,
428
+ sourceSessionId: identifier,
429
+ })
430
+ .readonly(),
431
+ ]);
432
+ const sharedSessionEventFields = {
433
+ eventId: identifier,
434
+ mobiusMetadata: z
435
+ .object({ omitted: z.literal(true).optional() })
436
+ .readonly()
437
+ .optional(),
438
+ provenance: provenanceSchema.optional(),
439
+ recordedAt: z.iso.datetime({ offset: true }),
440
+ sessionGenerationId: identifier,
441
+ sessionId: identifier,
442
+ };
443
+ const sessionLiveEventFields = { ...sharedSessionEventFields, position: positionSchema };
444
+ export const sessionEventSchema = z.discriminatedUnion("type", [
445
+ z.object({ ...sharedSessionEventFields, payload: acpSessionUpdateSchema, type: z.literal("acp") }).readonly(),
446
+ z
447
+ .object({
448
+ ...sharedSessionEventFields,
449
+ payload: lifecycleMetadataSchema,
450
+ type: z.literal("lifecycle-metadata"),
451
+ })
452
+ .readonly(),
453
+ ]);
454
+ export const sessionLiveEventSchema = z.discriminatedUnion("type", [
455
+ z.object({ ...sessionLiveEventFields, payload: acpSessionUpdateSchema, type: z.literal("acp") }).readonly(),
456
+ z
457
+ .object({
458
+ ...sessionLiveEventFields,
459
+ payload: lifecycleMetadataSchema,
460
+ type: z.literal("lifecycle-metadata"),
461
+ })
462
+ .readonly(),
463
+ ]);
464
+ export const sessionEventBatchSchema = z.array(sessionEventSchema).min(1).max(SESSION_EVENT_BATCH_MAX_SIZE).readonly();
465
+ export const sessionLiveEventBatchSchema = z
466
+ .array(sessionLiveEventSchema)
467
+ .min(1)
468
+ .max(SESSION_EVENT_BATCH_MAX_SIZE)
469
+ .readonly();
470
+ const sessionExportSchema = z
471
+ .object({
472
+ binding: z
473
+ .object({
474
+ bindingId: identifier,
475
+ runtimeId: identifier,
476
+ })
477
+ .readonly(),
478
+ events: z.array(sessionEventSchema).max(MAX_EVENT_COUNT).readonly(),
479
+ sessionId: identifier,
480
+ truncated: z.boolean(),
481
+ })
482
+ .readonly()
483
+ .superRefine((session, context) => {
484
+ const eventIds = new Set();
485
+ for (const [index, event] of session.events.entries()) {
486
+ if (event.sessionId !== session.sessionId) {
487
+ context.addIssue({
488
+ code: "custom",
489
+ message: "Exported event belongs to a different Session",
490
+ path: ["events", index, "sessionId"],
491
+ });
492
+ }
493
+ if (eventIds.has(event.eventId)) {
494
+ context.addIssue({
495
+ code: "custom",
496
+ message: "Exported event identities are not unique",
497
+ path: ["events", index, "eventId"],
498
+ });
499
+ }
500
+ eventIds.add(event.eventId);
501
+ }
502
+ });
503
+ export const mobiusSessionExportSchema = z
504
+ .object({
505
+ formatVersion: z.literal("2"),
506
+ session: sessionExportSchema,
507
+ })
508
+ .readonly();
509
+ export const sessionEventEnvelopeSchema = z
510
+ .object({ events: sessionLiveEventBatchSchema, kind: z.literal(SESSION_EVENT_KIND) })
511
+ .readonly();
512
+ export const sessionEventLogPageSchema = z
513
+ .object({
514
+ events: z.array(sessionEventSchema).max(MAX_EVENT_COUNT).readonly(),
515
+ nextCursor: z.string().min(1).max(512).nullable(),
516
+ sessionGenerationId: identifier,
517
+ tailCursor: z.string().max(512),
518
+ truncated: z.boolean(),
519
+ version: z.literal(2),
520
+ })
521
+ .readonly();
522
+ export const sessionEventOmissionSchema = z.literal("agent-reasoning");
523
+ export const nativeEventPageRequestSchema = z
524
+ .object({
525
+ cursor: z.string().min(1).max(512).nullable(),
526
+ eventLimit: z.number().int().min(1).max(10_000),
527
+ omit: z.array(sessionEventOmissionSchema).max(1).readonly().optional(),
528
+ })
529
+ .readonly();
530
+ const queuedPromptRequestEventLogSchema = z
531
+ .object({
532
+ commandId: identifier,
533
+ content: z.array(contentBlockSchema).min(1).max(100).readonly(),
534
+ disposition: shortString.optional(),
535
+ targetCommandId: identifier.optional(),
536
+ })
537
+ .readonly();
538
+ export const nativeSessionEventsSchema = z
539
+ .object({
540
+ events: sessionEventLogPageSchema,
541
+ queuedPromptRequests: z.array(queuedPromptRequestEventLogSchema).max(MAX_COLLECTION_SIZE).readonly(),
542
+ })
543
+ .readonly();
544
+ function inputValue(value) {
545
+ if (typeof value !== "string") {
546
+ return value;
547
+ }
548
+ try {
549
+ return JSON.parse(value);
550
+ }
551
+ catch (cause) {
552
+ throw new ProtocolMessageError("Session Event Log V2 message is not valid JSON", { cause });
553
+ }
554
+ }
555
+ function decode(value, schema) {
556
+ const result = schema.safeParse(inputValue(value));
557
+ if (!result.success) {
558
+ throw new ProtocolMessageError("Session Event Log V2 message does not match its schema", {
559
+ cause: result.error,
560
+ });
561
+ }
562
+ return result.data;
563
+ }
564
+ function encode(value, schema) {
565
+ return JSON.stringify(decode(value, schema));
566
+ }
567
+ export const decodeSessionEvent = (value) => decode(value, sessionEventSchema);
568
+ export const encodeSessionEvent = (value) => encode(value, sessionEventSchema);
569
+ export const decodeSessionLiveEvent = (value) => decode(value, sessionLiveEventSchema);
570
+ export const encodeSessionLiveEvent = (value) => encode(value, sessionLiveEventSchema);
571
+ export const decodeSessionEventBatch = (value) => decode(value, sessionEventBatchSchema);
572
+ export const encodeSessionEventBatch = (value) => encode(value, sessionEventBatchSchema);
573
+ export const decodeSessionLiveEventBatch = (value) => decode(value, sessionLiveEventBatchSchema);
574
+ export const encodeSessionLiveEventBatch = (value) => encode(value, sessionLiveEventBatchSchema);
575
+ export const decodeMobiusSessionExport = (value) => decode(value, mobiusSessionExportSchema);
576
+ export const encodeMobiusSessionExport = (value) => encode(value, mobiusSessionExportSchema);
577
+ export const decodeSessionEventEnvelope = (value) => decode(value, sessionEventEnvelopeSchema);
578
+ export const encodeSessionEventEnvelope = (value) => encode(value, sessionEventEnvelopeSchema);
579
+ export const decodeAcpSessionUpdate = (value) => decode(value, acpSessionUpdateSchema);
580
+ export const decodeSessionEventLogPage = (value) => decode(value, sessionEventLogPageSchema);
581
+ export const encodeSessionEventLogPage = (value) => encode(value, sessionEventLogPageSchema);
582
+ export const decodeNativeSessionEvents = (value) => decode(value, nativeSessionEventsSchema);
583
+ export const encodeNativeSessionEvents = (value) => encode(value, nativeSessionEventsSchema);
584
+ //# sourceMappingURL=session-event-log.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-event-log.js","sourceRoot":"","sources":["../../src/protocol/session-event-log.ts"],"names":[],"mappings":"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"}