swarm_memory 2.1.4 → 2.1.6

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 (184) hide show
  1. checksums.yaml +4 -4
  2. data/lib/swarm_memory/version.rb +1 -1
  3. data/lib/swarm_memory.rb +7 -2
  4. metadata +6 -185
  5. data/lib/claude_swarm/base_executor.rb +0 -133
  6. data/lib/claude_swarm/claude_code_executor.rb +0 -349
  7. data/lib/claude_swarm/claude_mcp_server.rb +0 -78
  8. data/lib/claude_swarm/cli.rb +0 -697
  9. data/lib/claude_swarm/commands/ps.rb +0 -215
  10. data/lib/claude_swarm/commands/show.rb +0 -139
  11. data/lib/claude_swarm/configuration.rb +0 -373
  12. data/lib/claude_swarm/hooks/session_start_hook.rb +0 -42
  13. data/lib/claude_swarm/json_handler.rb +0 -91
  14. data/lib/claude_swarm/mcp_generator.rb +0 -243
  15. data/lib/claude_swarm/openai/chat_completion.rb +0 -256
  16. data/lib/claude_swarm/openai/executor.rb +0 -256
  17. data/lib/claude_swarm/openai/responses.rb +0 -319
  18. data/lib/claude_swarm/orchestrator.rb +0 -878
  19. data/lib/claude_swarm/process_tracker.rb +0 -78
  20. data/lib/claude_swarm/session_cost_calculator.rb +0 -209
  21. data/lib/claude_swarm/session_path.rb +0 -42
  22. data/lib/claude_swarm/settings_generator.rb +0 -77
  23. data/lib/claude_swarm/system_utils.rb +0 -46
  24. data/lib/claude_swarm/templates/generation_prompt.md.erb +0 -230
  25. data/lib/claude_swarm/tools/reset_session_tool.rb +0 -24
  26. data/lib/claude_swarm/tools/session_info_tool.rb +0 -24
  27. data/lib/claude_swarm/tools/task_tool.rb +0 -63
  28. data/lib/claude_swarm/version.rb +0 -5
  29. data/lib/claude_swarm/worktree_manager.rb +0 -475
  30. data/lib/claude_swarm/yaml_loader.rb +0 -22
  31. data/lib/claude_swarm.rb +0 -67
  32. data/lib/swarm_cli/cli.rb +0 -201
  33. data/lib/swarm_cli/command_registry.rb +0 -61
  34. data/lib/swarm_cli/commands/mcp_serve.rb +0 -130
  35. data/lib/swarm_cli/commands/mcp_tools.rb +0 -148
  36. data/lib/swarm_cli/commands/migrate.rb +0 -55
  37. data/lib/swarm_cli/commands/run.rb +0 -173
  38. data/lib/swarm_cli/config_loader.rb +0 -98
  39. data/lib/swarm_cli/formatters/human_formatter.rb +0 -781
  40. data/lib/swarm_cli/formatters/json_formatter.rb +0 -51
  41. data/lib/swarm_cli/interactive_repl.rb +0 -924
  42. data/lib/swarm_cli/mcp_serve_options.rb +0 -44
  43. data/lib/swarm_cli/mcp_tools_options.rb +0 -59
  44. data/lib/swarm_cli/migrate_options.rb +0 -54
  45. data/lib/swarm_cli/migrator.rb +0 -132
  46. data/lib/swarm_cli/options.rb +0 -151
  47. data/lib/swarm_cli/ui/components/agent_badge.rb +0 -33
  48. data/lib/swarm_cli/ui/components/content_block.rb +0 -120
  49. data/lib/swarm_cli/ui/components/divider.rb +0 -57
  50. data/lib/swarm_cli/ui/components/panel.rb +0 -62
  51. data/lib/swarm_cli/ui/components/usage_stats.rb +0 -70
  52. data/lib/swarm_cli/ui/formatters/cost.rb +0 -49
  53. data/lib/swarm_cli/ui/formatters/number.rb +0 -58
  54. data/lib/swarm_cli/ui/formatters/text.rb +0 -77
  55. data/lib/swarm_cli/ui/formatters/time.rb +0 -73
  56. data/lib/swarm_cli/ui/icons.rb +0 -36
  57. data/lib/swarm_cli/ui/renderers/event_renderer.rb +0 -188
  58. data/lib/swarm_cli/ui/state/agent_color_cache.rb +0 -45
  59. data/lib/swarm_cli/ui/state/depth_tracker.rb +0 -40
  60. data/lib/swarm_cli/ui/state/spinner_manager.rb +0 -170
  61. data/lib/swarm_cli/ui/state/usage_tracker.rb +0 -62
  62. data/lib/swarm_cli/version.rb +0 -5
  63. data/lib/swarm_cli.rb +0 -46
  64. data/lib/swarm_sdk/agent/RETRY_LOGIC.md +0 -127
  65. data/lib/swarm_sdk/agent/builder.rb +0 -552
  66. data/lib/swarm_sdk/agent/chat.rb +0 -774
  67. data/lib/swarm_sdk/agent/chat_helpers/context_tracker.rb +0 -268
  68. data/lib/swarm_sdk/agent/chat_helpers/event_emitter.rb +0 -204
  69. data/lib/swarm_sdk/agent/chat_helpers/hook_integration.rb +0 -480
  70. data/lib/swarm_sdk/agent/chat_helpers/instrumentation.rb +0 -78
  71. data/lib/swarm_sdk/agent/chat_helpers/llm_configuration.rb +0 -233
  72. data/lib/swarm_sdk/agent/chat_helpers/logging_helpers.rb +0 -116
  73. data/lib/swarm_sdk/agent/chat_helpers/serialization.rb +0 -83
  74. data/lib/swarm_sdk/agent/chat_helpers/system_reminder_injector.rb +0 -136
  75. data/lib/swarm_sdk/agent/chat_helpers/system_reminders.rb +0 -79
  76. data/lib/swarm_sdk/agent/chat_helpers/token_tracking.rb +0 -98
  77. data/lib/swarm_sdk/agent/context.rb +0 -116
  78. data/lib/swarm_sdk/agent/context_manager.rb +0 -315
  79. data/lib/swarm_sdk/agent/definition.rb +0 -477
  80. data/lib/swarm_sdk/agent/llm_instrumentation_middleware.rb +0 -182
  81. data/lib/swarm_sdk/agent/system_prompt_builder.rb +0 -161
  82. data/lib/swarm_sdk/builders/base_builder.rb +0 -409
  83. data/lib/swarm_sdk/claude_code_agent_adapter.rb +0 -205
  84. data/lib/swarm_sdk/concerns/cleanupable.rb +0 -39
  85. data/lib/swarm_sdk/concerns/snapshotable.rb +0 -67
  86. data/lib/swarm_sdk/concerns/validatable.rb +0 -55
  87. data/lib/swarm_sdk/configuration/parser.rb +0 -353
  88. data/lib/swarm_sdk/configuration/translator.rb +0 -255
  89. data/lib/swarm_sdk/configuration.rb +0 -135
  90. data/lib/swarm_sdk/context_compactor/metrics.rb +0 -147
  91. data/lib/swarm_sdk/context_compactor/token_counter.rb +0 -106
  92. data/lib/swarm_sdk/context_compactor.rb +0 -335
  93. data/lib/swarm_sdk/context_management/builder.rb +0 -128
  94. data/lib/swarm_sdk/context_management/context.rb +0 -328
  95. data/lib/swarm_sdk/defaults.rb +0 -196
  96. data/lib/swarm_sdk/events_to_messages.rb +0 -199
  97. data/lib/swarm_sdk/hooks/adapter.rb +0 -359
  98. data/lib/swarm_sdk/hooks/context.rb +0 -197
  99. data/lib/swarm_sdk/hooks/definition.rb +0 -80
  100. data/lib/swarm_sdk/hooks/error.rb +0 -29
  101. data/lib/swarm_sdk/hooks/executor.rb +0 -146
  102. data/lib/swarm_sdk/hooks/registry.rb +0 -147
  103. data/lib/swarm_sdk/hooks/result.rb +0 -150
  104. data/lib/swarm_sdk/hooks/shell_executor.rb +0 -255
  105. data/lib/swarm_sdk/hooks/tool_call.rb +0 -35
  106. data/lib/swarm_sdk/hooks/tool_result.rb +0 -62
  107. data/lib/swarm_sdk/log_collector.rb +0 -227
  108. data/lib/swarm_sdk/log_stream.rb +0 -127
  109. data/lib/swarm_sdk/markdown_parser.rb +0 -75
  110. data/lib/swarm_sdk/model_aliases.json +0 -8
  111. data/lib/swarm_sdk/models.json +0 -1
  112. data/lib/swarm_sdk/models.rb +0 -120
  113. data/lib/swarm_sdk/node_context.rb +0 -245
  114. data/lib/swarm_sdk/observer/builder.rb +0 -81
  115. data/lib/swarm_sdk/observer/config.rb +0 -45
  116. data/lib/swarm_sdk/observer/manager.rb +0 -236
  117. data/lib/swarm_sdk/patterns/agent_observer.rb +0 -160
  118. data/lib/swarm_sdk/permissions/config.rb +0 -239
  119. data/lib/swarm_sdk/permissions/error_formatter.rb +0 -121
  120. data/lib/swarm_sdk/permissions/path_matcher.rb +0 -35
  121. data/lib/swarm_sdk/permissions/validator.rb +0 -173
  122. data/lib/swarm_sdk/permissions_builder.rb +0 -122
  123. data/lib/swarm_sdk/plugin.rb +0 -309
  124. data/lib/swarm_sdk/plugin_registry.rb +0 -101
  125. data/lib/swarm_sdk/proc_helpers.rb +0 -53
  126. data/lib/swarm_sdk/prompts/base_system_prompt.md.erb +0 -117
  127. data/lib/swarm_sdk/restore_result.rb +0 -65
  128. data/lib/swarm_sdk/result.rb +0 -123
  129. data/lib/swarm_sdk/snapshot.rb +0 -156
  130. data/lib/swarm_sdk/snapshot_from_events.rb +0 -397
  131. data/lib/swarm_sdk/state_restorer.rb +0 -476
  132. data/lib/swarm_sdk/state_snapshot.rb +0 -334
  133. data/lib/swarm_sdk/swarm/agent_initializer.rb +0 -683
  134. data/lib/swarm_sdk/swarm/all_agents_builder.rb +0 -167
  135. data/lib/swarm_sdk/swarm/builder.rb +0 -249
  136. data/lib/swarm_sdk/swarm/executor.rb +0 -213
  137. data/lib/swarm_sdk/swarm/hook_triggers.rb +0 -150
  138. data/lib/swarm_sdk/swarm/logging_callbacks.rb +0 -340
  139. data/lib/swarm_sdk/swarm/mcp_configurator.rb +0 -154
  140. data/lib/swarm_sdk/swarm/swarm_registry_builder.rb +0 -67
  141. data/lib/swarm_sdk/swarm/tool_configurator.rb +0 -358
  142. data/lib/swarm_sdk/swarm.rb +0 -717
  143. data/lib/swarm_sdk/swarm_loader.rb +0 -145
  144. data/lib/swarm_sdk/swarm_registry.rb +0 -136
  145. data/lib/swarm_sdk/tools/bash.rb +0 -282
  146. data/lib/swarm_sdk/tools/clock.rb +0 -44
  147. data/lib/swarm_sdk/tools/delegate.rb +0 -267
  148. data/lib/swarm_sdk/tools/document_converters/base_converter.rb +0 -83
  149. data/lib/swarm_sdk/tools/document_converters/docx_converter.rb +0 -99
  150. data/lib/swarm_sdk/tools/document_converters/html_converter.rb +0 -101
  151. data/lib/swarm_sdk/tools/document_converters/pdf_converter.rb +0 -78
  152. data/lib/swarm_sdk/tools/document_converters/xlsx_converter.rb +0 -194
  153. data/lib/swarm_sdk/tools/edit.rb +0 -145
  154. data/lib/swarm_sdk/tools/glob.rb +0 -166
  155. data/lib/swarm_sdk/tools/grep.rb +0 -235
  156. data/lib/swarm_sdk/tools/image_extractors/docx_image_extractor.rb +0 -43
  157. data/lib/swarm_sdk/tools/image_extractors/pdf_image_extractor.rb +0 -163
  158. data/lib/swarm_sdk/tools/image_formats/tiff_builder.rb +0 -65
  159. data/lib/swarm_sdk/tools/multi_edit.rb +0 -236
  160. data/lib/swarm_sdk/tools/path_resolver.rb +0 -92
  161. data/lib/swarm_sdk/tools/read.rb +0 -261
  162. data/lib/swarm_sdk/tools/registry.rb +0 -205
  163. data/lib/swarm_sdk/tools/scratchpad/scratchpad_list.rb +0 -117
  164. data/lib/swarm_sdk/tools/scratchpad/scratchpad_read.rb +0 -97
  165. data/lib/swarm_sdk/tools/scratchpad/scratchpad_write.rb +0 -108
  166. data/lib/swarm_sdk/tools/stores/read_tracker.rb +0 -96
  167. data/lib/swarm_sdk/tools/stores/scratchpad_storage.rb +0 -272
  168. data/lib/swarm_sdk/tools/stores/storage.rb +0 -142
  169. data/lib/swarm_sdk/tools/stores/todo_manager.rb +0 -65
  170. data/lib/swarm_sdk/tools/think.rb +0 -98
  171. data/lib/swarm_sdk/tools/todo_write.rb +0 -235
  172. data/lib/swarm_sdk/tools/web_fetch.rb +0 -262
  173. data/lib/swarm_sdk/tools/write.rb +0 -112
  174. data/lib/swarm_sdk/utils.rb +0 -68
  175. data/lib/swarm_sdk/validation_result.rb +0 -33
  176. data/lib/swarm_sdk/version.rb +0 -5
  177. data/lib/swarm_sdk/workflow/agent_config.rb +0 -79
  178. data/lib/swarm_sdk/workflow/builder.rb +0 -143
  179. data/lib/swarm_sdk/workflow/executor.rb +0 -497
  180. data/lib/swarm_sdk/workflow/node_builder.rb +0 -555
  181. data/lib/swarm_sdk/workflow/transformer_executor.rb +0 -249
  182. data/lib/swarm_sdk/workflow.rb +0 -554
  183. data/lib/swarm_sdk.rb +0 -524
  184. /data/lib/swarm_memory/{errors.rb → error.rb} +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ebb25752a42e174408e197c5b24d94ebfbd2a57cfd5a26101e839f2375e54b8f
4
- data.tar.gz: 9558c9e19cfb486872d6cee1b445506e9c599f8d4a767670743f3a3f1481fb49
3
+ metadata.gz: 22c76149ad1d5f09a1115890edc3c200fe77648d37b458a7fb18034cb80d5166
4
+ data.tar.gz: c717862a0b9f719d667a998ce57fc1ea21283c6a185037e83a2d59c84d4b449b
5
5
  SHA512:
6
- metadata.gz: a5d16f99c9aeb5fca71dfed900a8e44337d2fa5a1ee58fbec71e25f6825091973c0ef849a9c28cd88eb3bfdac9a481bbe743de2fd034fe3f124c8ea0aa23c5f1
7
- data.tar.gz: b2ce4c330d45730c723a51786301d39dcc8c3b57eb19f65f6510b5b3027620d3ab214df201e8237b2b0e36f82c726b04e233cbb0266187aa7743446e1215b854
6
+ metadata.gz: e86ebabf14dceee6b9648d83d7973a2de79ba4cb6eab807acea10d6a8689f44db6c564f75e47e5950429529914ba6620096a809d41178b654119a9c2da5ffc96
7
+ data.tar.gz: 9fb28b2a1cdaf17a6120f906e732b9c12e8e9bf0d9766ac6a707832db8703c778e800a2f74278d1d942e15ae9c6f767157568ddfa3379c5f0156f59e24c7ed23
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SwarmMemory
4
- VERSION = "2.1.4"
4
+ VERSION = "2.1.6"
5
5
  end
data/lib/swarm_memory.rb CHANGED
@@ -21,8 +21,8 @@ rescue LoadError
21
21
  warn("Warning: informers gem not found. Semantic search will be unavailable. Run: gem install informers")
22
22
  end
23
23
 
24
- # Load errors and version first
25
- require_relative "swarm_memory/errors"
24
+ # Load error classes and version first (before Zeitwerk)
25
+ require_relative "swarm_memory/error"
26
26
  require_relative "swarm_memory/version"
27
27
 
28
28
  # Setup Zeitwerk loader
@@ -36,6 +36,11 @@ loader.inflector.inflect(
36
36
  "dsl" => "DSL",
37
37
  "sdk_plugin" => "SDKPlugin",
38
38
  )
39
+
40
+ # Ignore files that are manually loaded above
41
+ loader.ignore("#{__dir__}/swarm_memory/error.rb")
42
+ loader.ignore("#{__dir__}/swarm_memory/version.rb")
43
+
39
44
  loader.setup
40
45
 
41
46
  # Explicitly load DSL components and extensions to inject into SwarmSDK
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: swarm_memory
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.4
4
+ version: 2.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Paulo Arruda
@@ -57,28 +57,28 @@ dependencies:
57
57
  requirements:
58
58
  - - "~>"
59
59
  - !ruby/object:Gem::Version
60
- version: 1.9.2
60
+ version: 1.9.4
61
61
  type: :runtime
62
62
  prerelease: false
63
63
  version_requirements: !ruby/object:Gem::Requirement
64
64
  requirements:
65
65
  - - "~>"
66
66
  - !ruby/object:Gem::Version
67
- version: 1.9.2
67
+ version: 1.9.4
68
68
  - !ruby/object:Gem::Dependency
69
69
  name: swarm_sdk
70
70
  requirement: !ruby/object:Gem::Requirement
71
71
  requirements:
72
72
  - - "~>"
73
73
  - !ruby/object:Gem::Version
74
- version: '2.2'
74
+ version: 2.4.1
75
75
  type: :runtime
76
76
  prerelease: false
77
77
  version_requirements: !ruby/object:Gem::Requirement
78
78
  requirements:
79
79
  - - "~>"
80
80
  - !ruby/object:Gem::Version
81
- version: '2.2'
81
+ version: 2.4.1
82
82
  - !ruby/object:Gem::Dependency
83
83
  name: zeitwerk
84
84
  requirement: !ruby/object:Gem::Requirement
@@ -101,65 +101,6 @@ extensions: []
101
101
  extra_rdoc_files: []
102
102
  files:
103
103
  - LICENSE
104
- - lib/claude_swarm.rb
105
- - lib/claude_swarm/base_executor.rb
106
- - lib/claude_swarm/claude_code_executor.rb
107
- - lib/claude_swarm/claude_mcp_server.rb
108
- - lib/claude_swarm/cli.rb
109
- - lib/claude_swarm/commands/ps.rb
110
- - lib/claude_swarm/commands/show.rb
111
- - lib/claude_swarm/configuration.rb
112
- - lib/claude_swarm/hooks/session_start_hook.rb
113
- - lib/claude_swarm/json_handler.rb
114
- - lib/claude_swarm/mcp_generator.rb
115
- - lib/claude_swarm/openai/chat_completion.rb
116
- - lib/claude_swarm/openai/executor.rb
117
- - lib/claude_swarm/openai/responses.rb
118
- - lib/claude_swarm/orchestrator.rb
119
- - lib/claude_swarm/process_tracker.rb
120
- - lib/claude_swarm/session_cost_calculator.rb
121
- - lib/claude_swarm/session_path.rb
122
- - lib/claude_swarm/settings_generator.rb
123
- - lib/claude_swarm/system_utils.rb
124
- - lib/claude_swarm/templates/generation_prompt.md.erb
125
- - lib/claude_swarm/tools/reset_session_tool.rb
126
- - lib/claude_swarm/tools/session_info_tool.rb
127
- - lib/claude_swarm/tools/task_tool.rb
128
- - lib/claude_swarm/version.rb
129
- - lib/claude_swarm/worktree_manager.rb
130
- - lib/claude_swarm/yaml_loader.rb
131
- - lib/swarm_cli.rb
132
- - lib/swarm_cli/cli.rb
133
- - lib/swarm_cli/command_registry.rb
134
- - lib/swarm_cli/commands/mcp_serve.rb
135
- - lib/swarm_cli/commands/mcp_tools.rb
136
- - lib/swarm_cli/commands/migrate.rb
137
- - lib/swarm_cli/commands/run.rb
138
- - lib/swarm_cli/config_loader.rb
139
- - lib/swarm_cli/formatters/human_formatter.rb
140
- - lib/swarm_cli/formatters/json_formatter.rb
141
- - lib/swarm_cli/interactive_repl.rb
142
- - lib/swarm_cli/mcp_serve_options.rb
143
- - lib/swarm_cli/mcp_tools_options.rb
144
- - lib/swarm_cli/migrate_options.rb
145
- - lib/swarm_cli/migrator.rb
146
- - lib/swarm_cli/options.rb
147
- - lib/swarm_cli/ui/components/agent_badge.rb
148
- - lib/swarm_cli/ui/components/content_block.rb
149
- - lib/swarm_cli/ui/components/divider.rb
150
- - lib/swarm_cli/ui/components/panel.rb
151
- - lib/swarm_cli/ui/components/usage_stats.rb
152
- - lib/swarm_cli/ui/formatters/cost.rb
153
- - lib/swarm_cli/ui/formatters/number.rb
154
- - lib/swarm_cli/ui/formatters/text.rb
155
- - lib/swarm_cli/ui/formatters/time.rb
156
- - lib/swarm_cli/ui/icons.rb
157
- - lib/swarm_cli/ui/renderers/event_renderer.rb
158
- - lib/swarm_cli/ui/state/agent_color_cache.rb
159
- - lib/swarm_cli/ui/state/depth_tracker.rb
160
- - lib/swarm_cli/ui/state/spinner_manager.rb
161
- - lib/swarm_cli/ui/state/usage_tracker.rb
162
- - lib/swarm_cli/version.rb
163
104
  - lib/swarm_memory.rb
164
105
  - lib/swarm_memory/adapters/base.rb
165
106
  - lib/swarm_memory/adapters/filesystem_adapter.rb
@@ -175,7 +116,7 @@ files:
175
116
  - lib/swarm_memory/dsl/memory_config.rb
176
117
  - lib/swarm_memory/embeddings/embedder.rb
177
118
  - lib/swarm_memory/embeddings/informers_embedder.rb
178
- - lib/swarm_memory/errors.rb
119
+ - lib/swarm_memory/error.rb
179
120
  - lib/swarm_memory/integration/cli_registration.rb
180
121
  - lib/swarm_memory/integration/configuration.rb
181
122
  - lib/swarm_memory/integration/registration.rb
@@ -202,126 +143,6 @@ files:
202
143
  - lib/swarm_memory/tools/memory_write.rb
203
144
  - lib/swarm_memory/utils.rb
204
145
  - lib/swarm_memory/version.rb
205
- - lib/swarm_sdk.rb
206
- - lib/swarm_sdk/agent/RETRY_LOGIC.md
207
- - lib/swarm_sdk/agent/builder.rb
208
- - lib/swarm_sdk/agent/chat.rb
209
- - lib/swarm_sdk/agent/chat_helpers/context_tracker.rb
210
- - lib/swarm_sdk/agent/chat_helpers/event_emitter.rb
211
- - lib/swarm_sdk/agent/chat_helpers/hook_integration.rb
212
- - lib/swarm_sdk/agent/chat_helpers/instrumentation.rb
213
- - lib/swarm_sdk/agent/chat_helpers/llm_configuration.rb
214
- - lib/swarm_sdk/agent/chat_helpers/logging_helpers.rb
215
- - lib/swarm_sdk/agent/chat_helpers/serialization.rb
216
- - lib/swarm_sdk/agent/chat_helpers/system_reminder_injector.rb
217
- - lib/swarm_sdk/agent/chat_helpers/system_reminders.rb
218
- - lib/swarm_sdk/agent/chat_helpers/token_tracking.rb
219
- - lib/swarm_sdk/agent/context.rb
220
- - lib/swarm_sdk/agent/context_manager.rb
221
- - lib/swarm_sdk/agent/definition.rb
222
- - lib/swarm_sdk/agent/llm_instrumentation_middleware.rb
223
- - lib/swarm_sdk/agent/system_prompt_builder.rb
224
- - lib/swarm_sdk/builders/base_builder.rb
225
- - lib/swarm_sdk/claude_code_agent_adapter.rb
226
- - lib/swarm_sdk/concerns/cleanupable.rb
227
- - lib/swarm_sdk/concerns/snapshotable.rb
228
- - lib/swarm_sdk/concerns/validatable.rb
229
- - lib/swarm_sdk/configuration.rb
230
- - lib/swarm_sdk/configuration/parser.rb
231
- - lib/swarm_sdk/configuration/translator.rb
232
- - lib/swarm_sdk/context_compactor.rb
233
- - lib/swarm_sdk/context_compactor/metrics.rb
234
- - lib/swarm_sdk/context_compactor/token_counter.rb
235
- - lib/swarm_sdk/context_management/builder.rb
236
- - lib/swarm_sdk/context_management/context.rb
237
- - lib/swarm_sdk/defaults.rb
238
- - lib/swarm_sdk/events_to_messages.rb
239
- - lib/swarm_sdk/hooks/adapter.rb
240
- - lib/swarm_sdk/hooks/context.rb
241
- - lib/swarm_sdk/hooks/definition.rb
242
- - lib/swarm_sdk/hooks/error.rb
243
- - lib/swarm_sdk/hooks/executor.rb
244
- - lib/swarm_sdk/hooks/registry.rb
245
- - lib/swarm_sdk/hooks/result.rb
246
- - lib/swarm_sdk/hooks/shell_executor.rb
247
- - lib/swarm_sdk/hooks/tool_call.rb
248
- - lib/swarm_sdk/hooks/tool_result.rb
249
- - lib/swarm_sdk/log_collector.rb
250
- - lib/swarm_sdk/log_stream.rb
251
- - lib/swarm_sdk/markdown_parser.rb
252
- - lib/swarm_sdk/model_aliases.json
253
- - lib/swarm_sdk/models.json
254
- - lib/swarm_sdk/models.rb
255
- - lib/swarm_sdk/node_context.rb
256
- - lib/swarm_sdk/observer/builder.rb
257
- - lib/swarm_sdk/observer/config.rb
258
- - lib/swarm_sdk/observer/manager.rb
259
- - lib/swarm_sdk/patterns/agent_observer.rb
260
- - lib/swarm_sdk/permissions/config.rb
261
- - lib/swarm_sdk/permissions/error_formatter.rb
262
- - lib/swarm_sdk/permissions/path_matcher.rb
263
- - lib/swarm_sdk/permissions/validator.rb
264
- - lib/swarm_sdk/permissions_builder.rb
265
- - lib/swarm_sdk/plugin.rb
266
- - lib/swarm_sdk/plugin_registry.rb
267
- - lib/swarm_sdk/proc_helpers.rb
268
- - lib/swarm_sdk/prompts/base_system_prompt.md.erb
269
- - lib/swarm_sdk/restore_result.rb
270
- - lib/swarm_sdk/result.rb
271
- - lib/swarm_sdk/snapshot.rb
272
- - lib/swarm_sdk/snapshot_from_events.rb
273
- - lib/swarm_sdk/state_restorer.rb
274
- - lib/swarm_sdk/state_snapshot.rb
275
- - lib/swarm_sdk/swarm.rb
276
- - lib/swarm_sdk/swarm/agent_initializer.rb
277
- - lib/swarm_sdk/swarm/all_agents_builder.rb
278
- - lib/swarm_sdk/swarm/builder.rb
279
- - lib/swarm_sdk/swarm/executor.rb
280
- - lib/swarm_sdk/swarm/hook_triggers.rb
281
- - lib/swarm_sdk/swarm/logging_callbacks.rb
282
- - lib/swarm_sdk/swarm/mcp_configurator.rb
283
- - lib/swarm_sdk/swarm/swarm_registry_builder.rb
284
- - lib/swarm_sdk/swarm/tool_configurator.rb
285
- - lib/swarm_sdk/swarm_loader.rb
286
- - lib/swarm_sdk/swarm_registry.rb
287
- - lib/swarm_sdk/tools/bash.rb
288
- - lib/swarm_sdk/tools/clock.rb
289
- - lib/swarm_sdk/tools/delegate.rb
290
- - lib/swarm_sdk/tools/document_converters/base_converter.rb
291
- - lib/swarm_sdk/tools/document_converters/docx_converter.rb
292
- - lib/swarm_sdk/tools/document_converters/html_converter.rb
293
- - lib/swarm_sdk/tools/document_converters/pdf_converter.rb
294
- - lib/swarm_sdk/tools/document_converters/xlsx_converter.rb
295
- - lib/swarm_sdk/tools/edit.rb
296
- - lib/swarm_sdk/tools/glob.rb
297
- - lib/swarm_sdk/tools/grep.rb
298
- - lib/swarm_sdk/tools/image_extractors/docx_image_extractor.rb
299
- - lib/swarm_sdk/tools/image_extractors/pdf_image_extractor.rb
300
- - lib/swarm_sdk/tools/image_formats/tiff_builder.rb
301
- - lib/swarm_sdk/tools/multi_edit.rb
302
- - lib/swarm_sdk/tools/path_resolver.rb
303
- - lib/swarm_sdk/tools/read.rb
304
- - lib/swarm_sdk/tools/registry.rb
305
- - lib/swarm_sdk/tools/scratchpad/scratchpad_list.rb
306
- - lib/swarm_sdk/tools/scratchpad/scratchpad_read.rb
307
- - lib/swarm_sdk/tools/scratchpad/scratchpad_write.rb
308
- - lib/swarm_sdk/tools/stores/read_tracker.rb
309
- - lib/swarm_sdk/tools/stores/scratchpad_storage.rb
310
- - lib/swarm_sdk/tools/stores/storage.rb
311
- - lib/swarm_sdk/tools/stores/todo_manager.rb
312
- - lib/swarm_sdk/tools/think.rb
313
- - lib/swarm_sdk/tools/todo_write.rb
314
- - lib/swarm_sdk/tools/web_fetch.rb
315
- - lib/swarm_sdk/tools/write.rb
316
- - lib/swarm_sdk/utils.rb
317
- - lib/swarm_sdk/validation_result.rb
318
- - lib/swarm_sdk/version.rb
319
- - lib/swarm_sdk/workflow.rb
320
- - lib/swarm_sdk/workflow/agent_config.rb
321
- - lib/swarm_sdk/workflow/builder.rb
322
- - lib/swarm_sdk/workflow/executor.rb
323
- - lib/swarm_sdk/workflow/node_builder.rb
324
- - lib/swarm_sdk/workflow/transformer_executor.rb
325
146
  homepage: https://github.com/parruda/claude-swarm
326
147
  licenses:
327
148
  - MIT
@@ -1,133 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module ClaudeSwarm
4
- class BaseExecutor
5
- attr_reader :session_id, :last_response, :working_directory, :logger, :session_path, :session_json_path, :instance_info
6
-
7
- def initialize(working_directory: Dir.pwd, model: nil, mcp_config: nil, vibe: false,
8
- instance_name: nil, instance_id: nil, calling_instance: nil, calling_instance_id: nil,
9
- claude_session_id: nil, additional_directories: [], debug: false)
10
- @working_directory = working_directory
11
- @additional_directories = additional_directories
12
- @model = model
13
- @mcp_config = mcp_config
14
- @vibe = vibe
15
- @session_id = claude_session_id
16
- @last_response = nil
17
- @instance_name = instance_name
18
- @instance_id = instance_id
19
- @calling_instance = calling_instance
20
- @calling_instance_id = calling_instance_id
21
- @debug = debug
22
-
23
- # Setup static info strings for logging
24
- @instance_info = build_info(@instance_name, @instance_id)
25
- @caller_info = build_info(@calling_instance, @calling_instance_id)
26
- @caller_to_instance = "#{@caller_info} -> #{instance_info}:"
27
- @instance_to_caller = "#{instance_info} -> #{@caller_info}:"
28
-
29
- # Setup logging
30
- setup_logging
31
-
32
- # Setup static event templates
33
- setup_event_templates
34
- end
35
-
36
- def execute(_prompt, _options = {})
37
- raise NotImplementedError, "Subclasses must implement the execute method"
38
- end
39
-
40
- def reset_session
41
- @session_id = nil
42
- @last_response = nil
43
- end
44
-
45
- def has_session?
46
- !@session_id.nil?
47
- end
48
-
49
- protected
50
-
51
- def build_info(name, id)
52
- return name unless id
53
-
54
- "#{name} (#{id})"
55
- end
56
-
57
- def setup_logging
58
- # Use session path from environment (required)
59
- @session_path = SessionPath.from_env
60
- SessionPath.ensure_directory(@session_path)
61
-
62
- # Initialize session JSON path
63
- @session_json_path = File.join(@session_path, "session.log.json")
64
-
65
- # Create logger with session.log filename
66
- log_filename = "session.log"
67
- log_path = File.join(@session_path, log_filename)
68
- log_level = @debug ? :debug : :info
69
- @logger = Logger.new(log_path, level: log_level, progname: @instance_name)
70
-
71
- logger.info { "Started #{self.class.name} for instance: #{instance_info}" }
72
- end
73
-
74
- def setup_event_templates
75
- @log_request_event_template = {
76
- type: "request",
77
- from_instance: @calling_instance,
78
- from_instance_id: @calling_instance_id,
79
- to_instance: @instance_name,
80
- to_instance_id: @instance_id,
81
- }.freeze
82
-
83
- @session_json_entry_template = {
84
- instance: @instance_name,
85
- instance_id: @instance_id,
86
- calling_instance: @calling_instance,
87
- calling_instance_id: @calling_instance_id,
88
- }.freeze
89
- end
90
-
91
- def log_request(prompt)
92
- logger.info { "#{@caller_to_instance} \n---\n#{prompt}\n---" }
93
-
94
- # Merge dynamic data with static template
95
- event = @log_request_event_template.merge(
96
- prompt: prompt,
97
- timestamp: Time.now.iso8601,
98
- )
99
-
100
- append_to_session_json(event)
101
- end
102
-
103
- def log_response(response)
104
- logger.info do
105
- "($#{response["total_cost"]} - #{response["duration_ms"]}ms) #{@instance_to_caller} \n---\n#{response["result"]}\n---"
106
- end
107
- end
108
-
109
- def append_to_session_json(event)
110
- # Use file locking to ensure thread-safe writes
111
- File.open(@session_json_path, File::WRONLY | File::APPEND | File::CREAT) do |file|
112
- file.flock(File::LOCK_EX)
113
-
114
- # Merge dynamic data with static template
115
- entry = @session_json_entry_template.merge(
116
- timestamp: Time.now.iso8601,
117
- event: event,
118
- )
119
-
120
- # Write as single line JSON (JSONL format)
121
- file.puts(entry.to_json)
122
-
123
- file.flock(File::LOCK_UN)
124
- end
125
- rescue StandardError => e
126
- logger.error { "Failed to append to session JSON: #{e.message}" }
127
- raise
128
- end
129
-
130
- class ExecutionError < StandardError; end
131
- class ParseError < StandardError; end
132
- end
133
- end