@miradorlabs/web-grpc 3.4.0 → 3.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@miradorlabs/web-grpc",
3
- "version": "3.4.0",
3
+ "version": "3.6.0",
4
4
  "description": "Generated gRPC (grpc-js) client stubs for the Mirador web gateway.",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -79,135 +79,122 @@ export function sessionSortToJSON(object: SessionSort): string {
79
79
  }
80
80
  }
81
81
 
82
- export enum AISessionEventKind {
83
- AI_SESSION_EVENT_KIND_UNSPECIFIED = 0,
84
- AI_SESSION_EVENT_KIND_SESSION_START = 1,
85
- AI_SESSION_EVENT_KIND_TURN_START = 2,
86
- AI_SESSION_EVENT_KIND_USER_MESSAGE = 3,
87
- AI_SESSION_EVENT_KIND_ASSISTANT_MESSAGE = 4,
88
- AI_SESSION_EVENT_KIND_MODEL_CALL = 5,
89
- AI_SESSION_EVENT_KIND_TOOL_CALL = 6,
90
- AI_SESSION_EVENT_KIND_TOOL_RESULT = 7,
91
- AI_SESSION_EVENT_KIND_TOOL_DECISION = 8,
92
- AI_SESSION_EVENT_KIND_COMPACTION = 9,
93
- AI_SESSION_EVENT_KIND_ERROR = 10,
94
- /** AI_SESSION_EVENT_KIND_SUBAGENT_RUN - One subagent run: what launched it, its parent and type, how it ended. Carries no usage. */
95
- AI_SESSION_EVENT_KIND_SUBAGENT_RUN = 11,
96
- /**
97
- * AI_SESSION_EVENT_KIND_AUTH - The harness's ambient records: no usage, and none of them makes a session on its own. Presence,
98
- * status and duration only; what they report stays in the stored event's attributes.
99
- */
100
- AI_SESSION_EVENT_KIND_AUTH = 12,
101
- AI_SESSION_EVENT_KIND_MCP_CONNECTION = 13,
102
- AI_SESSION_EVENT_KIND_SKILL_ACTIVATION = 14,
103
- AI_SESSION_EVENT_KIND_PERMISSION_CHANGE = 15,
104
- AI_SESSION_EVENT_KIND_CONTEXT_MENTION = 16,
105
- AI_SESSION_EVENT_KIND_USER_FEEDBACK = 17,
82
+ /**
83
+ * AISessionEventType is an event's category (core/telemetry/ai/event_type.go), read together with its subtype. The
84
+ * stored ClickHouse value is a string, so map by NAME, never by numeric cast.
85
+ */
86
+ export enum AISessionEventType {
87
+ AI_SESSION_EVENT_TYPE_UNSPECIFIED = 0,
88
+ AI_SESSION_EVENT_TYPE_SESSION = 1,
89
+ AI_SESSION_EVENT_TYPE_MESSAGE = 2,
90
+ AI_SESSION_EVENT_TYPE_MODEL = 3,
91
+ AI_SESSION_EVENT_TYPE_TOOL = 4,
92
+ AI_SESSION_EVENT_TYPE_AGENT = 5,
93
+ AI_SESSION_EVENT_TYPE_COMMAND = 6,
94
+ AI_SESSION_EVENT_TYPE_COMPACTION = 7,
95
+ AI_SESSION_EVENT_TYPE_AUTH = 8,
96
+ AI_SESSION_EVENT_TYPE_SKILL = 9,
97
+ AI_SESSION_EVENT_TYPE_MCP = 10,
98
+ AI_SESSION_EVENT_TYPE_MENTION = 11,
99
+ AI_SESSION_EVENT_TYPE_PERMISSION = 12,
100
+ AI_SESSION_EVENT_TYPE_FEEDBACK = 13,
101
+ AI_SESSION_EVENT_TYPE_ERROR = 14,
102
+ AI_SESSION_EVENT_TYPE_SUMMARY = 15,
106
103
  UNRECOGNIZED = -1,
107
104
  }
108
105
 
109
- export function aISessionEventKindFromJSON(object: any): AISessionEventKind {
106
+ export function aISessionEventTypeFromJSON(object: any): AISessionEventType {
110
107
  switch (object) {
111
108
  case 0:
112
- case "AI_SESSION_EVENT_KIND_UNSPECIFIED":
113
- return AISessionEventKind.AI_SESSION_EVENT_KIND_UNSPECIFIED;
109
+ case "AI_SESSION_EVENT_TYPE_UNSPECIFIED":
110
+ return AISessionEventType.AI_SESSION_EVENT_TYPE_UNSPECIFIED;
114
111
  case 1:
115
- case "AI_SESSION_EVENT_KIND_SESSION_START":
116
- return AISessionEventKind.AI_SESSION_EVENT_KIND_SESSION_START;
112
+ case "AI_SESSION_EVENT_TYPE_SESSION":
113
+ return AISessionEventType.AI_SESSION_EVENT_TYPE_SESSION;
117
114
  case 2:
118
- case "AI_SESSION_EVENT_KIND_TURN_START":
119
- return AISessionEventKind.AI_SESSION_EVENT_KIND_TURN_START;
115
+ case "AI_SESSION_EVENT_TYPE_MESSAGE":
116
+ return AISessionEventType.AI_SESSION_EVENT_TYPE_MESSAGE;
120
117
  case 3:
121
- case "AI_SESSION_EVENT_KIND_USER_MESSAGE":
122
- return AISessionEventKind.AI_SESSION_EVENT_KIND_USER_MESSAGE;
118
+ case "AI_SESSION_EVENT_TYPE_MODEL":
119
+ return AISessionEventType.AI_SESSION_EVENT_TYPE_MODEL;
123
120
  case 4:
124
- case "AI_SESSION_EVENT_KIND_ASSISTANT_MESSAGE":
125
- return AISessionEventKind.AI_SESSION_EVENT_KIND_ASSISTANT_MESSAGE;
121
+ case "AI_SESSION_EVENT_TYPE_TOOL":
122
+ return AISessionEventType.AI_SESSION_EVENT_TYPE_TOOL;
126
123
  case 5:
127
- case "AI_SESSION_EVENT_KIND_MODEL_CALL":
128
- return AISessionEventKind.AI_SESSION_EVENT_KIND_MODEL_CALL;
124
+ case "AI_SESSION_EVENT_TYPE_AGENT":
125
+ return AISessionEventType.AI_SESSION_EVENT_TYPE_AGENT;
129
126
  case 6:
130
- case "AI_SESSION_EVENT_KIND_TOOL_CALL":
131
- return AISessionEventKind.AI_SESSION_EVENT_KIND_TOOL_CALL;
127
+ case "AI_SESSION_EVENT_TYPE_COMMAND":
128
+ return AISessionEventType.AI_SESSION_EVENT_TYPE_COMMAND;
132
129
  case 7:
133
- case "AI_SESSION_EVENT_KIND_TOOL_RESULT":
134
- return AISessionEventKind.AI_SESSION_EVENT_KIND_TOOL_RESULT;
130
+ case "AI_SESSION_EVENT_TYPE_COMPACTION":
131
+ return AISessionEventType.AI_SESSION_EVENT_TYPE_COMPACTION;
135
132
  case 8:
136
- case "AI_SESSION_EVENT_KIND_TOOL_DECISION":
137
- return AISessionEventKind.AI_SESSION_EVENT_KIND_TOOL_DECISION;
133
+ case "AI_SESSION_EVENT_TYPE_AUTH":
134
+ return AISessionEventType.AI_SESSION_EVENT_TYPE_AUTH;
138
135
  case 9:
139
- case "AI_SESSION_EVENT_KIND_COMPACTION":
140
- return AISessionEventKind.AI_SESSION_EVENT_KIND_COMPACTION;
136
+ case "AI_SESSION_EVENT_TYPE_SKILL":
137
+ return AISessionEventType.AI_SESSION_EVENT_TYPE_SKILL;
141
138
  case 10:
142
- case "AI_SESSION_EVENT_KIND_ERROR":
143
- return AISessionEventKind.AI_SESSION_EVENT_KIND_ERROR;
139
+ case "AI_SESSION_EVENT_TYPE_MCP":
140
+ return AISessionEventType.AI_SESSION_EVENT_TYPE_MCP;
144
141
  case 11:
145
- case "AI_SESSION_EVENT_KIND_SUBAGENT_RUN":
146
- return AISessionEventKind.AI_SESSION_EVENT_KIND_SUBAGENT_RUN;
142
+ case "AI_SESSION_EVENT_TYPE_MENTION":
143
+ return AISessionEventType.AI_SESSION_EVENT_TYPE_MENTION;
147
144
  case 12:
148
- case "AI_SESSION_EVENT_KIND_AUTH":
149
- return AISessionEventKind.AI_SESSION_EVENT_KIND_AUTH;
145
+ case "AI_SESSION_EVENT_TYPE_PERMISSION":
146
+ return AISessionEventType.AI_SESSION_EVENT_TYPE_PERMISSION;
150
147
  case 13:
151
- case "AI_SESSION_EVENT_KIND_MCP_CONNECTION":
152
- return AISessionEventKind.AI_SESSION_EVENT_KIND_MCP_CONNECTION;
148
+ case "AI_SESSION_EVENT_TYPE_FEEDBACK":
149
+ return AISessionEventType.AI_SESSION_EVENT_TYPE_FEEDBACK;
153
150
  case 14:
154
- case "AI_SESSION_EVENT_KIND_SKILL_ACTIVATION":
155
- return AISessionEventKind.AI_SESSION_EVENT_KIND_SKILL_ACTIVATION;
151
+ case "AI_SESSION_EVENT_TYPE_ERROR":
152
+ return AISessionEventType.AI_SESSION_EVENT_TYPE_ERROR;
156
153
  case 15:
157
- case "AI_SESSION_EVENT_KIND_PERMISSION_CHANGE":
158
- return AISessionEventKind.AI_SESSION_EVENT_KIND_PERMISSION_CHANGE;
159
- case 16:
160
- case "AI_SESSION_EVENT_KIND_CONTEXT_MENTION":
161
- return AISessionEventKind.AI_SESSION_EVENT_KIND_CONTEXT_MENTION;
162
- case 17:
163
- case "AI_SESSION_EVENT_KIND_USER_FEEDBACK":
164
- return AISessionEventKind.AI_SESSION_EVENT_KIND_USER_FEEDBACK;
154
+ case "AI_SESSION_EVENT_TYPE_SUMMARY":
155
+ return AISessionEventType.AI_SESSION_EVENT_TYPE_SUMMARY;
165
156
  case -1:
166
157
  case "UNRECOGNIZED":
167
158
  default:
168
- return AISessionEventKind.UNRECOGNIZED;
159
+ return AISessionEventType.UNRECOGNIZED;
169
160
  }
170
161
  }
171
162
 
172
- export function aISessionEventKindToJSON(object: AISessionEventKind): string {
163
+ export function aISessionEventTypeToJSON(object: AISessionEventType): string {
173
164
  switch (object) {
174
- case AISessionEventKind.AI_SESSION_EVENT_KIND_UNSPECIFIED:
175
- return "AI_SESSION_EVENT_KIND_UNSPECIFIED";
176
- case AISessionEventKind.AI_SESSION_EVENT_KIND_SESSION_START:
177
- return "AI_SESSION_EVENT_KIND_SESSION_START";
178
- case AISessionEventKind.AI_SESSION_EVENT_KIND_TURN_START:
179
- return "AI_SESSION_EVENT_KIND_TURN_START";
180
- case AISessionEventKind.AI_SESSION_EVENT_KIND_USER_MESSAGE:
181
- return "AI_SESSION_EVENT_KIND_USER_MESSAGE";
182
- case AISessionEventKind.AI_SESSION_EVENT_KIND_ASSISTANT_MESSAGE:
183
- return "AI_SESSION_EVENT_KIND_ASSISTANT_MESSAGE";
184
- case AISessionEventKind.AI_SESSION_EVENT_KIND_MODEL_CALL:
185
- return "AI_SESSION_EVENT_KIND_MODEL_CALL";
186
- case AISessionEventKind.AI_SESSION_EVENT_KIND_TOOL_CALL:
187
- return "AI_SESSION_EVENT_KIND_TOOL_CALL";
188
- case AISessionEventKind.AI_SESSION_EVENT_KIND_TOOL_RESULT:
189
- return "AI_SESSION_EVENT_KIND_TOOL_RESULT";
190
- case AISessionEventKind.AI_SESSION_EVENT_KIND_TOOL_DECISION:
191
- return "AI_SESSION_EVENT_KIND_TOOL_DECISION";
192
- case AISessionEventKind.AI_SESSION_EVENT_KIND_COMPACTION:
193
- return "AI_SESSION_EVENT_KIND_COMPACTION";
194
- case AISessionEventKind.AI_SESSION_EVENT_KIND_ERROR:
195
- return "AI_SESSION_EVENT_KIND_ERROR";
196
- case AISessionEventKind.AI_SESSION_EVENT_KIND_SUBAGENT_RUN:
197
- return "AI_SESSION_EVENT_KIND_SUBAGENT_RUN";
198
- case AISessionEventKind.AI_SESSION_EVENT_KIND_AUTH:
199
- return "AI_SESSION_EVENT_KIND_AUTH";
200
- case AISessionEventKind.AI_SESSION_EVENT_KIND_MCP_CONNECTION:
201
- return "AI_SESSION_EVENT_KIND_MCP_CONNECTION";
202
- case AISessionEventKind.AI_SESSION_EVENT_KIND_SKILL_ACTIVATION:
203
- return "AI_SESSION_EVENT_KIND_SKILL_ACTIVATION";
204
- case AISessionEventKind.AI_SESSION_EVENT_KIND_PERMISSION_CHANGE:
205
- return "AI_SESSION_EVENT_KIND_PERMISSION_CHANGE";
206
- case AISessionEventKind.AI_SESSION_EVENT_KIND_CONTEXT_MENTION:
207
- return "AI_SESSION_EVENT_KIND_CONTEXT_MENTION";
208
- case AISessionEventKind.AI_SESSION_EVENT_KIND_USER_FEEDBACK:
209
- return "AI_SESSION_EVENT_KIND_USER_FEEDBACK";
210
- case AISessionEventKind.UNRECOGNIZED:
165
+ case AISessionEventType.AI_SESSION_EVENT_TYPE_UNSPECIFIED:
166
+ return "AI_SESSION_EVENT_TYPE_UNSPECIFIED";
167
+ case AISessionEventType.AI_SESSION_EVENT_TYPE_SESSION:
168
+ return "AI_SESSION_EVENT_TYPE_SESSION";
169
+ case AISessionEventType.AI_SESSION_EVENT_TYPE_MESSAGE:
170
+ return "AI_SESSION_EVENT_TYPE_MESSAGE";
171
+ case AISessionEventType.AI_SESSION_EVENT_TYPE_MODEL:
172
+ return "AI_SESSION_EVENT_TYPE_MODEL";
173
+ case AISessionEventType.AI_SESSION_EVENT_TYPE_TOOL:
174
+ return "AI_SESSION_EVENT_TYPE_TOOL";
175
+ case AISessionEventType.AI_SESSION_EVENT_TYPE_AGENT:
176
+ return "AI_SESSION_EVENT_TYPE_AGENT";
177
+ case AISessionEventType.AI_SESSION_EVENT_TYPE_COMMAND:
178
+ return "AI_SESSION_EVENT_TYPE_COMMAND";
179
+ case AISessionEventType.AI_SESSION_EVENT_TYPE_COMPACTION:
180
+ return "AI_SESSION_EVENT_TYPE_COMPACTION";
181
+ case AISessionEventType.AI_SESSION_EVENT_TYPE_AUTH:
182
+ return "AI_SESSION_EVENT_TYPE_AUTH";
183
+ case AISessionEventType.AI_SESSION_EVENT_TYPE_SKILL:
184
+ return "AI_SESSION_EVENT_TYPE_SKILL";
185
+ case AISessionEventType.AI_SESSION_EVENT_TYPE_MCP:
186
+ return "AI_SESSION_EVENT_TYPE_MCP";
187
+ case AISessionEventType.AI_SESSION_EVENT_TYPE_MENTION:
188
+ return "AI_SESSION_EVENT_TYPE_MENTION";
189
+ case AISessionEventType.AI_SESSION_EVENT_TYPE_PERMISSION:
190
+ return "AI_SESSION_EVENT_TYPE_PERMISSION";
191
+ case AISessionEventType.AI_SESSION_EVENT_TYPE_FEEDBACK:
192
+ return "AI_SESSION_EVENT_TYPE_FEEDBACK";
193
+ case AISessionEventType.AI_SESSION_EVENT_TYPE_ERROR:
194
+ return "AI_SESSION_EVENT_TYPE_ERROR";
195
+ case AISessionEventType.AI_SESSION_EVENT_TYPE_SUMMARY:
196
+ return "AI_SESSION_EVENT_TYPE_SUMMARY";
197
+ case AISessionEventType.UNRECOGNIZED:
211
198
  default:
212
199
  return "UNRECOGNIZED";
213
200
  }
@@ -889,6 +876,10 @@ export interface AISessionSummary {
889
876
  clients: string[];
890
877
  /** The versions those apps reported, verbatim. */
891
878
  clientVersions: string[];
879
+ /** The harness's latest title for the session (summary · session_title); "" when it named none. */
880
+ title: string;
881
+ /** The harness's latest "while you were away" recap (summary · recap); "" when it wrote none. */
882
+ recap: string;
892
883
  }
893
884
 
894
885
  export interface StreamSessionsRequest {
@@ -971,7 +962,7 @@ export interface SnapshotCompleted {
971
962
  }
972
963
 
973
964
  export interface AISessionEvent {
974
- kind: AISessionEventKind;
965
+ type: AISessionEventType;
975
966
  sequence?: number | undefined;
976
967
  eventTime: Date | undefined;
977
968
  turnId: string;
@@ -1010,6 +1001,35 @@ export interface AISessionEvent {
1010
1001
  agentName: string;
1011
1002
  /** The reasoning effort the call reported; "" when none. */
1012
1003
  effort: string;
1004
+ /**
1005
+ * The event inside its type, from one closed vocabulary per type:
1006
+ * session: start | turn message: user | assistant model: call
1007
+ * tool: call | result | decision agent: run (one subagent run)
1008
+ * command: compact | clear | resume | exit | model | effort | login | logout | usage | status | plugin | review
1009
+ * compaction: manual | auto auth: login | logout | recovery
1010
+ * skill (who activated it): user | model | nested mcp: connection
1011
+ * mention: file | directory | agent | mcp_resource | peer
1012
+ * permission (the mode entered): default | accept_edits | plan | auto | bypass
1013
+ * feedback: survey error: harness
1014
+ * summary: session_title | recap | agent_progress | compaction (text in content)
1015
+ * "" = not reported; "other" = the source named something outside the vocabulary. Values are only ever added;
1016
+ * keep an unfamiliar one as it is.
1017
+ */
1018
+ subtype: string;
1019
+ /** The harness's own label for the record the event was mapped from (api_request, /compact), for reference only. */
1020
+ context: string;
1021
+ /**
1022
+ * conversation | auxiliary (the harness's own housekeeping: titles, summaries, suggestions) | "" (not reported),
1023
+ * on model calls and assistant replies.
1024
+ */
1025
+ callCategory: string;
1026
+ /** commentary | final | "" (not reported), on assistant replies. */
1027
+ replyPhase: string;
1028
+ /**
1029
+ * The run this event is about when it is not that run's own work (the harness summarising subagent X's progress
1030
+ * names X here; agent_id stays the run that did the work). Never set on agent · run. "" = about no other run.
1031
+ */
1032
+ subjectAgentId: string;
1013
1033
  }
1014
1034
 
1015
1035
  export interface AIContentPart {
@@ -1110,7 +1130,7 @@ export interface SessionModelUsage {
1110
1130
  export interface SessionTimelinePoint {
1111
1131
  logicalEventId: string;
1112
1132
  cursor: string;
1113
- kind: AISessionEventKind;
1133
+ type: AISessionEventType;
1114
1134
  eventTime: Date | undefined;
1115
1135
  model: string;
1116
1136
  provider: string;
@@ -1122,6 +1142,8 @@ export interface SessionTimelinePoint {
1122
1142
  /** Funding facility observed on this event (lens, not reconciled) so the timeline can tint by facility. */
1123
1143
  fundingMode: AIFundingMode;
1124
1144
  effort: string;
1145
+ /** The event inside its type; see AISessionEvent.subtype. */
1146
+ subtype: string;
1125
1147
  }
1126
1148
 
1127
1149
  /**
@@ -1777,9 +1799,9 @@ export interface ListModelPriceHistoryResponse {
1777
1799
  */
1778
1800
  export interface AIModelPrice {
1779
1801
  source: string;
1780
- /** The platform that bills for the model (openrouter, anthropic, amazon-bedrock). */
1802
+ /** The company that bills for the model (openrouter, anthropic, amazon-bedrock). */
1781
1803
  biller: string;
1782
- /** The model as an AI call names it (claude-sonnet-4.5, not anthropic/claude-sonnet-4.5). */
1804
+ /** The model exactly as the catalog spells it (anthropic/claude-sonnet-4.5 on OpenRouter), never cut. */
1783
1805
  modelRaw: string;
1784
1806
  scrapedAt: Date | undefined;
1785
1807
  inputUsdPerMtok: number;
@@ -2498,6 +2520,8 @@ function createBaseAISessionSummary(): AISessionSummary {
2498
2520
  observer: "",
2499
2521
  clients: [],
2500
2522
  clientVersions: [],
2523
+ title: "",
2524
+ recap: "",
2501
2525
  };
2502
2526
  }
2503
2527
 
@@ -2599,6 +2623,12 @@ export const AISessionSummary: MessageFns<AISessionSummary> = {
2599
2623
  for (const v of message.clientVersions) {
2600
2624
  writer.uint32(258).string(v!);
2601
2625
  }
2626
+ if (message.title !== "") {
2627
+ writer.uint32(266).string(message.title);
2628
+ }
2629
+ if (message.recap !== "") {
2630
+ writer.uint32(274).string(message.recap);
2631
+ }
2602
2632
  return writer;
2603
2633
  },
2604
2634
 
@@ -2871,6 +2901,22 @@ export const AISessionSummary: MessageFns<AISessionSummary> = {
2871
2901
  message.clientVersions.push(reader.string());
2872
2902
  continue;
2873
2903
  }
2904
+ case 33: {
2905
+ if (tag !== 266) {
2906
+ break;
2907
+ }
2908
+
2909
+ message.title = reader.string();
2910
+ continue;
2911
+ }
2912
+ case 34: {
2913
+ if (tag !== 274) {
2914
+ break;
2915
+ }
2916
+
2917
+ message.recap = reader.string();
2918
+ continue;
2919
+ }
2874
2920
  }
2875
2921
  if ((tag & 7) === 4 || tag === 0) {
2876
2922
  break;
@@ -3013,6 +3059,8 @@ export const AISessionSummary: MessageFns<AISessionSummary> = {
3013
3059
  : globalThis.Array.isArray(object?.client_versions)
3014
3060
  ? object.client_versions.map((e: any) => globalThis.String(e))
3015
3061
  : [],
3062
+ title: isSet(object.title) ? globalThis.String(object.title) : "",
3063
+ recap: isSet(object.recap) ? globalThis.String(object.recap) : "",
3016
3064
  };
3017
3065
  },
3018
3066
 
@@ -3114,6 +3162,12 @@ export const AISessionSummary: MessageFns<AISessionSummary> = {
3114
3162
  if (message.clientVersions?.length) {
3115
3163
  obj.clientVersions = message.clientVersions;
3116
3164
  }
3165
+ if (message.title !== "") {
3166
+ obj.title = message.title;
3167
+ }
3168
+ if (message.recap !== "") {
3169
+ obj.recap = message.recap;
3170
+ }
3117
3171
  return obj;
3118
3172
  },
3119
3173
 
@@ -3156,6 +3210,8 @@ export const AISessionSummary: MessageFns<AISessionSummary> = {
3156
3210
  message.observer = object.observer ?? "";
3157
3211
  message.clients = object.clients?.map((e) => e) || [];
3158
3212
  message.clientVersions = object.clientVersions?.map((e) => e) || [];
3213
+ message.title = object.title ?? "";
3214
+ message.recap = object.recap ?? "";
3159
3215
  return message;
3160
3216
  },
3161
3217
  };
@@ -4167,7 +4223,7 @@ export const SnapshotCompleted: MessageFns<SnapshotCompleted> = {
4167
4223
 
4168
4224
  function createBaseAISessionEvent(): AISessionEvent {
4169
4225
  return {
4170
- kind: 0,
4226
+ type: 0,
4171
4227
  sequence: undefined,
4172
4228
  eventTime: undefined,
4173
4229
  turnId: "",
@@ -4191,13 +4247,18 @@ function createBaseAISessionEvent(): AISessionEvent {
4191
4247
  isSubagent: false,
4192
4248
  agentName: "",
4193
4249
  effort: "",
4250
+ subtype: "",
4251
+ context: "",
4252
+ callCategory: "",
4253
+ replyPhase: "",
4254
+ subjectAgentId: "",
4194
4255
  };
4195
4256
  }
4196
4257
 
4197
4258
  export const AISessionEvent: MessageFns<AISessionEvent> = {
4198
4259
  encode(message: AISessionEvent, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
4199
- if (message.kind !== 0) {
4200
- writer.uint32(8).int32(message.kind);
4260
+ if (message.type !== 0) {
4261
+ writer.uint32(8).int32(message.type);
4201
4262
  }
4202
4263
  if (message.sequence !== undefined) {
4203
4264
  writer.uint32(16).int64(message.sequence);
@@ -4268,6 +4329,21 @@ export const AISessionEvent: MessageFns<AISessionEvent> = {
4268
4329
  if (message.effort !== "") {
4269
4330
  writer.uint32(194).string(message.effort);
4270
4331
  }
4332
+ if (message.subtype !== "") {
4333
+ writer.uint32(202).string(message.subtype);
4334
+ }
4335
+ if (message.context !== "") {
4336
+ writer.uint32(210).string(message.context);
4337
+ }
4338
+ if (message.callCategory !== "") {
4339
+ writer.uint32(218).string(message.callCategory);
4340
+ }
4341
+ if (message.replyPhase !== "") {
4342
+ writer.uint32(226).string(message.replyPhase);
4343
+ }
4344
+ if (message.subjectAgentId !== "") {
4345
+ writer.uint32(234).string(message.subjectAgentId);
4346
+ }
4271
4347
  return writer;
4272
4348
  },
4273
4349
 
@@ -4289,7 +4365,7 @@ export const AISessionEvent: MessageFns<AISessionEvent> = {
4289
4365
  break;
4290
4366
  }
4291
4367
 
4292
- message.kind = reader.int32() as any;
4368
+ message.type = reader.int32() as any;
4293
4369
  continue;
4294
4370
  }
4295
4371
  case 2: {
@@ -4476,6 +4552,46 @@ export const AISessionEvent: MessageFns<AISessionEvent> = {
4476
4552
  message.effort = reader.string();
4477
4553
  continue;
4478
4554
  }
4555
+ case 25: {
4556
+ if (tag !== 202) {
4557
+ break;
4558
+ }
4559
+
4560
+ message.subtype = reader.string();
4561
+ continue;
4562
+ }
4563
+ case 26: {
4564
+ if (tag !== 210) {
4565
+ break;
4566
+ }
4567
+
4568
+ message.context = reader.string();
4569
+ continue;
4570
+ }
4571
+ case 27: {
4572
+ if (tag !== 218) {
4573
+ break;
4574
+ }
4575
+
4576
+ message.callCategory = reader.string();
4577
+ continue;
4578
+ }
4579
+ case 28: {
4580
+ if (tag !== 226) {
4581
+ break;
4582
+ }
4583
+
4584
+ message.replyPhase = reader.string();
4585
+ continue;
4586
+ }
4587
+ case 29: {
4588
+ if (tag !== 234) {
4589
+ break;
4590
+ }
4591
+
4592
+ message.subjectAgentId = reader.string();
4593
+ continue;
4594
+ }
4479
4595
  }
4480
4596
  if ((tag & 7) === 4 || tag === 0) {
4481
4597
  break;
@@ -4490,7 +4606,7 @@ export const AISessionEvent: MessageFns<AISessionEvent> = {
4490
4606
 
4491
4607
  fromJSON(object: any): AISessionEvent {
4492
4608
  return {
4493
- kind: isSet(object.kind) ? aISessionEventKindFromJSON(object.kind) : 0,
4609
+ type: isSet(object.type) ? aISessionEventTypeFromJSON(object.type) : 0,
4494
4610
  sequence: isSet(object.sequence) ? globalThis.Number(object.sequence) : undefined,
4495
4611
  eventTime: isSet(object.eventTime)
4496
4612
  ? fromJsonTimestamp(object.eventTime)
@@ -4572,13 +4688,30 @@ export const AISessionEvent: MessageFns<AISessionEvent> = {
4572
4688
  ? globalThis.String(object.agent_name)
4573
4689
  : "",
4574
4690
  effort: isSet(object.effort) ? globalThis.String(object.effort) : "",
4691
+ subtype: isSet(object.subtype) ? globalThis.String(object.subtype) : "",
4692
+ context: isSet(object.context) ? globalThis.String(object.context) : "",
4693
+ callCategory: isSet(object.callCategory)
4694
+ ? globalThis.String(object.callCategory)
4695
+ : isSet(object.call_category)
4696
+ ? globalThis.String(object.call_category)
4697
+ : "",
4698
+ replyPhase: isSet(object.replyPhase)
4699
+ ? globalThis.String(object.replyPhase)
4700
+ : isSet(object.reply_phase)
4701
+ ? globalThis.String(object.reply_phase)
4702
+ : "",
4703
+ subjectAgentId: isSet(object.subjectAgentId)
4704
+ ? globalThis.String(object.subjectAgentId)
4705
+ : isSet(object.subject_agent_id)
4706
+ ? globalThis.String(object.subject_agent_id)
4707
+ : "",
4575
4708
  };
4576
4709
  },
4577
4710
 
4578
4711
  toJSON(message: AISessionEvent): unknown {
4579
4712
  const obj: any = {};
4580
- if (message.kind !== 0) {
4581
- obj.kind = aISessionEventKindToJSON(message.kind);
4713
+ if (message.type !== 0) {
4714
+ obj.type = aISessionEventTypeToJSON(message.type);
4582
4715
  }
4583
4716
  if (message.sequence !== undefined) {
4584
4717
  obj.sequence = Math.round(message.sequence);
@@ -4649,6 +4782,21 @@ export const AISessionEvent: MessageFns<AISessionEvent> = {
4649
4782
  if (message.effort !== "") {
4650
4783
  obj.effort = message.effort;
4651
4784
  }
4785
+ if (message.subtype !== "") {
4786
+ obj.subtype = message.subtype;
4787
+ }
4788
+ if (message.context !== "") {
4789
+ obj.context = message.context;
4790
+ }
4791
+ if (message.callCategory !== "") {
4792
+ obj.callCategory = message.callCategory;
4793
+ }
4794
+ if (message.replyPhase !== "") {
4795
+ obj.replyPhase = message.replyPhase;
4796
+ }
4797
+ if (message.subjectAgentId !== "") {
4798
+ obj.subjectAgentId = message.subjectAgentId;
4799
+ }
4652
4800
  return obj;
4653
4801
  },
4654
4802
 
@@ -4657,7 +4805,7 @@ export const AISessionEvent: MessageFns<AISessionEvent> = {
4657
4805
  },
4658
4806
  fromPartial<I extends Exact<DeepPartial<AISessionEvent>, I>>(object: I): AISessionEvent {
4659
4807
  const message = createBaseAISessionEvent();
4660
- message.kind = object.kind ?? 0;
4808
+ message.type = object.type ?? 0;
4661
4809
  message.sequence = object.sequence ?? undefined;
4662
4810
  message.eventTime = object.eventTime ?? undefined;
4663
4811
  message.turnId = object.turnId ?? "";
@@ -4683,6 +4831,11 @@ export const AISessionEvent: MessageFns<AISessionEvent> = {
4683
4831
  message.isSubagent = object.isSubagent ?? false;
4684
4832
  message.agentName = object.agentName ?? "";
4685
4833
  message.effort = object.effort ?? "";
4834
+ message.subtype = object.subtype ?? "";
4835
+ message.context = object.context ?? "";
4836
+ message.callCategory = object.callCategory ?? "";
4837
+ message.replyPhase = object.replyPhase ?? "";
4838
+ message.subjectAgentId = object.subjectAgentId ?? "";
4686
4839
  return message;
4687
4840
  },
4688
4841
  };
@@ -5868,7 +6021,7 @@ function createBaseSessionTimelinePoint(): SessionTimelinePoint {
5868
6021
  return {
5869
6022
  logicalEventId: "",
5870
6023
  cursor: "",
5871
- kind: 0,
6024
+ type: 0,
5872
6025
  eventTime: undefined,
5873
6026
  model: "",
5874
6027
  provider: "",
@@ -5877,6 +6030,7 @@ function createBaseSessionTimelinePoint(): SessionTimelinePoint {
5877
6030
  usage: undefined,
5878
6031
  fundingMode: 0,
5879
6032
  effort: "",
6033
+ subtype: "",
5880
6034
  };
5881
6035
  }
5882
6036
 
@@ -5888,8 +6042,8 @@ export const SessionTimelinePoint: MessageFns<SessionTimelinePoint> = {
5888
6042
  if (message.cursor !== "") {
5889
6043
  writer.uint32(18).string(message.cursor);
5890
6044
  }
5891
- if (message.kind !== 0) {
5892
- writer.uint32(24).int32(message.kind);
6045
+ if (message.type !== 0) {
6046
+ writer.uint32(24).int32(message.type);
5893
6047
  }
5894
6048
  if (message.eventTime !== undefined) {
5895
6049
  Timestamp.encode(toTimestamp(message.eventTime), writer.uint32(34).fork()).join();
@@ -5915,6 +6069,9 @@ export const SessionTimelinePoint: MessageFns<SessionTimelinePoint> = {
5915
6069
  if (message.effort !== "") {
5916
6070
  writer.uint32(90).string(message.effort);
5917
6071
  }
6072
+ if (message.subtype !== "") {
6073
+ writer.uint32(98).string(message.subtype);
6074
+ }
5918
6075
  return writer;
5919
6076
  },
5920
6077
 
@@ -5952,7 +6109,7 @@ export const SessionTimelinePoint: MessageFns<SessionTimelinePoint> = {
5952
6109
  break;
5953
6110
  }
5954
6111
 
5955
- message.kind = reader.int32() as any;
6112
+ message.type = reader.int32() as any;
5956
6113
  continue;
5957
6114
  }
5958
6115
  case 4: {
@@ -6019,6 +6176,14 @@ export const SessionTimelinePoint: MessageFns<SessionTimelinePoint> = {
6019
6176
  message.effort = reader.string();
6020
6177
  continue;
6021
6178
  }
6179
+ case 12: {
6180
+ if (tag !== 98) {
6181
+ break;
6182
+ }
6183
+
6184
+ message.subtype = reader.string();
6185
+ continue;
6186
+ }
6022
6187
  }
6023
6188
  if ((tag & 7) === 4 || tag === 0) {
6024
6189
  break;
@@ -6039,7 +6204,7 @@ export const SessionTimelinePoint: MessageFns<SessionTimelinePoint> = {
6039
6204
  ? globalThis.String(object.logical_event_id)
6040
6205
  : "",
6041
6206
  cursor: isSet(object.cursor) ? globalThis.String(object.cursor) : "",
6042
- kind: isSet(object.kind) ? aISessionEventKindFromJSON(object.kind) : 0,
6207
+ type: isSet(object.type) ? aISessionEventTypeFromJSON(object.type) : 0,
6043
6208
  eventTime: isSet(object.eventTime)
6044
6209
  ? fromJsonTimestamp(object.eventTime)
6045
6210
  : isSet(object.event_time)
@@ -6064,6 +6229,7 @@ export const SessionTimelinePoint: MessageFns<SessionTimelinePoint> = {
6064
6229
  ? aIFundingModeFromJSON(object.funding_mode)
6065
6230
  : 0,
6066
6231
  effort: isSet(object.effort) ? globalThis.String(object.effort) : "",
6232
+ subtype: isSet(object.subtype) ? globalThis.String(object.subtype) : "",
6067
6233
  };
6068
6234
  },
6069
6235
 
@@ -6075,8 +6241,8 @@ export const SessionTimelinePoint: MessageFns<SessionTimelinePoint> = {
6075
6241
  if (message.cursor !== "") {
6076
6242
  obj.cursor = message.cursor;
6077
6243
  }
6078
- if (message.kind !== 0) {
6079
- obj.kind = aISessionEventKindToJSON(message.kind);
6244
+ if (message.type !== 0) {
6245
+ obj.type = aISessionEventTypeToJSON(message.type);
6080
6246
  }
6081
6247
  if (message.eventTime !== undefined) {
6082
6248
  obj.eventTime = message.eventTime.toISOString();
@@ -6102,6 +6268,9 @@ export const SessionTimelinePoint: MessageFns<SessionTimelinePoint> = {
6102
6268
  if (message.effort !== "") {
6103
6269
  obj.effort = message.effort;
6104
6270
  }
6271
+ if (message.subtype !== "") {
6272
+ obj.subtype = message.subtype;
6273
+ }
6105
6274
  return obj;
6106
6275
  },
6107
6276
 
@@ -6112,7 +6281,7 @@ export const SessionTimelinePoint: MessageFns<SessionTimelinePoint> = {
6112
6281
  const message = createBaseSessionTimelinePoint();
6113
6282
  message.logicalEventId = object.logicalEventId ?? "";
6114
6283
  message.cursor = object.cursor ?? "";
6115
- message.kind = object.kind ?? 0;
6284
+ message.type = object.type ?? 0;
6116
6285
  message.eventTime = object.eventTime ?? undefined;
6117
6286
  message.model = object.model ?? "";
6118
6287
  message.provider = object.provider ?? "";
@@ -6123,6 +6292,7 @@ export const SessionTimelinePoint: MessageFns<SessionTimelinePoint> = {
6123
6292
  : undefined;
6124
6293
  message.fundingMode = object.fundingMode ?? 0;
6125
6294
  message.effort = object.effort ?? "";
6295
+ message.subtype = object.subtype ?? "";
6126
6296
  return message;
6127
6297
  },
6128
6298
  };
@@ -46,7 +46,7 @@ goog.exportSymbol('proto.gateway.web.v1.AIResourceDimension', null, global);
46
46
  goog.exportSymbol('proto.gateway.web.v1.AISessionEvent', null, global);
47
47
  goog.exportSymbol('proto.gateway.web.v1.AISessionEventEnvelope', null, global);
48
48
  goog.exportSymbol('proto.gateway.web.v1.AISessionEventEnvelope.FrameCase', null, global);
49
- goog.exportSymbol('proto.gateway.web.v1.AISessionEventKind', null, global);
49
+ goog.exportSymbol('proto.gateway.web.v1.AISessionEventType', null, global);
50
50
  goog.exportSymbol('proto.gateway.web.v1.AISessionFilter', null, global);
51
51
  goog.exportSymbol('proto.gateway.web.v1.AISessionRef', null, global);
52
52
  goog.exportSymbol('proto.gateway.web.v1.AISessionSummary', null, global);
@@ -3281,7 +3281,9 @@ costSourcesList: (f = jspb.Message.getRepeatedField(msg, 28)) == null ? undefine
3281
3281
  accountIdsList: (f = jspb.Message.getRepeatedField(msg, 29)) == null ? undefined : f,
3282
3282
  observer: jspb.Message.getFieldWithDefault(msg, 30, ""),
3283
3283
  clientsList: (f = jspb.Message.getRepeatedField(msg, 31)) == null ? undefined : f,
3284
- clientVersionsList: (f = jspb.Message.getRepeatedField(msg, 32)) == null ? undefined : f
3284
+ clientVersionsList: (f = jspb.Message.getRepeatedField(msg, 32)) == null ? undefined : f,
3285
+ title: jspb.Message.getFieldWithDefault(msg, 33, ""),
3286
+ recap: jspb.Message.getFieldWithDefault(msg, 34, "")
3285
3287
  };
3286
3288
 
3287
3289
  if (includeInstance) {
@@ -3449,6 +3451,14 @@ proto.gateway.web.v1.AISessionSummary.deserializeBinaryFromReader = function(msg
3449
3451
  var value = /** @type {string} */ (reader.readStringRequireUtf8());
3450
3452
  msg.addClientVersions(value);
3451
3453
  break;
3454
+ case 33:
3455
+ var value = /** @type {string} */ (reader.readStringRequireUtf8());
3456
+ msg.setTitle(value);
3457
+ break;
3458
+ case 34:
3459
+ var value = /** @type {string} */ (reader.readStringRequireUtf8());
3460
+ msg.setRecap(value);
3461
+ break;
3452
3462
  default:
3453
3463
  reader.skipField();
3454
3464
  break;
@@ -3705,6 +3715,20 @@ proto.gateway.web.v1.AISessionSummary.serializeBinaryToWriter = function(message
3705
3715
  f
3706
3716
  );
3707
3717
  }
3718
+ f = message.getTitle();
3719
+ if (f.length > 0) {
3720
+ writer.writeString(
3721
+ 33,
3722
+ f
3723
+ );
3724
+ }
3725
+ f = message.getRecap();
3726
+ if (f.length > 0) {
3727
+ writer.writeString(
3728
+ 34,
3729
+ f
3730
+ );
3731
+ }
3708
3732
  };
3709
3733
 
3710
3734
 
@@ -4531,6 +4555,42 @@ proto.gateway.web.v1.AISessionSummary.prototype.clearClientVersionsList = functi
4531
4555
  };
4532
4556
 
4533
4557
 
4558
+ /**
4559
+ * optional string title = 33;
4560
+ * @return {string}
4561
+ */
4562
+ proto.gateway.web.v1.AISessionSummary.prototype.getTitle = function() {
4563
+ return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 33, ""));
4564
+ };
4565
+
4566
+
4567
+ /**
4568
+ * @param {string} value
4569
+ * @return {!proto.gateway.web.v1.AISessionSummary} returns this
4570
+ */
4571
+ proto.gateway.web.v1.AISessionSummary.prototype.setTitle = function(value) {
4572
+ return jspb.Message.setProto3StringField(this, 33, value);
4573
+ };
4574
+
4575
+
4576
+ /**
4577
+ * optional string recap = 34;
4578
+ * @return {string}
4579
+ */
4580
+ proto.gateway.web.v1.AISessionSummary.prototype.getRecap = function() {
4581
+ return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 34, ""));
4582
+ };
4583
+
4584
+
4585
+ /**
4586
+ * @param {string} value
4587
+ * @return {!proto.gateway.web.v1.AISessionSummary} returns this
4588
+ */
4589
+ proto.gateway.web.v1.AISessionSummary.prototype.setRecap = function(value) {
4590
+ return jspb.Message.setProto3StringField(this, 34, value);
4591
+ };
4592
+
4593
+
4534
4594
 
4535
4595
 
4536
4596
 
@@ -6504,7 +6564,7 @@ proto.gateway.web.v1.AISessionEvent.prototype.toObject = function(opt_includeIns
6504
6564
  */
6505
6565
  proto.gateway.web.v1.AISessionEvent.toObject = function(includeInstance, msg) {
6506
6566
  var f, obj = {
6507
- kind: jspb.Message.getFieldWithDefault(msg, 1, 0),
6567
+ type: jspb.Message.getFieldWithDefault(msg, 1, 0),
6508
6568
  sequence: (f = jspb.Message.getField(msg, 2)) == null ? undefined : f,
6509
6569
  eventTime: (f = msg.getEventTime()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),
6510
6570
  turnId: jspb.Message.getFieldWithDefault(msg, 4, ""),
@@ -6528,7 +6588,12 @@ agentId: jspb.Message.getFieldWithDefault(msg, 20, ""),
6528
6588
  parentAgentId: jspb.Message.getFieldWithDefault(msg, 21, ""),
6529
6589
  isSubagent: jspb.Message.getBooleanFieldWithDefault(msg, 22, false),
6530
6590
  agentName: jspb.Message.getFieldWithDefault(msg, 23, ""),
6531
- effort: jspb.Message.getFieldWithDefault(msg, 24, "")
6591
+ effort: jspb.Message.getFieldWithDefault(msg, 24, ""),
6592
+ subtype: jspb.Message.getFieldWithDefault(msg, 25, ""),
6593
+ context: jspb.Message.getFieldWithDefault(msg, 26, ""),
6594
+ callCategory: jspb.Message.getFieldWithDefault(msg, 27, ""),
6595
+ replyPhase: jspb.Message.getFieldWithDefault(msg, 28, ""),
6596
+ subjectAgentId: jspb.Message.getFieldWithDefault(msg, 29, "")
6532
6597
  };
6533
6598
 
6534
6599
  if (includeInstance) {
@@ -6566,8 +6631,8 @@ proto.gateway.web.v1.AISessionEvent.deserializeBinaryFromReader = function(msg,
6566
6631
  var field = reader.getFieldNumber();
6567
6632
  switch (field) {
6568
6633
  case 1:
6569
- var value = /** @type {!proto.gateway.web.v1.AISessionEventKind} */ (reader.readEnum());
6570
- msg.setKind(value);
6634
+ var value = /** @type {!proto.gateway.web.v1.AISessionEventType} */ (reader.readEnum());
6635
+ msg.setType(value);
6571
6636
  break;
6572
6637
  case 2:
6573
6638
  var value = /** @type {number} */ (reader.readInt64());
@@ -6664,6 +6729,26 @@ proto.gateway.web.v1.AISessionEvent.deserializeBinaryFromReader = function(msg,
6664
6729
  var value = /** @type {string} */ (reader.readStringRequireUtf8());
6665
6730
  msg.setEffort(value);
6666
6731
  break;
6732
+ case 25:
6733
+ var value = /** @type {string} */ (reader.readStringRequireUtf8());
6734
+ msg.setSubtype(value);
6735
+ break;
6736
+ case 26:
6737
+ var value = /** @type {string} */ (reader.readStringRequireUtf8());
6738
+ msg.setContext(value);
6739
+ break;
6740
+ case 27:
6741
+ var value = /** @type {string} */ (reader.readStringRequireUtf8());
6742
+ msg.setCallCategory(value);
6743
+ break;
6744
+ case 28:
6745
+ var value = /** @type {string} */ (reader.readStringRequireUtf8());
6746
+ msg.setReplyPhase(value);
6747
+ break;
6748
+ case 29:
6749
+ var value = /** @type {string} */ (reader.readStringRequireUtf8());
6750
+ msg.setSubjectAgentId(value);
6751
+ break;
6667
6752
  default:
6668
6753
  reader.skipField();
6669
6754
  break;
@@ -6693,7 +6778,7 @@ proto.gateway.web.v1.AISessionEvent.prototype.serializeBinary = function() {
6693
6778
  */
6694
6779
  proto.gateway.web.v1.AISessionEvent.serializeBinaryToWriter = function(message, writer) {
6695
6780
  var f = undefined;
6696
- f = message.getKind();
6781
+ f = message.getType();
6697
6782
  if (f !== 0.0) {
6698
6783
  writer.writeEnum(
6699
6784
  1,
@@ -6864,23 +6949,58 @@ proto.gateway.web.v1.AISessionEvent.serializeBinaryToWriter = function(message,
6864
6949
  f
6865
6950
  );
6866
6951
  }
6952
+ f = message.getSubtype();
6953
+ if (f.length > 0) {
6954
+ writer.writeString(
6955
+ 25,
6956
+ f
6957
+ );
6958
+ }
6959
+ f = message.getContext();
6960
+ if (f.length > 0) {
6961
+ writer.writeString(
6962
+ 26,
6963
+ f
6964
+ );
6965
+ }
6966
+ f = message.getCallCategory();
6967
+ if (f.length > 0) {
6968
+ writer.writeString(
6969
+ 27,
6970
+ f
6971
+ );
6972
+ }
6973
+ f = message.getReplyPhase();
6974
+ if (f.length > 0) {
6975
+ writer.writeString(
6976
+ 28,
6977
+ f
6978
+ );
6979
+ }
6980
+ f = message.getSubjectAgentId();
6981
+ if (f.length > 0) {
6982
+ writer.writeString(
6983
+ 29,
6984
+ f
6985
+ );
6986
+ }
6867
6987
  };
6868
6988
 
6869
6989
 
6870
6990
  /**
6871
- * optional AISessionEventKind kind = 1;
6872
- * @return {!proto.gateway.web.v1.AISessionEventKind}
6991
+ * optional AISessionEventType type = 1;
6992
+ * @return {!proto.gateway.web.v1.AISessionEventType}
6873
6993
  */
6874
- proto.gateway.web.v1.AISessionEvent.prototype.getKind = function() {
6875
- return /** @type {!proto.gateway.web.v1.AISessionEventKind} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
6994
+ proto.gateway.web.v1.AISessionEvent.prototype.getType = function() {
6995
+ return /** @type {!proto.gateway.web.v1.AISessionEventType} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
6876
6996
  };
6877
6997
 
6878
6998
 
6879
6999
  /**
6880
- * @param {!proto.gateway.web.v1.AISessionEventKind} value
7000
+ * @param {!proto.gateway.web.v1.AISessionEventType} value
6881
7001
  * @return {!proto.gateway.web.v1.AISessionEvent} returns this
6882
7002
  */
6883
- proto.gateway.web.v1.AISessionEvent.prototype.setKind = function(value) {
7003
+ proto.gateway.web.v1.AISessionEvent.prototype.setType = function(value) {
6884
7004
  return jspb.Message.setProto3EnumField(this, 1, value);
6885
7005
  };
6886
7006
 
@@ -7411,6 +7531,96 @@ proto.gateway.web.v1.AISessionEvent.prototype.setEffort = function(value) {
7411
7531
  };
7412
7532
 
7413
7533
 
7534
+ /**
7535
+ * optional string subtype = 25;
7536
+ * @return {string}
7537
+ */
7538
+ proto.gateway.web.v1.AISessionEvent.prototype.getSubtype = function() {
7539
+ return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 25, ""));
7540
+ };
7541
+
7542
+
7543
+ /**
7544
+ * @param {string} value
7545
+ * @return {!proto.gateway.web.v1.AISessionEvent} returns this
7546
+ */
7547
+ proto.gateway.web.v1.AISessionEvent.prototype.setSubtype = function(value) {
7548
+ return jspb.Message.setProto3StringField(this, 25, value);
7549
+ };
7550
+
7551
+
7552
+ /**
7553
+ * optional string context = 26;
7554
+ * @return {string}
7555
+ */
7556
+ proto.gateway.web.v1.AISessionEvent.prototype.getContext = function() {
7557
+ return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 26, ""));
7558
+ };
7559
+
7560
+
7561
+ /**
7562
+ * @param {string} value
7563
+ * @return {!proto.gateway.web.v1.AISessionEvent} returns this
7564
+ */
7565
+ proto.gateway.web.v1.AISessionEvent.prototype.setContext = function(value) {
7566
+ return jspb.Message.setProto3StringField(this, 26, value);
7567
+ };
7568
+
7569
+
7570
+ /**
7571
+ * optional string call_category = 27;
7572
+ * @return {string}
7573
+ */
7574
+ proto.gateway.web.v1.AISessionEvent.prototype.getCallCategory = function() {
7575
+ return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 27, ""));
7576
+ };
7577
+
7578
+
7579
+ /**
7580
+ * @param {string} value
7581
+ * @return {!proto.gateway.web.v1.AISessionEvent} returns this
7582
+ */
7583
+ proto.gateway.web.v1.AISessionEvent.prototype.setCallCategory = function(value) {
7584
+ return jspb.Message.setProto3StringField(this, 27, value);
7585
+ };
7586
+
7587
+
7588
+ /**
7589
+ * optional string reply_phase = 28;
7590
+ * @return {string}
7591
+ */
7592
+ proto.gateway.web.v1.AISessionEvent.prototype.getReplyPhase = function() {
7593
+ return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 28, ""));
7594
+ };
7595
+
7596
+
7597
+ /**
7598
+ * @param {string} value
7599
+ * @return {!proto.gateway.web.v1.AISessionEvent} returns this
7600
+ */
7601
+ proto.gateway.web.v1.AISessionEvent.prototype.setReplyPhase = function(value) {
7602
+ return jspb.Message.setProto3StringField(this, 28, value);
7603
+ };
7604
+
7605
+
7606
+ /**
7607
+ * optional string subject_agent_id = 29;
7608
+ * @return {string}
7609
+ */
7610
+ proto.gateway.web.v1.AISessionEvent.prototype.getSubjectAgentId = function() {
7611
+ return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 29, ""));
7612
+ };
7613
+
7614
+
7615
+ /**
7616
+ * @param {string} value
7617
+ * @return {!proto.gateway.web.v1.AISessionEvent} returns this
7618
+ */
7619
+ proto.gateway.web.v1.AISessionEvent.prototype.setSubjectAgentId = function(value) {
7620
+ return jspb.Message.setProto3StringField(this, 29, value);
7621
+ };
7622
+
7623
+
7414
7624
 
7415
7625
 
7416
7626
 
@@ -9659,7 +9869,7 @@ proto.gateway.web.v1.SessionTimelinePoint.toObject = function(includeInstance, m
9659
9869
  var f, obj = {
9660
9870
  logicalEventId: jspb.Message.getFieldWithDefault(msg, 1, ""),
9661
9871
  cursor: jspb.Message.getFieldWithDefault(msg, 2, ""),
9662
- kind: jspb.Message.getFieldWithDefault(msg, 3, 0),
9872
+ type: jspb.Message.getFieldWithDefault(msg, 3, 0),
9663
9873
  eventTime: (f = msg.getEventTime()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),
9664
9874
  model: jspb.Message.getFieldWithDefault(msg, 5, ""),
9665
9875
  provider: jspb.Message.getFieldWithDefault(msg, 6, ""),
@@ -9667,7 +9877,8 @@ finishReason: jspb.Message.getFieldWithDefault(msg, 7, ""),
9667
9877
  durationMs: (f = jspb.Message.getField(msg, 8)) == null ? undefined : f,
9668
9878
  usage: (f = msg.getUsage()) && proto.gateway.web.v1.AITokenUsage.toObject(includeInstance, f),
9669
9879
  fundingMode: jspb.Message.getFieldWithDefault(msg, 10, 0),
9670
- effort: jspb.Message.getFieldWithDefault(msg, 11, "")
9880
+ effort: jspb.Message.getFieldWithDefault(msg, 11, ""),
9881
+ subtype: jspb.Message.getFieldWithDefault(msg, 12, "")
9671
9882
  };
9672
9883
 
9673
9884
  if (includeInstance) {
@@ -9713,8 +9924,8 @@ proto.gateway.web.v1.SessionTimelinePoint.deserializeBinaryFromReader = function
9713
9924
  msg.setCursor(value);
9714
9925
  break;
9715
9926
  case 3:
9716
- var value = /** @type {!proto.gateway.web.v1.AISessionEventKind} */ (reader.readEnum());
9717
- msg.setKind(value);
9927
+ var value = /** @type {!proto.gateway.web.v1.AISessionEventType} */ (reader.readEnum());
9928
+ msg.setType(value);
9718
9929
  break;
9719
9930
  case 4:
9720
9931
  var value = new google_protobuf_timestamp_pb.Timestamp;
@@ -9750,6 +9961,10 @@ proto.gateway.web.v1.SessionTimelinePoint.deserializeBinaryFromReader = function
9750
9961
  var value = /** @type {string} */ (reader.readStringRequireUtf8());
9751
9962
  msg.setEffort(value);
9752
9963
  break;
9964
+ case 12:
9965
+ var value = /** @type {string} */ (reader.readStringRequireUtf8());
9966
+ msg.setSubtype(value);
9967
+ break;
9753
9968
  default:
9754
9969
  reader.skipField();
9755
9970
  break;
@@ -9793,7 +10008,7 @@ proto.gateway.web.v1.SessionTimelinePoint.serializeBinaryToWriter = function(mes
9793
10008
  f
9794
10009
  );
9795
10010
  }
9796
- f = message.getKind();
10011
+ f = message.getType();
9797
10012
  if (f !== 0.0) {
9798
10013
  writer.writeEnum(
9799
10014
  3,
@@ -9858,6 +10073,13 @@ proto.gateway.web.v1.SessionTimelinePoint.serializeBinaryToWriter = function(mes
9858
10073
  f
9859
10074
  );
9860
10075
  }
10076
+ f = message.getSubtype();
10077
+ if (f.length > 0) {
10078
+ writer.writeString(
10079
+ 12,
10080
+ f
10081
+ );
10082
+ }
9861
10083
  };
9862
10084
 
9863
10085
 
@@ -9898,19 +10120,19 @@ proto.gateway.web.v1.SessionTimelinePoint.prototype.setCursor = function(value)
9898
10120
 
9899
10121
 
9900
10122
  /**
9901
- * optional AISessionEventKind kind = 3;
9902
- * @return {!proto.gateway.web.v1.AISessionEventKind}
10123
+ * optional AISessionEventType type = 3;
10124
+ * @return {!proto.gateway.web.v1.AISessionEventType}
9903
10125
  */
9904
- proto.gateway.web.v1.SessionTimelinePoint.prototype.getKind = function() {
9905
- return /** @type {!proto.gateway.web.v1.AISessionEventKind} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
10126
+ proto.gateway.web.v1.SessionTimelinePoint.prototype.getType = function() {
10127
+ return /** @type {!proto.gateway.web.v1.AISessionEventType} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
9906
10128
  };
9907
10129
 
9908
10130
 
9909
10131
  /**
9910
- * @param {!proto.gateway.web.v1.AISessionEventKind} value
10132
+ * @param {!proto.gateway.web.v1.AISessionEventType} value
9911
10133
  * @return {!proto.gateway.web.v1.SessionTimelinePoint} returns this
9912
10134
  */
9913
- proto.gateway.web.v1.SessionTimelinePoint.prototype.setKind = function(value) {
10135
+ proto.gateway.web.v1.SessionTimelinePoint.prototype.setType = function(value) {
9914
10136
  return jspb.Message.setProto3EnumField(this, 3, value);
9915
10137
  };
9916
10138
 
@@ -10115,6 +10337,24 @@ proto.gateway.web.v1.SessionTimelinePoint.prototype.setEffort = function(value)
10115
10337
  };
10116
10338
 
10117
10339
 
10340
+ /**
10341
+ * optional string subtype = 12;
10342
+ * @return {string}
10343
+ */
10344
+ proto.gateway.web.v1.SessionTimelinePoint.prototype.getSubtype = function() {
10345
+ return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 12, ""));
10346
+ };
10347
+
10348
+
10349
+ /**
10350
+ * @param {string} value
10351
+ * @return {!proto.gateway.web.v1.SessionTimelinePoint} returns this
10352
+ */
10353
+ proto.gateway.web.v1.SessionTimelinePoint.prototype.setSubtype = function(value) {
10354
+ return jspb.Message.setProto3StringField(this, 12, value);
10355
+ };
10356
+
10357
+
10118
10358
 
10119
10359
  /**
10120
10360
  * List of repeated fields within this message type.
@@ -31471,25 +31711,23 @@ proto.gateway.web.v1.SessionSort = {
31471
31711
  /**
31472
31712
  * @enum {number}
31473
31713
  */
31474
- proto.gateway.web.v1.AISessionEventKind = {
31475
- AI_SESSION_EVENT_KIND_UNSPECIFIED: 0,
31476
- AI_SESSION_EVENT_KIND_SESSION_START: 1,
31477
- AI_SESSION_EVENT_KIND_TURN_START: 2,
31478
- AI_SESSION_EVENT_KIND_USER_MESSAGE: 3,
31479
- AI_SESSION_EVENT_KIND_ASSISTANT_MESSAGE: 4,
31480
- AI_SESSION_EVENT_KIND_MODEL_CALL: 5,
31481
- AI_SESSION_EVENT_KIND_TOOL_CALL: 6,
31482
- AI_SESSION_EVENT_KIND_TOOL_RESULT: 7,
31483
- AI_SESSION_EVENT_KIND_TOOL_DECISION: 8,
31484
- AI_SESSION_EVENT_KIND_COMPACTION: 9,
31485
- AI_SESSION_EVENT_KIND_ERROR: 10,
31486
- AI_SESSION_EVENT_KIND_SUBAGENT_RUN: 11,
31487
- AI_SESSION_EVENT_KIND_AUTH: 12,
31488
- AI_SESSION_EVENT_KIND_MCP_CONNECTION: 13,
31489
- AI_SESSION_EVENT_KIND_SKILL_ACTIVATION: 14,
31490
- AI_SESSION_EVENT_KIND_PERMISSION_CHANGE: 15,
31491
- AI_SESSION_EVENT_KIND_CONTEXT_MENTION: 16,
31492
- AI_SESSION_EVENT_KIND_USER_FEEDBACK: 17
31714
+ proto.gateway.web.v1.AISessionEventType = {
31715
+ AI_SESSION_EVENT_TYPE_UNSPECIFIED: 0,
31716
+ AI_SESSION_EVENT_TYPE_SESSION: 1,
31717
+ AI_SESSION_EVENT_TYPE_MESSAGE: 2,
31718
+ AI_SESSION_EVENT_TYPE_MODEL: 3,
31719
+ AI_SESSION_EVENT_TYPE_TOOL: 4,
31720
+ AI_SESSION_EVENT_TYPE_AGENT: 5,
31721
+ AI_SESSION_EVENT_TYPE_COMMAND: 6,
31722
+ AI_SESSION_EVENT_TYPE_COMPACTION: 7,
31723
+ AI_SESSION_EVENT_TYPE_AUTH: 8,
31724
+ AI_SESSION_EVENT_TYPE_SKILL: 9,
31725
+ AI_SESSION_EVENT_TYPE_MCP: 10,
31726
+ AI_SESSION_EVENT_TYPE_MENTION: 11,
31727
+ AI_SESSION_EVENT_TYPE_PERMISSION: 12,
31728
+ AI_SESSION_EVENT_TYPE_FEEDBACK: 13,
31729
+ AI_SESSION_EVENT_TYPE_ERROR: 14,
31730
+ AI_SESSION_EVENT_TYPE_SUMMARY: 15
31493
31731
  };
31494
31732
 
31495
31733
  /**