acp_sdk_async 0.2.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.
- checksums.yaml +7 -0
- data/LICENSE +24 -0
- data/README.md +147 -0
- data/lib/acp/agent.rb +201 -0
- data/lib/acp/client.rb +213 -0
- data/lib/acp/connection.rb +341 -0
- data/lib/acp/exceptions.rb +32 -0
- data/lib/acp/meta.rb +58 -0
- data/lib/acp/router.rb +119 -0
- data/lib/acp/schema.rb +1365 -0
- data/lib/acp/schema_base.rb +440 -0
- data/lib/acp/stdio.rb +162 -0
- data/lib/acp/transport.rb +134 -0
- data/lib/acp/version.rb +5 -0
- data/lib/acp/wait.rb +129 -0
- data/lib/acp_sdk.rb +3 -0
- data/lib/acp_sdk_async.rb +14 -0
- data/schema/VERSION +1 -0
- data/schema/meta.json +52 -0
- data/schema/schema.json +10295 -0
- metadata +90 -0
data/lib/acp/schema.rb
ADDED
|
@@ -0,0 +1,1365 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "schema_base"
|
|
4
|
+
|
|
5
|
+
module ACP
|
|
6
|
+
module Schema
|
|
7
|
+
SCHEMA_REF = "refs/tags/schema-v1.21.0"
|
|
8
|
+
|
|
9
|
+
class WriteTextFileRequest < Base
|
|
10
|
+
field :session_id, "SessionId", required: true
|
|
11
|
+
field :path, :string, required: true
|
|
12
|
+
field :content, :string, required: true
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
class ReadTextFileRequest < Base
|
|
16
|
+
field :session_id, "SessionId", required: true
|
|
17
|
+
field :path, :string, required: true
|
|
18
|
+
field :line, :integer, default_on_error: true
|
|
19
|
+
field :limit, :integer, default_on_error: true
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
class RequestPermissionRequest < Base
|
|
23
|
+
field :session_id, "SessionId", required: true
|
|
24
|
+
field :tool_call, "ToolCallUpdate", required: true
|
|
25
|
+
field :options, Types::List.new("PermissionOption"), required: true
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
class ToolCallUpdate < Base
|
|
29
|
+
field :tool_call_id, "ToolCallId", required: true
|
|
30
|
+
field :kind, "ToolKind", default_on_error: true
|
|
31
|
+
field :status, "ToolCallStatus", default_on_error: true
|
|
32
|
+
field :title, :string, default_on_error: true
|
|
33
|
+
field :name, :string, default_on_error: true
|
|
34
|
+
field :content, Types::List.new("ToolCallContent", skip_invalid: true), default_on_error: true
|
|
35
|
+
field :locations, Types::List.new("ToolCallLocation", skip_invalid: true), default_on_error: true
|
|
36
|
+
field :raw_input, :any, default_on_error: true
|
|
37
|
+
field :raw_output, :any, default_on_error: true
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
class Annotations < Base
|
|
41
|
+
field :audience, Types::List.new("Role", skip_invalid: true), default_on_error: true
|
|
42
|
+
field :last_modified, :string, default_on_error: true
|
|
43
|
+
field :priority, :number, default_on_error: true
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
class TextContent < Base
|
|
47
|
+
field :annotations, "Annotations", default_on_error: true
|
|
48
|
+
field :text, :string, required: true
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
class ImageContent < Base
|
|
52
|
+
field :annotations, "Annotations", default_on_error: true
|
|
53
|
+
field :data, :string, required: true
|
|
54
|
+
field :mime_type, :string, required: true
|
|
55
|
+
field :uri, :string, default_on_error: true
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
class AudioContent < Base
|
|
59
|
+
field :annotations, "Annotations", default_on_error: true
|
|
60
|
+
field :data, :string, required: true
|
|
61
|
+
field :mime_type, :string, required: true
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
class ResourceLink < Base
|
|
65
|
+
field :annotations, "Annotations", default_on_error: true
|
|
66
|
+
field :description, :string, default_on_error: true
|
|
67
|
+
field :mime_type, :string, default_on_error: true
|
|
68
|
+
field :name, :string, required: true
|
|
69
|
+
field :size, :integer, default_on_error: true
|
|
70
|
+
field :title, :string, default_on_error: true
|
|
71
|
+
field :uri, :string, required: true
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
class TextResourceContents < Base
|
|
75
|
+
field :mime_type, :string, default_on_error: true
|
|
76
|
+
field :text, :string, required: true
|
|
77
|
+
field :uri, :string, required: true
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
class BlobResourceContents < Base
|
|
81
|
+
field :blob, :string, required: true
|
|
82
|
+
field :mime_type, :string, default_on_error: true
|
|
83
|
+
field :uri, :string, required: true
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
class EmbeddedResource < Base
|
|
87
|
+
field :annotations, "Annotations", default_on_error: true
|
|
88
|
+
field :resource, "EmbeddedResourceResource", required: true
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
class Content < Base
|
|
92
|
+
field :content, "ContentBlock", required: true
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
class Diff < Base
|
|
96
|
+
field :path, :string, required: true
|
|
97
|
+
field :old_text, :string, default_on_error: true
|
|
98
|
+
field :new_text, :string, required: true
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
class Terminal < Base
|
|
102
|
+
field :terminal_id, "TerminalId", required: true
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
class ToolCallLocation < Base
|
|
106
|
+
field :path, :string, required: true
|
|
107
|
+
field :line, :integer, default_on_error: true
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
class PermissionOption < Base
|
|
111
|
+
field :option_id, "PermissionOptionId", required: true
|
|
112
|
+
field :name, :string, required: true
|
|
113
|
+
field :kind, "PermissionOptionKind", required: true
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
class CreateTerminalRequest < Base
|
|
117
|
+
field :session_id, "SessionId", required: true
|
|
118
|
+
field :command, :string, required: true
|
|
119
|
+
field :args, Types::List.new(:string, skip_invalid: true), default_on_error: true
|
|
120
|
+
field :env, Types::List.new("EnvVariable", skip_invalid: true), default_on_error: true
|
|
121
|
+
field :cwd, :string, default_on_error: true
|
|
122
|
+
field :output_byte_limit, :integer, default_on_error: true
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
class EnvVariable < Base
|
|
126
|
+
field :name, :string, required: true
|
|
127
|
+
field :value, :string, required: true
|
|
128
|
+
end
|
|
129
|
+
|
|
130
|
+
class TerminalOutputRequest < Base
|
|
131
|
+
field :session_id, "SessionId", required: true
|
|
132
|
+
field :terminal_id, "TerminalId", required: true
|
|
133
|
+
end
|
|
134
|
+
|
|
135
|
+
class ReleaseTerminalRequest < Base
|
|
136
|
+
field :session_id, "SessionId", required: true
|
|
137
|
+
field :terminal_id, "TerminalId", required: true
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
class WaitForTerminalExitRequest < Base
|
|
141
|
+
field :session_id, "SessionId", required: true
|
|
142
|
+
field :terminal_id, "TerminalId", required: true
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
class KillTerminalRequest < Base
|
|
146
|
+
field :session_id, "SessionId", required: true
|
|
147
|
+
field :terminal_id, "TerminalId", required: true
|
|
148
|
+
end
|
|
149
|
+
|
|
150
|
+
class ElicitationSessionScope < Base
|
|
151
|
+
field :session_id, "SessionId", required: true
|
|
152
|
+
field :tool_call_id, "ToolCallId", default_on_error: true
|
|
153
|
+
end
|
|
154
|
+
|
|
155
|
+
class ElicitationRequestScope < Base
|
|
156
|
+
field :request_id, "RequestId", required: true
|
|
157
|
+
end
|
|
158
|
+
|
|
159
|
+
class ElicitationSchema < Base
|
|
160
|
+
field :type, "ElicitationSchemaType", default: "object", default_on_error: true
|
|
161
|
+
field :title, :string, default_on_error: true
|
|
162
|
+
field :properties, Types::Map.new("ElicitationPropertySchema"), default: {}
|
|
163
|
+
field :required, Types::List.new(:string)
|
|
164
|
+
field :description, :string, default_on_error: true
|
|
165
|
+
end
|
|
166
|
+
|
|
167
|
+
class EnumOption < Base
|
|
168
|
+
field :const, :string, required: true
|
|
169
|
+
field :title, :string, required: true
|
|
170
|
+
field :description, :string, default_on_error: true
|
|
171
|
+
end
|
|
172
|
+
|
|
173
|
+
class StringPropertySchema < Base
|
|
174
|
+
field :title, :string, default_on_error: true
|
|
175
|
+
field :description, :string, default_on_error: true
|
|
176
|
+
field :min_length, :integer
|
|
177
|
+
field :max_length, :integer
|
|
178
|
+
field :pattern, :string
|
|
179
|
+
field :format, "StringFormat"
|
|
180
|
+
field :default, :string, default_on_error: true
|
|
181
|
+
field :enum, Types::List.new(:string)
|
|
182
|
+
field :one_of, Types::List.new("EnumOption")
|
|
183
|
+
end
|
|
184
|
+
|
|
185
|
+
class NumberPropertySchema < Base
|
|
186
|
+
field :title, :string, default_on_error: true
|
|
187
|
+
field :description, :string, default_on_error: true
|
|
188
|
+
field :minimum, :number
|
|
189
|
+
field :maximum, :number
|
|
190
|
+
field :default, :number, default_on_error: true
|
|
191
|
+
end
|
|
192
|
+
|
|
193
|
+
class IntegerPropertySchema < Base
|
|
194
|
+
field :title, :string, default_on_error: true
|
|
195
|
+
field :description, :string, default_on_error: true
|
|
196
|
+
field :minimum, :integer
|
|
197
|
+
field :maximum, :integer
|
|
198
|
+
field :default, :integer, default_on_error: true
|
|
199
|
+
end
|
|
200
|
+
|
|
201
|
+
class BooleanPropertySchema < Base
|
|
202
|
+
field :title, :string, default_on_error: true
|
|
203
|
+
field :description, :string, default_on_error: true
|
|
204
|
+
field :default, :boolean, default_on_error: true
|
|
205
|
+
end
|
|
206
|
+
|
|
207
|
+
class StringMultiSelectItemsBase < Base
|
|
208
|
+
field :enum, Types::List.new(:string), required: true
|
|
209
|
+
end
|
|
210
|
+
|
|
211
|
+
class TitledMultiSelectItems < Base
|
|
212
|
+
field :any_of, Types::List.new("EnumOption"), required: true
|
|
213
|
+
end
|
|
214
|
+
|
|
215
|
+
class MultiSelectPropertySchema < Base
|
|
216
|
+
field :title, :string, default_on_error: true
|
|
217
|
+
field :description, :string, default_on_error: true
|
|
218
|
+
field :min_items, :integer
|
|
219
|
+
field :max_items, :integer
|
|
220
|
+
field :items, "MultiSelectItems", required: true
|
|
221
|
+
field :default, Types::List.new(:string, skip_invalid: true), default_on_error: true
|
|
222
|
+
end
|
|
223
|
+
|
|
224
|
+
class ConnectMcpRequest < Base
|
|
225
|
+
field :server_id, "McpServerAcpId", required: true
|
|
226
|
+
end
|
|
227
|
+
|
|
228
|
+
class MessageMcpRequest < Base
|
|
229
|
+
field :connection_id, "McpConnectionId", required: true
|
|
230
|
+
field :method_name, :string, key: "method", required: true
|
|
231
|
+
field :params, :object
|
|
232
|
+
end
|
|
233
|
+
|
|
234
|
+
class DisconnectMcpRequest < Base
|
|
235
|
+
field :connection_id, "McpConnectionId", required: true
|
|
236
|
+
end
|
|
237
|
+
|
|
238
|
+
class InitializeResponse < Base
|
|
239
|
+
field :protocol_version, "ProtocolVersion", required: true
|
|
240
|
+
field :agent_capabilities, "AgentCapabilities", default: {"loadSession" => false, "promptCapabilities" => {"image" => false, "audio" => false, "embeddedContext" => false}, "mcpCapabilities" => {"http" => false, "sse" => false, "acp" => false}, "sessionCapabilities" => {}, "auth" => {}}, default_on_error: true
|
|
241
|
+
field :auth_methods, Types::List.new("AuthMethod", skip_invalid: true), default: [], default_on_error: true
|
|
242
|
+
field :agent_info, "Implementation", default_on_error: true
|
|
243
|
+
end
|
|
244
|
+
|
|
245
|
+
class AgentCapabilities < Base
|
|
246
|
+
field :load_session, :boolean, default: false, default_on_error: true
|
|
247
|
+
field :prompt_capabilities, "PromptCapabilities", default: {"image" => false, "audio" => false, "embeddedContext" => false}, default_on_error: true
|
|
248
|
+
field :mcp_capabilities, "McpCapabilities", default: {"http" => false, "sse" => false, "acp" => false}, default_on_error: true
|
|
249
|
+
field :session_capabilities, "SessionCapabilities", default: {}, default_on_error: true
|
|
250
|
+
field :auth, "AgentAuthCapabilities", default: {}, default_on_error: true
|
|
251
|
+
field :providers, "ProvidersCapabilities", default_on_error: true
|
|
252
|
+
field :nes, "NesCapabilities", default_on_error: true
|
|
253
|
+
field :position_encoding, "PositionEncodingKind", default_on_error: true
|
|
254
|
+
end
|
|
255
|
+
|
|
256
|
+
class PromptCapabilities < Base
|
|
257
|
+
field :image, :boolean, default: false, default_on_error: true
|
|
258
|
+
field :audio, :boolean, default: false, default_on_error: true
|
|
259
|
+
field :embedded_context, :boolean, default: false, default_on_error: true
|
|
260
|
+
end
|
|
261
|
+
|
|
262
|
+
class McpCapabilities < Base
|
|
263
|
+
field :http, :boolean, default: false, default_on_error: true
|
|
264
|
+
field :sse, :boolean, default: false, default_on_error: true
|
|
265
|
+
field :acp, :boolean, default: false, default_on_error: true
|
|
266
|
+
end
|
|
267
|
+
|
|
268
|
+
class SessionCapabilities < Base
|
|
269
|
+
field :list, "SessionListCapabilities", default_on_error: true
|
|
270
|
+
field :delete, "SessionDeleteCapabilities", default_on_error: true
|
|
271
|
+
field :additional_directories, "SessionAdditionalDirectoriesCapabilities", default_on_error: true
|
|
272
|
+
field :fork, "SessionForkCapabilities", default_on_error: true
|
|
273
|
+
field :resume, "SessionResumeCapabilities", default_on_error: true
|
|
274
|
+
field :close, "SessionCloseCapabilities", default_on_error: true
|
|
275
|
+
end
|
|
276
|
+
|
|
277
|
+
class SessionListCapabilities < Base; end
|
|
278
|
+
|
|
279
|
+
class SessionDeleteCapabilities < Base; end
|
|
280
|
+
|
|
281
|
+
class SessionAdditionalDirectoriesCapabilities < Base; end
|
|
282
|
+
|
|
283
|
+
class SessionForkCapabilities < Base; end
|
|
284
|
+
|
|
285
|
+
class SessionResumeCapabilities < Base; end
|
|
286
|
+
|
|
287
|
+
class SessionCloseCapabilities < Base; end
|
|
288
|
+
|
|
289
|
+
class AgentAuthCapabilities < Base
|
|
290
|
+
field :logout, "LogoutCapabilities", default_on_error: true
|
|
291
|
+
end
|
|
292
|
+
|
|
293
|
+
class LogoutCapabilities < Base; end
|
|
294
|
+
|
|
295
|
+
class ProvidersCapabilities < Base; end
|
|
296
|
+
|
|
297
|
+
class NesCapabilities < Base
|
|
298
|
+
field :events, "NesEventCapabilities", default_on_error: true
|
|
299
|
+
field :context, "NesContextCapabilities", default_on_error: true
|
|
300
|
+
end
|
|
301
|
+
|
|
302
|
+
class NesEventCapabilities < Base
|
|
303
|
+
field :document, "NesDocumentEventCapabilities", default_on_error: true
|
|
304
|
+
end
|
|
305
|
+
|
|
306
|
+
class NesDocumentEventCapabilities < Base
|
|
307
|
+
field :did_open, "NesDocumentDidOpenCapabilities", default_on_error: true
|
|
308
|
+
field :did_change, "NesDocumentDidChangeCapabilities", default_on_error: true
|
|
309
|
+
field :did_close, "NesDocumentDidCloseCapabilities", default_on_error: true
|
|
310
|
+
field :did_save, "NesDocumentDidSaveCapabilities", default_on_error: true
|
|
311
|
+
field :did_focus, "NesDocumentDidFocusCapabilities", default_on_error: true
|
|
312
|
+
end
|
|
313
|
+
|
|
314
|
+
class NesDocumentDidOpenCapabilities < Base; end
|
|
315
|
+
|
|
316
|
+
class NesDocumentDidChangeCapabilities < Base
|
|
317
|
+
field :sync_kind, "TextDocumentSyncKind", required: true
|
|
318
|
+
end
|
|
319
|
+
|
|
320
|
+
class NesDocumentDidCloseCapabilities < Base; end
|
|
321
|
+
|
|
322
|
+
class NesDocumentDidSaveCapabilities < Base; end
|
|
323
|
+
|
|
324
|
+
class NesDocumentDidFocusCapabilities < Base; end
|
|
325
|
+
|
|
326
|
+
class NesContextCapabilities < Base
|
|
327
|
+
field :recent_files, "NesRecentFilesCapabilities", default_on_error: true
|
|
328
|
+
field :related_snippets, "NesRelatedSnippetsCapabilities", default_on_error: true
|
|
329
|
+
field :edit_history, "NesEditHistoryCapabilities", default_on_error: true
|
|
330
|
+
field :user_actions, "NesUserActionsCapabilities", default_on_error: true
|
|
331
|
+
field :open_files, "NesOpenFilesCapabilities", default_on_error: true
|
|
332
|
+
field :diagnostics, "NesDiagnosticsCapabilities", default_on_error: true
|
|
333
|
+
end
|
|
334
|
+
|
|
335
|
+
class NesRecentFilesCapabilities < Base
|
|
336
|
+
field :max_count, :integer, default_on_error: true
|
|
337
|
+
end
|
|
338
|
+
|
|
339
|
+
class NesRelatedSnippetsCapabilities < Base; end
|
|
340
|
+
|
|
341
|
+
class NesEditHistoryCapabilities < Base
|
|
342
|
+
field :max_count, :integer, default_on_error: true
|
|
343
|
+
end
|
|
344
|
+
|
|
345
|
+
class NesUserActionsCapabilities < Base
|
|
346
|
+
field :max_count, :integer, default_on_error: true
|
|
347
|
+
end
|
|
348
|
+
|
|
349
|
+
class NesOpenFilesCapabilities < Base; end
|
|
350
|
+
|
|
351
|
+
class NesDiagnosticsCapabilities < Base; end
|
|
352
|
+
|
|
353
|
+
class AuthMethodTerminal < Base
|
|
354
|
+
field :id, "AuthMethodId", required: true
|
|
355
|
+
field :name, :string, required: true
|
|
356
|
+
field :description, :string, default_on_error: true
|
|
357
|
+
field :args, Types::List.new(:string, skip_invalid: true), default_on_error: true
|
|
358
|
+
field :env, Types::Map.new(:string), default_on_error: true
|
|
359
|
+
end
|
|
360
|
+
|
|
361
|
+
class AuthMethodAgent < Base
|
|
362
|
+
field :id, "AuthMethodId", required: true
|
|
363
|
+
field :name, :string, required: true
|
|
364
|
+
field :description, :string, default_on_error: true
|
|
365
|
+
end
|
|
366
|
+
|
|
367
|
+
class Implementation < Base
|
|
368
|
+
field :name, :string, required: true
|
|
369
|
+
field :title, :string, default_on_error: true
|
|
370
|
+
field :version, :string, required: true
|
|
371
|
+
end
|
|
372
|
+
|
|
373
|
+
class AuthenticateResponse < Base; end
|
|
374
|
+
|
|
375
|
+
class ListProvidersResponse < Base
|
|
376
|
+
field :providers, Types::List.new("ProviderInfo"), required: true
|
|
377
|
+
end
|
|
378
|
+
|
|
379
|
+
class ProviderInfo < Base
|
|
380
|
+
field :provider_id, "ProviderId", required: true
|
|
381
|
+
field :supported, Types::List.new("LlmProtocol", skip_invalid: true), required: true, default_on_error: true
|
|
382
|
+
field :required, :boolean, required: true
|
|
383
|
+
field :current, "ProviderCurrentConfig"
|
|
384
|
+
end
|
|
385
|
+
|
|
386
|
+
class ProviderCurrentConfig < Base
|
|
387
|
+
field :api_type, "LlmProtocol", required: true
|
|
388
|
+
field :base_url, :string, required: true
|
|
389
|
+
end
|
|
390
|
+
|
|
391
|
+
class SetProviderResponse < Base; end
|
|
392
|
+
|
|
393
|
+
class DisableProviderResponse < Base; end
|
|
394
|
+
|
|
395
|
+
class LogoutResponse < Base; end
|
|
396
|
+
|
|
397
|
+
class NewSessionResponse < Base
|
|
398
|
+
field :session_id, "SessionId", required: true
|
|
399
|
+
field :modes, "SessionModeState", default_on_error: true
|
|
400
|
+
field :config_options, Types::List.new("SessionConfigOption", skip_invalid: true), default_on_error: true
|
|
401
|
+
end
|
|
402
|
+
|
|
403
|
+
class SessionModeState < Base
|
|
404
|
+
field :current_mode_id, "SessionModeId", required: true
|
|
405
|
+
field :available_modes, Types::List.new("SessionMode", skip_invalid: true), required: true, default_on_error: true
|
|
406
|
+
end
|
|
407
|
+
|
|
408
|
+
class SessionMode < Base
|
|
409
|
+
field :id, "SessionModeId", required: true
|
|
410
|
+
field :name, :string, required: true
|
|
411
|
+
field :description, :string, default_on_error: true
|
|
412
|
+
end
|
|
413
|
+
|
|
414
|
+
class SessionConfigSelectOption < Base
|
|
415
|
+
field :value, "SessionConfigValueId", required: true
|
|
416
|
+
field :name, :string, required: true
|
|
417
|
+
field :description, :string, default_on_error: true
|
|
418
|
+
end
|
|
419
|
+
|
|
420
|
+
class SessionConfigSelectGroup < Base
|
|
421
|
+
field :group, "SessionConfigGroupId", required: true
|
|
422
|
+
field :name, :string, required: true
|
|
423
|
+
field :options, Types::List.new("SessionConfigSelectOption", skip_invalid: true), required: true, default_on_error: true
|
|
424
|
+
end
|
|
425
|
+
|
|
426
|
+
class SessionConfigSelect < Base
|
|
427
|
+
field :current_value, "SessionConfigValueId", required: true
|
|
428
|
+
field :options, "SessionConfigSelectOptions", required: true
|
|
429
|
+
end
|
|
430
|
+
|
|
431
|
+
class SessionConfigBoolean < Base
|
|
432
|
+
field :current_value, :boolean, required: true
|
|
433
|
+
end
|
|
434
|
+
|
|
435
|
+
class LoadSessionResponse < Base
|
|
436
|
+
field :modes, "SessionModeState", default_on_error: true
|
|
437
|
+
field :config_options, Types::List.new("SessionConfigOption", skip_invalid: true), default_on_error: true
|
|
438
|
+
end
|
|
439
|
+
|
|
440
|
+
class ListSessionsResponse < Base
|
|
441
|
+
field :sessions, Types::List.new("SessionInfo", skip_invalid: true), required: true, default_on_error: true
|
|
442
|
+
field :next_cursor, :string, default_on_error: true
|
|
443
|
+
end
|
|
444
|
+
|
|
445
|
+
class SessionInfo < Base
|
|
446
|
+
field :session_id, "SessionId", required: true
|
|
447
|
+
field :cwd, :string, required: true
|
|
448
|
+
field :additional_directories, Types::List.new(:string, skip_invalid: true), default_on_error: true
|
|
449
|
+
field :title, :string, default_on_error: true
|
|
450
|
+
field :updated_at, :string, default_on_error: true
|
|
451
|
+
end
|
|
452
|
+
|
|
453
|
+
class DeleteSessionResponse < Base; end
|
|
454
|
+
|
|
455
|
+
class ForkSessionResponse < Base
|
|
456
|
+
field :session_id, "SessionId", required: true
|
|
457
|
+
field :modes, "SessionModeState", default_on_error: true
|
|
458
|
+
field :config_options, Types::List.new("SessionConfigOption", skip_invalid: true), default_on_error: true
|
|
459
|
+
end
|
|
460
|
+
|
|
461
|
+
class ResumeSessionResponse < Base
|
|
462
|
+
field :modes, "SessionModeState", default_on_error: true
|
|
463
|
+
field :config_options, Types::List.new("SessionConfigOption", skip_invalid: true), default_on_error: true
|
|
464
|
+
end
|
|
465
|
+
|
|
466
|
+
class CloseSessionResponse < Base; end
|
|
467
|
+
|
|
468
|
+
class SetSessionModeResponse < Base; end
|
|
469
|
+
|
|
470
|
+
class SetSessionConfigOptionResponse < Base
|
|
471
|
+
field :config_options, Types::List.new("SessionConfigOption", skip_invalid: true), required: true, default_on_error: true
|
|
472
|
+
end
|
|
473
|
+
|
|
474
|
+
class PromptResponse < Base
|
|
475
|
+
field :stop_reason, "StopReason", required: true
|
|
476
|
+
field :usage, "Usage", default_on_error: true
|
|
477
|
+
end
|
|
478
|
+
|
|
479
|
+
class Usage < Base
|
|
480
|
+
field :total_tokens, :integer, required: true
|
|
481
|
+
field :input_tokens, :integer, required: true
|
|
482
|
+
field :output_tokens, :integer, required: true
|
|
483
|
+
field :thought_tokens, :integer, default_on_error: true
|
|
484
|
+
field :cached_read_tokens, :integer, default_on_error: true
|
|
485
|
+
field :cached_write_tokens, :integer, default_on_error: true
|
|
486
|
+
end
|
|
487
|
+
|
|
488
|
+
class StartNesResponse < Base
|
|
489
|
+
field :session_id, "SessionId", required: true
|
|
490
|
+
end
|
|
491
|
+
|
|
492
|
+
class SuggestNesResponse < Base
|
|
493
|
+
field :suggestions, Types::List.new("NesSuggestion"), required: true
|
|
494
|
+
end
|
|
495
|
+
|
|
496
|
+
class NesTextEdit < Base
|
|
497
|
+
field :range, "Range", required: true
|
|
498
|
+
field :new_text, :string, required: true
|
|
499
|
+
end
|
|
500
|
+
|
|
501
|
+
class Range < Base
|
|
502
|
+
field :start, "Position", required: true
|
|
503
|
+
field :end, "Position", required: true
|
|
504
|
+
end
|
|
505
|
+
|
|
506
|
+
class Position < Base
|
|
507
|
+
field :line, :integer, required: true
|
|
508
|
+
field :character, :integer, required: true
|
|
509
|
+
end
|
|
510
|
+
|
|
511
|
+
class NesEditSuggestion < Base
|
|
512
|
+
field :id, "NesSuggestionId", required: true
|
|
513
|
+
field :uri, :string, required: true
|
|
514
|
+
field :edits, Types::List.new("NesTextEdit"), required: true
|
|
515
|
+
field :cursor_position, "Position", default_on_error: true
|
|
516
|
+
end
|
|
517
|
+
|
|
518
|
+
class NesJumpSuggestion < Base
|
|
519
|
+
field :id, "NesSuggestionId", required: true
|
|
520
|
+
field :uri, :string, required: true
|
|
521
|
+
field :position, "Position", required: true
|
|
522
|
+
end
|
|
523
|
+
|
|
524
|
+
class NesRenameSuggestion < Base
|
|
525
|
+
field :id, "NesSuggestionId", required: true
|
|
526
|
+
field :uri, :string, required: true
|
|
527
|
+
field :position, "Position", required: true
|
|
528
|
+
field :new_name, :string, required: true
|
|
529
|
+
end
|
|
530
|
+
|
|
531
|
+
class NesSearchAndReplaceSuggestion < Base
|
|
532
|
+
field :id, "NesSuggestionId", required: true
|
|
533
|
+
field :uri, :string, required: true
|
|
534
|
+
field :search, :string, required: true
|
|
535
|
+
field :replace, :string, required: true
|
|
536
|
+
field :is_regex, :boolean
|
|
537
|
+
end
|
|
538
|
+
|
|
539
|
+
class CloseNesResponse < Base; end
|
|
540
|
+
|
|
541
|
+
class Error < Base
|
|
542
|
+
field :code, "ErrorCode", required: true
|
|
543
|
+
field :message, :string, required: true
|
|
544
|
+
field :data, :any, default_on_error: true
|
|
545
|
+
end
|
|
546
|
+
|
|
547
|
+
class SessionNotification < Base
|
|
548
|
+
field :session_id, "SessionId", required: true
|
|
549
|
+
field :update, "SessionUpdate", required: true
|
|
550
|
+
end
|
|
551
|
+
|
|
552
|
+
class ContentChunk < Base
|
|
553
|
+
field :content, "ContentBlock", required: true
|
|
554
|
+
field :message_id, "MessageId", default_on_error: true
|
|
555
|
+
end
|
|
556
|
+
|
|
557
|
+
class ToolCall < Base
|
|
558
|
+
field :tool_call_id, "ToolCallId", required: true
|
|
559
|
+
field :title, :string, required: true
|
|
560
|
+
field :name, :string, default_on_error: true
|
|
561
|
+
field :kind, "ToolKind", default_on_error: true
|
|
562
|
+
field :status, "ToolCallStatus", default_on_error: true
|
|
563
|
+
field :content, Types::List.new("ToolCallContent", skip_invalid: true), default_on_error: true
|
|
564
|
+
field :locations, Types::List.new("ToolCallLocation", skip_invalid: true), default_on_error: true
|
|
565
|
+
field :raw_input, :any, default_on_error: true
|
|
566
|
+
field :raw_output, :any, default_on_error: true
|
|
567
|
+
end
|
|
568
|
+
|
|
569
|
+
class PlanEntry < Base
|
|
570
|
+
field :content, :string, required: true
|
|
571
|
+
field :priority, "PlanEntryPriority", required: true
|
|
572
|
+
field :status, "PlanEntryStatus", required: true
|
|
573
|
+
end
|
|
574
|
+
|
|
575
|
+
class Plan < Base
|
|
576
|
+
field :entries, Types::List.new("PlanEntry", skip_invalid: true), required: true, default_on_error: true
|
|
577
|
+
end
|
|
578
|
+
|
|
579
|
+
class PlanItems < Base
|
|
580
|
+
field :plan_id, "PlanId", required: true
|
|
581
|
+
field :entries, Types::List.new("PlanEntry", skip_invalid: true), required: true, default_on_error: true
|
|
582
|
+
end
|
|
583
|
+
|
|
584
|
+
class PlanFile < Base
|
|
585
|
+
field :plan_id, "PlanId", required: true
|
|
586
|
+
field :uri, :string, required: true
|
|
587
|
+
end
|
|
588
|
+
|
|
589
|
+
class PlanMarkdown < Base
|
|
590
|
+
field :plan_id, "PlanId", required: true
|
|
591
|
+
field :content, :string, required: true
|
|
592
|
+
end
|
|
593
|
+
|
|
594
|
+
class PlanUpdate < Base
|
|
595
|
+
field :plan, "PlanUpdateContent", required: true
|
|
596
|
+
end
|
|
597
|
+
|
|
598
|
+
class PlanRemoved < Base
|
|
599
|
+
field :plan_id, "PlanId", required: true
|
|
600
|
+
end
|
|
601
|
+
|
|
602
|
+
class AvailableCommand < Base
|
|
603
|
+
field :name, :string, required: true
|
|
604
|
+
field :description, :string, required: true
|
|
605
|
+
field :input, "AvailableCommandInput", default_on_error: true
|
|
606
|
+
end
|
|
607
|
+
|
|
608
|
+
class UnstructuredCommandInput < Base
|
|
609
|
+
field :hint, :string, required: true
|
|
610
|
+
end
|
|
611
|
+
|
|
612
|
+
class AvailableCommandsUpdateBase < Base
|
|
613
|
+
field :available_commands, Types::List.new("AvailableCommand", skip_invalid: true), required: true, default_on_error: true
|
|
614
|
+
end
|
|
615
|
+
|
|
616
|
+
class CurrentModeUpdateBase < Base
|
|
617
|
+
field :current_mode_id, "SessionModeId", required: true
|
|
618
|
+
end
|
|
619
|
+
|
|
620
|
+
class ConfigOptionUpdateBase < Base
|
|
621
|
+
field :config_options, Types::List.new("SessionConfigOption", skip_invalid: true), required: true, default_on_error: true
|
|
622
|
+
end
|
|
623
|
+
|
|
624
|
+
class SessionInfoUpdateBase < Base
|
|
625
|
+
field :title, :string, default_on_error: true
|
|
626
|
+
field :updated_at, :string, default_on_error: true
|
|
627
|
+
end
|
|
628
|
+
|
|
629
|
+
class Cost < Base
|
|
630
|
+
field :amount, :number, required: true
|
|
631
|
+
field :currency, :string, required: true
|
|
632
|
+
end
|
|
633
|
+
|
|
634
|
+
class UsageUpdateBase < Base
|
|
635
|
+
field :used, :integer, required: true
|
|
636
|
+
field :size, :integer, required: true
|
|
637
|
+
field :cost, "Cost", default_on_error: true
|
|
638
|
+
end
|
|
639
|
+
|
|
640
|
+
class CompactionUpdate < Base
|
|
641
|
+
field :compaction_id, "CompactionId", required: true
|
|
642
|
+
field :status, "CompactionStatus", required: true
|
|
643
|
+
field :summary, Types::List.new("ContentBlock", skip_invalid: true), default_on_error: true
|
|
644
|
+
field :error, :string, default_on_error: true
|
|
645
|
+
end
|
|
646
|
+
|
|
647
|
+
class CompactionSummaryChunk < Base
|
|
648
|
+
field :compaction_id, "CompactionId", required: true
|
|
649
|
+
field :content, "ContentBlock", required: true
|
|
650
|
+
end
|
|
651
|
+
|
|
652
|
+
class CompleteElicitationNotification < Base
|
|
653
|
+
field :elicitation_id, "ElicitationId", required: true
|
|
654
|
+
end
|
|
655
|
+
|
|
656
|
+
class MessageMcpNotification < Base
|
|
657
|
+
field :connection_id, "McpConnectionId", required: true
|
|
658
|
+
field :method_name, :string, key: "method", required: true
|
|
659
|
+
field :params, :object, default_on_error: true
|
|
660
|
+
end
|
|
661
|
+
|
|
662
|
+
class InitializeRequest < Base
|
|
663
|
+
field :protocol_version, "ProtocolVersion", required: true
|
|
664
|
+
field :client_capabilities, "ClientCapabilities", default: {"fs" => {"readTextFile" => false, "writeTextFile" => false}, "terminal" => false, "auth" => {"terminal" => false}}, default_on_error: true
|
|
665
|
+
field :client_info, "Implementation", default_on_error: true
|
|
666
|
+
end
|
|
667
|
+
|
|
668
|
+
class ClientCapabilities < Base
|
|
669
|
+
field :fs, "FileSystemCapabilities", default: {"readTextFile" => false, "writeTextFile" => false}, default_on_error: true
|
|
670
|
+
field :terminal, :boolean, default: false, default_on_error: true
|
|
671
|
+
field :session, "ClientSessionCapabilities", default_on_error: true
|
|
672
|
+
field :plan, "PlanCapabilities", default_on_error: true
|
|
673
|
+
field :auth, "AuthCapabilities", default: {"terminal" => false}, default_on_error: true
|
|
674
|
+
field :elicitation, "ElicitationCapabilities", default_on_error: true
|
|
675
|
+
field :nes, "ClientNesCapabilities", default_on_error: true
|
|
676
|
+
field :position_encodings, Types::List.new("PositionEncodingKind", skip_invalid: true), default_on_error: true
|
|
677
|
+
end
|
|
678
|
+
|
|
679
|
+
class FileSystemCapabilities < Base
|
|
680
|
+
field :read_text_file, :boolean, default: false, default_on_error: true
|
|
681
|
+
field :write_text_file, :boolean, default: false, default_on_error: true
|
|
682
|
+
end
|
|
683
|
+
|
|
684
|
+
class ClientSessionCapabilities < Base
|
|
685
|
+
field :compaction, "CompactionCapabilities", default_on_error: true
|
|
686
|
+
field :config_options, "SessionConfigOptionsCapabilities", default_on_error: true
|
|
687
|
+
end
|
|
688
|
+
|
|
689
|
+
class CompactionCapabilities < Base; end
|
|
690
|
+
|
|
691
|
+
class SessionConfigOptionsCapabilities < Base
|
|
692
|
+
field :boolean, "BooleanConfigOptionCapabilities", default_on_error: true
|
|
693
|
+
end
|
|
694
|
+
|
|
695
|
+
class BooleanConfigOptionCapabilities < Base; end
|
|
696
|
+
|
|
697
|
+
class PlanCapabilities < Base; end
|
|
698
|
+
|
|
699
|
+
class AuthCapabilities < Base
|
|
700
|
+
field :terminal, :boolean, default: false, default_on_error: true
|
|
701
|
+
end
|
|
702
|
+
|
|
703
|
+
class ElicitationCapabilities < Base
|
|
704
|
+
field :form, "ElicitationFormCapabilities", default_on_error: true
|
|
705
|
+
field :url, "ElicitationUrlCapabilities", default_on_error: true
|
|
706
|
+
end
|
|
707
|
+
|
|
708
|
+
class ElicitationFormCapabilities < Base; end
|
|
709
|
+
|
|
710
|
+
class ElicitationUrlCapabilities < Base; end
|
|
711
|
+
|
|
712
|
+
class ClientNesCapabilities < Base
|
|
713
|
+
field :jump, "NesJumpCapabilities", default_on_error: true
|
|
714
|
+
field :rename, "NesRenameCapabilities", default_on_error: true
|
|
715
|
+
field :search_and_replace, "NesSearchAndReplaceCapabilities", default_on_error: true
|
|
716
|
+
end
|
|
717
|
+
|
|
718
|
+
class NesJumpCapabilities < Base; end
|
|
719
|
+
|
|
720
|
+
class NesRenameCapabilities < Base; end
|
|
721
|
+
|
|
722
|
+
class NesSearchAndReplaceCapabilities < Base; end
|
|
723
|
+
|
|
724
|
+
class AuthenticateRequest < Base
|
|
725
|
+
field :method_id, "AuthMethodId", required: true
|
|
726
|
+
end
|
|
727
|
+
|
|
728
|
+
class ListProvidersRequest < Base; end
|
|
729
|
+
|
|
730
|
+
class SetProviderRequest < Base
|
|
731
|
+
field :provider_id, "ProviderId", required: true
|
|
732
|
+
field :api_type, "LlmProtocol", required: true
|
|
733
|
+
field :base_url, :string, required: true
|
|
734
|
+
field :headers, Types::Map.new(:string)
|
|
735
|
+
end
|
|
736
|
+
|
|
737
|
+
class DisableProviderRequest < Base
|
|
738
|
+
field :provider_id, "ProviderId", required: true
|
|
739
|
+
end
|
|
740
|
+
|
|
741
|
+
class LogoutRequest < Base; end
|
|
742
|
+
|
|
743
|
+
class NewSessionRequest < Base
|
|
744
|
+
field :cwd, :string, required: true
|
|
745
|
+
field :additional_directories, Types::List.new(:string, skip_invalid: true), default_on_error: true
|
|
746
|
+
field :mcp_servers, Types::List.new("McpServer", skip_invalid: true), required: true, default_on_error: true
|
|
747
|
+
end
|
|
748
|
+
|
|
749
|
+
class HttpHeader < Base
|
|
750
|
+
field :name, :string, required: true
|
|
751
|
+
field :value, :string, required: true
|
|
752
|
+
end
|
|
753
|
+
|
|
754
|
+
class McpServerHttp < Base
|
|
755
|
+
field :name, :string, required: true
|
|
756
|
+
field :url, :string, required: true
|
|
757
|
+
field :headers, Types::List.new("HttpHeader"), required: true
|
|
758
|
+
end
|
|
759
|
+
|
|
760
|
+
class McpServerSse < Base
|
|
761
|
+
field :name, :string, required: true
|
|
762
|
+
field :url, :string, required: true
|
|
763
|
+
field :headers, Types::List.new("HttpHeader"), required: true
|
|
764
|
+
end
|
|
765
|
+
|
|
766
|
+
class McpServerAcp < Base
|
|
767
|
+
field :name, :string, required: true
|
|
768
|
+
field :server_id, "McpServerAcpId", required: true
|
|
769
|
+
end
|
|
770
|
+
|
|
771
|
+
class McpServerStdio < Base
|
|
772
|
+
field :name, :string, required: true
|
|
773
|
+
field :command, :string, required: true
|
|
774
|
+
field :args, Types::List.new(:string), required: true
|
|
775
|
+
field :env, Types::List.new("EnvVariable"), required: true
|
|
776
|
+
end
|
|
777
|
+
|
|
778
|
+
class LoadSessionRequest < Base
|
|
779
|
+
field :mcp_servers, Types::List.new("McpServer", skip_invalid: true), required: true, default_on_error: true
|
|
780
|
+
field :cwd, :string, required: true
|
|
781
|
+
field :additional_directories, Types::List.new(:string, skip_invalid: true), default_on_error: true
|
|
782
|
+
field :session_id, "SessionId", required: true
|
|
783
|
+
end
|
|
784
|
+
|
|
785
|
+
class ListSessionsRequest < Base
|
|
786
|
+
field :cwd, :string
|
|
787
|
+
field :cursor, :string
|
|
788
|
+
end
|
|
789
|
+
|
|
790
|
+
class DeleteSessionRequest < Base
|
|
791
|
+
field :session_id, "SessionId", required: true
|
|
792
|
+
end
|
|
793
|
+
|
|
794
|
+
class ForkSessionRequest < Base
|
|
795
|
+
field :session_id, "SessionId", required: true
|
|
796
|
+
field :cwd, :string, required: true
|
|
797
|
+
field :additional_directories, Types::List.new(:string, skip_invalid: true), default_on_error: true
|
|
798
|
+
field :mcp_servers, Types::List.new("McpServer", skip_invalid: true), default_on_error: true
|
|
799
|
+
end
|
|
800
|
+
|
|
801
|
+
class ResumeSessionRequest < Base
|
|
802
|
+
field :session_id, "SessionId", required: true
|
|
803
|
+
field :cwd, :string, required: true
|
|
804
|
+
field :additional_directories, Types::List.new(:string, skip_invalid: true), default_on_error: true
|
|
805
|
+
field :mcp_servers, Types::List.new("McpServer", skip_invalid: true), default_on_error: true
|
|
806
|
+
end
|
|
807
|
+
|
|
808
|
+
class CloseSessionRequest < Base
|
|
809
|
+
field :session_id, "SessionId", required: true
|
|
810
|
+
end
|
|
811
|
+
|
|
812
|
+
class SetSessionModeRequest < Base
|
|
813
|
+
field :session_id, "SessionId", required: true
|
|
814
|
+
field :mode_id, "SessionModeId", required: true
|
|
815
|
+
end
|
|
816
|
+
|
|
817
|
+
class PromptRequest < Base
|
|
818
|
+
field :session_id, "SessionId", required: true
|
|
819
|
+
field :prompt, Types::List.new("ContentBlock"), required: true
|
|
820
|
+
end
|
|
821
|
+
|
|
822
|
+
class StartNesRequest < Base
|
|
823
|
+
field :workspace_uri, :string, default_on_error: true
|
|
824
|
+
field :workspace_folders, Types::List.new("WorkspaceFolder")
|
|
825
|
+
field :repository, "NesRepository", default_on_error: true
|
|
826
|
+
end
|
|
827
|
+
|
|
828
|
+
class WorkspaceFolder < Base
|
|
829
|
+
field :uri, :string, required: true
|
|
830
|
+
field :name, :string, required: true
|
|
831
|
+
end
|
|
832
|
+
|
|
833
|
+
class NesRepository < Base
|
|
834
|
+
field :name, :string, required: true
|
|
835
|
+
field :owner, :string, required: true
|
|
836
|
+
field :remote_url, :string, required: true
|
|
837
|
+
end
|
|
838
|
+
|
|
839
|
+
class SuggestNesRequest < Base
|
|
840
|
+
field :session_id, "SessionId", required: true
|
|
841
|
+
field :uri, :string, required: true
|
|
842
|
+
field :version, :integer, required: true
|
|
843
|
+
field :position, "Position", required: true
|
|
844
|
+
field :selection, "Range"
|
|
845
|
+
field :trigger_kind, "NesTriggerKind", required: true
|
|
846
|
+
field :context, "NesSuggestContext"
|
|
847
|
+
end
|
|
848
|
+
|
|
849
|
+
class NesSuggestContext < Base
|
|
850
|
+
field :recent_files, Types::List.new("NesRecentFile")
|
|
851
|
+
field :related_snippets, Types::List.new("NesRelatedSnippet")
|
|
852
|
+
field :edit_history, Types::List.new("NesEditHistoryEntry")
|
|
853
|
+
field :user_actions, Types::List.new("NesUserAction")
|
|
854
|
+
field :open_files, Types::List.new("NesOpenFile")
|
|
855
|
+
field :diagnostics, Types::List.new("NesDiagnostic")
|
|
856
|
+
end
|
|
857
|
+
|
|
858
|
+
class NesRecentFile < Base
|
|
859
|
+
field :uri, :string, required: true
|
|
860
|
+
field :language_id, :string, required: true
|
|
861
|
+
field :text, :string, required: true
|
|
862
|
+
end
|
|
863
|
+
|
|
864
|
+
class NesRelatedSnippet < Base
|
|
865
|
+
field :uri, :string, required: true
|
|
866
|
+
field :excerpts, Types::List.new("NesExcerpt"), required: true
|
|
867
|
+
end
|
|
868
|
+
|
|
869
|
+
class NesExcerpt < Base
|
|
870
|
+
field :start_line, :integer, required: true
|
|
871
|
+
field :end_line, :integer, required: true
|
|
872
|
+
field :text, :string, required: true
|
|
873
|
+
end
|
|
874
|
+
|
|
875
|
+
class NesEditHistoryEntry < Base
|
|
876
|
+
field :uri, :string, required: true
|
|
877
|
+
field :diff, :string, required: true
|
|
878
|
+
end
|
|
879
|
+
|
|
880
|
+
class NesUserAction < Base
|
|
881
|
+
field :action, :string, required: true
|
|
882
|
+
field :uri, :string, required: true
|
|
883
|
+
field :position, "Position", required: true
|
|
884
|
+
field :timestamp_ms, :integer, required: true
|
|
885
|
+
end
|
|
886
|
+
|
|
887
|
+
class NesOpenFile < Base
|
|
888
|
+
field :uri, :string, required: true
|
|
889
|
+
field :language_id, :string, required: true
|
|
890
|
+
field :visible_range, "Range", default_on_error: true
|
|
891
|
+
field :last_focused_ms, :integer, default_on_error: true
|
|
892
|
+
end
|
|
893
|
+
|
|
894
|
+
class NesDiagnostic < Base
|
|
895
|
+
field :uri, :string, required: true
|
|
896
|
+
field :range, "Range", required: true
|
|
897
|
+
field :severity, "NesDiagnosticSeverity", required: true
|
|
898
|
+
field :message, :string, required: true
|
|
899
|
+
end
|
|
900
|
+
|
|
901
|
+
class CloseNesRequest < Base
|
|
902
|
+
field :session_id, "SessionId", required: true
|
|
903
|
+
end
|
|
904
|
+
|
|
905
|
+
class WriteTextFileResponse < Base; end
|
|
906
|
+
|
|
907
|
+
class ReadTextFileResponse < Base
|
|
908
|
+
field :content, :string, required: true
|
|
909
|
+
end
|
|
910
|
+
|
|
911
|
+
class RequestPermissionResponse < Base
|
|
912
|
+
field :outcome, "RequestPermissionOutcome", required: true
|
|
913
|
+
end
|
|
914
|
+
|
|
915
|
+
class SelectedPermissionOutcome < Base
|
|
916
|
+
field :option_id, "PermissionOptionId", required: true
|
|
917
|
+
end
|
|
918
|
+
|
|
919
|
+
class CreateTerminalResponse < Base
|
|
920
|
+
field :terminal_id, "TerminalId", required: true
|
|
921
|
+
end
|
|
922
|
+
|
|
923
|
+
class TerminalOutputResponse < Base
|
|
924
|
+
field :output, :string, required: true
|
|
925
|
+
field :truncated, :boolean, required: true
|
|
926
|
+
field :exit_status, "TerminalExitStatus", default_on_error: true
|
|
927
|
+
end
|
|
928
|
+
|
|
929
|
+
class TerminalExitStatus < Base
|
|
930
|
+
field :exit_code, :integer, default_on_error: true
|
|
931
|
+
field :signal, :string, default_on_error: true
|
|
932
|
+
end
|
|
933
|
+
|
|
934
|
+
class ReleaseTerminalResponse < Base; end
|
|
935
|
+
|
|
936
|
+
class WaitForTerminalExitResponse < Base
|
|
937
|
+
field :exit_code, :integer, default_on_error: true
|
|
938
|
+
field :signal, :string, default_on_error: true
|
|
939
|
+
end
|
|
940
|
+
|
|
941
|
+
class KillTerminalResponse < Base; end
|
|
942
|
+
|
|
943
|
+
class ElicitationAcceptAction < Base
|
|
944
|
+
field :content, Types::Map.new("ElicitationContentValue")
|
|
945
|
+
end
|
|
946
|
+
|
|
947
|
+
class ConnectMcpResponse < Base
|
|
948
|
+
field :connection_id, "McpConnectionId", required: true
|
|
949
|
+
end
|
|
950
|
+
|
|
951
|
+
class DisconnectMcpResponse < Base; end
|
|
952
|
+
|
|
953
|
+
class CancelNotification < Base
|
|
954
|
+
field :session_id, "SessionId", required: true
|
|
955
|
+
end
|
|
956
|
+
|
|
957
|
+
class DidOpenDocumentNotification < Base
|
|
958
|
+
field :session_id, "SessionId", required: true
|
|
959
|
+
field :uri, :string, required: true
|
|
960
|
+
field :language_id, :string, required: true
|
|
961
|
+
field :version, :integer, required: true
|
|
962
|
+
field :text, :string, required: true
|
|
963
|
+
end
|
|
964
|
+
|
|
965
|
+
class DidChangeDocumentNotification < Base
|
|
966
|
+
field :session_id, "SessionId", required: true
|
|
967
|
+
field :uri, :string, required: true
|
|
968
|
+
field :version, :integer, required: true
|
|
969
|
+
field :content_changes, Types::List.new("TextDocumentContentChangeEvent", skip_invalid: true), required: true, default_on_error: true
|
|
970
|
+
end
|
|
971
|
+
|
|
972
|
+
class TextDocumentContentChangeEvent < Base
|
|
973
|
+
field :range, "Range"
|
|
974
|
+
field :text, :string, required: true
|
|
975
|
+
end
|
|
976
|
+
|
|
977
|
+
class DidCloseDocumentNotification < Base
|
|
978
|
+
field :session_id, "SessionId", required: true
|
|
979
|
+
field :uri, :string, required: true
|
|
980
|
+
end
|
|
981
|
+
|
|
982
|
+
class DidSaveDocumentNotification < Base
|
|
983
|
+
field :session_id, "SessionId", required: true
|
|
984
|
+
field :uri, :string, required: true
|
|
985
|
+
end
|
|
986
|
+
|
|
987
|
+
class DidFocusDocumentNotification < Base
|
|
988
|
+
field :session_id, "SessionId", required: true
|
|
989
|
+
field :uri, :string, required: true
|
|
990
|
+
field :version, :integer, required: true
|
|
991
|
+
field :position, "Position", required: true
|
|
992
|
+
field :visible_range, "Range", required: true
|
|
993
|
+
end
|
|
994
|
+
|
|
995
|
+
class AcceptNesNotification < Base
|
|
996
|
+
field :session_id, "SessionId", required: true
|
|
997
|
+
field :id, "NesSuggestionId", required: true
|
|
998
|
+
end
|
|
999
|
+
|
|
1000
|
+
class RejectNesNotification < Base
|
|
1001
|
+
field :session_id, "SessionId", required: true
|
|
1002
|
+
field :id, "NesSuggestionId", required: true
|
|
1003
|
+
field :reason, "NesRejectReason", default_on_error: true
|
|
1004
|
+
end
|
|
1005
|
+
|
|
1006
|
+
class CancelRequestNotification < Base
|
|
1007
|
+
field :request_id, "RequestId", required: true
|
|
1008
|
+
end
|
|
1009
|
+
|
|
1010
|
+
class ContentToolCallContent < Content
|
|
1011
|
+
field :type, :string, const: "content"
|
|
1012
|
+
end
|
|
1013
|
+
|
|
1014
|
+
class FileEditToolCallContent < Diff
|
|
1015
|
+
field :type, :string, const: "diff"
|
|
1016
|
+
end
|
|
1017
|
+
|
|
1018
|
+
class TerminalToolCallContent < Terminal
|
|
1019
|
+
field :type, :string, const: "terminal"
|
|
1020
|
+
end
|
|
1021
|
+
|
|
1022
|
+
class TextContentBlock < TextContent
|
|
1023
|
+
field :type, :string, const: "text"
|
|
1024
|
+
end
|
|
1025
|
+
|
|
1026
|
+
class ImageContentBlock < ImageContent
|
|
1027
|
+
field :type, :string, const: "image"
|
|
1028
|
+
end
|
|
1029
|
+
|
|
1030
|
+
class AudioContentBlock < AudioContent
|
|
1031
|
+
field :type, :string, const: "audio"
|
|
1032
|
+
end
|
|
1033
|
+
|
|
1034
|
+
class ResourceContentBlock < ResourceLink
|
|
1035
|
+
field :type, :string, const: "resource_link"
|
|
1036
|
+
end
|
|
1037
|
+
|
|
1038
|
+
class EmbeddedResourceContentBlock < EmbeddedResource
|
|
1039
|
+
field :type, :string, const: "resource"
|
|
1040
|
+
end
|
|
1041
|
+
|
|
1042
|
+
class CreateFormSessionElicitationRequest < Base
|
|
1043
|
+
field :message, :string, required: true
|
|
1044
|
+
field :mode, :string, const: "form"
|
|
1045
|
+
field :requested_schema, "ElicitationSchema", required: true
|
|
1046
|
+
field :session_id, "SessionId", required: true
|
|
1047
|
+
field :tool_call_id, "ToolCallId", default_on_error: true
|
|
1048
|
+
end
|
|
1049
|
+
|
|
1050
|
+
class CreateFormRequestElicitationRequest < Base
|
|
1051
|
+
field :message, :string, required: true
|
|
1052
|
+
field :mode, :string, const: "form"
|
|
1053
|
+
field :requested_schema, "ElicitationSchema", required: true
|
|
1054
|
+
field :request_id, "RequestId", required: true
|
|
1055
|
+
end
|
|
1056
|
+
|
|
1057
|
+
class CreateUrlSessionElicitationRequest < Base
|
|
1058
|
+
field :message, :string, required: true
|
|
1059
|
+
field :mode, :string, const: "url"
|
|
1060
|
+
field :elicitation_id, "ElicitationId", required: true
|
|
1061
|
+
field :url, :string, required: true
|
|
1062
|
+
field :session_id, "SessionId", required: true
|
|
1063
|
+
field :tool_call_id, "ToolCallId", default_on_error: true
|
|
1064
|
+
end
|
|
1065
|
+
|
|
1066
|
+
class CreateUrlRequestElicitationRequest < Base
|
|
1067
|
+
field :message, :string, required: true
|
|
1068
|
+
field :mode, :string, const: "url"
|
|
1069
|
+
field :elicitation_id, "ElicitationId", required: true
|
|
1070
|
+
field :url, :string, required: true
|
|
1071
|
+
field :request_id, "RequestId", required: true
|
|
1072
|
+
end
|
|
1073
|
+
|
|
1074
|
+
class CreateOtherSessionElicitationRequest < Base
|
|
1075
|
+
field :message, :string, required: true
|
|
1076
|
+
field :mode, :string, required: true
|
|
1077
|
+
field :session_id, "SessionId", required: true
|
|
1078
|
+
field :tool_call_id, "ToolCallId", default_on_error: true
|
|
1079
|
+
end
|
|
1080
|
+
|
|
1081
|
+
class CreateOtherRequestElicitationRequest < Base
|
|
1082
|
+
field :message, :string, required: true
|
|
1083
|
+
field :mode, :string, required: true
|
|
1084
|
+
field :request_id, "RequestId", required: true
|
|
1085
|
+
end
|
|
1086
|
+
|
|
1087
|
+
class ElicitationStringPropertySchema < StringPropertySchema
|
|
1088
|
+
field :type, :string, const: "string"
|
|
1089
|
+
end
|
|
1090
|
+
|
|
1091
|
+
class ElicitationNumberPropertySchema < NumberPropertySchema
|
|
1092
|
+
field :type, :string, const: "number"
|
|
1093
|
+
end
|
|
1094
|
+
|
|
1095
|
+
class ElicitationIntegerPropertySchema < IntegerPropertySchema
|
|
1096
|
+
field :type, :string, const: "integer"
|
|
1097
|
+
end
|
|
1098
|
+
|
|
1099
|
+
class ElicitationBooleanPropertySchema < BooleanPropertySchema
|
|
1100
|
+
field :type, :string, const: "boolean"
|
|
1101
|
+
end
|
|
1102
|
+
|
|
1103
|
+
class ElicitationMultiSelectPropertySchema < MultiSelectPropertySchema
|
|
1104
|
+
field :type, :string, const: "array"
|
|
1105
|
+
end
|
|
1106
|
+
|
|
1107
|
+
class ElicitationOtherPropertySchema < Base
|
|
1108
|
+
field :type, :string, required: true
|
|
1109
|
+
end
|
|
1110
|
+
|
|
1111
|
+
class StringMultiSelectItems < StringMultiSelectItemsBase
|
|
1112
|
+
field :type, :string, const: "string"
|
|
1113
|
+
end
|
|
1114
|
+
|
|
1115
|
+
class OtherMultiSelectItems < Base
|
|
1116
|
+
field :type, :string, required: true
|
|
1117
|
+
end
|
|
1118
|
+
|
|
1119
|
+
class ElicitationFormSessionMode < Base
|
|
1120
|
+
field :requested_schema, "ElicitationSchema", required: true
|
|
1121
|
+
field :session_id, "SessionId", required: true
|
|
1122
|
+
field :tool_call_id, "ToolCallId", default_on_error: true
|
|
1123
|
+
end
|
|
1124
|
+
|
|
1125
|
+
class ElicitationFormRequestMode < Base
|
|
1126
|
+
field :requested_schema, "ElicitationSchema", required: true
|
|
1127
|
+
field :request_id, "RequestId", required: true
|
|
1128
|
+
end
|
|
1129
|
+
|
|
1130
|
+
class ElicitationUrlSessionMode < Base
|
|
1131
|
+
field :elicitation_id, "ElicitationId", required: true
|
|
1132
|
+
field :url, :string, required: true
|
|
1133
|
+
field :session_id, "SessionId", required: true
|
|
1134
|
+
field :tool_call_id, "ToolCallId", default_on_error: true
|
|
1135
|
+
end
|
|
1136
|
+
|
|
1137
|
+
class ElicitationUrlRequestMode < Base
|
|
1138
|
+
field :elicitation_id, "ElicitationId", required: true
|
|
1139
|
+
field :url, :string, required: true
|
|
1140
|
+
field :request_id, "RequestId", required: true
|
|
1141
|
+
end
|
|
1142
|
+
|
|
1143
|
+
class TerminalAuthMethod < AuthMethodTerminal
|
|
1144
|
+
field :type, :string, const: "terminal"
|
|
1145
|
+
end
|
|
1146
|
+
|
|
1147
|
+
class SessionConfigOptionSelect < Base
|
|
1148
|
+
field :id, "SessionConfigId", required: true
|
|
1149
|
+
field :name, :string, required: true
|
|
1150
|
+
field :description, :string, default_on_error: true
|
|
1151
|
+
field :category, "SessionConfigOptionCategory", default_on_error: true
|
|
1152
|
+
field :type, :string, const: "select"
|
|
1153
|
+
field :current_value, "SessionConfigValueId", required: true
|
|
1154
|
+
field :options, "SessionConfigSelectOptions", required: true
|
|
1155
|
+
end
|
|
1156
|
+
|
|
1157
|
+
class SessionConfigOptionBoolean < Base
|
|
1158
|
+
field :id, "SessionConfigId", required: true
|
|
1159
|
+
field :name, :string, required: true
|
|
1160
|
+
field :description, :string, default_on_error: true
|
|
1161
|
+
field :category, "SessionConfigOptionCategory", default_on_error: true
|
|
1162
|
+
field :type, :string, const: "boolean"
|
|
1163
|
+
field :current_value, :boolean, required: true
|
|
1164
|
+
end
|
|
1165
|
+
|
|
1166
|
+
class NesEditSuggestionVariant < NesEditSuggestion
|
|
1167
|
+
field :kind, :string, const: "edit"
|
|
1168
|
+
end
|
|
1169
|
+
|
|
1170
|
+
class NesJumpSuggestionVariant < NesJumpSuggestion
|
|
1171
|
+
field :kind, :string, const: "jump"
|
|
1172
|
+
end
|
|
1173
|
+
|
|
1174
|
+
class NesRenameSuggestionVariant < NesRenameSuggestion
|
|
1175
|
+
field :kind, :string, const: "rename"
|
|
1176
|
+
end
|
|
1177
|
+
|
|
1178
|
+
class NesSearchAndReplaceSuggestionVariant < NesSearchAndReplaceSuggestion
|
|
1179
|
+
field :kind, :string, const: "searchAndReplace"
|
|
1180
|
+
end
|
|
1181
|
+
|
|
1182
|
+
class UserMessageChunk < ContentChunk
|
|
1183
|
+
field :session_update, :string, const: "user_message_chunk"
|
|
1184
|
+
end
|
|
1185
|
+
|
|
1186
|
+
class AgentMessageChunk < ContentChunk
|
|
1187
|
+
field :session_update, :string, const: "agent_message_chunk"
|
|
1188
|
+
end
|
|
1189
|
+
|
|
1190
|
+
class AgentThoughtChunk < ContentChunk
|
|
1191
|
+
field :session_update, :string, const: "agent_thought_chunk"
|
|
1192
|
+
end
|
|
1193
|
+
|
|
1194
|
+
class ToolCallStart < ToolCall
|
|
1195
|
+
field :session_update, :string, const: "tool_call"
|
|
1196
|
+
end
|
|
1197
|
+
|
|
1198
|
+
class ToolCallProgress < ToolCallUpdate
|
|
1199
|
+
field :session_update, :string, const: "tool_call_update"
|
|
1200
|
+
end
|
|
1201
|
+
|
|
1202
|
+
class AgentPlanUpdate < Plan
|
|
1203
|
+
field :session_update, :string, const: "plan"
|
|
1204
|
+
end
|
|
1205
|
+
|
|
1206
|
+
class AgentPlanContentUpdate < PlanUpdate
|
|
1207
|
+
field :session_update, :string, const: "plan_update"
|
|
1208
|
+
end
|
|
1209
|
+
|
|
1210
|
+
class AgentPlanRemovedUpdate < PlanRemoved
|
|
1211
|
+
field :session_update, :string, const: "plan_removed"
|
|
1212
|
+
end
|
|
1213
|
+
|
|
1214
|
+
class AvailableCommandsUpdate < AvailableCommandsUpdateBase
|
|
1215
|
+
field :session_update, :string, const: "available_commands_update"
|
|
1216
|
+
end
|
|
1217
|
+
|
|
1218
|
+
class CurrentModeUpdate < CurrentModeUpdateBase
|
|
1219
|
+
field :session_update, :string, const: "current_mode_update"
|
|
1220
|
+
end
|
|
1221
|
+
|
|
1222
|
+
class ConfigOptionUpdate < ConfigOptionUpdateBase
|
|
1223
|
+
field :session_update, :string, const: "config_option_update"
|
|
1224
|
+
end
|
|
1225
|
+
|
|
1226
|
+
class SessionInfoUpdate < SessionInfoUpdateBase
|
|
1227
|
+
field :session_update, :string, const: "session_info_update"
|
|
1228
|
+
end
|
|
1229
|
+
|
|
1230
|
+
class UsageUpdate < UsageUpdateBase
|
|
1231
|
+
field :session_update, :string, const: "usage_update"
|
|
1232
|
+
end
|
|
1233
|
+
|
|
1234
|
+
class SessionUpdateCompactionUpdate < CompactionUpdate
|
|
1235
|
+
field :session_update, :string, const: "compaction_update"
|
|
1236
|
+
end
|
|
1237
|
+
|
|
1238
|
+
class SessionUpdateCompactionSummaryChunk < CompactionSummaryChunk
|
|
1239
|
+
field :session_update, :string, const: "compaction_summary_chunk"
|
|
1240
|
+
end
|
|
1241
|
+
|
|
1242
|
+
class PlanUpdateItems < PlanItems
|
|
1243
|
+
field :type, :string, const: "items"
|
|
1244
|
+
end
|
|
1245
|
+
|
|
1246
|
+
class PlanUpdateFile < PlanFile
|
|
1247
|
+
field :type, :string, const: "file"
|
|
1248
|
+
end
|
|
1249
|
+
|
|
1250
|
+
class PlanUpdateMarkdown < PlanMarkdown
|
|
1251
|
+
field :type, :string, const: "markdown"
|
|
1252
|
+
end
|
|
1253
|
+
|
|
1254
|
+
class HttpMcpServer < McpServerHttp
|
|
1255
|
+
field :type, :string, const: "http"
|
|
1256
|
+
end
|
|
1257
|
+
|
|
1258
|
+
class SseMcpServer < McpServerSse
|
|
1259
|
+
field :type, :string, const: "sse"
|
|
1260
|
+
end
|
|
1261
|
+
|
|
1262
|
+
class AcpMcpServer < McpServerAcp
|
|
1263
|
+
field :type, :string, const: "acp"
|
|
1264
|
+
end
|
|
1265
|
+
|
|
1266
|
+
class SetSessionConfigOptionBooleanRequest < Base
|
|
1267
|
+
field :session_id, "SessionId", required: true
|
|
1268
|
+
field :config_id, "SessionConfigId", required: true
|
|
1269
|
+
field :value, :boolean, required: true
|
|
1270
|
+
field :type, :string, const: "boolean"
|
|
1271
|
+
end
|
|
1272
|
+
|
|
1273
|
+
class SetSessionConfigOptionSelectRequest < Base
|
|
1274
|
+
field :session_id, "SessionId", required: true
|
|
1275
|
+
field :config_id, "SessionConfigId", required: true
|
|
1276
|
+
field :value, "SessionConfigValueId", required: true
|
|
1277
|
+
end
|
|
1278
|
+
|
|
1279
|
+
class DeniedOutcome < Base
|
|
1280
|
+
field :outcome, :string, const: "cancelled"
|
|
1281
|
+
end
|
|
1282
|
+
|
|
1283
|
+
class AllowedOutcome < SelectedPermissionOutcome
|
|
1284
|
+
field :outcome, :string, const: "selected"
|
|
1285
|
+
end
|
|
1286
|
+
|
|
1287
|
+
class AcceptElicitationResponse < ElicitationAcceptAction
|
|
1288
|
+
field :action, :string, const: "accept"
|
|
1289
|
+
end
|
|
1290
|
+
|
|
1291
|
+
class DeclineElicitationResponse < Base
|
|
1292
|
+
field :action, :string, const: "decline"
|
|
1293
|
+
end
|
|
1294
|
+
|
|
1295
|
+
class CancelElicitationResponse < Base
|
|
1296
|
+
field :action, :string, const: "cancel"
|
|
1297
|
+
end
|
|
1298
|
+
|
|
1299
|
+
class OtherElicitationResponse < Base
|
|
1300
|
+
field :action, :string, required: true
|
|
1301
|
+
end
|
|
1302
|
+
|
|
1303
|
+
RequestId = Types::ANY
|
|
1304
|
+
SessionId = Types::STRING
|
|
1305
|
+
ToolCallId = Types::STRING
|
|
1306
|
+
ToolKind = Types::Enum.new(["read", "edit", "delete", "move", "search", "execute", "think", "fetch", "switch_mode", "other"])
|
|
1307
|
+
ToolCallStatus = Types::Enum.new(["pending", "in_progress", "completed", "failed"])
|
|
1308
|
+
ToolCallContent = Types::Union.new(tag: "type", tagged: { "content" => ["ContentToolCallContent"], "diff" => ["FileEditToolCallContent"], "terminal" => ["TerminalToolCallContent"] })
|
|
1309
|
+
ContentBlock = Types::Union.new(tag: "type", tagged: { "text" => ["TextContentBlock"], "image" => ["ImageContentBlock"], "audio" => ["AudioContentBlock"], "resource_link" => ["ResourceContentBlock"], "resource" => ["EmbeddedResourceContentBlock"] })
|
|
1310
|
+
Role = Types::Enum.new(["assistant", "user"])
|
|
1311
|
+
EmbeddedResourceResource = Types::Union.new(untagged: ["TextResourceContents", "BlobResourceContents"])
|
|
1312
|
+
TerminalId = Types::STRING
|
|
1313
|
+
PermissionOptionId = Types::STRING
|
|
1314
|
+
PermissionOptionKind = Types::Enum.new(["allow_once", "allow_always", "reject_once", "reject_always"])
|
|
1315
|
+
CreateElicitationRequest = Types::Union.new(tag: "mode", tagged: { "form" => ["CreateFormSessionElicitationRequest", "CreateFormRequestElicitationRequest"], "url" => ["CreateUrlSessionElicitationRequest", "CreateUrlRequestElicitationRequest"] }, untagged: ["CreateOtherSessionElicitationRequest", "CreateOtherRequestElicitationRequest"])
|
|
1316
|
+
ElicitationSchemaType = Types::Enum.new(["object"])
|
|
1317
|
+
ElicitationPropertySchema = Types::Union.new(tag: "type", tagged: { "string" => ["ElicitationStringPropertySchema"], "number" => ["ElicitationNumberPropertySchema"], "integer" => ["ElicitationIntegerPropertySchema"], "boolean" => ["ElicitationBooleanPropertySchema"], "array" => ["ElicitationMultiSelectPropertySchema"] }, untagged: ["ElicitationOtherPropertySchema"])
|
|
1318
|
+
StringFormat = Types::Enum.new(["email", "uri", "date", "date-time"])
|
|
1319
|
+
MultiSelectItems = Types::Union.new(tag: "type", tagged: { "string" => ["StringMultiSelectItems"] }, untagged: ["OtherMultiSelectItems", "TitledMultiSelectItems"])
|
|
1320
|
+
ElicitationFormMode = Types::Union.new(untagged: ["ElicitationFormSessionMode", "ElicitationFormRequestMode"])
|
|
1321
|
+
ElicitationId = Types::STRING
|
|
1322
|
+
ElicitationUrlMode = Types::Union.new(untagged: ["ElicitationUrlSessionMode", "ElicitationUrlRequestMode"])
|
|
1323
|
+
McpServerAcpId = Types::STRING
|
|
1324
|
+
McpConnectionId = Types::STRING
|
|
1325
|
+
ExtRequest = Types::ANY
|
|
1326
|
+
ProtocolVersion = Types::PROTOCOL_VERSION
|
|
1327
|
+
TextDocumentSyncKind = Types::Enum.new(["full", "incremental"])
|
|
1328
|
+
PositionEncodingKind = Types::Enum.new(["utf-16", "utf-32", "utf-8"])
|
|
1329
|
+
AuthMethod = Types::Union.new(tag: "type", tagged: { "terminal" => ["TerminalAuthMethod"] }, untagged: ["AuthMethodAgent"])
|
|
1330
|
+
AuthMethodId = Types::STRING
|
|
1331
|
+
ProviderId = Types::STRING
|
|
1332
|
+
LlmProtocol = Types::Enum.new(["anthropic", "openai", "azure", "vertex", "bedrock"], open: true)
|
|
1333
|
+
SessionModeId = Types::STRING
|
|
1334
|
+
SessionConfigOption = Types::Union.new(tag: "type", tagged: { "select" => ["SessionConfigOptionSelect"], "boolean" => ["SessionConfigOptionBoolean"] })
|
|
1335
|
+
SessionConfigId = Types::STRING
|
|
1336
|
+
SessionConfigOptionCategory = Types::Enum.new(["mode", "model", "model_config", "thought_level"], open: true)
|
|
1337
|
+
SessionConfigValueId = Types::STRING
|
|
1338
|
+
SessionConfigSelectOptions = Types::Union.new(untagged: [Types::List.new("SessionConfigSelectOption"), Types::List.new("SessionConfigSelectGroup")])
|
|
1339
|
+
SessionConfigGroupId = Types::STRING
|
|
1340
|
+
StopReason = Types::Enum.new(["end_turn", "max_tokens", "max_turn_requests", "refusal", "cancelled"])
|
|
1341
|
+
NesSuggestion = Types::Union.new(tag: "kind", tagged: { "edit" => ["NesEditSuggestionVariant"], "jump" => ["NesJumpSuggestionVariant"], "rename" => ["NesRenameSuggestionVariant"], "searchAndReplace" => ["NesSearchAndReplaceSuggestionVariant"] })
|
|
1342
|
+
NesSuggestionId = Types::STRING
|
|
1343
|
+
ExtResponse = Types::ANY
|
|
1344
|
+
MessageMcpResponse = Types::ANY
|
|
1345
|
+
ErrorCode = Types::INTEGER
|
|
1346
|
+
SessionUpdate = Types::Union.new(tag: "sessionUpdate", tagged: { "user_message_chunk" => ["UserMessageChunk"], "agent_message_chunk" => ["AgentMessageChunk"], "agent_thought_chunk" => ["AgentThoughtChunk"], "tool_call" => ["ToolCallStart"], "tool_call_update" => ["ToolCallProgress"], "plan" => ["AgentPlanUpdate"], "plan_update" => ["AgentPlanContentUpdate"], "plan_removed" => ["AgentPlanRemovedUpdate"], "available_commands_update" => ["AvailableCommandsUpdate"], "current_mode_update" => ["CurrentModeUpdate"], "config_option_update" => ["ConfigOptionUpdate"], "session_info_update" => ["SessionInfoUpdate"], "usage_update" => ["UsageUpdate"], "compaction_update" => ["SessionUpdateCompactionUpdate"], "compaction_summary_chunk" => ["SessionUpdateCompactionSummaryChunk"] })
|
|
1347
|
+
MessageId = Types::STRING
|
|
1348
|
+
PlanEntryPriority = Types::Enum.new(["high", "medium", "low"])
|
|
1349
|
+
PlanEntryStatus = Types::Enum.new(["pending", "in_progress", "completed"])
|
|
1350
|
+
PlanUpdateContent = Types::Union.new(tag: "type", tagged: { "items" => ["PlanUpdateItems"], "file" => ["PlanUpdateFile"], "markdown" => ["PlanUpdateMarkdown"] })
|
|
1351
|
+
PlanId = Types::STRING
|
|
1352
|
+
AvailableCommandInput = Types::Union.new(untagged: ["UnstructuredCommandInput"])
|
|
1353
|
+
CompactionId = Types::STRING
|
|
1354
|
+
CompactionStatus = Types::Enum.new(["in_progress", "completed", "failed", "cancelled"], open: true)
|
|
1355
|
+
ExtNotification = Types::ANY
|
|
1356
|
+
McpServer = Types::Union.new(tag: "type", tagged: { "http" => ["HttpMcpServer"], "sse" => ["SseMcpServer"], "acp" => ["AcpMcpServer"] }, untagged: ["McpServerStdio"])
|
|
1357
|
+
SetSessionConfigOptionRequest = Types::Union.new(tag: "type", tagged: { "boolean" => ["SetSessionConfigOptionBooleanRequest"] }, untagged: ["SetSessionConfigOptionSelectRequest"])
|
|
1358
|
+
NesTriggerKind = Types::Enum.new(["automatic", "diagnostic", "manual"])
|
|
1359
|
+
NesDiagnosticSeverity = Types::Enum.new(["error", "warning", "information", "hint"])
|
|
1360
|
+
RequestPermissionOutcome = Types::Union.new(tag: "outcome", tagged: { "cancelled" => ["DeniedOutcome"], "selected" => ["AllowedOutcome"] })
|
|
1361
|
+
CreateElicitationResponse = Types::Union.new(tag: "action", tagged: { "accept" => ["AcceptElicitationResponse"], "decline" => ["DeclineElicitationResponse"], "cancel" => ["CancelElicitationResponse"] }, untagged: ["OtherElicitationResponse"])
|
|
1362
|
+
ElicitationContentValue = Types::ANY
|
|
1363
|
+
NesRejectReason = Types::Enum.new(["rejected", "ignored", "replaced", "cancelled"])
|
|
1364
|
+
end
|
|
1365
|
+
end
|