@withone/cli 1.20.1 → 1.20.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@withone/cli",
3
- "version": "1.20.1",
3
+ "version": "1.20.2",
4
4
  "description": "CLI for managing One",
5
5
  "type": "module",
6
6
  "files": [
@@ -172,14 +172,47 @@ A pure `$.xxx` value resolves to the raw type. A string containing `{{$.xxx}}` d
172
172
 
173
173
  ### `parallel` — Run steps concurrently
174
174
 
175
+ Use when fetching from 2+ independent data sources before combining results. Each substep must have the full step schema (`id`, `name`, `type`, and type-specific config).
176
+
175
177
  ```json
176
178
  {
177
- "id": "lookups",
179
+ "id": "fetchAll",
180
+ "name": "Fetch email and calendar data in parallel",
178
181
  "type": "parallel",
179
- "parallel": { "maxConcurrency": 5, "steps": [...] }
182
+ "parallel": {
183
+ "maxConcurrency": 5,
184
+ "steps": [
185
+ {
186
+ "id": "fetchEmails",
187
+ "name": "Fetch recent emails",
188
+ "type": "action",
189
+ "action": {
190
+ "platform": "gmail",
191
+ "actionId": "conn_mod_def::GmailListMessages::xxx",
192
+ "connectionKey": "$.input.gmailKey",
193
+ "pathVars": { "userId": "me" },
194
+ "queryParams": { "maxResults": 10 }
195
+ }
196
+ },
197
+ {
198
+ "id": "fetchEvents",
199
+ "name": "Fetch today's calendar events",
200
+ "type": "action",
201
+ "action": {
202
+ "platform": "google-calendar",
203
+ "actionId": "conn_mod_def::CalendarListEvents::xxx",
204
+ "connectionKey": "$.input.calendarKey",
205
+ "pathVars": { "calendarId": "primary" },
206
+ "queryParams": { "maxResults": 10 }
207
+ }
208
+ }
209
+ ]
210
+ }
180
211
  }
181
212
  ```
182
213
 
214
+ After a parallel step, access each substep's output by its `id`: `$.steps.fetchEmails.response`, `$.steps.fetchEvents.response`.
215
+
183
216
  ### `file-read` / `file-write` — Filesystem access
184
217
 
185
218
  ```json
@@ -247,7 +280,18 @@ Strategies: `fail` (default), `continue`, `retry`, `fallback`.
247
280
 
248
281
  Conditional execution: `"if": "$.steps.find.response.data.length > 0"`
249
282
 
250
- ## AI-Augmented Pattern: file-write -> bash -> code
283
+ ## AI-Augmented Patterns
284
+
285
+ ### When to use parallel steps
286
+
287
+ Use `parallel` when your workflow fetches from 2+ independent data sources before combining them. Common patterns:
288
+ - Fetch Gmail + Calendar + Sheets → compile into daily briefing
289
+ - Search Exa + scrape with Firecrawl → merge research data
290
+ - Query BigQuery + list Google Drive files → combine for analysis
291
+
292
+ Each substep inside `parallel.steps` must have the full step schema: `id`, `name`, `type`, and the type-specific config (`action`, `code`, etc.). Follow a parallel step with a `code` or `transform` step to combine the results.
293
+
294
+ ### file-write -> bash -> code
251
295
 
252
296
  When raw data needs analysis, use this pattern:
253
297
  1. `file-write` — save data to temp file (API responses are too large to inline)