claude_agent 0.7.12 → 0.7.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/.claude/rules/testing.md +51 -10
  3. data/.claude/settings.json +1 -0
  4. data/ARCHITECTURE.md +237 -0
  5. data/CHANGELOG.md +45 -0
  6. data/CLAUDE.md +2 -0
  7. data/README.md +46 -1
  8. data/Rakefile +17 -0
  9. data/SPEC.md +214 -125
  10. data/lib/claude_agent/client/commands.rb +225 -0
  11. data/lib/claude_agent/client.rb +4 -204
  12. data/lib/claude_agent/content_blocks/generic_block.rb +39 -0
  13. data/lib/claude_agent/content_blocks/image_content_block.rb +54 -0
  14. data/lib/claude_agent/content_blocks/server_tool_result_block.rb +22 -0
  15. data/lib/claude_agent/content_blocks/server_tool_use_block.rb +48 -0
  16. data/lib/claude_agent/content_blocks/text_block.rb +19 -0
  17. data/lib/claude_agent/content_blocks/thinking_block.rb +19 -0
  18. data/lib/claude_agent/content_blocks/tool_result_block.rb +25 -0
  19. data/lib/claude_agent/content_blocks/tool_use_block.rb +134 -0
  20. data/lib/claude_agent/content_blocks.rb +8 -335
  21. data/lib/claude_agent/control_protocol/commands.rb +304 -0
  22. data/lib/claude_agent/control_protocol/lifecycle.rb +113 -0
  23. data/lib/claude_agent/control_protocol/messaging.rb +166 -0
  24. data/lib/claude_agent/control_protocol/primitives.rb +168 -0
  25. data/lib/claude_agent/control_protocol/request_handling.rb +231 -0
  26. data/lib/claude_agent/control_protocol.rb +27 -882
  27. data/lib/claude_agent/event_handler.rb +1 -0
  28. data/lib/claude_agent/get_session_info.rb +86 -0
  29. data/lib/claude_agent/hooks.rb +23 -2
  30. data/lib/claude_agent/list_sessions.rb +22 -13
  31. data/lib/claude_agent/message_parser.rb +26 -4
  32. data/lib/claude_agent/messages/conversation.rb +138 -0
  33. data/lib/claude_agent/messages/generic.rb +39 -0
  34. data/lib/claude_agent/messages/hook_lifecycle.rb +158 -0
  35. data/lib/claude_agent/messages/result.rb +80 -0
  36. data/lib/claude_agent/messages/streaming.rb +84 -0
  37. data/lib/claude_agent/messages/system.rb +67 -0
  38. data/lib/claude_agent/messages/task_lifecycle.rb +240 -0
  39. data/lib/claude_agent/messages/tool_lifecycle.rb +95 -0
  40. data/lib/claude_agent/messages.rb +11 -829
  41. data/lib/claude_agent/options/serializer.rb +194 -0
  42. data/lib/claude_agent/options.rb +11 -176
  43. data/lib/claude_agent/sandbox_settings.rb +3 -0
  44. data/lib/claude_agent/session.rb +0 -204
  45. data/lib/claude_agent/session_mutations.rb +148 -0
  46. data/lib/claude_agent/types/mcp.rb +30 -0
  47. data/lib/claude_agent/types/models.rb +146 -0
  48. data/lib/claude_agent/types/operations.rb +38 -0
  49. data/lib/claude_agent/types/sessions.rb +50 -0
  50. data/lib/claude_agent/types/tools.rb +32 -0
  51. data/lib/claude_agent/types.rb +6 -264
  52. data/lib/claude_agent/v2_session.rb +207 -0
  53. data/lib/claude_agent/version.rb +1 -1
  54. data/lib/claude_agent.rb +37 -3
  55. data/sig/claude_agent.rbs +144 -13
  56. metadata +33 -1
data/sig/claude_agent.rbs CHANGED
@@ -131,8 +131,10 @@ module ClaudeAgent
131
131
  attr_reader supports_effort: bool?
132
132
  attr_reader supported_effort_levels: Array[String]?
133
133
  attr_reader supports_adaptive_thinking: bool?
134
+ attr_reader supports_fast_mode: bool?
135
+ attr_reader supports_auto_mode: bool?
134
136
 
135
- def initialize: (value: String, ?display_name: String?, ?description: String?, ?supports_effort: bool?, ?supported_effort_levels: Array[String]?, ?supports_adaptive_thinking: bool?) -> void
137
+ def initialize: (value: String, ?display_name: String?, ?description: String?, ?supports_effort: bool?, ?supported_effort_levels: Array[String]?, ?supports_adaptive_thinking: bool?, ?supports_fast_mode: bool?, ?supports_auto_mode: bool?) -> void
136
138
  end
137
139
 
138
140
  class McpServerStatus
@@ -165,14 +167,24 @@ module ClaudeAgent
165
167
  def initialize: (?email: String?, ?organization: String?, ?subscription_type: String?, ?token_source: String?, ?api_key_source: String?) -> void
166
168
  end
167
169
 
170
+ class AgentInfo
171
+ attr_reader name: String
172
+ attr_reader description: String?
173
+ attr_reader model: String?
174
+
175
+ def initialize: (name: String, ?description: String?, ?model: String?) -> void
176
+ end
177
+
168
178
  class InitializationResult
169
179
  attr_reader commands: Array[SlashCommand]
170
180
  attr_reader output_style: String?
171
181
  attr_reader available_output_styles: Array[String]
172
182
  attr_reader models: Array[ModelInfo]
173
183
  attr_reader account: AccountInfo?
184
+ attr_reader agents: Array[AgentInfo]
185
+ attr_reader fast_mode_state: String?
174
186
 
175
- def initialize: (?commands: Array[SlashCommand], ?output_style: String?, ?available_output_styles: Array[String], ?models: Array[ModelInfo], ?account: AccountInfo?) -> void
187
+ def initialize: (?commands: Array[SlashCommand], ?output_style: String?, ?available_output_styles: Array[String], ?models: Array[ModelInfo], ?account: AccountInfo?, ?agents: Array[AgentInfo], ?fast_mode_state: String?) -> void
176
188
  end
177
189
 
178
190
  class ModelUsage
@@ -226,8 +238,10 @@ module ClaudeAgent
226
238
  attr_reader first_prompt: String?
227
239
  attr_reader git_branch: String?
228
240
  attr_reader cwd: String?
241
+ attr_reader tag: String?
242
+ attr_reader created_at: Integer?
229
243
 
230
- def initialize: (session_id: String, summary: String, last_modified: Integer, file_size: Integer, ?custom_title: String?, ?first_prompt: String?, ?git_branch: String?, ?cwd: String?) -> void
244
+ def initialize: (session_id: String, summary: String, last_modified: Integer, file_size: Integer, ?custom_title: String?, ?first_prompt: String?, ?git_branch: String?, ?cwd: String?, ?tag: String?, ?created_at: Integer?) -> void
231
245
  end
232
246
 
233
247
  # Session transcript message returned by get_session_messages (TypeScript SDK v0.2.59 parity)
@@ -302,10 +316,11 @@ module ClaudeAgent
302
316
  attr_reader network: SandboxNetworkConfig?
303
317
  attr_reader ignore_violations: SandboxIgnoreViolations?
304
318
  attr_reader enable_weaker_nested_sandbox: bool
319
+ attr_reader enable_weaker_network_isolation: bool
305
320
  attr_reader ripgrep: SandboxRipgrepConfig?
306
321
  attr_reader filesystem: SandboxFilesystemConfig?
307
322
 
308
- def initialize: (?enabled: bool, ?auto_allow_bash_if_sandboxed: bool, ?excluded_commands: Array[String], ?allow_unsandboxed_commands: bool, ?network: SandboxNetworkConfig?, ?ignore_violations: SandboxIgnoreViolations?, ?enable_weaker_nested_sandbox: bool, ?ripgrep: SandboxRipgrepConfig?, ?filesystem: SandboxFilesystemConfig?) -> void
323
+ def initialize: (?enabled: bool, ?auto_allow_bash_if_sandboxed: bool, ?excluded_commands: Array[String], ?allow_unsandboxed_commands: bool, ?network: SandboxNetworkConfig?, ?ignore_violations: SandboxIgnoreViolations?, ?enable_weaker_nested_sandbox: bool, ?enable_weaker_network_isolation: bool, ?ripgrep: SandboxRipgrepConfig?, ?filesystem: SandboxFilesystemConfig?) -> void
309
324
  def to_h: () -> Hash[Symbol, untyped]
310
325
  end
311
326
 
@@ -323,6 +338,11 @@ module ClaudeAgent
323
338
 
324
339
  # Options for configuring Claude Code CLI
325
340
  class Options
341
+ module Serializer
342
+ end
343
+
344
+ include Serializer
345
+
326
346
  # Constants
327
347
  DEFAULTS: Hash[Symbol, untyped]
328
348
  ATTRIBUTES: Array[Symbol]
@@ -345,6 +365,7 @@ module ClaudeAgent
345
365
  attr_accessor permission_mode: String?
346
366
  attr_accessor permission_prompt_tool_name: String?
347
367
  attr_accessor can_use_tool: (^(String, Hash[String, untyped], untyped) -> permission_result)?
368
+ attr_accessor on_elicitation: (^(Hash[Symbol, untyped], ?signal: AbortSignal?) -> Hash[Symbol, untyped]?)?
348
369
  attr_accessor allow_dangerously_skip_permissions: bool
349
370
  attr_accessor permission_queue: bool?
350
371
 
@@ -388,6 +409,7 @@ module ClaudeAgent
388
409
  # Advanced features
389
410
  attr_accessor agents: Hash[String, untyped]?
390
411
  attr_accessor setting_sources: Array[String]?
412
+ attr_accessor settings: (String | Hash[String, untyped])?
391
413
  attr_accessor plugins: Array[String | Hash[Symbol, String]]
392
414
 
393
415
  # Output & streaming
@@ -406,6 +428,8 @@ module ClaudeAgent
406
428
  attr_accessor stderr_callback: (^(String) -> void)?
407
429
  attr_accessor debug: bool
408
430
  attr_accessor debug_file: String?
431
+ attr_accessor tool_config: Hash[Symbol, untyped]?
432
+ attr_accessor agent_progress_summaries: bool?
409
433
 
410
434
  # Logging
411
435
  attr_accessor logger: Logger?
@@ -517,6 +541,27 @@ module ClaudeAgent
517
541
 
518
542
  CONTENT_BLOCK_TYPES: Array[Class]
519
543
 
544
+ # Elicitation complete message (TypeScript SDK v0.2.63 parity)
545
+ class ElicitationCompleteMessage
546
+ attr_reader uuid: String
547
+ attr_reader session_id: String
548
+ attr_reader mcp_server_name: String
549
+ attr_reader elicitation_id: String
550
+
551
+ def initialize: (?uuid: String, ?session_id: String, ?mcp_server_name: String, ?elicitation_id: String) -> void
552
+ def type: () -> :elicitation_complete
553
+ end
554
+
555
+ # Local command output message (TypeScript SDK v0.2.63 parity)
556
+ class LocalCommandOutputMessage
557
+ attr_reader uuid: String
558
+ attr_reader session_id: String
559
+ attr_reader content: String
560
+
561
+ def initialize: (?uuid: String, ?session_id: String, ?content: String) -> void
562
+ def type: () -> :local_command_output
563
+ end
564
+
520
565
  class GenericMessage
521
566
  attr_reader message_type: String?
522
567
  attr_reader raw: Hash[Symbol, untyped]
@@ -528,7 +573,7 @@ module ClaudeAgent
528
573
  end
529
574
 
530
575
  # Message types
531
- type message = UserMessage | UserMessageReplay | AssistantMessage | SystemMessage | ResultMessage | StreamEvent | CompactBoundaryMessage | StatusMessage | ToolProgressMessage | HookResponseMessage | AuthStatusMessage | TaskNotificationMessage | HookStartedMessage | HookProgressMessage | ToolUseSummaryMessage | FilesPersistedEvent | TaskStartedMessage | TaskProgressMessage | RateLimitEvent | PromptSuggestionMessage | GenericMessage
576
+ type message = UserMessage | UserMessageReplay | AssistantMessage | SystemMessage | ResultMessage | StreamEvent | CompactBoundaryMessage | StatusMessage | ToolProgressMessage | HookResponseMessage | AuthStatusMessage | TaskNotificationMessage | HookStartedMessage | HookProgressMessage | ToolUseSummaryMessage | FilesPersistedEvent | TaskStartedMessage | TaskProgressMessage | RateLimitEvent | PromptSuggestionMessage | ElicitationCompleteMessage | LocalCommandOutputMessage | GenericMessage
532
577
 
533
578
  MESSAGE_TYPES: Array[Class]
534
579
 
@@ -600,6 +645,7 @@ module ClaudeAgent
600
645
  attr_reader permission_denials: Array[SDKPermissionDenial]?
601
646
  attr_reader model_usage: Hash[String, untyped]?
602
647
  attr_reader stop_reason: String?
648
+ attr_reader fast_mode_state: String?
603
649
 
604
650
  def initialize: (
605
651
  subtype: String,
@@ -616,7 +662,8 @@ module ClaudeAgent
616
662
  ?errors: Array[String]?,
617
663
  ?permission_denials: Array[SDKPermissionDenial]?,
618
664
  ?model_usage: Hash[String, untyped]?,
619
- ?stop_reason: String?
665
+ ?stop_reason: String?,
666
+ ?fast_mode_state: String?
620
667
  ) -> void
621
668
 
622
669
  def type: () -> :result
@@ -771,7 +818,7 @@ module ClaudeAgent
771
818
  def type: () -> :files_persisted
772
819
  end
773
820
 
774
- # Task started message (TypeScript SDK v0.2.45 parity)
821
+ # Task started message (TypeScript SDK v0.2.75 parity)
775
822
  class TaskStartedMessage
776
823
  attr_reader uuid: String
777
824
  attr_reader session_id: String
@@ -779,12 +826,13 @@ module ClaudeAgent
779
826
  attr_reader tool_use_id: String?
780
827
  attr_reader description: String?
781
828
  attr_reader task_type: String?
829
+ attr_reader prompt: String?
782
830
 
783
- def initialize: (uuid: String, session_id: String, task_id: String, ?tool_use_id: String?, ?description: String?, ?task_type: String?) -> void
831
+ def initialize: (uuid: String, session_id: String, task_id: String, ?tool_use_id: String?, ?description: String?, ?task_type: String?, ?prompt: String?) -> void
784
832
  def type: () -> :task_started
785
833
  end
786
834
 
787
- # Task progress message (TypeScript SDK v0.2.51 parity)
835
+ # Task progress message (TypeScript SDK v0.2.75 parity)
788
836
  class TaskProgressMessage
789
837
  attr_reader uuid: String
790
838
  attr_reader session_id: String
@@ -793,8 +841,9 @@ module ClaudeAgent
793
841
  attr_reader description: String
794
842
  attr_reader usage: Hash[String, untyped]?
795
843
  attr_reader last_tool_name: String?
844
+ attr_reader summary: String?
796
845
 
797
- def initialize: (uuid: String, session_id: String, task_id: String, description: String, ?usage: Hash[String, untyped]?, ?tool_use_id: String?, ?last_tool_name: String?) -> void
846
+ def initialize: (uuid: String, session_id: String, task_id: String, description: String, ?usage: Hash[String, untyped]?, ?tool_use_id: String?, ?last_tool_name: String?, ?summary: String?) -> void
798
847
  def type: () -> :task_progress
799
848
  end
800
849
 
@@ -852,8 +901,10 @@ module ClaudeAgent
852
901
  attr_reader transcript_path: String?
853
902
  attr_reader cwd: String?
854
903
  attr_reader permission_mode: String?
904
+ attr_reader agent_id: String?
905
+ attr_reader agent_type: String?
855
906
 
856
- def initialize: (hook_event_name: String, ?session_id: String?, ?transcript_path: String?, ?cwd: String?, ?permission_mode: String?, **untyped) -> void
907
+ def initialize: (hook_event_name: String, ?session_id: String?, ?transcript_path: String?, ?cwd: String?, ?permission_mode: String?, ?agent_id: String?, ?agent_type: String?, **untyped) -> void
857
908
 
858
909
  def self.define_input: (String event_name, ?required: Array[Symbol], ?optional: Hash[Symbol, untyped], ?constants: Hash[Symbol, untyped]) -> Class
859
910
  | (String event_name, ?required: Array[Symbol], ?optional: Hash[Symbol, untyped], ?constants: Hash[Symbol, untyped]) { () -> void } -> Class
@@ -978,6 +1029,27 @@ module ClaudeAgent
978
1029
  def initialize: (task_id: String, task_subject: String, ?task_description: String?, ?teammate_name: String?, ?team_name: String?, **untyped) -> void
979
1030
  end
980
1031
 
1032
+ class ElicitationInput < BaseHookInput
1033
+ attr_reader mcp_server_name: String
1034
+ attr_reader message: String
1035
+ attr_reader mode: String?
1036
+ attr_reader url: String?
1037
+ attr_reader elicitation_id: String?
1038
+ attr_reader requested_schema: untyped
1039
+
1040
+ def initialize: (mcp_server_name: String, message: String, ?mode: String?, ?url: String?, ?elicitation_id: String?, ?requested_schema: untyped, **untyped) -> void
1041
+ end
1042
+
1043
+ class ElicitationResultInput < BaseHookInput
1044
+ attr_reader mcp_server_name: String
1045
+ attr_reader action: String
1046
+ attr_reader elicitation_id: String?
1047
+ attr_reader mode: String?
1048
+ attr_reader content: untyped
1049
+
1050
+ def initialize: (mcp_server_name: String, action: String, ?elicitation_id: String?, ?mode: String?, ?content: untyped, **untyped) -> void
1051
+ end
1052
+
981
1053
  class ConfigChangeInput < BaseHookInput
982
1054
  attr_reader source: String
983
1055
  attr_reader file_path: String?
@@ -999,6 +1071,20 @@ module ClaudeAgent
999
1071
  def initialize: (worktree_path: String, **untyped) -> void
1000
1072
  end
1001
1073
 
1074
+ class InstructionsLoadedInput < BaseHookInput
1075
+ attr_reader file_path: String
1076
+ attr_reader memory_type: String
1077
+ attr_reader load_reason: String
1078
+ attr_reader globs: Array[String]?
1079
+ attr_reader trigger_file_path: String?
1080
+ attr_reader parent_file_path: String?
1081
+
1082
+ MEMORY_TYPES: Array[String]
1083
+ LOAD_REASONS: Array[String]
1084
+
1085
+ def initialize: (file_path: String, memory_type: String, load_reason: String, ?globs: Array[String]?, ?trigger_file_path: String?, ?parent_file_path: String?, **untyped) -> void
1086
+ end
1087
+
1002
1088
  # Permission types
1003
1089
  type permission_result = PermissionResultAllow | PermissionResultDeny
1004
1090
 
@@ -1293,8 +1379,11 @@ module ClaudeAgent
1293
1379
  end
1294
1380
 
1295
1381
  # Session discovery
1296
- def self.list_sessions: (?dir: String?, ?limit: Integer?) -> Array[SessionInfo]
1382
+ def self.list_sessions: (?dir: String?, ?limit: Integer?, ?offset: Integer?, ?include_worktrees: bool) -> Array[SessionInfo]
1297
1383
  def self.get_session_messages: (String session_id, ?dir: String?, ?limit: Integer?, ?offset: Integer?) -> Array[SessionMessage]
1384
+ def self.rename_session: (String session_id, String title, ?dir: String?) -> void
1385
+ def self.tag_session: (String session_id, String? tag, ?dir: String?) -> void
1386
+ def self.get_session_info: (String session_id, ?dir: String?) -> SessionInfo?
1298
1387
 
1299
1388
  # Shared session path infrastructure
1300
1389
  module SessionPaths
@@ -1315,7 +1404,7 @@ module ClaudeAgent
1315
1404
  module ListSessions
1316
1405
  BUFFER_SIZE: Integer
1317
1406
 
1318
- def self.call: (?dir: String?, ?limit: Integer?) -> Array[SessionInfo]
1407
+ def self.call: (?dir: String?, ?limit: Integer?, ?offset: Integer?) -> Array[SessionInfo]
1319
1408
  end
1320
1409
 
1321
1410
  # GetSessionMessages module (TypeScript SDK v0.2.59 parity)
@@ -1325,12 +1414,30 @@ module ClaudeAgent
1325
1414
  def self.call: (String session_id, ?dir: String?, ?limit: Integer?, ?offset: Integer?) -> Array[SessionMessage]
1326
1415
  end
1327
1416
 
1417
+ # Session mutations module (TypeScript SDK v0.2.75 parity)
1418
+ module SessionMutations
1419
+ UNICODE_SANITIZE_PATTERN: Regexp
1420
+
1421
+ def self.rename_session: (String session_id, String title, ?dir: String?) -> void
1422
+ def self.tag_session: (String session_id, String? tag, ?dir: String?) -> void
1423
+ end
1424
+
1425
+ # Single session lookup (TypeScript SDK v0.2.75 parity)
1426
+ module GetSessionInfo
1427
+ def self.call: (String session_id, ?dir: String?) -> SessionInfo?
1428
+ end
1429
+
1328
1430
  # Convenience methods
1329
1431
  def self.conversation: (**untyped) -> Conversation
1330
1432
  def self.resume_conversation: (String session_id, **untyped) -> Conversation
1331
1433
 
1332
1434
  # Client
1333
1435
  class Client
1436
+ module Commands
1437
+ end
1438
+
1439
+ include Commands
1440
+
1334
1441
  attr_reader options: Options
1335
1442
  attr_reader transport: Transport::Base
1336
1443
  attr_reader server_info: Hash[String, untyped]?
@@ -1403,6 +1510,7 @@ module ClaudeAgent
1403
1510
  def apply_flag_settings: (Hash[String, untyped] settings) -> Hash[String, untyped]
1404
1511
  def supported_commands: () -> Array[SlashCommand]
1405
1512
  def supported_models: () -> Array[ModelInfo]
1513
+ def supported_agents: () -> Array[AgentInfo]
1406
1514
  def mcp_server_status: () -> Array[McpServerStatus]
1407
1515
  def account_info: () -> AccountInfo
1408
1516
  def initialization_result: () -> InitializationResult
@@ -1416,6 +1524,28 @@ module ClaudeAgent
1416
1524
  REQUEST_ID_PREFIX: String
1417
1525
  HOOK_RESPONSE_KEYS: Hash[Symbol, String]
1418
1526
 
1527
+ # Mixin modules that compose the protocol's behavior
1528
+ module Primitives
1529
+ end
1530
+
1531
+ module Lifecycle
1532
+ end
1533
+
1534
+ module Messaging
1535
+ end
1536
+
1537
+ module Commands
1538
+ end
1539
+
1540
+ module RequestHandling
1541
+ end
1542
+
1543
+ include Primitives
1544
+ include Lifecycle
1545
+ include Messaging
1546
+ include Commands
1547
+ include RequestHandling
1548
+
1419
1549
  attr_reader transport: Transport::Base
1420
1550
  attr_reader options: Options
1421
1551
  attr_reader server_info: Hash[String, untyped]?
@@ -1446,6 +1576,7 @@ module ClaudeAgent
1446
1576
  def apply_flag_settings: (Hash[String, untyped] settings) -> Hash[String, untyped]
1447
1577
  def supported_commands: () -> Array[SlashCommand]
1448
1578
  def supported_models: () -> Array[ModelInfo]
1579
+ def supported_agents: () -> Array[AgentInfo]
1449
1580
  def mcp_server_status: () -> Array[McpServerStatus]
1450
1581
  def account_info: () -> AccountInfo
1451
1582
  def initialization_result: () -> InitializationResult
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: claude_agent
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.12
4
+ version: 0.7.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thomas Carr
@@ -44,6 +44,7 @@ files:
44
44
  - ".claude/skills/spec/commands/complete.md"
45
45
  - ".claude/skills/spec/commands/update.md"
46
46
  - ".worktreeinclude"
47
+ - ARCHITECTURE.md
47
48
  - CHANGELOG.md
48
49
  - CLAUDE.md
49
50
  - LICENSE.txt
@@ -53,12 +54,27 @@ files:
53
54
  - lib/claude_agent.rb
54
55
  - lib/claude_agent/abort_controller.rb
55
56
  - lib/claude_agent/client.rb
57
+ - lib/claude_agent/client/commands.rb
56
58
  - lib/claude_agent/content_blocks.rb
59
+ - lib/claude_agent/content_blocks/generic_block.rb
60
+ - lib/claude_agent/content_blocks/image_content_block.rb
61
+ - lib/claude_agent/content_blocks/server_tool_result_block.rb
62
+ - lib/claude_agent/content_blocks/server_tool_use_block.rb
63
+ - lib/claude_agent/content_blocks/text_block.rb
64
+ - lib/claude_agent/content_blocks/thinking_block.rb
65
+ - lib/claude_agent/content_blocks/tool_result_block.rb
66
+ - lib/claude_agent/content_blocks/tool_use_block.rb
57
67
  - lib/claude_agent/control_protocol.rb
68
+ - lib/claude_agent/control_protocol/commands.rb
69
+ - lib/claude_agent/control_protocol/lifecycle.rb
70
+ - lib/claude_agent/control_protocol/messaging.rb
71
+ - lib/claude_agent/control_protocol/primitives.rb
72
+ - lib/claude_agent/control_protocol/request_handling.rb
58
73
  - lib/claude_agent/conversation.rb
59
74
  - lib/claude_agent/cumulative_usage.rb
60
75
  - lib/claude_agent/errors.rb
61
76
  - lib/claude_agent/event_handler.rb
77
+ - lib/claude_agent/get_session_info.rb
62
78
  - lib/claude_agent/get_session_messages.rb
63
79
  - lib/claude_agent/hooks.rb
64
80
  - lib/claude_agent/list_sessions.rb
@@ -68,7 +84,16 @@ files:
68
84
  - lib/claude_agent/mcp/tool.rb
69
85
  - lib/claude_agent/message_parser.rb
70
86
  - lib/claude_agent/messages.rb
87
+ - lib/claude_agent/messages/conversation.rb
88
+ - lib/claude_agent/messages/generic.rb
89
+ - lib/claude_agent/messages/hook_lifecycle.rb
90
+ - lib/claude_agent/messages/result.rb
91
+ - lib/claude_agent/messages/streaming.rb
92
+ - lib/claude_agent/messages/system.rb
93
+ - lib/claude_agent/messages/task_lifecycle.rb
94
+ - lib/claude_agent/messages/tool_lifecycle.rb
71
95
  - lib/claude_agent/options.rb
96
+ - lib/claude_agent/options/serializer.rb
72
97
  - lib/claude_agent/permission_queue.rb
73
98
  - lib/claude_agent/permission_request.rb
74
99
  - lib/claude_agent/permissions.rb
@@ -76,6 +101,7 @@ files:
76
101
  - lib/claude_agent/sandbox_settings.rb
77
102
  - lib/claude_agent/session.rb
78
103
  - lib/claude_agent/session_message_relation.rb
104
+ - lib/claude_agent/session_mutations.rb
79
105
  - lib/claude_agent/session_paths.rb
80
106
  - lib/claude_agent/spawn.rb
81
107
  - lib/claude_agent/tool_activity.rb
@@ -84,6 +110,12 @@ files:
84
110
  - lib/claude_agent/transport/subprocess.rb
85
111
  - lib/claude_agent/turn_result.rb
86
112
  - lib/claude_agent/types.rb
113
+ - lib/claude_agent/types/mcp.rb
114
+ - lib/claude_agent/types/models.rb
115
+ - lib/claude_agent/types/operations.rb
116
+ - lib/claude_agent/types/sessions.rb
117
+ - lib/claude_agent/types/tools.rb
118
+ - lib/claude_agent/v2_session.rb
87
119
  - lib/claude_agent/version.rb
88
120
  - sig/claude_agent.rbs
89
121
  - sig/manifest.yaml