@miradorlabs/web-grpc 3.4.0 → 3.5.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.5.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,30 @@ 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;
1013
1028
  }
1014
1029
 
1015
1030
  export interface AIContentPart {
@@ -1110,7 +1125,7 @@ export interface SessionModelUsage {
1110
1125
  export interface SessionTimelinePoint {
1111
1126
  logicalEventId: string;
1112
1127
  cursor: string;
1113
- kind: AISessionEventKind;
1128
+ type: AISessionEventType;
1114
1129
  eventTime: Date | undefined;
1115
1130
  model: string;
1116
1131
  provider: string;
@@ -1122,6 +1137,8 @@ export interface SessionTimelinePoint {
1122
1137
  /** Funding facility observed on this event (lens, not reconciled) so the timeline can tint by facility. */
1123
1138
  fundingMode: AIFundingMode;
1124
1139
  effort: string;
1140
+ /** The event inside its type; see AISessionEvent.subtype. */
1141
+ subtype: string;
1125
1142
  }
1126
1143
 
1127
1144
  /**
@@ -1777,9 +1794,9 @@ export interface ListModelPriceHistoryResponse {
1777
1794
  */
1778
1795
  export interface AIModelPrice {
1779
1796
  source: string;
1780
- /** The platform that bills for the model (openrouter, anthropic, amazon-bedrock). */
1797
+ /** The company that bills for the model (openrouter, anthropic, amazon-bedrock). */
1781
1798
  biller: string;
1782
- /** The model as an AI call names it (claude-sonnet-4.5, not anthropic/claude-sonnet-4.5). */
1799
+ /** The model exactly as the catalog spells it (anthropic/claude-sonnet-4.5 on OpenRouter), never cut. */
1783
1800
  modelRaw: string;
1784
1801
  scrapedAt: Date | undefined;
1785
1802
  inputUsdPerMtok: number;
@@ -2498,6 +2515,8 @@ function createBaseAISessionSummary(): AISessionSummary {
2498
2515
  observer: "",
2499
2516
  clients: [],
2500
2517
  clientVersions: [],
2518
+ title: "",
2519
+ recap: "",
2501
2520
  };
2502
2521
  }
2503
2522
 
@@ -2599,6 +2618,12 @@ export const AISessionSummary: MessageFns<AISessionSummary> = {
2599
2618
  for (const v of message.clientVersions) {
2600
2619
  writer.uint32(258).string(v!);
2601
2620
  }
2621
+ if (message.title !== "") {
2622
+ writer.uint32(266).string(message.title);
2623
+ }
2624
+ if (message.recap !== "") {
2625
+ writer.uint32(274).string(message.recap);
2626
+ }
2602
2627
  return writer;
2603
2628
  },
2604
2629
 
@@ -2871,6 +2896,22 @@ export const AISessionSummary: MessageFns<AISessionSummary> = {
2871
2896
  message.clientVersions.push(reader.string());
2872
2897
  continue;
2873
2898
  }
2899
+ case 33: {
2900
+ if (tag !== 266) {
2901
+ break;
2902
+ }
2903
+
2904
+ message.title = reader.string();
2905
+ continue;
2906
+ }
2907
+ case 34: {
2908
+ if (tag !== 274) {
2909
+ break;
2910
+ }
2911
+
2912
+ message.recap = reader.string();
2913
+ continue;
2914
+ }
2874
2915
  }
2875
2916
  if ((tag & 7) === 4 || tag === 0) {
2876
2917
  break;
@@ -3013,6 +3054,8 @@ export const AISessionSummary: MessageFns<AISessionSummary> = {
3013
3054
  : globalThis.Array.isArray(object?.client_versions)
3014
3055
  ? object.client_versions.map((e: any) => globalThis.String(e))
3015
3056
  : [],
3057
+ title: isSet(object.title) ? globalThis.String(object.title) : "",
3058
+ recap: isSet(object.recap) ? globalThis.String(object.recap) : "",
3016
3059
  };
3017
3060
  },
3018
3061
 
@@ -3114,6 +3157,12 @@ export const AISessionSummary: MessageFns<AISessionSummary> = {
3114
3157
  if (message.clientVersions?.length) {
3115
3158
  obj.clientVersions = message.clientVersions;
3116
3159
  }
3160
+ if (message.title !== "") {
3161
+ obj.title = message.title;
3162
+ }
3163
+ if (message.recap !== "") {
3164
+ obj.recap = message.recap;
3165
+ }
3117
3166
  return obj;
3118
3167
  },
3119
3168
 
@@ -3156,6 +3205,8 @@ export const AISessionSummary: MessageFns<AISessionSummary> = {
3156
3205
  message.observer = object.observer ?? "";
3157
3206
  message.clients = object.clients?.map((e) => e) || [];
3158
3207
  message.clientVersions = object.clientVersions?.map((e) => e) || [];
3208
+ message.title = object.title ?? "";
3209
+ message.recap = object.recap ?? "";
3159
3210
  return message;
3160
3211
  },
3161
3212
  };
@@ -4167,7 +4218,7 @@ export const SnapshotCompleted: MessageFns<SnapshotCompleted> = {
4167
4218
 
4168
4219
  function createBaseAISessionEvent(): AISessionEvent {
4169
4220
  return {
4170
- kind: 0,
4221
+ type: 0,
4171
4222
  sequence: undefined,
4172
4223
  eventTime: undefined,
4173
4224
  turnId: "",
@@ -4191,13 +4242,17 @@ function createBaseAISessionEvent(): AISessionEvent {
4191
4242
  isSubagent: false,
4192
4243
  agentName: "",
4193
4244
  effort: "",
4245
+ subtype: "",
4246
+ context: "",
4247
+ callCategory: "",
4248
+ replyPhase: "",
4194
4249
  };
4195
4250
  }
4196
4251
 
4197
4252
  export const AISessionEvent: MessageFns<AISessionEvent> = {
4198
4253
  encode(message: AISessionEvent, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
4199
- if (message.kind !== 0) {
4200
- writer.uint32(8).int32(message.kind);
4254
+ if (message.type !== 0) {
4255
+ writer.uint32(8).int32(message.type);
4201
4256
  }
4202
4257
  if (message.sequence !== undefined) {
4203
4258
  writer.uint32(16).int64(message.sequence);
@@ -4268,6 +4323,18 @@ export const AISessionEvent: MessageFns<AISessionEvent> = {
4268
4323
  if (message.effort !== "") {
4269
4324
  writer.uint32(194).string(message.effort);
4270
4325
  }
4326
+ if (message.subtype !== "") {
4327
+ writer.uint32(202).string(message.subtype);
4328
+ }
4329
+ if (message.context !== "") {
4330
+ writer.uint32(210).string(message.context);
4331
+ }
4332
+ if (message.callCategory !== "") {
4333
+ writer.uint32(218).string(message.callCategory);
4334
+ }
4335
+ if (message.replyPhase !== "") {
4336
+ writer.uint32(226).string(message.replyPhase);
4337
+ }
4271
4338
  return writer;
4272
4339
  },
4273
4340
 
@@ -4289,7 +4356,7 @@ export const AISessionEvent: MessageFns<AISessionEvent> = {
4289
4356
  break;
4290
4357
  }
4291
4358
 
4292
- message.kind = reader.int32() as any;
4359
+ message.type = reader.int32() as any;
4293
4360
  continue;
4294
4361
  }
4295
4362
  case 2: {
@@ -4476,6 +4543,38 @@ export const AISessionEvent: MessageFns<AISessionEvent> = {
4476
4543
  message.effort = reader.string();
4477
4544
  continue;
4478
4545
  }
4546
+ case 25: {
4547
+ if (tag !== 202) {
4548
+ break;
4549
+ }
4550
+
4551
+ message.subtype = reader.string();
4552
+ continue;
4553
+ }
4554
+ case 26: {
4555
+ if (tag !== 210) {
4556
+ break;
4557
+ }
4558
+
4559
+ message.context = reader.string();
4560
+ continue;
4561
+ }
4562
+ case 27: {
4563
+ if (tag !== 218) {
4564
+ break;
4565
+ }
4566
+
4567
+ message.callCategory = reader.string();
4568
+ continue;
4569
+ }
4570
+ case 28: {
4571
+ if (tag !== 226) {
4572
+ break;
4573
+ }
4574
+
4575
+ message.replyPhase = reader.string();
4576
+ continue;
4577
+ }
4479
4578
  }
4480
4579
  if ((tag & 7) === 4 || tag === 0) {
4481
4580
  break;
@@ -4490,7 +4589,7 @@ export const AISessionEvent: MessageFns<AISessionEvent> = {
4490
4589
 
4491
4590
  fromJSON(object: any): AISessionEvent {
4492
4591
  return {
4493
- kind: isSet(object.kind) ? aISessionEventKindFromJSON(object.kind) : 0,
4592
+ type: isSet(object.type) ? aISessionEventTypeFromJSON(object.type) : 0,
4494
4593
  sequence: isSet(object.sequence) ? globalThis.Number(object.sequence) : undefined,
4495
4594
  eventTime: isSet(object.eventTime)
4496
4595
  ? fromJsonTimestamp(object.eventTime)
@@ -4572,13 +4671,25 @@ export const AISessionEvent: MessageFns<AISessionEvent> = {
4572
4671
  ? globalThis.String(object.agent_name)
4573
4672
  : "",
4574
4673
  effort: isSet(object.effort) ? globalThis.String(object.effort) : "",
4674
+ subtype: isSet(object.subtype) ? globalThis.String(object.subtype) : "",
4675
+ context: isSet(object.context) ? globalThis.String(object.context) : "",
4676
+ callCategory: isSet(object.callCategory)
4677
+ ? globalThis.String(object.callCategory)
4678
+ : isSet(object.call_category)
4679
+ ? globalThis.String(object.call_category)
4680
+ : "",
4681
+ replyPhase: isSet(object.replyPhase)
4682
+ ? globalThis.String(object.replyPhase)
4683
+ : isSet(object.reply_phase)
4684
+ ? globalThis.String(object.reply_phase)
4685
+ : "",
4575
4686
  };
4576
4687
  },
4577
4688
 
4578
4689
  toJSON(message: AISessionEvent): unknown {
4579
4690
  const obj: any = {};
4580
- if (message.kind !== 0) {
4581
- obj.kind = aISessionEventKindToJSON(message.kind);
4691
+ if (message.type !== 0) {
4692
+ obj.type = aISessionEventTypeToJSON(message.type);
4582
4693
  }
4583
4694
  if (message.sequence !== undefined) {
4584
4695
  obj.sequence = Math.round(message.sequence);
@@ -4649,6 +4760,18 @@ export const AISessionEvent: MessageFns<AISessionEvent> = {
4649
4760
  if (message.effort !== "") {
4650
4761
  obj.effort = message.effort;
4651
4762
  }
4763
+ if (message.subtype !== "") {
4764
+ obj.subtype = message.subtype;
4765
+ }
4766
+ if (message.context !== "") {
4767
+ obj.context = message.context;
4768
+ }
4769
+ if (message.callCategory !== "") {
4770
+ obj.callCategory = message.callCategory;
4771
+ }
4772
+ if (message.replyPhase !== "") {
4773
+ obj.replyPhase = message.replyPhase;
4774
+ }
4652
4775
  return obj;
4653
4776
  },
4654
4777
 
@@ -4657,7 +4780,7 @@ export const AISessionEvent: MessageFns<AISessionEvent> = {
4657
4780
  },
4658
4781
  fromPartial<I extends Exact<DeepPartial<AISessionEvent>, I>>(object: I): AISessionEvent {
4659
4782
  const message = createBaseAISessionEvent();
4660
- message.kind = object.kind ?? 0;
4783
+ message.type = object.type ?? 0;
4661
4784
  message.sequence = object.sequence ?? undefined;
4662
4785
  message.eventTime = object.eventTime ?? undefined;
4663
4786
  message.turnId = object.turnId ?? "";
@@ -4683,6 +4806,10 @@ export const AISessionEvent: MessageFns<AISessionEvent> = {
4683
4806
  message.isSubagent = object.isSubagent ?? false;
4684
4807
  message.agentName = object.agentName ?? "";
4685
4808
  message.effort = object.effort ?? "";
4809
+ message.subtype = object.subtype ?? "";
4810
+ message.context = object.context ?? "";
4811
+ message.callCategory = object.callCategory ?? "";
4812
+ message.replyPhase = object.replyPhase ?? "";
4686
4813
  return message;
4687
4814
  },
4688
4815
  };
@@ -5868,7 +5995,7 @@ function createBaseSessionTimelinePoint(): SessionTimelinePoint {
5868
5995
  return {
5869
5996
  logicalEventId: "",
5870
5997
  cursor: "",
5871
- kind: 0,
5998
+ type: 0,
5872
5999
  eventTime: undefined,
5873
6000
  model: "",
5874
6001
  provider: "",
@@ -5877,6 +6004,7 @@ function createBaseSessionTimelinePoint(): SessionTimelinePoint {
5877
6004
  usage: undefined,
5878
6005
  fundingMode: 0,
5879
6006
  effort: "",
6007
+ subtype: "",
5880
6008
  };
5881
6009
  }
5882
6010
 
@@ -5888,8 +6016,8 @@ export const SessionTimelinePoint: MessageFns<SessionTimelinePoint> = {
5888
6016
  if (message.cursor !== "") {
5889
6017
  writer.uint32(18).string(message.cursor);
5890
6018
  }
5891
- if (message.kind !== 0) {
5892
- writer.uint32(24).int32(message.kind);
6019
+ if (message.type !== 0) {
6020
+ writer.uint32(24).int32(message.type);
5893
6021
  }
5894
6022
  if (message.eventTime !== undefined) {
5895
6023
  Timestamp.encode(toTimestamp(message.eventTime), writer.uint32(34).fork()).join();
@@ -5915,6 +6043,9 @@ export const SessionTimelinePoint: MessageFns<SessionTimelinePoint> = {
5915
6043
  if (message.effort !== "") {
5916
6044
  writer.uint32(90).string(message.effort);
5917
6045
  }
6046
+ if (message.subtype !== "") {
6047
+ writer.uint32(98).string(message.subtype);
6048
+ }
5918
6049
  return writer;
5919
6050
  },
5920
6051
 
@@ -5952,7 +6083,7 @@ export const SessionTimelinePoint: MessageFns<SessionTimelinePoint> = {
5952
6083
  break;
5953
6084
  }
5954
6085
 
5955
- message.kind = reader.int32() as any;
6086
+ message.type = reader.int32() as any;
5956
6087
  continue;
5957
6088
  }
5958
6089
  case 4: {
@@ -6019,6 +6150,14 @@ export const SessionTimelinePoint: MessageFns<SessionTimelinePoint> = {
6019
6150
  message.effort = reader.string();
6020
6151
  continue;
6021
6152
  }
6153
+ case 12: {
6154
+ if (tag !== 98) {
6155
+ break;
6156
+ }
6157
+
6158
+ message.subtype = reader.string();
6159
+ continue;
6160
+ }
6022
6161
  }
6023
6162
  if ((tag & 7) === 4 || tag === 0) {
6024
6163
  break;
@@ -6039,7 +6178,7 @@ export const SessionTimelinePoint: MessageFns<SessionTimelinePoint> = {
6039
6178
  ? globalThis.String(object.logical_event_id)
6040
6179
  : "",
6041
6180
  cursor: isSet(object.cursor) ? globalThis.String(object.cursor) : "",
6042
- kind: isSet(object.kind) ? aISessionEventKindFromJSON(object.kind) : 0,
6181
+ type: isSet(object.type) ? aISessionEventTypeFromJSON(object.type) : 0,
6043
6182
  eventTime: isSet(object.eventTime)
6044
6183
  ? fromJsonTimestamp(object.eventTime)
6045
6184
  : isSet(object.event_time)
@@ -6064,6 +6203,7 @@ export const SessionTimelinePoint: MessageFns<SessionTimelinePoint> = {
6064
6203
  ? aIFundingModeFromJSON(object.funding_mode)
6065
6204
  : 0,
6066
6205
  effort: isSet(object.effort) ? globalThis.String(object.effort) : "",
6206
+ subtype: isSet(object.subtype) ? globalThis.String(object.subtype) : "",
6067
6207
  };
6068
6208
  },
6069
6209
 
@@ -6075,8 +6215,8 @@ export const SessionTimelinePoint: MessageFns<SessionTimelinePoint> = {
6075
6215
  if (message.cursor !== "") {
6076
6216
  obj.cursor = message.cursor;
6077
6217
  }
6078
- if (message.kind !== 0) {
6079
- obj.kind = aISessionEventKindToJSON(message.kind);
6218
+ if (message.type !== 0) {
6219
+ obj.type = aISessionEventTypeToJSON(message.type);
6080
6220
  }
6081
6221
  if (message.eventTime !== undefined) {
6082
6222
  obj.eventTime = message.eventTime.toISOString();
@@ -6102,6 +6242,9 @@ export const SessionTimelinePoint: MessageFns<SessionTimelinePoint> = {
6102
6242
  if (message.effort !== "") {
6103
6243
  obj.effort = message.effort;
6104
6244
  }
6245
+ if (message.subtype !== "") {
6246
+ obj.subtype = message.subtype;
6247
+ }
6105
6248
  return obj;
6106
6249
  },
6107
6250
 
@@ -6112,7 +6255,7 @@ export const SessionTimelinePoint: MessageFns<SessionTimelinePoint> = {
6112
6255
  const message = createBaseSessionTimelinePoint();
6113
6256
  message.logicalEventId = object.logicalEventId ?? "";
6114
6257
  message.cursor = object.cursor ?? "";
6115
- message.kind = object.kind ?? 0;
6258
+ message.type = object.type ?? 0;
6116
6259
  message.eventTime = object.eventTime ?? undefined;
6117
6260
  message.model = object.model ?? "";
6118
6261
  message.provider = object.provider ?? "";
@@ -6123,6 +6266,7 @@ export const SessionTimelinePoint: MessageFns<SessionTimelinePoint> = {
6123
6266
  : undefined;
6124
6267
  message.fundingMode = object.fundingMode ?? 0;
6125
6268
  message.effort = object.effort ?? "";
6269
+ message.subtype = object.subtype ?? "";
6126
6270
  return message;
6127
6271
  },
6128
6272
  };
@@ -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,11 @@ 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, "")
6532
6596
  };
6533
6597
 
6534
6598
  if (includeInstance) {
@@ -6566,8 +6630,8 @@ proto.gateway.web.v1.AISessionEvent.deserializeBinaryFromReader = function(msg,
6566
6630
  var field = reader.getFieldNumber();
6567
6631
  switch (field) {
6568
6632
  case 1:
6569
- var value = /** @type {!proto.gateway.web.v1.AISessionEventKind} */ (reader.readEnum());
6570
- msg.setKind(value);
6633
+ var value = /** @type {!proto.gateway.web.v1.AISessionEventType} */ (reader.readEnum());
6634
+ msg.setType(value);
6571
6635
  break;
6572
6636
  case 2:
6573
6637
  var value = /** @type {number} */ (reader.readInt64());
@@ -6664,6 +6728,22 @@ proto.gateway.web.v1.AISessionEvent.deserializeBinaryFromReader = function(msg,
6664
6728
  var value = /** @type {string} */ (reader.readStringRequireUtf8());
6665
6729
  msg.setEffort(value);
6666
6730
  break;
6731
+ case 25:
6732
+ var value = /** @type {string} */ (reader.readStringRequireUtf8());
6733
+ msg.setSubtype(value);
6734
+ break;
6735
+ case 26:
6736
+ var value = /** @type {string} */ (reader.readStringRequireUtf8());
6737
+ msg.setContext(value);
6738
+ break;
6739
+ case 27:
6740
+ var value = /** @type {string} */ (reader.readStringRequireUtf8());
6741
+ msg.setCallCategory(value);
6742
+ break;
6743
+ case 28:
6744
+ var value = /** @type {string} */ (reader.readStringRequireUtf8());
6745
+ msg.setReplyPhase(value);
6746
+ break;
6667
6747
  default:
6668
6748
  reader.skipField();
6669
6749
  break;
@@ -6693,7 +6773,7 @@ proto.gateway.web.v1.AISessionEvent.prototype.serializeBinary = function() {
6693
6773
  */
6694
6774
  proto.gateway.web.v1.AISessionEvent.serializeBinaryToWriter = function(message, writer) {
6695
6775
  var f = undefined;
6696
- f = message.getKind();
6776
+ f = message.getType();
6697
6777
  if (f !== 0.0) {
6698
6778
  writer.writeEnum(
6699
6779
  1,
@@ -6864,23 +6944,51 @@ proto.gateway.web.v1.AISessionEvent.serializeBinaryToWriter = function(message,
6864
6944
  f
6865
6945
  );
6866
6946
  }
6947
+ f = message.getSubtype();
6948
+ if (f.length > 0) {
6949
+ writer.writeString(
6950
+ 25,
6951
+ f
6952
+ );
6953
+ }
6954
+ f = message.getContext();
6955
+ if (f.length > 0) {
6956
+ writer.writeString(
6957
+ 26,
6958
+ f
6959
+ );
6960
+ }
6961
+ f = message.getCallCategory();
6962
+ if (f.length > 0) {
6963
+ writer.writeString(
6964
+ 27,
6965
+ f
6966
+ );
6967
+ }
6968
+ f = message.getReplyPhase();
6969
+ if (f.length > 0) {
6970
+ writer.writeString(
6971
+ 28,
6972
+ f
6973
+ );
6974
+ }
6867
6975
  };
6868
6976
 
6869
6977
 
6870
6978
  /**
6871
- * optional AISessionEventKind kind = 1;
6872
- * @return {!proto.gateway.web.v1.AISessionEventKind}
6979
+ * optional AISessionEventType type = 1;
6980
+ * @return {!proto.gateway.web.v1.AISessionEventType}
6873
6981
  */
6874
- proto.gateway.web.v1.AISessionEvent.prototype.getKind = function() {
6875
- return /** @type {!proto.gateway.web.v1.AISessionEventKind} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
6982
+ proto.gateway.web.v1.AISessionEvent.prototype.getType = function() {
6983
+ return /** @type {!proto.gateway.web.v1.AISessionEventType} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
6876
6984
  };
6877
6985
 
6878
6986
 
6879
6987
  /**
6880
- * @param {!proto.gateway.web.v1.AISessionEventKind} value
6988
+ * @param {!proto.gateway.web.v1.AISessionEventType} value
6881
6989
  * @return {!proto.gateway.web.v1.AISessionEvent} returns this
6882
6990
  */
6883
- proto.gateway.web.v1.AISessionEvent.prototype.setKind = function(value) {
6991
+ proto.gateway.web.v1.AISessionEvent.prototype.setType = function(value) {
6884
6992
  return jspb.Message.setProto3EnumField(this, 1, value);
6885
6993
  };
6886
6994
 
@@ -7411,6 +7519,78 @@ proto.gateway.web.v1.AISessionEvent.prototype.setEffort = function(value) {
7411
7519
  };
7412
7520
 
7413
7521
 
7522
+ /**
7523
+ * optional string subtype = 25;
7524
+ * @return {string}
7525
+ */
7526
+ proto.gateway.web.v1.AISessionEvent.prototype.getSubtype = function() {
7527
+ return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 25, ""));
7528
+ };
7529
+
7530
+
7531
+ /**
7532
+ * @param {string} value
7533
+ * @return {!proto.gateway.web.v1.AISessionEvent} returns this
7534
+ */
7535
+ proto.gateway.web.v1.AISessionEvent.prototype.setSubtype = function(value) {
7536
+ return jspb.Message.setProto3StringField(this, 25, value);
7537
+ };
7538
+
7539
+
7540
+ /**
7541
+ * optional string context = 26;
7542
+ * @return {string}
7543
+ */
7544
+ proto.gateway.web.v1.AISessionEvent.prototype.getContext = function() {
7545
+ return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 26, ""));
7546
+ };
7547
+
7548
+
7549
+ /**
7550
+ * @param {string} value
7551
+ * @return {!proto.gateway.web.v1.AISessionEvent} returns this
7552
+ */
7553
+ proto.gateway.web.v1.AISessionEvent.prototype.setContext = function(value) {
7554
+ return jspb.Message.setProto3StringField(this, 26, value);
7555
+ };
7556
+
7557
+
7558
+ /**
7559
+ * optional string call_category = 27;
7560
+ * @return {string}
7561
+ */
7562
+ proto.gateway.web.v1.AISessionEvent.prototype.getCallCategory = function() {
7563
+ return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 27, ""));
7564
+ };
7565
+
7566
+
7567
+ /**
7568
+ * @param {string} value
7569
+ * @return {!proto.gateway.web.v1.AISessionEvent} returns this
7570
+ */
7571
+ proto.gateway.web.v1.AISessionEvent.prototype.setCallCategory = function(value) {
7572
+ return jspb.Message.setProto3StringField(this, 27, value);
7573
+ };
7574
+
7575
+
7576
+ /**
7577
+ * optional string reply_phase = 28;
7578
+ * @return {string}
7579
+ */
7580
+ proto.gateway.web.v1.AISessionEvent.prototype.getReplyPhase = function() {
7581
+ return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 28, ""));
7582
+ };
7583
+
7584
+
7585
+ /**
7586
+ * @param {string} value
7587
+ * @return {!proto.gateway.web.v1.AISessionEvent} returns this
7588
+ */
7589
+ proto.gateway.web.v1.AISessionEvent.prototype.setReplyPhase = function(value) {
7590
+ return jspb.Message.setProto3StringField(this, 28, value);
7591
+ };
7592
+
7593
+
7414
7594
 
7415
7595
 
7416
7596
 
@@ -9659,7 +9839,7 @@ proto.gateway.web.v1.SessionTimelinePoint.toObject = function(includeInstance, m
9659
9839
  var f, obj = {
9660
9840
  logicalEventId: jspb.Message.getFieldWithDefault(msg, 1, ""),
9661
9841
  cursor: jspb.Message.getFieldWithDefault(msg, 2, ""),
9662
- kind: jspb.Message.getFieldWithDefault(msg, 3, 0),
9842
+ type: jspb.Message.getFieldWithDefault(msg, 3, 0),
9663
9843
  eventTime: (f = msg.getEventTime()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),
9664
9844
  model: jspb.Message.getFieldWithDefault(msg, 5, ""),
9665
9845
  provider: jspb.Message.getFieldWithDefault(msg, 6, ""),
@@ -9667,7 +9847,8 @@ finishReason: jspb.Message.getFieldWithDefault(msg, 7, ""),
9667
9847
  durationMs: (f = jspb.Message.getField(msg, 8)) == null ? undefined : f,
9668
9848
  usage: (f = msg.getUsage()) && proto.gateway.web.v1.AITokenUsage.toObject(includeInstance, f),
9669
9849
  fundingMode: jspb.Message.getFieldWithDefault(msg, 10, 0),
9670
- effort: jspb.Message.getFieldWithDefault(msg, 11, "")
9850
+ effort: jspb.Message.getFieldWithDefault(msg, 11, ""),
9851
+ subtype: jspb.Message.getFieldWithDefault(msg, 12, "")
9671
9852
  };
9672
9853
 
9673
9854
  if (includeInstance) {
@@ -9713,8 +9894,8 @@ proto.gateway.web.v1.SessionTimelinePoint.deserializeBinaryFromReader = function
9713
9894
  msg.setCursor(value);
9714
9895
  break;
9715
9896
  case 3:
9716
- var value = /** @type {!proto.gateway.web.v1.AISessionEventKind} */ (reader.readEnum());
9717
- msg.setKind(value);
9897
+ var value = /** @type {!proto.gateway.web.v1.AISessionEventType} */ (reader.readEnum());
9898
+ msg.setType(value);
9718
9899
  break;
9719
9900
  case 4:
9720
9901
  var value = new google_protobuf_timestamp_pb.Timestamp;
@@ -9750,6 +9931,10 @@ proto.gateway.web.v1.SessionTimelinePoint.deserializeBinaryFromReader = function
9750
9931
  var value = /** @type {string} */ (reader.readStringRequireUtf8());
9751
9932
  msg.setEffort(value);
9752
9933
  break;
9934
+ case 12:
9935
+ var value = /** @type {string} */ (reader.readStringRequireUtf8());
9936
+ msg.setSubtype(value);
9937
+ break;
9753
9938
  default:
9754
9939
  reader.skipField();
9755
9940
  break;
@@ -9793,7 +9978,7 @@ proto.gateway.web.v1.SessionTimelinePoint.serializeBinaryToWriter = function(mes
9793
9978
  f
9794
9979
  );
9795
9980
  }
9796
- f = message.getKind();
9981
+ f = message.getType();
9797
9982
  if (f !== 0.0) {
9798
9983
  writer.writeEnum(
9799
9984
  3,
@@ -9858,6 +10043,13 @@ proto.gateway.web.v1.SessionTimelinePoint.serializeBinaryToWriter = function(mes
9858
10043
  f
9859
10044
  );
9860
10045
  }
10046
+ f = message.getSubtype();
10047
+ if (f.length > 0) {
10048
+ writer.writeString(
10049
+ 12,
10050
+ f
10051
+ );
10052
+ }
9861
10053
  };
9862
10054
 
9863
10055
 
@@ -9898,19 +10090,19 @@ proto.gateway.web.v1.SessionTimelinePoint.prototype.setCursor = function(value)
9898
10090
 
9899
10091
 
9900
10092
  /**
9901
- * optional AISessionEventKind kind = 3;
9902
- * @return {!proto.gateway.web.v1.AISessionEventKind}
10093
+ * optional AISessionEventType type = 3;
10094
+ * @return {!proto.gateway.web.v1.AISessionEventType}
9903
10095
  */
9904
- proto.gateway.web.v1.SessionTimelinePoint.prototype.getKind = function() {
9905
- return /** @type {!proto.gateway.web.v1.AISessionEventKind} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
10096
+ proto.gateway.web.v1.SessionTimelinePoint.prototype.getType = function() {
10097
+ return /** @type {!proto.gateway.web.v1.AISessionEventType} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
9906
10098
  };
9907
10099
 
9908
10100
 
9909
10101
  /**
9910
- * @param {!proto.gateway.web.v1.AISessionEventKind} value
10102
+ * @param {!proto.gateway.web.v1.AISessionEventType} value
9911
10103
  * @return {!proto.gateway.web.v1.SessionTimelinePoint} returns this
9912
10104
  */
9913
- proto.gateway.web.v1.SessionTimelinePoint.prototype.setKind = function(value) {
10105
+ proto.gateway.web.v1.SessionTimelinePoint.prototype.setType = function(value) {
9914
10106
  return jspb.Message.setProto3EnumField(this, 3, value);
9915
10107
  };
9916
10108
 
@@ -10115,6 +10307,24 @@ proto.gateway.web.v1.SessionTimelinePoint.prototype.setEffort = function(value)
10115
10307
  };
10116
10308
 
10117
10309
 
10310
+ /**
10311
+ * optional string subtype = 12;
10312
+ * @return {string}
10313
+ */
10314
+ proto.gateway.web.v1.SessionTimelinePoint.prototype.getSubtype = function() {
10315
+ return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 12, ""));
10316
+ };
10317
+
10318
+
10319
+ /**
10320
+ * @param {string} value
10321
+ * @return {!proto.gateway.web.v1.SessionTimelinePoint} returns this
10322
+ */
10323
+ proto.gateway.web.v1.SessionTimelinePoint.prototype.setSubtype = function(value) {
10324
+ return jspb.Message.setProto3StringField(this, 12, value);
10325
+ };
10326
+
10327
+
10118
10328
 
10119
10329
  /**
10120
10330
  * List of repeated fields within this message type.
@@ -31471,25 +31681,23 @@ proto.gateway.web.v1.SessionSort = {
31471
31681
  /**
31472
31682
  * @enum {number}
31473
31683
  */
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
31684
+ proto.gateway.web.v1.AISessionEventType = {
31685
+ AI_SESSION_EVENT_TYPE_UNSPECIFIED: 0,
31686
+ AI_SESSION_EVENT_TYPE_SESSION: 1,
31687
+ AI_SESSION_EVENT_TYPE_MESSAGE: 2,
31688
+ AI_SESSION_EVENT_TYPE_MODEL: 3,
31689
+ AI_SESSION_EVENT_TYPE_TOOL: 4,
31690
+ AI_SESSION_EVENT_TYPE_AGENT: 5,
31691
+ AI_SESSION_EVENT_TYPE_COMMAND: 6,
31692
+ AI_SESSION_EVENT_TYPE_COMPACTION: 7,
31693
+ AI_SESSION_EVENT_TYPE_AUTH: 8,
31694
+ AI_SESSION_EVENT_TYPE_SKILL: 9,
31695
+ AI_SESSION_EVENT_TYPE_MCP: 10,
31696
+ AI_SESSION_EVENT_TYPE_MENTION: 11,
31697
+ AI_SESSION_EVENT_TYPE_PERMISSION: 12,
31698
+ AI_SESSION_EVENT_TYPE_FEEDBACK: 13,
31699
+ AI_SESSION_EVENT_TYPE_ERROR: 14,
31700
+ AI_SESSION_EVENT_TYPE_SUMMARY: 15
31493
31701
  };
31494
31702
 
31495
31703
  /**