| linq | No | LINQ-like query string compiled into pipeline steps. Supports fluent dot chaining and query clauses. .where()/.map()/.select() bodies AND .orderBy()/.orderByDesc()/.distinctBy()/.groupBy() keys are all real expressions — ternaries, &&/||, comparisons, arithmetic, member/index access, object/array literals, and a small method whitelist (.includes/.startsWith/.endsWith/.toLowerCase/.toUpperCase/.trim/.slice/.indexOf/.split/.join, Math.min/max/round/floor/ceil/abs, String()/Number()/Boolean()) all work, e.g. results.map(r => r.ok ? ({chain: r.id, height: r.output}) : ({chain: r.id, height: -1})), or ranking by a COMPUTED score: results.where(r => r.ok).orderByDesc(r => r.output.volume24h * r.output.priceChangePct).take(10) — the ranking key is not limited to a bare field. Fluent example: results.selectMany(r => r.output.programs[]).where(p => p.type in ("token","canonical-token")).groupBy(p => p._chain, assets=count(), activity=sum(activity)).orderByDesc(assets).take(5). Clause example: from results[] | expand output.programs[] | where type in ("token","canonical-token") | group by _chain as chain select assets=count(), activity=sum(activity) | order by assets desc | take 5. | |
| calls | Yes | Read-only MCP tool calls to run. Each call has {id?, tool, args?, pick?}. pick is a dot path into that call output; [] flattens arrays. | |
| reduce | No | Named reductions to compute from subcall outputs. Example: {"total":{"op":"sum","path":"results[].picked"},"top":{"op":"top","path":"results[]","sortBy":"picked","limit":5}}. | |
| pipeline | No | LINQ-style chained transforms over the raw batch result. Each step feeds the next. Ops: from, expand, where, select/project, groupBy, orderBy/sort, take/limit, skip, distinct, count, sum, avg, min, max, first, top. Example: [{"op":"from","path":"results[]"},{"op":"expand","path":"output.programs[]"},{"op":"where","path":"type","in":["token","canonical-token"]},{"op":"groupBy","by":"_chain","as":"chain","aggregates":{"tokens":{"op":"count"},"activity":{"op":"sum","path":"activity"}}},{"op":"orderBy","path":"tokens","dir":"desc"},{"op":"take","count":5}]. | |
| concurrency | No | Parallelism for subcalls (default 8, max 12). | |
| ignoreFailures | No | When reduce/pipeline/linq is used, a failed subcall is normally still reported in `failures` alongside the aggregate result, since a `.where(ok)`-style query would otherwise make it invisible. Set true to suppress that and get back only {reductions?, result?} — use when you already expect some chains/calls to fail and only want whatever succeeded. Defaults to false (failures still shown) because silently dropping an error is a real information loss, not just an efficiency choice — this one is opt-in on purpose. | |