@moxt-ai/mobius 0.0.164 → 0.0.166

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.js CHANGED
@@ -19791,6 +19791,7 @@ var SESSION_LIST_KIND = "session.list";
19791
19791
  var SESSION_LISTED_KIND = "session.listed";
19792
19792
  var SESSION_QUERY_KIND = "session.query";
19793
19793
  var SESSION_QUERIED_KIND = "session.queried";
19794
+ var SESSION_STATUS_CHANGED_KIND = "session.status.changed";
19794
19795
  var SESSION_CONFIGURE_KIND = "session.configure";
19795
19796
  var SESSION_CONFIG_UPDATED_KIND = "session.config.updated";
19796
19797
  var SESSION_USAGE_UPDATED_KIND = "session.usage.updated";
@@ -19826,48 +19827,61 @@ var DIRECTORY_IDENTIFIER_PATTERN = /^[a-zA-Z0-9][a-zA-Z0-9_-]{0,2047}$/;
19826
19827
  var DIRECTORY_IDENTIFIER = external_exports.string().min(1).max(2048).regex(DIRECTORY_IDENTIFIER_PATTERN);
19827
19828
  var SHORT_TEXT = external_exports.string().max(500);
19828
19829
  var LONG_TEXT = external_exports.string().max(1e5);
19829
- var workspaceEntrySchema = external_exports.strictObject({
19830
+ var workspaceEntrySchema = external_exports.object({
19830
19831
  directoryId: DIRECTORY_IDENTIFIER,
19831
19832
  name: external_exports.string().min(1).max(255)
19832
19833
  }).readonly();
19833
- var sessionMetadataSchema = external_exports.strictObject({
19834
+ var sessionStatusSchema = external_exports.discriminatedUnion("kind", [
19835
+ external_exports.object({ kind: external_exports.literal("idle") }).readonly(),
19836
+ external_exports.object({
19837
+ commandId: identifierStringSchema,
19838
+ kind: external_exports.literal("working")
19839
+ }).readonly()
19840
+ ]);
19841
+ var sessionStatusChangedEventSchema = external_exports.object({
19842
+ kind: external_exports.literal(SESSION_STATUS_CHANGED_KIND),
19843
+ sessionId: identifierStringSchema,
19844
+ status: sessionStatusSchema
19845
+ }).readonly();
19846
+ var sessionMetadataSchema = external_exports.object({
19834
19847
  additionalDirectories: external_exports.array(workspaceEntrySchema).max(16).readonly(),
19835
19848
  agentId: identifierStringSchema,
19836
19849
  directoryId: DIRECTORY_IDENTIFIER,
19837
19850
  directoryLabel: external_exports.string().min(1).max(2048),
19838
19851
  prompted: external_exports.boolean(),
19839
19852
  sessionId: identifierStringSchema,
19853
+ status: sessionStatusSchema.default({ kind: "idle" }),
19840
19854
  title: external_exports.string().max(500),
19841
19855
  updatedAt: external_exports.iso.datetime({ offset: true })
19842
19856
  }).readonly();
19843
- var sessionListCommandSchema = external_exports.strictObject({
19857
+ var sessionListCommandSchema = external_exports.object({
19844
19858
  kind: external_exports.literal(SESSION_LIST_KIND),
19845
19859
  limit: external_exports.number().int().positive().max(500),
19846
19860
  requestId: identifierStringSchema
19847
19861
  }).readonly();
19848
- var sessionsListedEventSchema = external_exports.strictObject({
19862
+ var sessionsListedEventSchema = external_exports.object({
19849
19863
  entries: external_exports.array(sessionMetadataSchema).max(500).readonly(),
19850
19864
  kind: external_exports.literal(SESSION_LISTED_KIND),
19851
19865
  requestId: identifierStringSchema
19852
19866
  }).readonly();
19853
- var sessionQueryCommandSchema = external_exports.strictObject({
19867
+ var sessionQueryCommandSchema = external_exports.object({
19854
19868
  kind: external_exports.literal(SESSION_QUERY_KIND),
19855
19869
  requestId: identifierStringSchema,
19856
19870
  sessionIds: external_exports.array(identifierStringSchema).min(1).max(500).readonly()
19857
19871
  }).readonly();
19858
- var sessionsQueriedEventSchema = external_exports.strictObject({
19872
+ var sessionsQueriedEventSchema = external_exports.object({
19859
19873
  entries: external_exports.array(sessionMetadataSchema).max(500).readonly(),
19860
19874
  kind: external_exports.literal(SESSION_QUERIED_KIND),
19861
19875
  requestId: identifierStringSchema
19862
19876
  }).readonly();
19863
- var fileReadCommandSchema = external_exports.strictObject({
19877
+ var fileReadCommandSchema = external_exports.object({
19864
19878
  kind: external_exports.literal(FILE_READ_KIND),
19865
19879
  maxBytes: external_exports.number().int().positive().max(128 * 1024 * 1024),
19866
19880
  requestId: identifierStringSchema,
19867
19881
  sessionId: identifierStringSchema,
19868
19882
  path: external_exports.string().min(1).max(4096)
19869
19883
  }).readonly();
19870
- var fileBeginEventSchema = external_exports.strictObject({
19884
+ var fileBeginEventSchema = external_exports.object({
19871
19885
  byteLength: external_exports.number().int().positive().max(128 * 1024 * 1024),
19872
19886
  kind: external_exports.literal(FILE_BEGIN_KIND),
19873
19887
  mediaType: external_exports.string().min(1).max(255),
@@ -19876,26 +19890,26 @@ var fileBeginEventSchema = external_exports.strictObject({
19876
19890
  requestId: identifierStringSchema,
19877
19891
  sessionId: identifierStringSchema
19878
19892
  }).readonly();
19879
- var fileChunkEventSchema = external_exports.strictObject({
19893
+ var fileChunkEventSchema = external_exports.object({
19880
19894
  data: external_exports.string().min(1).max(4e5),
19881
19895
  kind: external_exports.literal(FILE_CHUNK_KIND),
19882
19896
  requestId: identifierStringSchema,
19883
19897
  sequence: external_exports.number().int().nonnegative().max(1024),
19884
19898
  sessionId: identifierStringSchema
19885
19899
  }).readonly();
19886
- var fileEndEventSchema = external_exports.strictObject({
19900
+ var fileEndEventSchema = external_exports.object({
19887
19901
  kind: external_exports.literal(FILE_END_KIND),
19888
19902
  requestId: identifierStringSchema,
19889
19903
  sessionId: identifierStringSchema
19890
19904
  }).readonly();
19891
- var fileFailedEventSchema = external_exports.strictObject({
19905
+ var fileFailedEventSchema = external_exports.object({
19892
19906
  code: identifierStringSchema,
19893
19907
  kind: external_exports.literal(FILE_FAILED_KIND),
19894
19908
  message: external_exports.string().min(1).max(500),
19895
19909
  requestId: identifierStringSchema,
19896
19910
  sessionId: identifierStringSchema
19897
19911
  }).readonly();
19898
- var configValueSchema = external_exports.strictObject({
19912
+ var configValueSchema = external_exports.object({
19899
19913
  description: SHORT_TEXT,
19900
19914
  groupId: external_exports.string().max(128),
19901
19915
  groupName: external_exports.string().max(255),
@@ -19906,7 +19920,7 @@ var configValueSchema = external_exports.strictObject({
19906
19920
  // by length alone.
19907
19921
  value: external_exports.string().max(500)
19908
19922
  }).readonly();
19909
- var sessionConfigOptionSchema = external_exports.strictObject({
19923
+ var sessionConfigOptionSchema = external_exports.object({
19910
19924
  booleanValue: external_exports.boolean(),
19911
19925
  category: external_exports.string().max(128),
19912
19926
  currentValue: external_exports.string().max(500),
@@ -19917,7 +19931,7 @@ var sessionConfigOptionSchema = external_exports.strictObject({
19917
19931
  values: external_exports.array(configValueSchema).max(500).readonly()
19918
19932
  }).readonly();
19919
19933
  var sessionConfigOptionsSchema = external_exports.array(sessionConfigOptionSchema).max(100).readonly();
19920
- var agentSettingSchema = external_exports.strictObject({
19934
+ var agentSettingSchema = external_exports.object({
19921
19935
  booleanValue: external_exports.boolean(),
19922
19936
  category: external_exports.string().max(128),
19923
19937
  defaultValue: external_exports.string().max(500),
@@ -19936,20 +19950,20 @@ var agentModelEffortResolutionSchema = external_exports.enum([
19936
19950
  AGENT_MODEL_EFFORT_RESOLUTION_ON_MODEL_SELECTION,
19937
19951
  AGENT_MODEL_EFFORT_RESOLUTION_UNAVAILABLE
19938
19952
  ]);
19939
- var agentModelEffortSchema = external_exports.strictObject({
19953
+ var agentModelEffortSchema = external_exports.object({
19940
19954
  effortSettingId: external_exports.string().max(128),
19941
19955
  modelSettingId: external_exports.string().max(128),
19942
19956
  resolution: agentModelEffortResolutionSchema,
19943
19957
  unsupportedModelIds: external_exports.array(external_exports.string().min(1).max(500)).max(500).readonly().default([]),
19944
19958
  valuesByModel: external_exports.record(external_exports.string().min(1).max(500), external_exports.array(configValueSchema).max(500).readonly()).readonly()
19945
19959
  }).readonly();
19946
- var agentSettingsDiscoverCommandSchema = external_exports.strictObject({
19960
+ var agentSettingsDiscoverCommandSchema = external_exports.object({
19947
19961
  agentId: identifierStringSchema,
19948
19962
  kind: external_exports.literal(AGENT_SETTINGS_DISCOVER_KIND),
19949
19963
  model: external_exports.string().min(1).max(500).optional(),
19950
19964
  requestId: identifierStringSchema
19951
19965
  }).readonly();
19952
- var agentSettingsDiscoveredEventSchema = external_exports.strictObject({
19966
+ var agentSettingsDiscoveredEventSchema = external_exports.object({
19953
19967
  agentId: identifierStringSchema,
19954
19968
  agentName: external_exports.string().max(255),
19955
19969
  agentVersion: external_exports.string().max(128),
@@ -19959,27 +19973,27 @@ var agentSettingsDiscoveredEventSchema = external_exports.strictObject({
19959
19973
  settings: agentSettingsSchema,
19960
19974
  settingsRevision: external_exports.string().regex(/^[a-f0-9]{64}$/)
19961
19975
  }).readonly();
19962
- var agentSettingsDiscoveryFailedEventSchema = external_exports.strictObject({
19976
+ var agentSettingsDiscoveryFailedEventSchema = external_exports.object({
19963
19977
  code: identifierStringSchema,
19964
19978
  kind: external_exports.literal(AGENT_SETTINGS_DISCOVERY_FAILED_KIND),
19965
19979
  message: external_exports.string().min(1).max(500),
19966
19980
  requestId: identifierStringSchema
19967
19981
  }).readonly();
19968
- var agentCatalogRefreshCommandSchema = external_exports.strictObject({
19982
+ var agentCatalogRefreshCommandSchema = external_exports.object({
19969
19983
  kind: external_exports.literal(AGENT_CATALOG_REFRESH_KIND),
19970
19984
  requestId: identifierStringSchema
19971
19985
  }).readonly();
19972
- var agentCatalogRefreshedEventSchema = external_exports.strictObject({
19986
+ var agentCatalogRefreshedEventSchema = external_exports.object({
19973
19987
  kind: external_exports.literal(AGENT_CATALOG_REFRESHED_KIND),
19974
19988
  requestId: identifierStringSchema
19975
19989
  }).readonly();
19976
- var agentCatalogRefreshFailedEventSchema = external_exports.strictObject({
19990
+ var agentCatalogRefreshFailedEventSchema = external_exports.object({
19977
19991
  code: identifierStringSchema,
19978
19992
  kind: external_exports.literal(AGENT_CATALOG_REFRESH_FAILED_KIND),
19979
19993
  message: external_exports.string().min(1).max(500),
19980
19994
  requestId: identifierStringSchema
19981
19995
  }).readonly();
19982
- var sessionConfigurationSelectionSchema = external_exports.strictObject({
19996
+ var sessionConfigurationSelectionSchema = external_exports.object({
19983
19997
  booleanValue: external_exports.boolean(),
19984
19998
  configId: identifierStringSchema,
19985
19999
  value: external_exports.string().max(500),
@@ -19993,7 +20007,7 @@ var AGENT_PERMISSION_MODES = Object.freeze([
19993
20007
  "workspace-write",
19994
20008
  "danger-full-access"
19995
20009
  ]);
19996
- var agentExecutionConfigurationSchema = external_exports.strictObject({
20010
+ var agentExecutionConfigurationSchema = external_exports.object({
19997
20011
  model: sessionConfigurationSelectionSchema,
19998
20012
  permissionMode: external_exports.string().refine((value) => AGENT_PERMISSION_MODES.includes(value)),
19999
20013
  reasoningEffort: sessionConfigurationSelectionSchema
@@ -20037,7 +20051,7 @@ var sessionConfigurationSelectionsSchema = external_exports.array(sessionConfigu
20037
20051
  identifiers.add(selection.configId);
20038
20052
  }
20039
20053
  }).readonly();
20040
- var sessionCapabilitiesSchema = external_exports.strictObject({
20054
+ var sessionCapabilitiesSchema = external_exports.object({
20041
20055
  additionalDirectories: external_exports.boolean(),
20042
20056
  audioPrompt: external_exports.boolean(),
20043
20057
  closeSession: external_exports.boolean(),
@@ -20051,22 +20065,22 @@ var sessionCapabilitiesSchema = external_exports.strictObject({
20051
20065
  steering: external_exports.boolean().default(false),
20052
20066
  unstableForkSession: external_exports.boolean().default(false)
20053
20067
  }).readonly();
20054
- var sessionCommandSchema = external_exports.strictObject({
20068
+ var sessionCommandSchema = external_exports.object({
20055
20069
  description: SHORT_TEXT,
20056
20070
  inputHint: external_exports.string().max(255),
20057
20071
  name: external_exports.string().min(1).max(128)
20058
20072
  }).readonly();
20059
- var permissionOptionSchema = external_exports.strictObject({
20073
+ var permissionOptionSchema = external_exports.object({
20060
20074
  kind: external_exports.enum(["allow_once", "allow_always", "reject_once", "reject_always"]),
20061
20075
  name: external_exports.string().min(1).max(255),
20062
20076
  optionId: external_exports.string().min(1).max(255)
20063
20077
  }).readonly();
20064
- var elicitationOptionSchema = external_exports.strictObject({
20078
+ var elicitationOptionSchema = external_exports.object({
20065
20079
  description: SHORT_TEXT,
20066
20080
  label: external_exports.string().min(1).max(255),
20067
20081
  value: external_exports.string().max(500)
20068
20082
  }).readonly();
20069
- var elicitationFieldSchema = external_exports.strictObject({
20083
+ var elicitationFieldSchema = external_exports.object({
20070
20084
  defaultBooleanValue: external_exports.boolean(),
20071
20085
  defaultNumberValue: external_exports.number().finite(),
20072
20086
  defaultStringValue: external_exports.string().max(1e4),
@@ -20084,7 +20098,7 @@ var elicitationFieldSchema = external_exports.strictObject({
20084
20098
  title: external_exports.string().min(1).max(255),
20085
20099
  type: external_exports.enum(["boolean", "integer", "multiselect", "number", "select", "string"])
20086
20100
  }).readonly();
20087
- var displayContentSchema = external_exports.strictObject({
20101
+ var displayContentSchema = external_exports.object({
20088
20102
  artifactId: external_exports.string().max(128).default(""),
20089
20103
  data: external_exports.string().max(4e6),
20090
20104
  mimeType: external_exports.string().max(255),
@@ -20097,7 +20111,7 @@ var displayContentSchema = external_exports.strictObject({
20097
20111
  type: external_exports.enum(["diff", "image", "resource", "resource_link", "terminal", "text", "video"]),
20098
20112
  uri: external_exports.string().max(4096)
20099
20113
  }).readonly();
20100
- var recordedDisplayContentSchema = external_exports.strictObject({
20114
+ var recordedDisplayContentSchema = external_exports.object({
20101
20115
  artifactId: external_exports.string().max(128).default(""),
20102
20116
  data: external_exports.string().max(4e6),
20103
20117
  mimeType: external_exports.string().max(255),
@@ -20110,25 +20124,25 @@ var recordedDisplayContentSchema = external_exports.strictObject({
20110
20124
  type: external_exports.enum(["diff", "image", "resource", "resource_link", "terminal", "text", "video"]),
20111
20125
  uri: external_exports.string().max(4096)
20112
20126
  }).readonly();
20113
- var promptImageSchema = external_exports.strictObject({
20127
+ var promptImageSchema = external_exports.object({
20114
20128
  data: external_exports.string().min(1).max(4e6),
20115
20129
  mimeType: external_exports.string().min(1).max(255),
20116
20130
  name: external_exports.string().min(1).max(500)
20117
20131
  }).readonly();
20118
- var promptResourceSchema = external_exports.strictObject({
20132
+ var promptResourceSchema = external_exports.object({
20119
20133
  mimeType: external_exports.string().max(255),
20120
20134
  name: external_exports.string().min(1).max(500),
20121
20135
  text: external_exports.string().max(1e6),
20122
20136
  type: external_exports.enum(["embedded", "link"]),
20123
20137
  uri: external_exports.string().min(1).max(4096)
20124
20138
  }).readonly();
20125
- var workspaceListCommandSchema = external_exports.strictObject({
20139
+ var workspaceListCommandSchema = external_exports.object({
20126
20140
  bindingId: identifierStringSchema,
20127
20141
  directoryId: DIRECTORY_IDENTIFIER,
20128
20142
  kind: external_exports.literal(WORKSPACE_LIST_KIND),
20129
20143
  requestId: identifierStringSchema
20130
20144
  }).readonly();
20131
- var workspaceEntriesEventSchema = external_exports.strictObject({
20145
+ var workspaceEntriesEventSchema = external_exports.object({
20132
20146
  bindingId: identifierStringSchema,
20133
20147
  directoryId: DIRECTORY_IDENTIFIER,
20134
20148
  directoryLabel: external_exports.string().min(1).max(2048),
@@ -20144,9 +20158,9 @@ var sessionIdentityFields = {
20144
20158
  directoryId: DIRECTORY_IDENTIFIER,
20145
20159
  sessionId: identifierStringSchema
20146
20160
  };
20147
- var sessionPrepareCommandSchema = external_exports.strictObject({
20161
+ var sessionPrepareCommandSchema = external_exports.object({
20148
20162
  ...sessionIdentityFields,
20149
- configuration: external_exports.strictObject({
20163
+ configuration: external_exports.object({
20150
20164
  booleanValue: external_exports.boolean(),
20151
20165
  configId: external_exports.string().min(1).max(128),
20152
20166
  value: external_exports.string().max(500),
@@ -20167,12 +20181,12 @@ var sessionPrepareCommandSchema = external_exports.strictObject({
20167
20181
  }
20168
20182
  }).readonly();
20169
20183
  var runtimeTimingsSchema = external_exports.array(
20170
- external_exports.strictObject({
20184
+ external_exports.object({
20171
20185
  durationMilliseconds: external_exports.number().finite().nonnegative().max(12e4),
20172
20186
  name: external_exports.string().regex(/^[a-z][a-z0-9-]{0,63}$/)
20173
20187
  }).readonly()
20174
20188
  ).max(16).readonly();
20175
- var sessionReadyEventSchema = external_exports.strictObject({
20189
+ var sessionReadyEventSchema = external_exports.object({
20176
20190
  additionalDirectories: external_exports.array(workspaceEntrySchema).max(16).readonly(),
20177
20191
  agentId: identifierStringSchema,
20178
20192
  agentName: external_exports.string().max(255),
@@ -20188,7 +20202,7 @@ var sessionReadyEventSchema = external_exports.strictObject({
20188
20202
  runtimeTimings: runtimeTimingsSchema.optional(),
20189
20203
  sessionId: identifierStringSchema
20190
20204
  }).readonly();
20191
- var sessionConfigureCommandSchema = external_exports.strictObject({
20205
+ var sessionConfigureCommandSchema = external_exports.object({
20192
20206
  ...sessionIdentityFields,
20193
20207
  booleanValue: external_exports.boolean(),
20194
20208
  configId: external_exports.string().min(1).max(128),
@@ -20197,13 +20211,13 @@ var sessionConfigureCommandSchema = external_exports.strictObject({
20197
20211
  value: external_exports.string().max(500),
20198
20212
  valueType: external_exports.enum(["boolean", "select"])
20199
20213
  }).readonly();
20200
- var sessionConfigUpdatedEventSchema = external_exports.strictObject({
20214
+ var sessionConfigUpdatedEventSchema = external_exports.object({
20201
20215
  configOptions: sessionConfigOptionsSchema,
20202
20216
  kind: external_exports.literal(SESSION_CONFIG_UPDATED_KIND),
20203
20217
  requestId: identifierStringSchema,
20204
20218
  sessionId: identifierStringSchema
20205
20219
  }).readonly();
20206
- var sessionContextUsageUpdatedEventSchema = external_exports.strictObject({
20220
+ var sessionContextUsageUpdatedEventSchema = external_exports.object({
20207
20221
  costAmount: external_exports.number().finite().nonnegative(),
20208
20222
  costCurrency: external_exports.string().max(16),
20209
20223
  hasCost: external_exports.boolean(),
@@ -20213,7 +20227,7 @@ var sessionContextUsageUpdatedEventSchema = external_exports.strictObject({
20213
20227
  source: external_exports.literal("context").default("context"),
20214
20228
  used: external_exports.number().int().nonnegative()
20215
20229
  }).readonly();
20216
- var sessionPromptUsageUpdatedEventSchema = external_exports.strictObject({
20230
+ var sessionPromptUsageUpdatedEventSchema = external_exports.object({
20217
20231
  _meta: promptMetadataSchema.nullable(),
20218
20232
  commandId: identifierStringSchema,
20219
20233
  kind: external_exports.literal(SESSION_USAGE_UPDATED_KIND),
@@ -20225,18 +20239,18 @@ var sessionUsageUpdatedEventSchema = external_exports.union([
20225
20239
  sessionContextUsageUpdatedEventSchema,
20226
20240
  sessionPromptUsageUpdatedEventSchema
20227
20241
  ]);
20228
- var sessionCommandsUpdatedEventSchema = external_exports.strictObject({
20242
+ var sessionCommandsUpdatedEventSchema = external_exports.object({
20229
20243
  commands: external_exports.array(sessionCommandSchema).max(500).readonly(),
20230
20244
  kind: external_exports.literal(SESSION_COMMANDS_UPDATED_KIND),
20231
20245
  sessionId: identifierStringSchema
20232
20246
  }).readonly();
20233
- var sessionInfoUpdatedEventSchema = external_exports.strictObject({
20247
+ var sessionInfoUpdatedEventSchema = external_exports.object({
20234
20248
  kind: external_exports.literal(SESSION_INFO_UPDATED_KIND),
20235
20249
  sessionId: identifierStringSchema,
20236
20250
  title: external_exports.string().max(500).nullable(),
20237
20251
  updatedAt: external_exports.string().max(128)
20238
20252
  }).readonly();
20239
- var sessionPermissionRequestedEventSchema = external_exports.strictObject({
20253
+ var sessionPermissionRequestedEventSchema = external_exports.object({
20240
20254
  commandId: identifierStringSchema,
20241
20255
  interactionId: identifierStringSchema,
20242
20256
  kind: external_exports.literal(SESSION_PERMISSION_REQUESTED_KIND),
@@ -20246,21 +20260,21 @@ var sessionPermissionRequestedEventSchema = external_exports.strictObject({
20246
20260
  toolCallId: external_exports.string().min(1).max(255),
20247
20261
  toolKind: external_exports.string().max(64)
20248
20262
  }).readonly();
20249
- var sessionPermissionRespondCommandSchema = external_exports.strictObject({
20263
+ var sessionPermissionRespondCommandSchema = external_exports.object({
20250
20264
  interactionId: identifierStringSchema,
20251
20265
  kind: external_exports.literal(SESSION_PERMISSION_RESPOND_KIND),
20252
20266
  optionId: external_exports.string().max(255),
20253
20267
  outcome: external_exports.enum(["cancelled", "selected"]),
20254
20268
  sessionId: identifierStringSchema
20255
20269
  }).readonly();
20256
- var sessionPermissionResolvedEventSchema = external_exports.strictObject({
20270
+ var sessionPermissionResolvedEventSchema = external_exports.object({
20257
20271
  interactionId: identifierStringSchema,
20258
20272
  kind: external_exports.literal(SESSION_PERMISSION_RESOLVED_KIND),
20259
20273
  optionId: external_exports.string().max(255),
20260
20274
  outcome: external_exports.enum(["cancelled", "selected"]),
20261
20275
  sessionId: identifierStringSchema
20262
20276
  }).readonly();
20263
- var sessionElicitationRequestedEventSchema = external_exports.strictObject({
20277
+ var sessionElicitationRequestedEventSchema = external_exports.object({
20264
20278
  accepted: external_exports.boolean(),
20265
20279
  commandId: identifierStringSchema,
20266
20280
  elicitationId: external_exports.string().max(255),
@@ -20272,20 +20286,20 @@ var sessionElicitationRequestedEventSchema = external_exports.strictObject({
20272
20286
  sessionId: identifierStringSchema,
20273
20287
  url: external_exports.string().max(4096)
20274
20288
  }).readonly();
20275
- var sessionElicitationRespondCommandSchema = external_exports.strictObject({
20289
+ var sessionElicitationRespondCommandSchema = external_exports.object({
20276
20290
  action: external_exports.enum(["accept", "cancel", "decline"]),
20277
20291
  content: external_exports.string().max(1e5),
20278
20292
  interactionId: identifierStringSchema,
20279
20293
  kind: external_exports.literal(SESSION_ELICITATION_RESPOND_KIND),
20280
20294
  sessionId: identifierStringSchema
20281
20295
  }).readonly();
20282
- var sessionElicitationResolvedEventSchema = external_exports.strictObject({
20296
+ var sessionElicitationResolvedEventSchema = external_exports.object({
20283
20297
  action: external_exports.enum(["accept", "cancel", "decline", "complete"]),
20284
20298
  interactionId: identifierStringSchema,
20285
20299
  kind: external_exports.literal(SESSION_ELICITATION_RESOLVED_KIND),
20286
20300
  sessionId: identifierStringSchema
20287
20301
  }).readonly();
20288
- var sessionOperationFailedEventSchema = external_exports.strictObject({
20302
+ var sessionOperationFailedEventSchema = external_exports.object({
20289
20303
  code: identifierStringSchema,
20290
20304
  kind: external_exports.literal(SESSION_OPERATION_FAILED_KIND),
20291
20305
  message: external_exports.string().min(1).max(500),
@@ -20293,7 +20307,7 @@ var sessionOperationFailedEventSchema = external_exports.strictObject({
20293
20307
  runtimeTimings: runtimeTimingsSchema.optional(),
20294
20308
  sessionId: external_exports.string().max(128)
20295
20309
  }).readonly();
20296
- var agentContentEventSchema = external_exports.strictObject({
20310
+ var agentContentEventSchema = external_exports.object({
20297
20311
  commandId: identifierStringSchema,
20298
20312
  content: displayContentSchema,
20299
20313
  contentId: identifierStringSchema,
@@ -20305,15 +20319,15 @@ var agentInstallIdentityFields = {
20305
20319
  agentId: identifierStringSchema,
20306
20320
  requestId: identifierStringSchema
20307
20321
  };
20308
- var agentInstallRequestCommandSchema = external_exports.strictObject({
20322
+ var agentInstallRequestCommandSchema = external_exports.object({
20309
20323
  ...agentInstallIdentityFields,
20310
20324
  kind: external_exports.literal(AGENT_INSTALL_REQUEST_KIND)
20311
20325
  }).readonly();
20312
- var agentInstallCancelCommandSchema = external_exports.strictObject({
20326
+ var agentInstallCancelCommandSchema = external_exports.object({
20313
20327
  kind: external_exports.literal(AGENT_INSTALL_CANCEL_KIND),
20314
20328
  requestId: identifierStringSchema
20315
20329
  }).readonly();
20316
- var agentInstallStartedEventSchema = external_exports.strictObject({
20330
+ var agentInstallStartedEventSchema = external_exports.object({
20317
20331
  ...agentInstallIdentityFields,
20318
20332
  kind: external_exports.literal(AGENT_INSTALL_STARTED_KIND)
20319
20333
  }).readonly();
@@ -20324,23 +20338,23 @@ var installationStageSchema = external_exports.enum([
20324
20338
  "installing_adapter",
20325
20339
  "checking_acp"
20326
20340
  ]);
20327
- var agentInstallProgressEventSchema = external_exports.strictObject({
20341
+ var agentInstallProgressEventSchema = external_exports.object({
20328
20342
  ...agentInstallIdentityFields,
20329
20343
  kind: external_exports.literal(AGENT_INSTALL_PROGRESS_KIND),
20330
20344
  stage: installationStageSchema
20331
20345
  }).readonly();
20332
- var agentInstallCompletedEventSchema = external_exports.strictObject({
20346
+ var agentInstallCompletedEventSchema = external_exports.object({
20333
20347
  ...agentInstallIdentityFields,
20334
20348
  authenticationMayBeRequired: external_exports.boolean(),
20335
20349
  kind: external_exports.literal(AGENT_INSTALL_COMPLETED_KIND)
20336
20350
  }).readonly();
20337
- var agentInstallFailedEventSchema = external_exports.strictObject({
20351
+ var agentInstallFailedEventSchema = external_exports.object({
20338
20352
  ...agentInstallIdentityFields,
20339
20353
  code: identifierStringSchema,
20340
20354
  kind: external_exports.literal(AGENT_INSTALL_FAILED_KIND),
20341
20355
  message: external_exports.string().min(1).max(500)
20342
20356
  }).readonly();
20343
- var agentInstallCancelledEventSchema = external_exports.strictObject({
20357
+ var agentInstallCancelledEventSchema = external_exports.object({
20344
20358
  ...agentInstallIdentityFields,
20345
20359
  kind: external_exports.literal(AGENT_INSTALL_CANCELLED_KIND)
20346
20360
  }).readonly();
@@ -20411,6 +20425,8 @@ var decodeSessionQueryCommand = (encoded) => decode3(encoded, sessionQueryComman
20411
20425
  var encodeSessionQueryCommand = (message) => encode3(message, sessionQueryCommandSchema);
20412
20426
  var decodeSessionsQueriedEvent = (encoded) => decode3(encoded, sessionsQueriedEventSchema);
20413
20427
  var encodeSessionsQueriedEvent = (message) => encode3(message, sessionsQueriedEventSchema);
20428
+ var decodeSessionStatusChangedEvent = (encoded) => decode3(encoded, sessionStatusChangedEventSchema);
20429
+ var encodeSessionStatusChangedEvent = (message) => encode3(message, sessionStatusChangedEventSchema);
20414
20430
  var decodeSessionPrepareCommand = (encoded) => decode3(encoded, sessionPrepareCommandSchema);
20415
20431
  var encodeSessionPrepareCommand = (message) => encode3(message, sessionPrepareCommandSchema);
20416
20432
  var decodeSessionReadyEvent = (encoded) => decode3(encoded, sessionReadyEventSchema);
@@ -20501,6 +20517,17 @@ var ProtocolMessageError = class extends Error {
20501
20517
  this.name = "ProtocolMessageError";
20502
20518
  }
20503
20519
  };
20520
+ var UnsupportedProtocolMessageKindError = class extends Error {
20521
+ code = "unsupported_protocol_message_kind";
20522
+ direction;
20523
+ messageKind;
20524
+ constructor(direction, messageKind) {
20525
+ super(`Unsupported ${direction} message kind: ${messageKind}`);
20526
+ this.name = "UnsupportedProtocolMessageKindError";
20527
+ this.direction = direction;
20528
+ this.messageKind = messageKind;
20529
+ }
20530
+ };
20504
20531
  function isRecord(value) {
20505
20532
  return typeof value === "object" && value !== null && !Array.isArray(value);
20506
20533
  }
@@ -20518,13 +20545,6 @@ function parseJson2(encoded) {
20518
20545
  }
20519
20546
  return value;
20520
20547
  }
20521
- function assertExactKeys(value, allowedKeys) {
20522
- for (const key of Object.keys(value)) {
20523
- if (!allowedKeys.includes(key)) {
20524
- throw new ProtocolMessageError(`Unexpected message field: ${key}`);
20525
- }
20526
- }
20527
- }
20528
20548
  function readString(value, key, maximumLength) {
20529
20549
  const field = value[key];
20530
20550
  if (typeof field !== "string" || field.length === 0 || field.length > maximumLength) {
@@ -20615,18 +20635,15 @@ function readActivityDetail(value) {
20615
20635
  }
20616
20636
  const kind = readString(field, "kind", 32);
20617
20637
  if (kind === "available") {
20618
- assertExactKeys(field, ["artifactId", "kind"]);
20619
20638
  return {
20620
20639
  artifactId: readIdentifier(field, "artifactId"),
20621
20640
  kind
20622
20641
  };
20623
20642
  }
20624
20643
  if (kind === "unrecorded") {
20625
- assertExactKeys(field, ["kind"]);
20626
20644
  return { kind };
20627
20645
  }
20628
20646
  if (kind === "truncated") {
20629
- assertExactKeys(field, ["capturedBytes", "kind", "originalBytes"]);
20630
20647
  const capturedBytes = readSequence(field, "capturedBytes");
20631
20648
  const originalBytes = readSequence(field, "originalBytes");
20632
20649
  if (capturedBytes > originalBytes) {
@@ -20635,7 +20652,6 @@ function readActivityDetail(value) {
20635
20652
  return { capturedBytes, kind, originalBytes };
20636
20653
  }
20637
20654
  if (kind === "recorded") {
20638
- assertExactKeys(field, ["content", "input", "kind", "output"]);
20639
20655
  const contentValue = field["content"];
20640
20656
  if (!Array.isArray(contentValue) || contentValue.length > 100) {
20641
20657
  throw new ProtocolMessageError("Invalid recorded activity content");
@@ -20678,21 +20694,6 @@ function decodeMessageKind(encoded) {
20678
20694
  function decodeSessionPromptCommand(encoded) {
20679
20695
  const value = parseJson2(encoded);
20680
20696
  const hasSessionConfigurations = Object.hasOwn(value, "sessionConfigurations");
20681
- assertExactKeys(value, [
20682
- "additionalDirectoryIds",
20683
- "agentId",
20684
- "bindingId",
20685
- "commandId",
20686
- "directoryId",
20687
- "disposition",
20688
- "images",
20689
- "kind",
20690
- "prompt",
20691
- "resources",
20692
- ...hasSessionConfigurations ? ["sessionConfigurations"] : [],
20693
- "sessionId",
20694
- "targetCommandId"
20695
- ]);
20696
20697
  assertKind(value, SESSION_PROMPT_KIND);
20697
20698
  const prompt = readText(value, "prompt", MAX_PROMPT_LENGTH);
20698
20699
  const images = decodePromptImagesValue(value["images"]);
@@ -20732,7 +20733,6 @@ function decodeSessionPromptCommand(encoded) {
20732
20733
  }
20733
20734
  function decodeSessionCancelCommand(encoded) {
20734
20735
  const value = parseJson2(encoded);
20735
- assertExactKeys(value, ["commandId", "kind", "sessionId"]);
20736
20736
  assertKind(value, SESSION_CANCEL_KIND);
20737
20737
  return {
20738
20738
  commandId: readIdentifier(value, "commandId"),
@@ -20742,7 +20742,6 @@ function decodeSessionCancelCommand(encoded) {
20742
20742
  }
20743
20743
  function decodeSessionPromptDispositionCommand(encoded) {
20744
20744
  const value = parseJson2(encoded);
20745
- assertExactKeys(value, ["commandId", "disposition", "kind", "sessionId"]);
20746
20745
  assertKind(value, SESSION_PROMPT_DISPOSITION_KIND);
20747
20746
  if (readPromptDisposition(value) !== SessionPromptDisposition.Steer) {
20748
20747
  throw new ProtocolMessageError("Only queued prompts can be steered");
@@ -20756,7 +20755,6 @@ function decodeSessionPromptDispositionCommand(encoded) {
20756
20755
  }
20757
20756
  function decodeSessionQueuedEvent(encoded) {
20758
20757
  const value = parseJson2(encoded);
20759
- assertExactKeys(value, ["commandId", "kind", "sessionId"]);
20760
20758
  assertKind(value, SESSION_QUEUED_KIND);
20761
20759
  return {
20762
20760
  commandId: readIdentifier(value, "commandId"),
@@ -20767,12 +20765,10 @@ function decodeSessionQueuedEvent(encoded) {
20767
20765
  function decodeRuntimeLivenessReadyEvent(encoded) {
20768
20766
  const value = parseJson2(encoded);
20769
20767
  assertKind(value, RUNTIME_LIVENESS_READY_KIND);
20770
- assertExactKeys(value, ["kind"]);
20771
20768
  return { kind: RUNTIME_LIVENESS_READY_KIND };
20772
20769
  }
20773
20770
  function decodeRuntimeHeartbeatEvent(encoded) {
20774
20771
  const value = parseJson2(encoded);
20775
- assertExactKeys(value, ["heartbeatId", "kind"]);
20776
20772
  assertKind(value, RUNTIME_HEARTBEAT_KIND);
20777
20773
  return {
20778
20774
  heartbeatId: readIdentifier(value, "heartbeatId"),
@@ -20781,7 +20777,6 @@ function decodeRuntimeHeartbeatEvent(encoded) {
20781
20777
  }
20782
20778
  function decodeRuntimeHeartbeatAckEvent(encoded) {
20783
20779
  const value = parseJson2(encoded);
20784
- assertExactKeys(value, ["heartbeatId", "kind"]);
20785
20780
  assertKind(value, RUNTIME_HEARTBEAT_ACK_KIND);
20786
20781
  return {
20787
20782
  heartbeatId: readIdentifier(value, "heartbeatId"),
@@ -20790,7 +20785,6 @@ function decodeRuntimeHeartbeatAckEvent(encoded) {
20790
20785
  }
20791
20786
  function decodeSessionStartedEvent(encoded) {
20792
20787
  const value = parseJson2(encoded);
20793
- assertExactKeys(value, ["commandId", "epoch", "kind", "attemptId", "prompt", "sequence", "sessionId"]);
20794
20788
  assertKind(value, SESSION_STARTED_KIND);
20795
20789
  const sequence = readSequence(value, "sequence");
20796
20790
  if (sequence !== 0) {
@@ -20808,7 +20802,6 @@ function decodeSessionStartedEvent(encoded) {
20808
20802
  }
20809
20803
  function decodeAgentMessageDeltaEvent(encoded) {
20810
20804
  const value = parseJson2(encoded);
20811
- assertExactKeys(value, ["commandId", "epoch", "kind", "messageId", "sequence", "sessionId", "text"]);
20812
20805
  assertKind(value, AGENT_MESSAGE_DELTA_KIND);
20813
20806
  const sequence = readSequence(value, "sequence");
20814
20807
  if (sequence === 0) {
@@ -20826,23 +20819,6 @@ function decodeAgentMessageDeltaEvent(encoded) {
20826
20819
  }
20827
20820
  function decodeAgentActivityEvent(encoded) {
20828
20821
  const value = parseJson2(encoded);
20829
- assertExactKeys(value, [
20830
- "activityId",
20831
- "activityType",
20832
- "commandId",
20833
- "content",
20834
- "detail",
20835
- "input",
20836
- "kind",
20837
- "locations",
20838
- "name",
20839
- "output",
20840
- "sequence",
20841
- "sessionId",
20842
- "status",
20843
- "title",
20844
- "toolKind"
20845
- ]);
20846
20822
  assertKind(value, AGENT_ACTIVITY_KIND);
20847
20823
  return {
20848
20824
  activityId: readIdentifier(value, "activityId"),
@@ -20864,7 +20840,6 @@ function decodeAgentActivityEvent(encoded) {
20864
20840
  }
20865
20841
  function decodeSessionCompletedEvent(encoded) {
20866
20842
  const value = parseJson2(encoded);
20867
- assertExactKeys(value, ["commandId", "kind", "sessionId", "stopReason"]);
20868
20843
  assertKind(value, SESSION_COMPLETED_KIND);
20869
20844
  return {
20870
20845
  commandId: readIdentifier(value, "commandId"),
@@ -20875,7 +20850,6 @@ function decodeSessionCompletedEvent(encoded) {
20875
20850
  }
20876
20851
  function decodeSessionFailedEvent(encoded) {
20877
20852
  const value = parseJson2(encoded);
20878
- assertExactKeys(value, ["code", "commandId", "kind", "message", "sessionId"]);
20879
20853
  assertKind(value, SESSION_FAILED_KIND);
20880
20854
  return {
20881
20855
  code: readIdentifier(value, "code"),
@@ -20908,7 +20882,6 @@ function encodeRuntimeHeartbeatAckEvent(message) {
20908
20882
  }
20909
20883
  function decodeAgentActivityNarrationEvent(encoded) {
20910
20884
  const value = parseJson2(encoded);
20911
- assertExactKeys(value, ["activityId", "activityType", "commandId", "kind", "sequence", "sessionId", "text"]);
20912
20885
  assertKind(value, AGENT_ACTIVITY_NARRATION_KIND);
20913
20886
  return {
20914
20887
  activityId: readIdentifier(value, "activityId"),
@@ -20926,7 +20899,7 @@ var SESSION_HISTORY_CHARACTER_LIMIT = 256e3;
20926
20899
  var SESSION_HISTORY_MESSAGE_LIMIT = 1e3;
20927
20900
  var SESSION_HISTORY_PREVIEW_MESSAGE_LIMIT = 10;
20928
20901
  var SESSION_HISTORY_IMAGE_CHARACTER_LIMIT = 4e6;
20929
- var historyImage = external_exports.strictObject({
20902
+ var historyImage = external_exports.object({
20930
20903
  data: external_exports.string().min(4).max(SESSION_HISTORY_IMAGE_CHARACTER_LIMIT).refine((data) => data.length % 4 === 0 && /^[A-Za-z0-9+/]*={0,2}$/.test(data)),
20931
20904
  mimeType: external_exports.enum(["image/png", "image/jpeg", "image/gif", "image/webp"]),
20932
20905
  name: external_exports.string().min(1).max(500)
@@ -20953,7 +20926,7 @@ function parseNativeHistoryText(text2) {
20953
20926
  });
20954
20927
  return { text: plainText, images };
20955
20928
  }
20956
- var nativeMessageActivitySchema = external_exports.strictObject({
20929
+ var nativeMessageActivitySchema = external_exports.object({
20957
20930
  activityId: external_exports.string().min(1).max(128),
20958
20931
  activityType: external_exports.string().min(1).max(128),
20959
20932
  content: external_exports.array(displayContentSchema).max(100).readonly(),
@@ -20966,12 +20939,12 @@ var nativeMessageActivitySchema = external_exports.strictObject({
20966
20939
  title: external_exports.string().max(500),
20967
20940
  toolKind: external_exports.string().max(64)
20968
20941
  }).readonly();
20969
- var userHistoryMessage = external_exports.strictObject({
20942
+ var userHistoryMessage = external_exports.object({
20970
20943
  role: external_exports.literal("user"),
20971
20944
  text: external_exports.string().max(SESSION_HISTORY_CHARACTER_LIMIT),
20972
20945
  images: external_exports.array(historyImage).max(8).readonly().optional()
20973
20946
  }).readonly();
20974
- var assistantHistoryMessageSchema = external_exports.strictObject({
20947
+ var assistantHistoryMessageSchema = external_exports.object({
20975
20948
  activities: external_exports.array(nativeMessageActivitySchema).max(100).readonly().default([]),
20976
20949
  content: external_exports.array(displayContentSchema).max(100).readonly().default([]),
20977
20950
  role: external_exports.literal("assistant"),
@@ -20981,8 +20954,8 @@ var assistantHistoryMessageSchema = external_exports.strictObject({
20981
20954
  images: external_exports.array(historyImage).max(8).readonly().optional()
20982
20955
  }).readonly();
20983
20956
  var historyMessage = external_exports.discriminatedUnion("role", [userHistoryMessage, assistantHistoryMessageSchema]);
20984
- var availableSessionHistoryObjectSchema = external_exports.strictObject({
20985
- streamPosition: external_exports.strictObject({
20957
+ var availableSessionHistoryObjectSchema = external_exports.object({
20958
+ streamPosition: external_exports.object({
20986
20959
  commandId: identifierStringSchema,
20987
20960
  epoch: identifierStringSchema,
20988
20961
  sequence: external_exports.number().int().nonnegative()
@@ -20999,9 +20972,9 @@ var availableSessionHistoryObjectSchema = external_exports.strictObject({
20999
20972
  ).max(2e4).readonly().default([])
21000
20973
  });
21001
20974
  var availableSessionHistorySchema = availableSessionHistoryObjectSchema.readonly();
21002
- var unavailableSessionHistoryObjectSchema = external_exports.strictObject({
20975
+ var unavailableSessionHistoryObjectSchema = external_exports.object({
21003
20976
  status: external_exports.literal("unavailable"),
21004
- cause: external_exports.strictObject({
20977
+ cause: external_exports.object({
21005
20978
  code: external_exports.string().regex(/^[a-z][a-z0-9_]{0,127}$/),
21006
20979
  message: external_exports.string().min(1).max(1e3)
21007
20980
  }).readonly()
@@ -21034,7 +21007,7 @@ var envelope = {
21034
21007
  requestId: identifierStringSchema,
21035
21008
  sessionId: identifierStringSchema
21036
21009
  };
21037
- var activeTurnActivitySchema = external_exports.strictObject({
21010
+ var activeTurnActivitySchema = external_exports.object({
21038
21011
  activityId: external_exports.string().min(1).max(128),
21039
21012
  activityType: external_exports.string().min(1).max(128),
21040
21013
  content: external_exports.array(displayContentSchema).max(100).readonly(),
@@ -21047,13 +21020,13 @@ var activeTurnActivitySchema = external_exports.strictObject({
21047
21020
  title: external_exports.string().max(500),
21048
21021
  toolKind: external_exports.string().max(64)
21049
21022
  }).readonly();
21050
- var activeTurnUserMessageSchema = external_exports.strictObject({
21023
+ var activeTurnUserMessageSchema = external_exports.object({
21051
21024
  id: identifierStringSchema,
21052
21025
  images: external_exports.array(promptImageSchema).max(8).readonly().optional(),
21053
21026
  role: external_exports.literal("user"),
21054
21027
  text: external_exports.string().max(SESSION_HISTORY_CHARACTER_LIMIT)
21055
21028
  }).readonly();
21056
- var activeTurnAssistantMessageSchema = external_exports.strictObject({
21029
+ var activeTurnAssistantMessageSchema = external_exports.object({
21057
21030
  activities: external_exports.array(activeTurnActivitySchema).max(100).readonly().default([]),
21058
21031
  content: external_exports.array(displayContentSchema).max(100).readonly().default([]),
21059
21032
  id: identifierStringSchema,
@@ -21064,7 +21037,7 @@ var activeTurnMessageSchema = external_exports.discriminatedUnion("role", [
21064
21037
  activeTurnUserMessageSchema,
21065
21038
  activeTurnAssistantMessageSchema
21066
21039
  ]);
21067
- var activeTurnSnapshotSchema = external_exports.strictObject({
21040
+ var activeTurnSnapshotSchema = external_exports.object({
21068
21041
  commandId: identifierStringSchema,
21069
21042
  epoch: identifierStringSchema,
21070
21043
  hasOlder: external_exports.boolean(),
@@ -21089,64 +21062,64 @@ var identity = {
21089
21062
  directoryId
21090
21063
  };
21091
21064
  var nativeSessionRequestSchema = external_exports.discriminatedUnion("action", [
21092
- external_exports.strictObject({ ...identity, action: external_exports.literal("create") }).readonly(),
21093
- external_exports.strictObject({ ...identity, action: external_exports.literal("active-turn"), targetSessionId: identifierStringSchema }).readonly(),
21094
- external_exports.strictObject({ ...identity, action: external_exports.literal("preview"), entryId: identifierStringSchema }).readonly(),
21095
- external_exports.strictObject({ ...identity, action: external_exports.literal("history"), entryId: identifierStringSchema }).readonly(),
21096
- external_exports.strictObject({ ...identity, action: external_exports.literal("find"), nativeSessionId: identifierStringSchema }).readonly(),
21097
- external_exports.strictObject({
21065
+ external_exports.object({ ...identity, action: external_exports.literal("create") }).readonly(),
21066
+ external_exports.object({ ...identity, action: external_exports.literal("active-turn"), targetSessionId: identifierStringSchema }).readonly(),
21067
+ external_exports.object({ ...identity, action: external_exports.literal("preview"), entryId: identifierStringSchema }).readonly(),
21068
+ external_exports.object({ ...identity, action: external_exports.literal("history"), entryId: identifierStringSchema }).readonly(),
21069
+ external_exports.object({ ...identity, action: external_exports.literal("find"), nativeSessionId: identifierStringSchema }).readonly(),
21070
+ external_exports.object({
21098
21071
  ...identity,
21099
21072
  action: external_exports.literal("list"),
21100
21073
  cursor: identifierStringSchema.nullable()
21101
21074
  }).readonly(),
21102
- external_exports.strictObject({
21075
+ external_exports.object({
21103
21076
  ...identity,
21104
21077
  action: external_exports.enum(["import", "fork"]),
21105
21078
  entryId: identifierStringSchema,
21106
21079
  targetSessionId: identifierStringSchema
21107
21080
  }).readonly(),
21108
- external_exports.strictObject({
21081
+ external_exports.object({
21109
21082
  ...identity,
21110
21083
  action: external_exports.literal("fork-recorded"),
21111
21084
  targetSessionId: identifierStringSchema,
21112
21085
  throughCommandId: identifierStringSchema
21113
21086
  }).readonly(),
21114
- external_exports.strictObject({
21087
+ external_exports.object({
21115
21088
  ...identity,
21116
21089
  action: external_exports.literal("delete"),
21117
21090
  entryId: identifierStringSchema
21118
21091
  }).readonly()
21119
21092
  ]);
21120
21093
  var nativeSessionCommandSchema = external_exports.discriminatedUnion("action", [
21121
- external_exports.strictObject({ ...identity, action: external_exports.literal("create") }).readonly(),
21122
- external_exports.strictObject({ ...identity, action: external_exports.literal("active-turn"), targetSessionId: identifierStringSchema }).readonly(),
21123
- external_exports.strictObject({ ...identity, action: external_exports.literal("preview"), entryId: identifierStringSchema }).readonly(),
21124
- external_exports.strictObject({ ...identity, action: external_exports.literal("history"), entryId: identifierStringSchema }).readonly(),
21125
- external_exports.strictObject({ ...identity, action: external_exports.literal("find"), nativeSessionId: identifierStringSchema }).readonly(),
21126
- external_exports.strictObject({
21094
+ external_exports.object({ ...identity, action: external_exports.literal("create") }).readonly(),
21095
+ external_exports.object({ ...identity, action: external_exports.literal("active-turn"), targetSessionId: identifierStringSchema }).readonly(),
21096
+ external_exports.object({ ...identity, action: external_exports.literal("preview"), entryId: identifierStringSchema }).readonly(),
21097
+ external_exports.object({ ...identity, action: external_exports.literal("history"), entryId: identifierStringSchema }).readonly(),
21098
+ external_exports.object({ ...identity, action: external_exports.literal("find"), nativeSessionId: identifierStringSchema }).readonly(),
21099
+ external_exports.object({
21127
21100
  ...identity,
21128
21101
  action: external_exports.literal("list"),
21129
21102
  cursor: identifierStringSchema.nullable()
21130
21103
  }).readonly(),
21131
- external_exports.strictObject({
21104
+ external_exports.object({
21132
21105
  ...identity,
21133
21106
  action: external_exports.enum(["import", "fork"]),
21134
21107
  entryId: identifierStringSchema,
21135
21108
  targetSessionId: identifierStringSchema
21136
21109
  }).readonly(),
21137
- external_exports.strictObject({
21110
+ external_exports.object({
21138
21111
  ...identity,
21139
21112
  action: external_exports.literal("fork-recorded"),
21140
21113
  targetSessionId: identifierStringSchema,
21141
21114
  throughCommandId: identifierStringSchema
21142
21115
  }).readonly(),
21143
- external_exports.strictObject({
21116
+ external_exports.object({
21144
21117
  ...identity,
21145
21118
  action: external_exports.literal("delete"),
21146
21119
  entryId: identifierStringSchema
21147
21120
  }).readonly()
21148
21121
  ]);
21149
- var nativeSessionEntrySchema = external_exports.strictObject({
21122
+ var nativeSessionEntrySchema = external_exports.object({
21150
21123
  entryId: identifierStringSchema,
21151
21124
  mobiusSessionIds: external_exports.array(identifierStringSchema).max(500).readonly(),
21152
21125
  nativeSessionId: identifierStringSchema,
@@ -21154,20 +21127,20 @@ var nativeSessionEntrySchema = external_exports.strictObject({
21154
21127
  directoryId,
21155
21128
  directoryLabel: external_exports.string().min(1).max(2048),
21156
21129
  updatedAt: external_exports.iso.datetime({ offset: true }).nullable(),
21157
- additionalDirectories: external_exports.array(external_exports.strictObject({ directoryId, name: external_exports.string().min(1).max(255) }).readonly()).max(16).readonly()
21130
+ additionalDirectories: external_exports.array(external_exports.object({ directoryId, name: external_exports.string().min(1).max(255) }).readonly()).max(16).readonly()
21158
21131
  }).readonly();
21159
21132
  var resultEnvelope = {
21160
21133
  ...envelope,
21161
21134
  kind: external_exports.literal(NATIVE_SESSION_RESULT_KIND)
21162
21135
  };
21163
21136
  var nativeSessionResultSchema = external_exports.discriminatedUnion("action", [
21164
- external_exports.strictObject({ ...resultEnvelope, action: external_exports.literal("create"), nativeSessionId: identifierStringSchema }).readonly(),
21165
- external_exports.strictObject({
21137
+ external_exports.object({ ...resultEnvelope, action: external_exports.literal("create"), nativeSessionId: identifierStringSchema }).readonly(),
21138
+ external_exports.object({
21166
21139
  ...resultEnvelope,
21167
21140
  action: external_exports.literal("active-turn"),
21168
21141
  targetSessionId: identifierStringSchema,
21169
21142
  queued: external_exports.array(
21170
- external_exports.strictObject({
21143
+ external_exports.object({
21171
21144
  commandId: identifierStringSchema,
21172
21145
  prompt: external_exports.string().max(1e5),
21173
21146
  images: external_exports.array(promptImageSchema).max(8).readonly()
@@ -21175,26 +21148,26 @@ var nativeSessionResultSchema = external_exports.discriminatedUnion("action", [
21175
21148
  ).readonly(),
21176
21149
  turn: activeTurnSnapshotSchema.nullable()
21177
21150
  }).readonly(),
21178
- external_exports.strictObject({
21151
+ external_exports.object({
21179
21152
  ...resultEnvelope,
21180
21153
  action: external_exports.literal("find"),
21181
21154
  entry: nativeSessionEntrySchema
21182
21155
  }).readonly(),
21183
- external_exports.strictObject({
21156
+ external_exports.object({
21184
21157
  ...resultEnvelope,
21185
21158
  action: external_exports.literal("list"),
21186
21159
  capabilities: sessionCapabilitiesSchema,
21187
21160
  entries: external_exports.array(nativeSessionEntrySchema).max(500).readonly(),
21188
21161
  nextCursor: identifierStringSchema.nullable()
21189
21162
  }).readonly(),
21190
- external_exports.strictObject({
21163
+ external_exports.object({
21191
21164
  ...resultEnvelope,
21192
21165
  action: external_exports.enum(["import", "fork", "fork-recorded"]),
21193
21166
  targetSessionId: identifierStringSchema,
21194
21167
  ready: sessionReadyEventSchema,
21195
21168
  title: external_exports.string().max(500)
21196
21169
  }).readonly(),
21197
- external_exports.strictObject({
21170
+ external_exports.object({
21198
21171
  ...resultEnvelope,
21199
21172
  action: external_exports.literal("preview"),
21200
21173
  entryId: identifierStringSchema,
@@ -21203,21 +21176,21 @@ var nativeSessionResultSchema = external_exports.discriminatedUnion("action", [
21203
21176
  history: sessionHistorySchema,
21204
21177
  title: external_exports.string().max(500)
21205
21178
  }).readonly(),
21206
- external_exports.strictObject({
21179
+ external_exports.object({
21207
21180
  ...resultEnvelope,
21208
21181
  action: external_exports.literal("history"),
21209
21182
  entryId: identifierStringSchema,
21210
21183
  history: sessionHistorySchema,
21211
21184
  title: external_exports.string().max(500)
21212
21185
  }).readonly(),
21213
- external_exports.strictObject({
21186
+ external_exports.object({
21214
21187
  ...resultEnvelope,
21215
21188
  action: external_exports.literal("delete"),
21216
21189
  entryId: identifierStringSchema,
21217
21190
  deletedSessionIds: external_exports.array(identifierStringSchema).max(500).readonly()
21218
21191
  }).readonly()
21219
21192
  ]);
21220
- var nativeSessionCancelSchema = external_exports.strictObject({ ...envelope, kind: external_exports.literal(NATIVE_SESSION_CANCEL_KIND) }).readonly();
21193
+ var nativeSessionCancelSchema = external_exports.object({ ...envelope, kind: external_exports.literal(NATIVE_SESSION_CANCEL_KIND) }).readonly();
21221
21194
  function decode4(schema, encoded) {
21222
21195
  try {
21223
21196
  const value = JSON.parse(encoded);
@@ -21293,23 +21266,23 @@ var boundedJsonSchema = external_exports.unknown().superRefine((value, context)
21293
21266
  });
21294
21267
  var metadataSchema = external_exports.record(external_exports.string().max(255), boundedJsonSchema).readonly();
21295
21268
  var optionalMetadata = metadataSchema.nullable().optional();
21296
- var annotationsSchema = external_exports.strictObject({
21269
+ var annotationsSchema = external_exports.object({
21297
21270
  _meta: optionalMetadata,
21298
21271
  audience: external_exports.array(external_exports.enum(["assistant", "user"])).max(2).readonly().nullable().optional(),
21299
21272
  lastModified: shortString.nullable().optional(),
21300
21273
  priority: external_exports.number().finite().nullable().optional()
21301
21274
  }).readonly();
21302
21275
  var contentFields = { _meta: optionalMetadata, annotations: annotationsSchema.nullable().optional() };
21303
- var textContentSchema = external_exports.strictObject({ ...contentFields, text: boundedString, type: external_exports.literal("text") }).readonly();
21304
- var imageContentSchema = external_exports.strictObject({
21276
+ var textContentSchema = external_exports.object({ ...contentFields, text: boundedString, type: external_exports.literal("text") }).readonly();
21277
+ var imageContentSchema = external_exports.object({
21305
21278
  ...contentFields,
21306
21279
  data: boundedString,
21307
21280
  mimeType: shortString,
21308
21281
  type: external_exports.literal("image"),
21309
21282
  uri: boundedString.nullable().optional()
21310
21283
  }).readonly();
21311
- var audioContentSchema = external_exports.strictObject({ ...contentFields, data: boundedString, mimeType: shortString, type: external_exports.literal("audio") }).readonly();
21312
- var resourceLinkSchema = external_exports.strictObject({
21284
+ var audioContentSchema = external_exports.object({ ...contentFields, data: boundedString, mimeType: shortString, type: external_exports.literal("audio") }).readonly();
21285
+ var resourceLinkSchema = external_exports.object({
21313
21286
  ...contentFields,
21314
21287
  description: boundedString.nullable().optional(),
21315
21288
  mimeType: shortString.nullable().optional(),
@@ -21319,19 +21292,19 @@ var resourceLinkSchema = external_exports.strictObject({
21319
21292
  type: external_exports.literal("resource_link"),
21320
21293
  uri: boundedString
21321
21294
  }).readonly();
21322
- var textResourceSchema = external_exports.strictObject({
21295
+ var textResourceSchema = external_exports.object({
21323
21296
  _meta: optionalMetadata,
21324
21297
  mimeType: shortString.nullable().optional(),
21325
21298
  text: boundedString,
21326
21299
  uri: boundedString
21327
21300
  }).readonly();
21328
- var blobResourceSchema = external_exports.strictObject({
21301
+ var blobResourceSchema = external_exports.object({
21329
21302
  _meta: optionalMetadata,
21330
21303
  blob: boundedString,
21331
21304
  mimeType: shortString.nullable().optional(),
21332
21305
  uri: boundedString
21333
21306
  }).readonly();
21334
- var embeddedResourceSchema = external_exports.strictObject({
21307
+ var embeddedResourceSchema = external_exports.object({
21335
21308
  ...contentFields,
21336
21309
  resource: external_exports.union([textResourceSchema, blobResourceSchema]),
21337
21310
  type: external_exports.literal("resource")
@@ -21344,17 +21317,17 @@ var contentBlockV2Schema = external_exports.discriminatedUnion("type", [
21344
21317
  embeddedResourceSchema
21345
21318
  ]);
21346
21319
  var toolCallContentSchema = external_exports.discriminatedUnion("type", [
21347
- external_exports.strictObject({ _meta: optionalMetadata, content: contentBlockV2Schema, type: external_exports.literal("content") }).readonly(),
21348
- external_exports.strictObject({
21320
+ external_exports.object({ _meta: optionalMetadata, content: contentBlockV2Schema, type: external_exports.literal("content") }).readonly(),
21321
+ external_exports.object({
21349
21322
  _meta: optionalMetadata,
21350
21323
  newText: boundedString,
21351
21324
  oldText: boundedString.nullable().optional(),
21352
21325
  path: boundedString,
21353
21326
  type: external_exports.literal("diff")
21354
21327
  }).readonly(),
21355
- external_exports.strictObject({ _meta: optionalMetadata, terminalId: shortString, type: external_exports.literal("terminal") }).readonly()
21328
+ external_exports.object({ _meta: optionalMetadata, terminalId: shortString, type: external_exports.literal("terminal") }).readonly()
21356
21329
  ]);
21357
- var toolCallLocationSchema = external_exports.strictObject({
21330
+ var toolCallLocationSchema = external_exports.object({
21358
21331
  _meta: optionalMetadata,
21359
21332
  line: external_exports.number().int().nonnegative().safe().nullable().optional(),
21360
21333
  path: boundedString
@@ -21383,40 +21356,40 @@ var toolPatchFields = {
21383
21356
  status: toolStatusSchema.nullable().optional(),
21384
21357
  title: boundedString.nullable().optional()
21385
21358
  };
21386
- var planEntrySchema = external_exports.strictObject({
21359
+ var planEntrySchema = external_exports.object({
21387
21360
  _meta: optionalMetadata,
21388
21361
  content: boundedString,
21389
21362
  priority: external_exports.enum(["high", "medium", "low"]),
21390
21363
  status: external_exports.enum(["pending", "in_progress", "completed"])
21391
21364
  }).readonly();
21392
21365
  var planContentSchema = external_exports.discriminatedUnion("type", [
21393
- external_exports.strictObject({
21366
+ external_exports.object({
21394
21367
  _meta: optionalMetadata,
21395
21368
  entries: external_exports.array(planEntrySchema).max(MAX_COLLECTION_SIZE).readonly(),
21396
21369
  planId: shortString,
21397
21370
  type: external_exports.literal("items")
21398
21371
  }).readonly(),
21399
- external_exports.strictObject({ _meta: optionalMetadata, planId: shortString, type: external_exports.literal("file"), uri: boundedString }).readonly(),
21400
- external_exports.strictObject({
21372
+ external_exports.object({ _meta: optionalMetadata, planId: shortString, type: external_exports.literal("file"), uri: boundedString }).readonly(),
21373
+ external_exports.object({
21401
21374
  _meta: optionalMetadata,
21402
21375
  content: boundedString,
21403
21376
  planId: shortString,
21404
21377
  type: external_exports.literal("markdown")
21405
21378
  }).readonly()
21406
21379
  ]);
21407
- var commandSchema = external_exports.strictObject({
21380
+ var commandSchema = external_exports.object({
21408
21381
  _meta: optionalMetadata,
21409
21382
  description: boundedString,
21410
- input: external_exports.strictObject({ _meta: optionalMetadata, hint: boundedString }).readonly().nullable().optional(),
21383
+ input: external_exports.object({ _meta: optionalMetadata, hint: boundedString }).readonly().nullable().optional(),
21411
21384
  name: shortString
21412
21385
  }).readonly();
21413
- var configSelectOptionSchema = external_exports.strictObject({
21386
+ var configSelectOptionSchema = external_exports.object({
21414
21387
  _meta: optionalMetadata,
21415
21388
  description: boundedString.nullable().optional(),
21416
21389
  name: shortString,
21417
21390
  value: shortString
21418
21391
  }).readonly();
21419
- var configSelectGroupSchema = external_exports.strictObject({
21392
+ var configSelectGroupSchema = external_exports.object({
21420
21393
  _meta: optionalMetadata,
21421
21394
  group: shortString,
21422
21395
  name: shortString,
@@ -21430,7 +21403,7 @@ var configBaseFields = {
21430
21403
  name: shortString
21431
21404
  };
21432
21405
  var sessionConfigOptionSchema2 = external_exports.discriminatedUnion("type", [
21433
- external_exports.strictObject({
21406
+ external_exports.object({
21434
21407
  ...configBaseFields,
21435
21408
  currentValue: shortString,
21436
21409
  options: external_exports.union([
@@ -21439,7 +21412,7 @@ var sessionConfigOptionSchema2 = external_exports.discriminatedUnion("type", [
21439
21412
  ]),
21440
21413
  type: external_exports.literal("select")
21441
21414
  }).readonly(),
21442
- external_exports.strictObject({ ...configBaseFields, currentValue: external_exports.boolean(), type: external_exports.literal("boolean") }).readonly()
21415
+ external_exports.object({ ...configBaseFields, currentValue: external_exports.boolean(), type: external_exports.literal("boolean") }).readonly()
21443
21416
  ]);
21444
21417
  var contentChunkFields = {
21445
21418
  _meta: optionalMetadata,
@@ -21447,10 +21420,10 @@ var contentChunkFields = {
21447
21420
  messageId: shortString.nullable().optional()
21448
21421
  };
21449
21422
  var acpSessionUpdateV2Schema = external_exports.discriminatedUnion("sessionUpdate", [
21450
- external_exports.strictObject({ ...contentChunkFields, sessionUpdate: external_exports.literal("user_message_chunk") }).readonly(),
21451
- external_exports.strictObject({ ...contentChunkFields, sessionUpdate: external_exports.literal("agent_message_chunk") }).readonly(),
21452
- external_exports.strictObject({ ...contentChunkFields, sessionUpdate: external_exports.literal("agent_thought_chunk") }).readonly(),
21453
- external_exports.strictObject({
21423
+ external_exports.object({ ...contentChunkFields, sessionUpdate: external_exports.literal("user_message_chunk") }).readonly(),
21424
+ external_exports.object({ ...contentChunkFields, sessionUpdate: external_exports.literal("agent_message_chunk") }).readonly(),
21425
+ external_exports.object({ ...contentChunkFields, sessionUpdate: external_exports.literal("agent_thought_chunk") }).readonly(),
21426
+ external_exports.object({
21454
21427
  _meta: optionalMetadata,
21455
21428
  content: external_exports.array(toolCallContentSchema).max(MAX_COLLECTION_SIZE).readonly().optional(),
21456
21429
  kind: toolKindSchema.optional(),
@@ -21463,43 +21436,43 @@ var acpSessionUpdateV2Schema = external_exports.discriminatedUnion("sessionUpdat
21463
21436
  title: boundedString,
21464
21437
  toolCallId: shortString
21465
21438
  }).readonly(),
21466
- external_exports.strictObject({ ...toolPatchFields, sessionUpdate: external_exports.literal("tool_call_update"), toolCallId: shortString }).readonly(),
21467
- external_exports.strictObject({
21439
+ external_exports.object({ ...toolPatchFields, sessionUpdate: external_exports.literal("tool_call_update"), toolCallId: shortString }).readonly(),
21440
+ external_exports.object({
21468
21441
  _meta: optionalMetadata,
21469
21442
  entries: external_exports.array(planEntrySchema).max(MAX_COLLECTION_SIZE).readonly(),
21470
21443
  sessionUpdate: external_exports.literal("plan")
21471
21444
  }).readonly(),
21472
- external_exports.strictObject({ _meta: optionalMetadata, plan: planContentSchema, sessionUpdate: external_exports.literal("plan_update") }).readonly(),
21473
- external_exports.strictObject({ _meta: optionalMetadata, planId: shortString, sessionUpdate: external_exports.literal("plan_removed") }).readonly(),
21474
- external_exports.strictObject({
21445
+ external_exports.object({ _meta: optionalMetadata, plan: planContentSchema, sessionUpdate: external_exports.literal("plan_update") }).readonly(),
21446
+ external_exports.object({ _meta: optionalMetadata, planId: shortString, sessionUpdate: external_exports.literal("plan_removed") }).readonly(),
21447
+ external_exports.object({
21475
21448
  _meta: optionalMetadata,
21476
21449
  availableCommands: external_exports.array(commandSchema).max(MAX_COLLECTION_SIZE).readonly(),
21477
21450
  sessionUpdate: external_exports.literal("available_commands_update")
21478
21451
  }).readonly(),
21479
- external_exports.strictObject({
21452
+ external_exports.object({
21480
21453
  _meta: optionalMetadata,
21481
21454
  currentModeId: shortString,
21482
21455
  sessionUpdate: external_exports.literal("current_mode_update")
21483
21456
  }).readonly(),
21484
- external_exports.strictObject({
21457
+ external_exports.object({
21485
21458
  _meta: optionalMetadata,
21486
21459
  configOptions: external_exports.array(sessionConfigOptionSchema2).max(MAX_COLLECTION_SIZE).readonly(),
21487
21460
  sessionUpdate: external_exports.literal("config_option_update")
21488
21461
  }).readonly(),
21489
- external_exports.strictObject({
21462
+ external_exports.object({
21490
21463
  _meta: optionalMetadata,
21491
21464
  sessionUpdate: external_exports.literal("session_info_update"),
21492
21465
  title: boundedString.nullable().optional(),
21493
21466
  updatedAt: shortString.nullable().optional()
21494
21467
  }).readonly(),
21495
- external_exports.strictObject({
21468
+ external_exports.object({
21496
21469
  _meta: optionalMetadata,
21497
- cost: external_exports.strictObject({ _meta: optionalMetadata, amount: external_exports.number().finite(), currency: external_exports.string().max(16) }).readonly().nullable().optional(),
21470
+ cost: external_exports.object({ _meta: optionalMetadata, amount: external_exports.number().finite(), currency: external_exports.string().max(16) }).readonly().nullable().optional(),
21498
21471
  sessionUpdate: external_exports.literal("usage_update"),
21499
21472
  size: external_exports.number().int().nonnegative().safe(),
21500
21473
  used: external_exports.number().int().nonnegative().safe()
21501
21474
  }).readonly(),
21502
- external_exports.strictObject({
21475
+ external_exports.object({
21503
21476
  _meta: optionalMetadata,
21504
21477
  compactionId: shortString,
21505
21478
  error: boundedString.nullable().optional(),
@@ -21507,7 +21480,7 @@ var acpSessionUpdateV2Schema = external_exports.discriminatedUnion("sessionUpdat
21507
21480
  status: shortString,
21508
21481
  summary: external_exports.array(contentBlockV2Schema).max(MAX_COLLECTION_SIZE).readonly().nullable().optional()
21509
21482
  }).readonly(),
21510
- external_exports.strictObject({
21483
+ external_exports.object({
21511
21484
  _meta: optionalMetadata,
21512
21485
  compactionId: shortString,
21513
21486
  content: contentBlockV2Schema,
@@ -21516,28 +21489,28 @@ var acpSessionUpdateV2Schema = external_exports.discriminatedUnion("sessionUpdat
21516
21489
  ]);
21517
21490
  var lifecycleBase = { commandId: identifierStringSchema };
21518
21491
  var lifecycleMetadataV2Schema = external_exports.discriminatedUnion("kind", [
21519
- external_exports.strictObject({ kind: external_exports.literal("session.queue.changed") }).readonly(),
21520
- external_exports.strictObject({ event: sessionPermissionRequestedEventSchema, kind: external_exports.literal("session.permission.requested") }).readonly(),
21521
- external_exports.strictObject({ event: sessionPermissionResolvedEventSchema, kind: external_exports.literal("session.permission.resolved") }).readonly(),
21522
- external_exports.strictObject({
21492
+ external_exports.object({ kind: external_exports.literal("session.queue.changed") }).readonly(),
21493
+ external_exports.object({ event: sessionPermissionRequestedEventSchema, kind: external_exports.literal("session.permission.requested") }).readonly(),
21494
+ external_exports.object({ event: sessionPermissionResolvedEventSchema, kind: external_exports.literal("session.permission.resolved") }).readonly(),
21495
+ external_exports.object({
21523
21496
  event: sessionElicitationRequestedEventSchema,
21524
21497
  kind: external_exports.literal("session.elicitation.requested")
21525
21498
  }).readonly(),
21526
- external_exports.strictObject({ event: sessionElicitationResolvedEventSchema, kind: external_exports.literal("session.elicitation.resolved") }).readonly(),
21527
- external_exports.strictObject({
21499
+ external_exports.object({ event: sessionElicitationResolvedEventSchema, kind: external_exports.literal("session.elicitation.resolved") }).readonly(),
21500
+ external_exports.object({
21528
21501
  ...lifecycleBase,
21529
21502
  content: external_exports.array(contentBlockV2Schema).min(1).max(100).readonly(),
21530
21503
  kind: external_exports.literal("prompt.requested")
21531
21504
  }).readonly(),
21532
- external_exports.strictObject({ ...lifecycleBase, attemptId: identifierStringSchema, epoch: identifierStringSchema, kind: external_exports.literal("prompt.started") }).readonly(),
21533
- external_exports.strictObject({ ...lifecycleBase, kind: external_exports.literal("prompt.completed"), stopReason: shortString }).readonly(),
21534
- external_exports.strictObject({
21505
+ external_exports.object({ ...lifecycleBase, attemptId: identifierStringSchema, epoch: identifierStringSchema, kind: external_exports.literal("prompt.started") }).readonly(),
21506
+ external_exports.object({ ...lifecycleBase, kind: external_exports.literal("prompt.completed"), stopReason: shortString }).readonly(),
21507
+ external_exports.object({
21535
21508
  ...lifecycleBase,
21536
21509
  code: identifierStringSchema,
21537
21510
  kind: external_exports.literal("prompt.failed-before-start"),
21538
21511
  message: external_exports.string().min(1).max(500)
21539
21512
  }).readonly(),
21540
- external_exports.strictObject({
21513
+ external_exports.object({
21541
21514
  ...lifecycleBase,
21542
21515
  attemptId: identifierStringSchema,
21543
21516
  code: identifierStringSchema,
@@ -21546,19 +21519,19 @@ var lifecycleMetadataV2Schema = external_exports.discriminatedUnion("kind", [
21546
21519
  }).readonly()
21547
21520
  ]);
21548
21521
  var sessionEventPayloadV2Schema = external_exports.discriminatedUnion("type", [
21549
- external_exports.strictObject({ payload: acpSessionUpdateV2Schema, type: external_exports.literal("acp") }).readonly(),
21550
- external_exports.strictObject({ payload: lifecycleMetadataV2Schema, type: external_exports.literal("lifecycle-metadata") }).readonly()
21522
+ external_exports.object({ payload: acpSessionUpdateV2Schema, type: external_exports.literal("acp") }).readonly(),
21523
+ external_exports.object({ payload: lifecycleMetadataV2Schema, type: external_exports.literal("lifecycle-metadata") }).readonly()
21551
21524
  ]);
21552
21525
  var positionSchema = external_exports.string().regex(/^(0|[1-9][0-9]*)$/);
21553
21526
  var provenanceSchema = external_exports.discriminatedUnion("kind", [
21554
- external_exports.strictObject({ kind: external_exports.literal("original") }).readonly(),
21555
- external_exports.strictObject({
21527
+ external_exports.object({ kind: external_exports.literal("original") }).readonly(),
21528
+ external_exports.object({
21556
21529
  kind: external_exports.literal("imported"),
21557
21530
  sourceEventId: identifierStringSchema,
21558
21531
  sourcePosition: positionSchema,
21559
21532
  sourceSessionId: identifierStringSchema
21560
21533
  }).readonly(),
21561
- external_exports.strictObject({
21534
+ external_exports.object({
21562
21535
  kind: external_exports.literal("forked"),
21563
21536
  sourceEventId: identifierStringSchema,
21564
21537
  sourcePosition: positionSchema,
@@ -21573,15 +21546,15 @@ var sessionEventFieldsV2 = {
21573
21546
  sessionId: identifierStringSchema
21574
21547
  };
21575
21548
  var sessionEventV2Schema = external_exports.discriminatedUnion("type", [
21576
- external_exports.strictObject({ ...sessionEventFieldsV2, payload: acpSessionUpdateV2Schema, type: external_exports.literal("acp") }).readonly(),
21577
- external_exports.strictObject({
21549
+ external_exports.object({ ...sessionEventFieldsV2, payload: acpSessionUpdateV2Schema, type: external_exports.literal("acp") }).readonly(),
21550
+ external_exports.object({
21578
21551
  ...sessionEventFieldsV2,
21579
21552
  payload: lifecycleMetadataV2Schema,
21580
21553
  type: external_exports.literal("lifecycle-metadata")
21581
21554
  }).readonly()
21582
21555
  ]);
21583
- var sessionExportV2Schema = external_exports.strictObject({
21584
- binding: external_exports.strictObject({
21556
+ var sessionExportV2Schema = external_exports.object({
21557
+ binding: external_exports.object({
21585
21558
  bindingId: identifierStringSchema,
21586
21559
  runtimeId: identifierStringSchema
21587
21560
  }).readonly(),
@@ -21618,20 +21591,20 @@ var sessionExportV2Schema = external_exports.strictObject({
21618
21591
  eventIds.add(event.eventId);
21619
21592
  }
21620
21593
  });
21621
- var mobiusSessionExportV2Schema = external_exports.strictObject({
21594
+ var mobiusSessionExportV2Schema = external_exports.object({
21622
21595
  formatVersion: external_exports.literal("2"),
21623
21596
  session: sessionExportV2Schema
21624
21597
  }).readonly();
21625
- var sessionEventEnvelopeV2Schema = external_exports.strictObject({ event: sessionEventV2Schema, kind: external_exports.literal(SESSION_EVENT_V2_KIND) }).readonly();
21626
- var sessionEventLogPageV2Schema = external_exports.strictObject({
21598
+ var sessionEventEnvelopeV2Schema = external_exports.object({ event: sessionEventV2Schema, kind: external_exports.literal(SESSION_EVENT_V2_KIND) }).readonly();
21599
+ var sessionEventLogPageV2Schema = external_exports.object({
21627
21600
  events: external_exports.array(sessionEventV2Schema).max(MAX_EVENT_COUNT).readonly(),
21628
21601
  nextCursor: external_exports.string().min(1).max(512).nullable(),
21629
21602
  tailCursor: external_exports.string().max(512),
21630
21603
  truncated: external_exports.boolean(),
21631
21604
  version: external_exports.literal(2)
21632
21605
  }).readonly();
21633
- var nativeEventPageRequestV2Schema = external_exports.strictObject({ cursor: external_exports.string().min(1).max(512).nullable(), eventLimit: external_exports.number().int().min(1).max(1e4) }).readonly();
21634
- var executingPromptRequestEventLogV2Schema = external_exports.strictObject({
21606
+ var nativeEventPageRequestV2Schema = external_exports.object({ cursor: external_exports.string().min(1).max(512).nullable(), eventLimit: external_exports.number().int().min(1).max(1e4) }).readonly();
21607
+ var executingPromptRequestEventLogV2Schema = external_exports.object({
21635
21608
  attemptId: identifierStringSchema,
21636
21609
  commandId: identifierStringSchema,
21637
21610
  epoch: identifierStringSchema,
@@ -21639,7 +21612,7 @@ var executingPromptRequestEventLogV2Schema = external_exports.strictObject({
21639
21612
  tailCursor: external_exports.string().max(512),
21640
21613
  truncated: external_exports.boolean()
21641
21614
  }).readonly();
21642
- var nativeSessionEventsV2Schema = external_exports.strictObject({
21615
+ var nativeSessionEventsV2Schema = external_exports.object({
21643
21616
  executingPromptRequest: executingPromptRequestEventLogV2Schema.nullable(),
21644
21617
  history: sessionEventLogPageV2Schema
21645
21618
  }).readonly();
@@ -21674,14 +21647,14 @@ var decodeAcpSessionUpdateV2 = (value) => decode5(value, acpSessionUpdateV2Schem
21674
21647
  var SESSION_EVENT_KIND = "session.event";
21675
21648
  var SESSION_FORKED_KIND = "session.forked";
21676
21649
  var MAX_RECORDED_EVENT_LENGTH = 8 * 1024 * 1024;
21677
- var sessionEventEnvelopeSchema = external_exports.strictObject({
21650
+ var sessionEventEnvelopeSchema = external_exports.object({
21678
21651
  kind: external_exports.literal(SESSION_EVENT_KIND),
21679
21652
  payload: external_exports.string().min(2).max(MAX_RECORDED_EVENT_LENGTH),
21680
21653
  sessionId: identifierStringSchema
21681
21654
  }).readonly();
21682
21655
  var SESSION_QUEUE_CHANGED_KIND = "session.queue.changed";
21683
- var sessionQueueChangedSchema = external_exports.strictObject({ kind: external_exports.literal(SESSION_QUEUE_CHANGED_KIND), sessionId: identifierStringSchema }).readonly();
21684
- var sessionForkedSchema = external_exports.strictObject({
21656
+ var sessionQueueChangedSchema = external_exports.object({ kind: external_exports.literal(SESSION_QUEUE_CHANGED_KIND), sessionId: identifierStringSchema }).readonly();
21657
+ var sessionForkedSchema = external_exports.object({
21685
21658
  kind: external_exports.literal(SESSION_FORKED_KIND),
21686
21659
  sessionId: identifierStringSchema,
21687
21660
  sourceSessionId: identifierStringSchema,
@@ -21753,7 +21726,7 @@ function decodeRecordedSessionEvent(encoded) {
21753
21726
  case SESSION_USAGE_UPDATED_KIND:
21754
21727
  return decodeSessionUsageUpdatedEvent(encoded);
21755
21728
  default:
21756
- throw new ProtocolMessageError("Unsupported recorded session event");
21729
+ throw new UnsupportedProtocolMessageKindError("daemon-to-service", kind);
21757
21730
  }
21758
21731
  }
21759
21732
  var encodeRecordedSessionEvent = (event) => JSON.stringify(decodeRecordedSessionEvent(JSON.stringify(event)));
@@ -21766,7 +21739,7 @@ var SESSION_LIVE_HISTORY_PAGE_LOADED_KIND = "session.live-history.page.loaded";
21766
21739
  var SESSION_LIVE_HISTORY_V2_PAGE_LOAD_KIND = "session.live-history.v2.page.load";
21767
21740
  var SESSION_LIVE_HISTORY_V2_PAGE_LOADED_KIND = "session.live-history.v2.page.loaded";
21768
21741
  var directoryIdentifier = external_exports.string().regex(/^[a-zA-Z0-9][a-zA-Z0-9_-]{0,2047}$/);
21769
- var sessionLiveHistoryLoadSchema = external_exports.strictObject({
21742
+ var sessionLiveHistoryLoadSchema = external_exports.object({
21770
21743
  additionalDirectoryIds: external_exports.array(directoryIdentifier).max(16).readonly(),
21771
21744
  agentId: identifierStringSchema,
21772
21745
  bindingId: identifierStringSchema,
@@ -21775,13 +21748,13 @@ var sessionLiveHistoryLoadSchema = external_exports.strictObject({
21775
21748
  requestId: identifierStringSchema,
21776
21749
  sessionId: identifierStringSchema
21777
21750
  }).readonly();
21778
- var sessionLiveHistoryLoadedSchema = external_exports.strictObject({
21751
+ var sessionLiveHistoryLoadedSchema = external_exports.object({
21779
21752
  history: sessionHistorySchema,
21780
21753
  kind: external_exports.literal(SESSION_LIVE_HISTORY_LOADED_KIND),
21781
21754
  requestId: identifierStringSchema,
21782
21755
  sessionId: identifierStringSchema
21783
21756
  }).readonly();
21784
- var sessionLiveHistoryPageLoadSchema = external_exports.strictObject({
21757
+ var sessionLiveHistoryPageLoadSchema = external_exports.object({
21785
21758
  additionalDirectoryIds: external_exports.array(directoryIdentifier).max(16).readonly(),
21786
21759
  agentId: identifierStringSchema,
21787
21760
  bindingId: identifierStringSchema,
@@ -21792,13 +21765,13 @@ var sessionLiveHistoryPageLoadSchema = external_exports.strictObject({
21792
21765
  requestId: identifierStringSchema,
21793
21766
  sessionId: identifierStringSchema
21794
21767
  }).readonly();
21795
- var sessionLiveHistoryPageLoadedSchema = external_exports.strictObject({
21768
+ var sessionLiveHistoryPageLoadedSchema = external_exports.object({
21796
21769
  kind: external_exports.literal(SESSION_LIVE_HISTORY_PAGE_LOADED_KIND),
21797
21770
  page: nativeMessagePageSchema,
21798
21771
  requestId: identifierStringSchema,
21799
21772
  sessionId: identifierStringSchema
21800
21773
  }).readonly();
21801
- var sessionLiveHistoryV2PageLoadSchema = external_exports.strictObject({
21774
+ var sessionLiveHistoryV2PageLoadSchema = external_exports.object({
21802
21775
  additionalDirectoryIds: external_exports.array(directoryIdentifier).max(16).readonly(),
21803
21776
  agentId: identifierStringSchema,
21804
21777
  bindingId: identifierStringSchema,
@@ -21809,7 +21782,7 @@ var sessionLiveHistoryV2PageLoadSchema = external_exports.strictObject({
21809
21782
  requestId: identifierStringSchema,
21810
21783
  sessionId: identifierStringSchema
21811
21784
  }).readonly();
21812
- var sessionLiveHistoryV2PageLoadedSchema = external_exports.strictObject({
21785
+ var sessionLiveHistoryV2PageLoadedSchema = external_exports.object({
21813
21786
  events: nativeSessionEventsV2Schema,
21814
21787
  kind: external_exports.literal(SESSION_LIVE_HISTORY_V2_PAGE_LOADED_KIND),
21815
21788
  requestId: identifierStringSchema,
@@ -21955,7 +21928,7 @@ function decodeServiceToDaemonMessage(encoded) {
21955
21928
  const kind = decodeMessageKind(encoded);
21956
21929
  const signature = serviceToDaemonRegistry[kind];
21957
21930
  if (signature === void 0) {
21958
- throw new ProtocolMessageError(`Unsupported service-to-daemon message kind: ${kind}`);
21931
+ throw new UnsupportedProtocolMessageKindError("service-to-daemon", kind);
21959
21932
  }
21960
21933
  return signature.decoder(encoded);
21961
21934
  }
@@ -22019,6 +21992,11 @@ var daemonToServiceSignatures = {
22019
21992
  encodeSessionsQueriedEvent,
22020
21993
  decodeSessionsQueriedEvent
22021
21994
  ),
21995
+ [SESSION_STATUS_CHANGED_KIND]: defineMessageSignature(
21996
+ SESSION_STATUS_CHANGED_KIND,
21997
+ encodeSessionStatusChangedEvent,
21998
+ decodeSessionStatusChangedEvent
21999
+ ),
22022
22000
  [SESSION_QUEUED_KIND]: defineMessageSignature(
22023
22001
  SESSION_QUEUED_KIND,
22024
22002
  encodeSessionQueuedEvent,
@@ -32573,12 +32551,14 @@ var AgentRuntimeManager = class {
32573
32551
  #store;
32574
32552
  #nativeHistoryReader;
32575
32553
  #sessionIdentity;
32554
+ #onSessionStatusChanged;
32576
32555
  #observer;
32577
- constructor(observer = new NullAcpSessionObserver(), store = new MemoryAcpSessionStore(), nativeHistoryReader = null, sessionIdentity = "assigned") {
32556
+ constructor(observer = new NullAcpSessionObserver(), store = new MemoryAcpSessionStore(), nativeHistoryReader = null, sessionIdentity = "assigned", onSessionStatusChanged = () => void 0) {
32578
32557
  this.#observer = observer;
32579
32558
  this.#store = store;
32580
32559
  this.#nativeHistoryReader = nativeHistoryReader;
32581
32560
  this.#sessionIdentity = sessionIdentity;
32561
+ this.#onSessionStatusChanged = onSessionStatusChanged;
32582
32562
  }
32583
32563
  setObserver = (observer) => {
32584
32564
  this.#observer = observer;
@@ -32885,6 +32865,11 @@ var AgentRuntimeManager = class {
32885
32865
  }
32886
32866
  this.#executions.begin(options2.sessionId, options2.commandId);
32887
32867
  try {
32868
+ this.#onSessionStatusChanged({
32869
+ kind: "session.status.changed",
32870
+ sessionId: options2.sessionId,
32871
+ status: { commandId: options2.commandId, kind: "working" }
32872
+ });
32888
32873
  if (this.#executions.cancellation(options2.sessionId) !== void 0) {
32889
32874
  return { stopReason: "cancelled" };
32890
32875
  }
@@ -32928,6 +32913,11 @@ var AgentRuntimeManager = class {
32928
32913
  await this.#executions.cancellation(options2.sessionId);
32929
32914
  } finally {
32930
32915
  this.#executions.finish(options2.sessionId, options2.commandId);
32916
+ this.#onSessionStatusChanged({
32917
+ kind: "session.status.changed",
32918
+ sessionId: options2.sessionId,
32919
+ status: { kind: "idle" }
32920
+ });
32931
32921
  this.#executionProcesses.touch(options2.sessionId);
32932
32922
  this.#processes.notifyChanged();
32933
32923
  }
@@ -32960,6 +32950,10 @@ var AgentRuntimeManager = class {
32960
32950
  const stored = this.#store.read(sessionId);
32961
32951
  return stored instanceof FoundAcpStoredSession ? [stored.session] : [];
32962
32952
  });
32953
+ sessionStatus = (sessionId) => {
32954
+ const commandId = this.#executions.command(sessionId);
32955
+ return commandId === void 0 ? { kind: "idle" } : { commandId, kind: "working" };
32956
+ };
32963
32957
  listSessions = (limit) => this.#store.list().filter((session) => session.prompted).slice(0, limit);
32964
32958
  findLinkedSessions = (agentId, nativeSessionId) => this.#store.findNative(agentId, nativeSessionId);
32965
32959
  hasPreparedSession = (sessionId, agentId, cwd, additionalDirectories) => this.#executionProcesses.get(sessionId)?.belongsTo(agentId, cwd, additionalDirectories) === true;
@@ -34076,7 +34070,7 @@ var threadSettingsUpdatedSchema = external_exports.object({
34076
34070
 
34077
34071
  // src/acp/codex/app-server-client.ts
34078
34072
  var INITIALIZE_TIMEOUT_MILLISECONDS = 3e4;
34079
- var OUTPUT_LIMIT_BYTES = 32 * 1024 * 1024;
34073
+ var MESSAGE_OUTPUT_LIMIT_BYTES = 32 * 1024 * 1024;
34080
34074
  var CodexAppServerError = class extends AcpExecutionError {
34081
34075
  constructor(code, message, options = {}) {
34082
34076
  super(message, options, code);
@@ -34093,8 +34087,8 @@ var CodexAppServerClient = class {
34093
34087
  kind: "open"
34094
34088
  };
34095
34089
  #nextRequestId = 1;
34096
- #pendingBuffer = "";
34097
- #receivedBytes = 0;
34090
+ #pendingBytes = 0;
34091
+ #pendingFragments = [];
34098
34092
  constructor(options) {
34099
34093
  this.#handlers = options.handlers;
34100
34094
  this.#child = spawn3(options.command, ["app-server"], {
@@ -34170,25 +34164,39 @@ var CodexAppServerClient = class {
34170
34164
  return;
34171
34165
  }
34172
34166
  try {
34173
- this.#receivedBytes += Buffer.byteLength(chunk);
34174
- if (this.#receivedBytes > OUTPUT_LIMIT_BYTES) {
34175
- throw new CodexAppServerError(
34176
- "codex_app_server_output_limit",
34177
- "The Codex app-server produced too much output"
34178
- );
34179
- }
34180
- this.#pendingBuffer += chunk;
34181
- let newline = this.#pendingBuffer.indexOf("\n");
34167
+ let cursor = 0;
34168
+ let newline = chunk.indexOf("\n");
34182
34169
  while (newline >= 0) {
34183
- const line = this.#pendingBuffer.slice(0, newline);
34184
- this.#pendingBuffer = this.#pendingBuffer.slice(newline + 1);
34185
- newline = this.#pendingBuffer.indexOf("\n");
34170
+ const fragment = chunk.slice(cursor, newline);
34171
+ const lineBytes = this.#pendingBytes + Buffer.byteLength(fragment);
34172
+ if (lineBytes > MESSAGE_OUTPUT_LIMIT_BYTES) {
34173
+ throw new CodexAppServerError(
34174
+ "codex_app_server_output_limit",
34175
+ "The Codex app-server produced an oversized message"
34176
+ );
34177
+ }
34178
+ const line = this.#pendingFragments.length === 0 ? fragment : [...this.#pendingFragments, fragment].join("");
34179
+ this.#pendingBytes = 0;
34180
+ this.#pendingFragments = [];
34181
+ cursor = newline + 1;
34182
+ newline = chunk.indexOf("\n", cursor);
34186
34183
  if (line.trim().length === 0) {
34187
34184
  continue;
34188
34185
  }
34189
34186
  const value = JSON.parse(line);
34190
34187
  this.#dispatch(decodeAppServerMessage(value));
34191
34188
  }
34189
+ const remainder = chunk.slice(cursor);
34190
+ if (remainder.length > 0) {
34191
+ this.#pendingBytes += Buffer.byteLength(remainder);
34192
+ if (this.#pendingBytes > MESSAGE_OUTPUT_LIMIT_BYTES) {
34193
+ throw new CodexAppServerError(
34194
+ "codex_app_server_output_limit",
34195
+ "The Codex app-server produced an oversized message"
34196
+ );
34197
+ }
34198
+ this.#pendingFragments.push(remainder);
34199
+ }
34192
34200
  } catch (error62) {
34193
34201
  this.#fail(
34194
34202
  error62 instanceof CodexAppServerError ? error62 : new CodexAppServerError(
@@ -40460,8 +40468,8 @@ async function readCodexHistoryWithOptions(agent, cwd, nativeSessionId, signal,
40460
40468
  const response = Promise.withResolvers();
40461
40469
  let state = { kind: "initializing", requestId: 1 };
40462
40470
  const seenCursors = /* @__PURE__ */ new Set();
40463
- let pending = "";
40464
- let receivedBytes = 0;
40471
+ let pendingBytes = 0;
40472
+ let pendingFragments = [];
40465
40473
  const fail = (cause) => response.reject(
40466
40474
  cause instanceof AcpExecutionError ? cause : new AcpExecutionError(
40467
40475
  "Saved Codex history could not be read.",
@@ -40475,20 +40483,23 @@ async function readCodexHistoryWithOptions(agent, cwd, nativeSessionId, signal,
40475
40483
  };
40476
40484
  const onData = (chunk) => {
40477
40485
  try {
40478
- receivedBytes += Buffer.byteLength(chunk);
40479
- if (receivedBytes > 32 * 1024 * 1024) {
40480
- throw new AcpExecutionError(
40481
- "This saved conversation is too large to preview.",
40482
- {},
40483
- "native_history_too_large"
40484
- );
40485
- }
40486
- pending += chunk;
40487
- let newline = pending.indexOf("\n");
40486
+ let cursor = 0;
40487
+ let newline = chunk.indexOf("\n");
40488
40488
  while (newline >= 0) {
40489
- const line = pending.slice(0, newline);
40490
- pending = pending.slice(newline + 1);
40491
- newline = pending.indexOf("\n");
40489
+ const fragment = chunk.slice(cursor, newline);
40490
+ const lineBytes = pendingBytes + Buffer.byteLength(fragment);
40491
+ if (lineBytes > 32 * 1024 * 1024) {
40492
+ throw new AcpExecutionError(
40493
+ "This saved conversation is too large to preview.",
40494
+ {},
40495
+ "native_history_too_large"
40496
+ );
40497
+ }
40498
+ const line = pendingFragments.length === 0 ? fragment : [...pendingFragments, fragment].join("");
40499
+ pendingBytes = 0;
40500
+ pendingFragments = [];
40501
+ cursor = newline + 1;
40502
+ newline = chunk.indexOf("\n", cursor);
40492
40503
  if (line.trim().length === 0) {
40493
40504
  continue;
40494
40505
  }
@@ -40584,6 +40595,18 @@ async function readCodexHistoryWithOptions(agent, cwd, nativeSessionId, signal,
40584
40595
  }
40585
40596
  }
40586
40597
  }
40598
+ const remainder = chunk.slice(cursor);
40599
+ if (remainder.length > 0) {
40600
+ pendingBytes += Buffer.byteLength(remainder);
40601
+ if (pendingBytes > 32 * 1024 * 1024) {
40602
+ throw new AcpExecutionError(
40603
+ "This saved conversation is too large to preview.",
40604
+ {},
40605
+ "native_history_too_large"
40606
+ );
40607
+ }
40608
+ pendingFragments.push(remainder);
40609
+ }
40587
40610
  } catch (cause) {
40588
40611
  fail(cause);
40589
40612
  }
@@ -41102,6 +41125,7 @@ var NativeSessionService = class {
41102
41125
  directoryLabel: directory.label,
41103
41126
  prompted: session.prompted,
41104
41127
  sessionId: session.sessionId,
41128
+ status: this.#sessions.sessionStatus(session.sessionId),
41105
41129
  title: session.title || "Untitled session",
41106
41130
  updatedAt: session.updatedAt
41107
41131
  });
@@ -44230,6 +44254,14 @@ async function runRelayConnection({
44230
44254
  }
44231
44255
  commands.handle(message);
44232
44256
  } catch (error62) {
44257
+ if (error62 instanceof UnsupportedProtocolMessageKindError) {
44258
+ console.warn("Mobius daemon skipped an unsupported Relay message", {
44259
+ code: error62.code,
44260
+ direction: error62.direction,
44261
+ messageKind: error62.messageKind
44262
+ });
44263
+ return;
44264
+ }
44233
44265
  console.error("Mobius daemon rejected a message", error62);
44234
44266
  failAndClose(
44235
44267
  new Error("Relay sent an invalid protocol message", { cause: error62 }),
@@ -44296,6 +44328,21 @@ var DaemonSessionEventPublisher = class {
44296
44328
  this.publish(sessionId, event);
44297
44329
  }
44298
44330
  };
44331
+ publishStatus = (event) => {
44332
+ const socket = this.#socket;
44333
+ if (socket === null || socket.readyState !== WebSocket9.OPEN) {
44334
+ return;
44335
+ }
44336
+ const encoded = encodeDaemonToServiceMessage(event);
44337
+ if (socket.bufferedAmount + Buffer.byteLength(encoded, "utf8") > MAX_BUFFERED_BYTES) {
44338
+ socket.close(1013, "Live event transport overloaded");
44339
+ return;
44340
+ }
44341
+ try {
44342
+ socket.send(encoded);
44343
+ } catch {
44344
+ }
44345
+ };
44299
44346
  publishV2 = (event) => {
44300
44347
  this.#store.appendExecutingPromptEventV2(event);
44301
44348
  const socket = this.#socket;
@@ -44608,7 +44655,8 @@ async function runDaemon(config2, audit, signal, timer = systemDaemonTimer, opti
44608
44655
  nativeTurn
44609
44656
  )).history : null
44610
44657
  },
44611
- "native"
44658
+ "native",
44659
+ publisher.publishStatus
44612
44660
  );
44613
44661
  const directories = new WorkspaceDirectoryService(config2.bindingId, config2.defaultWorkspace);
44614
44662
  const installationObserver = new DaemonInstallationObserver();