
Security News
Axios Maintainer Confirms Social Engineering Attack Behind npm Compromise
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.
@brika/blocks-builtin
Advanced tools
Core reactive blocks for BRIKA workflow automations. This plugin provides essential building blocks for creating visual workflows.
The built-in blocks plugin is automatically loaded by the BRIKA hub and provides fundamental workflow control and data manipulation blocks using the reactive stream architecture.
Emit periodic ticks on an interval.
tick — { count: number, ts: number }interval (duration) — Interval between ticks- id: clock
type: "@brika/blocks-builtin:clock"
config:
interval: 5000 # 5 seconds
Branch based on a boolean condition.
in (generic)then, else (passthrough)field — Field path to check (e.g., "value", "data.status")operator — eq, neq, gt, gte, lt, lte, contains, existsvalue — Value to compare against- id: check
type: "@brika/blocks-builtin:condition"
config:
field: "temperature"
operator: "gt"
value: 25
Multi-way branch based on a value.
in (generic)case1, case2, case3, default (passthrough)field — Field path to checkcase1, case2, case3 — Values to match- id: switch
type: "@brika/blocks-builtin:switch"
config:
field: "status"
case1: "active"
case2: "pending"
case3: "error"
Wait for a duration before continuing.
in (generic)out (passthrough)duration (duration) — Duration to wait- id: wait
type: "@brika/blocks-builtin:delay"
config:
duration: 5000 # 5 seconds
Wait for multiple inputs before continuing.
a, b (generic)out — { a: any, b: any }- id: merge
type: "@brika/blocks-builtin:merge"
config: {}
Send data to multiple branches.
in (generic)a, b (passthrough)- id: split
type: "@brika/blocks-builtin:split"
config: {}
Terminate a workflow branch.
in (generic)status — "success" or "failure"- id: end
type: "@brika/blocks-builtin:end"
config:
status: success
Make HTTP requests to external APIs.
trigger (generic)response, errorurl — Request URLmethod — GET, POST, PUT, PATCH, DELETEheaders — Request headers objectbody — Request body (for POST/PUT/PATCH)- id: api-call
type: "@brika/blocks-builtin:http-request"
config:
url: "https://api.example.com/data"
method: GET
headers:
Authorization: "Bearer token"
Log a message with variable interpolation.
in (generic)out (passthrough)message — Message template with {{inputs.in.field}} expressionslevel — debug, info, warn, error- id: log
type: "@brika/blocks-builtin:log"
config:
message: "Received: {{inputs.in.value}}"
level: info
Transform or extract data.
in (generic)out (any)field — Field to extract (empty for passthrough)template — Template to build output object# Extract a field
- id: extract
type: "@brika/blocks-builtin:transform"
config:
field: "data.temperature"
# Build new object
- id: reshape
type: "@brika/blocks-builtin:transform"
config:
template:
temp: "data.temperature"
hum: "data.humidity"
id: clock-demo
name: Clock Demo
enabled: true
blocks:
- id: clock
type: "@brika/blocks-builtin:clock"
config:
interval: 5000
position: { x: 100, y: 100 }
- id: log
type: "@brika/blocks-builtin:log"
config:
message: "Tick #{{inputs.in.count}}"
level: info
position: { x: 300, y: 100 }
connections:
- from: clock
fromPort: tick
to: log
toPort: in
id: condition-demo
name: Condition Demo
enabled: true
blocks:
- id: clock
type: "@brika/blocks-builtin:clock"
config:
interval: 10000
- id: condition
type: "@brika/blocks-builtin:condition"
config:
field: "count"
operator: "gt"
value: 5
- id: high
type: "@brika/blocks-builtin:log"
config:
message: "Count is high: {{inputs.in.count}}"
level: warn
- id: low
type: "@brika/blocks-builtin:log"
config:
message: "Count is low: {{inputs.in.count}}"
level: debug
connections:
- from: clock
fromPort: tick
to: condition
toPort: in
- from: condition
fromPort: then
to: high
toPort: in
- from: condition
fromPort: else
to: low
toPort: in
id: parallel-demo
name: Parallel Demo
enabled: true
blocks:
- id: clock
type: "@brika/blocks-builtin:clock"
config:
interval: 5000
- id: split
type: "@brika/blocks-builtin:split"
config: {}
- id: fast
type: "@brika/blocks-builtin:log"
config:
message: "Fast path"
- id: slow
type: "@brika/blocks-builtin:delay"
config:
duration: 2000
- id: slow-log
type: "@brika/blocks-builtin:log"
config:
message: "Slow path (after 2s)"
- id: merge
type: "@brika/blocks-builtin:merge"
config: {}
- id: done
type: "@brika/blocks-builtin:log"
config:
message: "Both paths completed"
connections:
- from: clock
fromPort: tick
to: split
toPort: in
- from: split
fromPort: a
to: fast
toPort: in
- from: split
fromPort: b
to: slow
toPort: in
- from: slow
fromPort: out
to: slow-log
toPort: in
- from: fast
fromPort: out
to: merge
toPort: a
- from: slow-log
fromPort: out
to: merge
toPort: b
- from: merge
fromPort: out
to: done
toPort: in
Log blocks support {{...}} expressions for variable interpolation:
{{inputs.in}} — Raw input data{{inputs.in.field}} — Access nested fields{{config.value}} — Access config values{{JSON.stringify(inputs.in)}} — Serialize to JSONThis plugin is included by default with BRIKA and does not need to be installed separately.
FAQs
Core workflow blocks for BRIKA automations
We found that @brika/blocks-builtin demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.