swarm_memory 2.1.5 → 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.
- checksums.yaml +4 -4
- data/lib/swarm_memory/version.rb +1 -1
- metadata +5 -184
- data/lib/claude_swarm/base_executor.rb +0 -133
- data/lib/claude_swarm/claude_code_executor.rb +0 -349
- data/lib/claude_swarm/claude_mcp_server.rb +0 -78
- data/lib/claude_swarm/cli.rb +0 -697
- data/lib/claude_swarm/commands/ps.rb +0 -215
- data/lib/claude_swarm/commands/show.rb +0 -139
- data/lib/claude_swarm/configuration.rb +0 -373
- data/lib/claude_swarm/hooks/session_start_hook.rb +0 -42
- data/lib/claude_swarm/json_handler.rb +0 -91
- data/lib/claude_swarm/mcp_generator.rb +0 -230
- data/lib/claude_swarm/openai/chat_completion.rb +0 -256
- data/lib/claude_swarm/openai/executor.rb +0 -256
- data/lib/claude_swarm/openai/responses.rb +0 -319
- data/lib/claude_swarm/orchestrator.rb +0 -878
- data/lib/claude_swarm/process_tracker.rb +0 -78
- data/lib/claude_swarm/session_cost_calculator.rb +0 -209
- data/lib/claude_swarm/session_path.rb +0 -42
- data/lib/claude_swarm/settings_generator.rb +0 -77
- data/lib/claude_swarm/system_utils.rb +0 -46
- data/lib/claude_swarm/templates/generation_prompt.md.erb +0 -230
- data/lib/claude_swarm/tools/reset_session_tool.rb +0 -24
- data/lib/claude_swarm/tools/session_info_tool.rb +0 -24
- data/lib/claude_swarm/tools/task_tool.rb +0 -63
- data/lib/claude_swarm/version.rb +0 -5
- data/lib/claude_swarm/worktree_manager.rb +0 -475
- data/lib/claude_swarm/yaml_loader.rb +0 -22
- data/lib/claude_swarm.rb +0 -67
- data/lib/swarm_cli/cli.rb +0 -201
- data/lib/swarm_cli/command_registry.rb +0 -61
- data/lib/swarm_cli/commands/mcp_serve.rb +0 -130
- data/lib/swarm_cli/commands/mcp_tools.rb +0 -148
- data/lib/swarm_cli/commands/migrate.rb +0 -55
- data/lib/swarm_cli/commands/run.rb +0 -173
- data/lib/swarm_cli/config_loader.rb +0 -98
- data/lib/swarm_cli/formatters/human_formatter.rb +0 -781
- data/lib/swarm_cli/formatters/json_formatter.rb +0 -51
- data/lib/swarm_cli/interactive_repl.rb +0 -924
- data/lib/swarm_cli/mcp_serve_options.rb +0 -44
- data/lib/swarm_cli/mcp_tools_options.rb +0 -59
- data/lib/swarm_cli/migrate_options.rb +0 -54
- data/lib/swarm_cli/migrator.rb +0 -132
- data/lib/swarm_cli/options.rb +0 -151
- data/lib/swarm_cli/ui/components/agent_badge.rb +0 -33
- data/lib/swarm_cli/ui/components/content_block.rb +0 -120
- data/lib/swarm_cli/ui/components/divider.rb +0 -57
- data/lib/swarm_cli/ui/components/panel.rb +0 -62
- data/lib/swarm_cli/ui/components/usage_stats.rb +0 -70
- data/lib/swarm_cli/ui/formatters/cost.rb +0 -49
- data/lib/swarm_cli/ui/formatters/number.rb +0 -58
- data/lib/swarm_cli/ui/formatters/text.rb +0 -77
- data/lib/swarm_cli/ui/formatters/time.rb +0 -73
- data/lib/swarm_cli/ui/icons.rb +0 -36
- data/lib/swarm_cli/ui/renderers/event_renderer.rb +0 -188
- data/lib/swarm_cli/ui/state/agent_color_cache.rb +0 -45
- data/lib/swarm_cli/ui/state/depth_tracker.rb +0 -40
- data/lib/swarm_cli/ui/state/spinner_manager.rb +0 -170
- data/lib/swarm_cli/ui/state/usage_tracker.rb +0 -62
- data/lib/swarm_cli/version.rb +0 -5
- data/lib/swarm_cli.rb +0 -46
- data/lib/swarm_sdk/agent/RETRY_LOGIC.md +0 -127
- data/lib/swarm_sdk/agent/builder.rb +0 -552
- data/lib/swarm_sdk/agent/chat.rb +0 -774
- data/lib/swarm_sdk/agent/chat_helpers/context_tracker.rb +0 -268
- data/lib/swarm_sdk/agent/chat_helpers/event_emitter.rb +0 -204
- data/lib/swarm_sdk/agent/chat_helpers/hook_integration.rb +0 -480
- data/lib/swarm_sdk/agent/chat_helpers/instrumentation.rb +0 -78
- data/lib/swarm_sdk/agent/chat_helpers/llm_configuration.rb +0 -233
- data/lib/swarm_sdk/agent/chat_helpers/logging_helpers.rb +0 -116
- data/lib/swarm_sdk/agent/chat_helpers/serialization.rb +0 -83
- data/lib/swarm_sdk/agent/chat_helpers/system_reminder_injector.rb +0 -136
- data/lib/swarm_sdk/agent/chat_helpers/system_reminders.rb +0 -79
- data/lib/swarm_sdk/agent/chat_helpers/token_tracking.rb +0 -98
- data/lib/swarm_sdk/agent/context.rb +0 -116
- data/lib/swarm_sdk/agent/context_manager.rb +0 -315
- data/lib/swarm_sdk/agent/definition.rb +0 -477
- data/lib/swarm_sdk/agent/llm_instrumentation_middleware.rb +0 -182
- data/lib/swarm_sdk/agent/system_prompt_builder.rb +0 -161
- data/lib/swarm_sdk/builders/base_builder.rb +0 -409
- data/lib/swarm_sdk/claude_code_agent_adapter.rb +0 -205
- data/lib/swarm_sdk/concerns/cleanupable.rb +0 -39
- data/lib/swarm_sdk/concerns/snapshotable.rb +0 -67
- data/lib/swarm_sdk/concerns/validatable.rb +0 -55
- data/lib/swarm_sdk/configuration/parser.rb +0 -353
- data/lib/swarm_sdk/configuration/translator.rb +0 -255
- data/lib/swarm_sdk/configuration.rb +0 -135
- data/lib/swarm_sdk/context_compactor/metrics.rb +0 -147
- data/lib/swarm_sdk/context_compactor/token_counter.rb +0 -106
- data/lib/swarm_sdk/context_compactor.rb +0 -335
- data/lib/swarm_sdk/context_management/builder.rb +0 -128
- data/lib/swarm_sdk/context_management/context.rb +0 -328
- data/lib/swarm_sdk/defaults.rb +0 -196
- data/lib/swarm_sdk/events_to_messages.rb +0 -199
- data/lib/swarm_sdk/hooks/adapter.rb +0 -359
- data/lib/swarm_sdk/hooks/context.rb +0 -197
- data/lib/swarm_sdk/hooks/definition.rb +0 -80
- data/lib/swarm_sdk/hooks/error.rb +0 -29
- data/lib/swarm_sdk/hooks/executor.rb +0 -146
- data/lib/swarm_sdk/hooks/registry.rb +0 -147
- data/lib/swarm_sdk/hooks/result.rb +0 -150
- data/lib/swarm_sdk/hooks/shell_executor.rb +0 -255
- data/lib/swarm_sdk/hooks/tool_call.rb +0 -35
- data/lib/swarm_sdk/hooks/tool_result.rb +0 -62
- data/lib/swarm_sdk/log_collector.rb +0 -227
- data/lib/swarm_sdk/log_stream.rb +0 -127
- data/lib/swarm_sdk/markdown_parser.rb +0 -75
- data/lib/swarm_sdk/model_aliases.json +0 -8
- data/lib/swarm_sdk/models.json +0 -1
- data/lib/swarm_sdk/models.rb +0 -120
- data/lib/swarm_sdk/node_context.rb +0 -245
- data/lib/swarm_sdk/observer/builder.rb +0 -81
- data/lib/swarm_sdk/observer/config.rb +0 -45
- data/lib/swarm_sdk/observer/manager.rb +0 -236
- data/lib/swarm_sdk/patterns/agent_observer.rb +0 -160
- data/lib/swarm_sdk/permissions/config.rb +0 -239
- data/lib/swarm_sdk/permissions/error_formatter.rb +0 -121
- data/lib/swarm_sdk/permissions/path_matcher.rb +0 -35
- data/lib/swarm_sdk/permissions/validator.rb +0 -173
- data/lib/swarm_sdk/permissions_builder.rb +0 -122
- data/lib/swarm_sdk/plugin.rb +0 -309
- data/lib/swarm_sdk/plugin_registry.rb +0 -101
- data/lib/swarm_sdk/proc_helpers.rb +0 -53
- data/lib/swarm_sdk/prompts/base_system_prompt.md.erb +0 -117
- data/lib/swarm_sdk/restore_result.rb +0 -65
- data/lib/swarm_sdk/result.rb +0 -123
- data/lib/swarm_sdk/snapshot.rb +0 -156
- data/lib/swarm_sdk/snapshot_from_events.rb +0 -397
- data/lib/swarm_sdk/state_restorer.rb +0 -476
- data/lib/swarm_sdk/state_snapshot.rb +0 -334
- data/lib/swarm_sdk/swarm/agent_initializer.rb +0 -683
- data/lib/swarm_sdk/swarm/all_agents_builder.rb +0 -167
- data/lib/swarm_sdk/swarm/builder.rb +0 -249
- data/lib/swarm_sdk/swarm/executor.rb +0 -213
- data/lib/swarm_sdk/swarm/hook_triggers.rb +0 -150
- data/lib/swarm_sdk/swarm/logging_callbacks.rb +0 -340
- data/lib/swarm_sdk/swarm/mcp_configurator.rb +0 -154
- data/lib/swarm_sdk/swarm/swarm_registry_builder.rb +0 -67
- data/lib/swarm_sdk/swarm/tool_configurator.rb +0 -358
- data/lib/swarm_sdk/swarm.rb +0 -717
- data/lib/swarm_sdk/swarm_loader.rb +0 -145
- data/lib/swarm_sdk/swarm_registry.rb +0 -136
- data/lib/swarm_sdk/tools/bash.rb +0 -282
- data/lib/swarm_sdk/tools/clock.rb +0 -44
- data/lib/swarm_sdk/tools/delegate.rb +0 -267
- data/lib/swarm_sdk/tools/document_converters/base_converter.rb +0 -83
- data/lib/swarm_sdk/tools/document_converters/docx_converter.rb +0 -99
- data/lib/swarm_sdk/tools/document_converters/html_converter.rb +0 -101
- data/lib/swarm_sdk/tools/document_converters/pdf_converter.rb +0 -78
- data/lib/swarm_sdk/tools/document_converters/xlsx_converter.rb +0 -194
- data/lib/swarm_sdk/tools/edit.rb +0 -145
- data/lib/swarm_sdk/tools/glob.rb +0 -166
- data/lib/swarm_sdk/tools/grep.rb +0 -235
- data/lib/swarm_sdk/tools/image_extractors/docx_image_extractor.rb +0 -43
- data/lib/swarm_sdk/tools/image_extractors/pdf_image_extractor.rb +0 -163
- data/lib/swarm_sdk/tools/image_formats/tiff_builder.rb +0 -65
- data/lib/swarm_sdk/tools/multi_edit.rb +0 -236
- data/lib/swarm_sdk/tools/path_resolver.rb +0 -92
- data/lib/swarm_sdk/tools/read.rb +0 -261
- data/lib/swarm_sdk/tools/registry.rb +0 -205
- data/lib/swarm_sdk/tools/scratchpad/scratchpad_list.rb +0 -117
- data/lib/swarm_sdk/tools/scratchpad/scratchpad_read.rb +0 -97
- data/lib/swarm_sdk/tools/scratchpad/scratchpad_write.rb +0 -108
- data/lib/swarm_sdk/tools/stores/read_tracker.rb +0 -96
- data/lib/swarm_sdk/tools/stores/scratchpad_storage.rb +0 -272
- data/lib/swarm_sdk/tools/stores/storage.rb +0 -142
- data/lib/swarm_sdk/tools/stores/todo_manager.rb +0 -65
- data/lib/swarm_sdk/tools/think.rb +0 -98
- data/lib/swarm_sdk/tools/todo_write.rb +0 -235
- data/lib/swarm_sdk/tools/web_fetch.rb +0 -262
- data/lib/swarm_sdk/tools/write.rb +0 -112
- data/lib/swarm_sdk/utils.rb +0 -68
- data/lib/swarm_sdk/validation_result.rb +0 -33
- data/lib/swarm_sdk/version.rb +0 -5
- data/lib/swarm_sdk/workflow/agent_config.rb +0 -79
- data/lib/swarm_sdk/workflow/builder.rb +0 -143
- data/lib/swarm_sdk/workflow/executor.rb +0 -497
- data/lib/swarm_sdk/workflow/node_builder.rb +0 -555
- data/lib/swarm_sdk/workflow/transformer_executor.rb +0 -249
- data/lib/swarm_sdk/workflow.rb +0 -554
- data/lib/swarm_sdk.rb +0 -524
|
@@ -1,249 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require "open3"
|
|
4
|
-
require "json"
|
|
5
|
-
require "timeout"
|
|
6
|
-
|
|
7
|
-
module SwarmSDK
|
|
8
|
-
class Workflow
|
|
9
|
-
# Executes bash command transformers for node input/output transformation
|
|
10
|
-
#
|
|
11
|
-
# Transformers are shell commands that receive NodeContext data on STDIN as JSON
|
|
12
|
-
# and produce transformed content on STDOUT.
|
|
13
|
-
#
|
|
14
|
-
# ## Exit Code Behavior
|
|
15
|
-
#
|
|
16
|
-
# - **Exit 0**: Transform success
|
|
17
|
-
# - Use STDOUT as the transformed content
|
|
18
|
-
# - Node execution proceeds with transformed content
|
|
19
|
-
#
|
|
20
|
-
# - **Exit 1**: Skip node execution (pass-through)
|
|
21
|
-
# - STDOUT is IGNORED
|
|
22
|
-
# - Input transformer: Use current_input unchanged (no transformation)
|
|
23
|
-
# - Output transformer: Use result.content unchanged (no transformation)
|
|
24
|
-
# - For input transformer: Also skips the node's LLM execution
|
|
25
|
-
#
|
|
26
|
-
# - **Exit 2**: Halt entire workflow
|
|
27
|
-
# - STDOUT is IGNORED
|
|
28
|
-
# - STDERR is shown as error message
|
|
29
|
-
# - Workflow stops immediately with error
|
|
30
|
-
#
|
|
31
|
-
# ## JSON Input Format (STDIN)
|
|
32
|
-
#
|
|
33
|
-
# **Input transformer receives:**
|
|
34
|
-
# ```json
|
|
35
|
-
# {
|
|
36
|
-
# "event": "input",
|
|
37
|
-
# "node": "implementation",
|
|
38
|
-
# "original_prompt": "Build auth API",
|
|
39
|
-
# "content": "PLAN: Create endpoints...",
|
|
40
|
-
# "all_results": {
|
|
41
|
-
# "planning": {
|
|
42
|
-
# "content": "Create endpoints...",
|
|
43
|
-
# "agent": "planner",
|
|
44
|
-
# "duration": 2.5,
|
|
45
|
-
# "success": true
|
|
46
|
-
# }
|
|
47
|
-
# },
|
|
48
|
-
# "dependencies": ["planning"]
|
|
49
|
-
# }
|
|
50
|
-
# ```
|
|
51
|
-
#
|
|
52
|
-
# **Output transformer receives:**
|
|
53
|
-
# ```json
|
|
54
|
-
# {
|
|
55
|
-
# "event": "output",
|
|
56
|
-
# "node": "implementation",
|
|
57
|
-
# "original_prompt": "Build auth API",
|
|
58
|
-
# "content": "Implementation complete",
|
|
59
|
-
# "all_results": {
|
|
60
|
-
# "planning": {...},
|
|
61
|
-
# "implementation": {...}
|
|
62
|
-
# }
|
|
63
|
-
# }
|
|
64
|
-
# ```
|
|
65
|
-
#
|
|
66
|
-
# @example Input transformer that validates
|
|
67
|
-
# # validate.sh
|
|
68
|
-
# #!/bin/bash
|
|
69
|
-
# INPUT=$(cat)
|
|
70
|
-
# CONTENT=$(echo "$INPUT" | jq -r '.content')
|
|
71
|
-
#
|
|
72
|
-
# if [ ${#CONTENT} -gt 10000 ]; then
|
|
73
|
-
# echo "Content too long" >&2
|
|
74
|
-
# exit 2 # Halt workflow
|
|
75
|
-
# fi
|
|
76
|
-
#
|
|
77
|
-
# echo "$CONTENT"
|
|
78
|
-
# exit 0
|
|
79
|
-
#
|
|
80
|
-
# @example Input transformer that caches (skip execution)
|
|
81
|
-
# # cache_check.sh
|
|
82
|
-
# #!/bin/bash
|
|
83
|
-
# INPUT=$(cat)
|
|
84
|
-
# CONTENT=$(echo "$INPUT" | jq -r '.content')
|
|
85
|
-
#
|
|
86
|
-
# if cached "$CONTENT"; then
|
|
87
|
-
# exit 1 # Skip node execution, pass through unchanged
|
|
88
|
-
# fi
|
|
89
|
-
#
|
|
90
|
-
# echo "$CONTENT"
|
|
91
|
-
# exit 0
|
|
92
|
-
class TransformerExecutor
|
|
93
|
-
# Backward compatibility alias - use Defaults module for new code
|
|
94
|
-
DEFAULT_TIMEOUT = Defaults::Timeouts::TRANSFORMER_COMMAND_SECONDS
|
|
95
|
-
|
|
96
|
-
# Result object for transformer execution
|
|
97
|
-
TransformerResult = Struct.new(:success, :content, :skip_execution, :halt, :error_message, keyword_init: true) do
|
|
98
|
-
def skip_execution?
|
|
99
|
-
skip_execution
|
|
100
|
-
end
|
|
101
|
-
|
|
102
|
-
def halt?
|
|
103
|
-
halt
|
|
104
|
-
end
|
|
105
|
-
end
|
|
106
|
-
|
|
107
|
-
class << self
|
|
108
|
-
# Execute a transformer shell command
|
|
109
|
-
#
|
|
110
|
-
# @param command [String] Shell command to execute
|
|
111
|
-
# @param context [NodeContext] Node context for building JSON input
|
|
112
|
-
# @param event [String] Event type ("input" or "output")
|
|
113
|
-
# @param node_name [Symbol] Current node name
|
|
114
|
-
# @param fallback_content [String] Content to use if skip (exit 1)
|
|
115
|
-
# @param timeout [Integer] Timeout in seconds (default: 60)
|
|
116
|
-
# @return [TransformerResult] Result with transformed content or skip/halt flags
|
|
117
|
-
def execute(command:, context:, event:, node_name:, fallback_content:, timeout: DEFAULT_TIMEOUT)
|
|
118
|
-
# Build JSON input for transformer
|
|
119
|
-
input_json = build_transformer_input(context, event, node_name)
|
|
120
|
-
|
|
121
|
-
# Build environment variables
|
|
122
|
-
env = build_environment(node_name: node_name)
|
|
123
|
-
|
|
124
|
-
# Execute command with JSON stdin and timeout
|
|
125
|
-
stdout, stderr, status = Timeout.timeout(timeout) do
|
|
126
|
-
Open3.capture3(
|
|
127
|
-
env,
|
|
128
|
-
command,
|
|
129
|
-
stdin_data: JSON.generate(input_json),
|
|
130
|
-
)
|
|
131
|
-
end
|
|
132
|
-
|
|
133
|
-
# Handle exit code
|
|
134
|
-
# Exit 0: Transform success, use STDOUT
|
|
135
|
-
# Exit 1: Skip node execution, use fallback_content (IGNORE STDOUT)
|
|
136
|
-
# Exit 2: Halt workflow with error (IGNORE STDOUT)
|
|
137
|
-
case status.exitstatus
|
|
138
|
-
when 0
|
|
139
|
-
# Success: use STDOUT as transformed content (strip trailing newline)
|
|
140
|
-
TransformerResult.new(
|
|
141
|
-
success: true,
|
|
142
|
-
content: stdout.chomp, # Remove trailing newline from echo
|
|
143
|
-
skip_execution: false,
|
|
144
|
-
halt: false,
|
|
145
|
-
error_message: nil,
|
|
146
|
-
)
|
|
147
|
-
when 1
|
|
148
|
-
# Skip node execution: use fallback_content unchanged (IGNORE STDOUT)
|
|
149
|
-
# For input transformer: skip_execution = true (skip LLM call)
|
|
150
|
-
# For output transformer: skip_execution = false (just pass through)
|
|
151
|
-
TransformerResult.new(
|
|
152
|
-
success: true,
|
|
153
|
-
content: fallback_content,
|
|
154
|
-
skip_execution: (event == "input"), # Only skip LLM for input transformers
|
|
155
|
-
halt: false,
|
|
156
|
-
error_message: nil,
|
|
157
|
-
)
|
|
158
|
-
when 2
|
|
159
|
-
# Halt workflow: return error (IGNORE STDOUT)
|
|
160
|
-
error_msg = stderr.strip.empty? ? "Transformer halted workflow (exit 2)" : stderr.strip
|
|
161
|
-
TransformerResult.new(
|
|
162
|
-
success: false,
|
|
163
|
-
content: nil,
|
|
164
|
-
skip_execution: false,
|
|
165
|
-
halt: true,
|
|
166
|
-
error_message: error_msg,
|
|
167
|
-
)
|
|
168
|
-
else
|
|
169
|
-
# Unknown exit code: treat as error (halt)
|
|
170
|
-
error_msg = "Transformer exited with code #{status.exitstatus}\nSTDERR: #{stderr}"
|
|
171
|
-
TransformerResult.new(
|
|
172
|
-
success: false,
|
|
173
|
-
content: nil,
|
|
174
|
-
skip_execution: false,
|
|
175
|
-
halt: true,
|
|
176
|
-
error_message: error_msg,
|
|
177
|
-
)
|
|
178
|
-
end
|
|
179
|
-
rescue Timeout::Error
|
|
180
|
-
# Timeout: halt workflow
|
|
181
|
-
TransformerResult.new(
|
|
182
|
-
success: false,
|
|
183
|
-
content: nil,
|
|
184
|
-
skip_execution: false,
|
|
185
|
-
halt: true,
|
|
186
|
-
error_message: "Transformer command timed out after #{timeout}s",
|
|
187
|
-
)
|
|
188
|
-
rescue StandardError => e
|
|
189
|
-
# Execution error: halt workflow
|
|
190
|
-
TransformerResult.new(
|
|
191
|
-
success: false,
|
|
192
|
-
content: nil,
|
|
193
|
-
skip_execution: false,
|
|
194
|
-
halt: true,
|
|
195
|
-
error_message: "Transformer command failed: #{e.message}",
|
|
196
|
-
)
|
|
197
|
-
end
|
|
198
|
-
|
|
199
|
-
private
|
|
200
|
-
|
|
201
|
-
# Build JSON input for transformer command
|
|
202
|
-
#
|
|
203
|
-
# @param context [NodeContext] Node context
|
|
204
|
-
# @param event [String] Event type ("input" or "output")
|
|
205
|
-
# @param node_name [Symbol] Node name
|
|
206
|
-
# @return [Hash] JSON data to pass on stdin
|
|
207
|
-
def build_transformer_input(context, event, node_name)
|
|
208
|
-
base = {
|
|
209
|
-
event: event,
|
|
210
|
-
node: node_name.to_s,
|
|
211
|
-
original_prompt: context.original_prompt,
|
|
212
|
-
content: context.content,
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
# Add all_results (convert Result objects to hashes)
|
|
216
|
-
if context.all_results && !context.all_results.empty?
|
|
217
|
-
base[:all_results] = context.all_results.transform_values do |result|
|
|
218
|
-
{
|
|
219
|
-
content: result.content,
|
|
220
|
-
agent: result.agent,
|
|
221
|
-
duration: result.duration,
|
|
222
|
-
success: result.success?,
|
|
223
|
-
}
|
|
224
|
-
end
|
|
225
|
-
end
|
|
226
|
-
|
|
227
|
-
# Add dependencies for input transformers
|
|
228
|
-
if event == "input" && context.dependencies
|
|
229
|
-
base[:dependencies] = context.dependencies.map(&:to_s)
|
|
230
|
-
end
|
|
231
|
-
|
|
232
|
-
base
|
|
233
|
-
end
|
|
234
|
-
|
|
235
|
-
# Build environment variables for transformer execution
|
|
236
|
-
#
|
|
237
|
-
# @param node_name [Symbol] Current node name
|
|
238
|
-
# @return [Hash] Environment variables
|
|
239
|
-
def build_environment(node_name:)
|
|
240
|
-
{
|
|
241
|
-
"SWARM_SDK_PROJECT_DIR" => Dir.pwd,
|
|
242
|
-
"SWARM_SDK_NODE_NAME" => node_name.to_s,
|
|
243
|
-
"PATH" => ENV.fetch("PATH", ""),
|
|
244
|
-
}
|
|
245
|
-
end
|
|
246
|
-
end
|
|
247
|
-
end
|
|
248
|
-
end
|
|
249
|
-
end
|