@pixelml/claw 3.3.1 → 3.3.2

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.
@@ -0,0 +1,350 @@
1
+ # AgenticFlow Workflow Design Guide
2
+
3
+ ## Core Design Principles
4
+
5
+ ### Progressive Disclosure Approach
6
+ Design workflows with clear phases: data collection → processing → distribution. Each phase should build on the previous one.
7
+
8
+ ### Template Variable Syntax
9
+ Use `{{node_name.field}}` syntax for data flow between nodes:
10
+ ```javascript
11
+ {{node_name.response}} // API call response
12
+ {{node_name.content}} // LLM output
13
+ {{node_name.output}} // MCP action output
14
+ {{input_parameter_name}} // Input parameters
15
+ {{__app_connections__['uuid']}} // MCP connections
16
+ ```
17
+
18
+ ## Hybrid Workflow Patterns
19
+
20
+ ### Pattern 1: Data Collection + AI Processing + Multi-Channel Distribution
21
+ ```javascript
22
+ {
23
+ "name": "crm_enrichment_workflow",
24
+ "nodes": [
25
+ // Collect data from multiple sources
26
+ {
27
+ "name": "get_crm_data",
28
+ "node_type_name": "mcp_run_action",
29
+ "input_config": {
30
+ "action": "HUBSPOT-GET-CONTACTS",
31
+ "input_params": {
32
+ "instruction": "Get all contacts created in last 7 days with their engagement scores"
33
+ }
34
+ }
35
+ },
36
+ // AI Analysis
37
+ {
38
+ "name": "analyze_contacts",
39
+ "node_type_name": "llm",
40
+ "input_config": {
41
+ "model": "DeepSeek V3",
42
+ "human_message": "Analyze these contacts and segment them: {{get_crm_data.output}}"
43
+ }
44
+ },
45
+ // Multi-channel outreach
46
+ {
47
+ "name": "email_campaign",
48
+ "node_type_name": "mcp_run_action",
49
+ "input_config": {
50
+ "action": "SENDGRID-SEND-BULK-EMAIL",
51
+ "input_params": {
52
+ "instruction": "Send personalized emails based on segmentation: {{analyze_contacts.content}}"
53
+ }
54
+ }
55
+ }
56
+ ]
57
+ }
58
+ ```
59
+
60
+ ### Pattern 2: Web Scraping + External Service Integration
61
+ ```javascript
62
+ {
63
+ "name": "competitor_analysis_workflow",
64
+ "nodes": [
65
+ {
66
+ "name": "scrape_competitor",
67
+ "node_type_name": "web_scraping",
68
+ "input_config": {
69
+ "web_url": "{{competitor_url}}",
70
+ "max_tokens": 10000
71
+ }
72
+ },
73
+ {
74
+ "name": "analyze_data",
75
+ "node_type_name": "llm",
76
+ "input_config": {
77
+ "model": "DeepSeek V3",
78
+ "human_message": "Extract pricing and features: {{scrape_competitor.scraped_content}}"
79
+ }
80
+ },
81
+ {
82
+ "name": "update_sheet",
83
+ "node_type_name": "mcp_run_action",
84
+ "input_config": {
85
+ "action": "GOOGLE_SHEETS-UPDATE-RANGE",
86
+ "input_params": {
87
+ "instruction": "Update competitor analysis sheet with: {{analyze_data.content}}"
88
+ }
89
+ }
90
+ }
91
+ ]
92
+ }
93
+ ```
94
+
95
+ ### Pattern 3: Content Creation + Multi-Platform Distribution
96
+ ```javascript
97
+ {
98
+ "name": "content_syndication_workflow",
99
+ "nodes": [
100
+ {
101
+ "name": "generate_content",
102
+ "node_type_name": "llm",
103
+ "input_config": {
104
+ "model": "Claude 3.5 Sonnet",
105
+ "human_message": "Create engaging social media post about: {{topic}}"
106
+ }
107
+ },
108
+ {
109
+ "name": "create_image",
110
+ "node_type_name": "generate_image",
111
+ "input_config": {
112
+ "prompt": "Create an image for social media post: {{generate_content.content}}"
113
+ }
114
+ },
115
+ {
116
+ "name": "post_to_linkedin",
117
+ "node_type_name": "mcp_run_action",
118
+ "input_config": {
119
+ "action": "LINKEDIN-CREATE-POST",
120
+ "input_params": {
121
+ "instruction": "Post this content with image: {{generate_content.content}} and {{create_image.image_url}}"
122
+ }
123
+ }
124
+ },
125
+ {
126
+ "name": "post_to_twitter",
127
+ "node_type_name": "mcp_run_action",
128
+ "input_config": {
129
+ "action": "TWITTER-CREATE-TWEET",
130
+ "input_params": {
131
+ "instruction": "Tweet this content: {{generate_content.content}}"
132
+ }
133
+ }
134
+ }
135
+ ]
136
+ }
137
+ ```
138
+
139
+ ## Parallel Processing Patterns
140
+
141
+ ### Efficient Parallel Execution
142
+ For workflows that can process multiple items simultaneously:
143
+ ```javascript
144
+ {
145
+ "name": "bulk_research_workflow",
146
+ "nodes": [
147
+ {
148
+ "name": "get_competitors",
149
+ "node_type_name": "llm",
150
+ "input_config": {
151
+ "human_message": "List top 5 competitors in {{industry}}"
152
+ }
153
+ },
154
+ // Research branches execute in parallel
155
+ {
156
+ "name": "research_competitor_1",
157
+ "node_type_name": "web_scraping",
158
+ "input_config": {
159
+ "web_url": "{{get_competitors.competitors[0]}}"
160
+ },
161
+ "prevNodeName": null
162
+ },
163
+ {
164
+ "name": "research_competitor_2",
165
+ "node_type_name": "web_scraping",
166
+ "input_config": {
167
+ "web_url": "{{get_competitors.competitors[1]}}"
168
+ },
169
+ "prevNodeName": null
170
+ },
171
+ {
172
+ "name": "research_competitor_3",
173
+ "node_type_name": "web_scraping",
174
+ "input_config": {
175
+ "web_url": "{{get_competitors.competitors[2]}}"
176
+ },
177
+ "prevNodeName": null
178
+ },
179
+ // Final aggregation waits for all research
180
+ {
181
+ "name": "compile_analysis",
182
+ "node_type_name": "llm",
183
+ "input_config": {
184
+ "human_message": "Analyze and compare these competitor research results: {{research_competitor_1.scraped_content}}, {{research_competitor_2.scraped_content}}, {{research_competitor_3.scraped_content}}"
185
+ },
186
+ "prevNodeName": "research_competitor_3"
187
+ }
188
+ ]
189
+ }
190
+ ```
191
+
192
+ ## Error Handling Patterns
193
+
194
+ ### Robust Workflow Design
195
+ Always include error handling for critical operations:
196
+ ```javascript
197
+ {
198
+ "name": "robust_email_workflow",
199
+ "nodes": [
200
+ {
201
+ "name": "get_email_list",
202
+ "node_type_name": "mcp_run_action",
203
+ "input_config": {
204
+ "action": "GOOGLE_SHEETS-GET-RANGE",
205
+ "input_params": {
206
+ "instruction": "Get email addresses from sheet"
207
+ }
208
+ }
209
+ },
210
+ {
211
+ "name": "validate_emails",
212
+ "node_type_name": "llm",
213
+ "input_config": {
214
+ "model": "DeepSeek V3",
215
+ "human_message": "Validate these email addresses and remove invalid ones: {{get_email_list.output}}"
216
+ }
217
+ },
218
+ {
219
+ "name": "send_emails",
220
+ "node_type_name": "mcp_run_action",
221
+ "input_config": {
222
+ "action": "SENDGRID-SEND-BULK-EMAIL",
223
+ "input_params": {
224
+ "instruction": "Send emails to validated addresses: {{validate_emails.content}}"
225
+ }
226
+ }
227
+ },
228
+ {
229
+ "name": "log_results",
230
+ "node_type_name": "mcp_run_action",
231
+ "input_config": {
232
+ "action": "GOOGLE_SHEETS-APPEND-ROW",
233
+ "input_params": {
234
+ "instruction": "Log email campaign results: {{send_emails.output}}"
235
+ }
236
+ }
237
+ }
238
+ ]
239
+ }
240
+ ```
241
+
242
+ ## Input Schema Design
243
+
244
+ ### Professional User Interfaces
245
+ Design input schemas with proper UI metadata:
246
+ ```javascript
247
+ {
248
+ "input_schema": {
249
+ "topic": {
250
+ "type": "string",
251
+ "title": "Content Topic",
252
+ "description": "What should the content be about?",
253
+ "ui_metadata": {
254
+ "type": "short_text",
255
+ "order": 0,
256
+ "placeholder": "e.g., AI trends in marketing"
257
+ }
258
+ },
259
+ "platforms": {
260
+ "type": "array",
261
+ "items": {"type": "string"},
262
+ "title": "Target Platforms",
263
+ "description": "Where should this be posted?",
264
+ "ui_metadata": {
265
+ "type": "multi_select",
266
+ "options": ["LinkedIn", "Twitter", "Facebook", "Instagram"],
267
+ "value": ["LinkedIn"],
268
+ "order": 1
269
+ }
270
+ },
271
+ "tone": {
272
+ "type": "string",
273
+ "title": "Content Tone",
274
+ "description": "What tone should the content have?",
275
+ "ui_metadata": {
276
+ "type": "dropdown",
277
+ "options": ["Professional", "Casual", "Humorous", "Inspirational"],
278
+ "value": "Professional",
279
+ "order": 2
280
+ }
281
+ }
282
+ }
283
+ }
284
+ ```
285
+
286
+ ## Best Practices
287
+
288
+ ### Performance Optimization
289
+ 1. **Use Parallel Processing**: Execute independent nodes simultaneously
290
+ 2. **Cache Results**: Store frequently used data in intermediate nodes
291
+ 3. **Batch Operations**: Group similar operations together
292
+ 4. **Use Efficient Models**: Choose appropriate LLM models (DeepSeek V3 for simple tasks, Claude 3.5 for complex ones)
293
+
294
+ ### Maintainability
295
+ 1. **Descriptive Node Names**: Use clear, action-oriented names
296
+ 2. **Consistent Data Flow**: Follow predictable patterns
297
+ 3. **Documentation**: Include comments for complex logic
298
+ 4. **Modular Design**: Break large workflows into reusable components
299
+
300
+ ### Error Prevention
301
+ 1. **Input Validation**: Validate data before processing
302
+ 2. **Connection Checks**: Verify MCP connections exist
303
+ 3. **Rate Limiting**: Respect API rate limits
304
+ 4. **Fallback Logic**: Provide alternatives for critical operations
305
+
306
+ ## Common Architectural Patterns
307
+
308
+ ### E-commerce Automation
309
+ ```
310
+ Product Data → Price Analysis → Inventory Update → Notification System
311
+ ```
312
+
313
+ ### Content Marketing Pipeline
314
+ ```
315
+ Research → Content Creation → Image Generation → Multi-Platform Posting
316
+ ```
317
+
318
+ ### Customer Support Automation
319
+ ```
320
+ Ticket Analysis → Response Generation → CRM Update → Customer Notification
321
+ ```
322
+
323
+ ### Data Processing Pipeline
324
+ ```
325
+ Data Collection → Cleaning/Validation → AI Processing → Storage/Distribution
326
+ ```
327
+
328
+ ## Troubleshooting Guide
329
+
330
+ ### Common Issues
331
+
332
+ **Template Variable Errors**
333
+ - Verify node names match exactly
334
+ - Check field names in node output
335
+ - Use proper syntax: `{{node_name.field}}`
336
+
337
+ **MCP Connection Issues**
338
+ - Verify connection UUID is correct
339
+ - Ensure MCP service is enabled
340
+ - Check authentication status
341
+
342
+ **Workflow Performance**
343
+ - Reduce parallel execution for complex operations
344
+ - Use lighter LLM models where possible
345
+ - Implement caching for repeated operations
346
+
347
+ **Validation Failures**
348
+ - Check required fields in input_schema
349
+ - Verify node configurations
350
+ - Ensure output_mapping is properly structured
package/package.json CHANGED
@@ -6,18 +6,18 @@
6
6
  "scripts": {
7
7
  "postinstall": "bun ./postinstall.mjs || node ./postinstall.mjs"
8
8
  },
9
- "version": "3.3.1",
9
+ "version": "3.3.2",
10
10
  "optionalDependencies": {
11
- "@pixelml/claw-linux-arm64": "3.3.1",
12
- "@pixelml/claw-linux-x64": "3.3.1",
13
- "@pixelml/claw-linux-x64-baseline": "3.3.1",
14
- "@pixelml/claw-linux-arm64-musl": "3.3.1",
15
- "@pixelml/claw-linux-x64-musl": "3.3.1",
16
- "@pixelml/claw-linux-x64-baseline-musl": "3.3.1",
17
- "@pixelml/claw-darwin-arm64": "3.3.1",
18
- "@pixelml/claw-darwin-x64": "3.3.1",
19
- "@pixelml/claw-darwin-x64-baseline": "3.3.1",
20
- "@pixelml/claw-windows-x64": "3.3.1",
21
- "@pixelml/claw-windows-x64-baseline": "3.3.1"
11
+ "@pixelml/claw-linux-arm64": "3.3.2",
12
+ "@pixelml/claw-linux-x64": "3.3.2",
13
+ "@pixelml/claw-linux-x64-baseline": "3.3.2",
14
+ "@pixelml/claw-linux-arm64-musl": "3.3.2",
15
+ "@pixelml/claw-linux-x64-musl": "3.3.2",
16
+ "@pixelml/claw-linux-x64-baseline-musl": "3.3.2",
17
+ "@pixelml/claw-darwin-arm64": "3.3.2",
18
+ "@pixelml/claw-darwin-x64": "3.3.2",
19
+ "@pixelml/claw-darwin-x64-baseline": "3.3.2",
20
+ "@pixelml/claw-windows-x64": "3.3.2",
21
+ "@pixelml/claw-windows-x64-baseline": "3.3.2"
22
22
  }
23
23
  }