Str:::lab Studio is a browser-based SQL IDE that connects directly to any Apache Flink SQL Gateway. It provides a complete development, monitoring, and administration experience — without the overhead of a full platform deployment. Works with local Docker, Kubernetes, and any self-hosted or managed Flink cluster.
What it is
A zero-dependency, single-file HTML application served by nginx. All SQL execution is driven by the Flink SQL Gateway REST API. Results stream live into the browser. Session state is managed client-side in localStorage.
Who it is for
Streaming data engineers and platform teams who want a proper IDE for Apache Flink SQL — query editing, live result streaming, real-time job monitoring, ML inference pipelines, and AI agent builders.
Agent Manager (v0.0.26)
Build event-driven AI agents on Flink Agents 0.2. Visual canvas, 9-step wizard with Schema Registry, 7-artefact code generation, live Kafka observability, and 6 extension features.
Kube Operator
The Str:::lab Studio Kube Operator manages Studio deployments as first-class Kubernetes CRDs. Install via Helm from strlabstudio-operator.
Quickstart #
git clone https://github.com/coded-streams/strlabstudio
cd strlabstudio
docker compose up -d
open http://localhost:3030
Starts: JobManager, TaskManager(s), SQL Gateway, CORS proxy, and the Studio nginx container. On first load, a Tips & Concepts modal walks through key features.
python3 -m http.server 8080
# Open studio/index.html — use Direct Gateway mode
helm repo add strlabstudio https://coded-streams.github.io/strlabstudio-operator/charts
helm install strlabstudio-operator strlabstudio/strlabstudio-operator \
--namespace flinksql-system --create-namespace
kubectl apply -f - <<EOF
apiVersion: codedstreams.io/v1alpha1
kind: StrlabStudio
metadata:
name: my-studio
namespace: flink
spec:
gateway:
host: flink-sql-gateway
port: 8083
jobmanager:
host: flink-jobmanager
port: 8081
EOF
Connection Modes #
| Mode | Best For | Authentication |
|---|---|---|
| Proxy Mode | Local Docker or Kubernetes clusters. Routes through nginx — zero config required. | None |
| Direct Gateway | Remote clusters, Confluent Cloud, Ververica, AWS Managed Flink. | Bearer token, Basic Auth, or None |
| Confluent Cloud | Managed Flink SQL on Confluent. Enter Org ID, Env ID, region, API key + secret. | Basic (API key : secret) |
| Ververica | VVP self-managed, Ververica Cloud, or BYOC. | Bearer token |
| AWS Managed Flink | Amazon Managed Service for Apache Flink. | IAM / Access Keys |
| Admin Session | Platform operators. Full cluster visibility, cross-session oversight, advanced reports. | Admin passcode (default: admin1234) |
Architecture #
Str:::lab Studio is a static HTML application served by nginx. All SQL execution happens via the Flink SQL Gateway REST API. The browser manages all session state client-side.
Pipeline Manager v2.1 #
Visual drag-and-drop Flink SQL pipeline builder. Access via Managers → Pipeline Manager. Drag operators onto the canvas, connect them, configure parameters inline, and get production-ready Flink SQL generated automatically. Edges are colour-coded by type: FORWARD, HASH, REBALANCE, BROADCAST, RESCALE.
| Group | Operators |
|---|---|
| Sources | Kafka, Datagen, JDBC, Filesystem/S3, Pulsar, Kinesis |
| Transforms | Filter, Project, UDF Map, Lookup Enrich, Union, Split/Route |
| Windows | Tumble, Hop, Session, Cumulate |
| Aggregations | Group Agg, Dedup, Top-N |
| Joins | Interval Join, Temporal Join, Regular Join |
| CEP | MATCH_RECOGNIZE, CEP Alert |
| Sinks | Kafka, JDBC, Filesystem, Elasticsearch, Print, Blackhole, MongoDB, Kinesis |
| Output/ML | Results Tab, AI Model Node, Feature Store, UDF Function |
Feature Engineering Manager v0.0.25 #
A six-step guided wizard for building real-time Flink SQL feature pipelines. Supports Schema Registry integration or manual column entry. Access via Managers → Feature Engineering.
Six-Step Wizard
Data Source
Manual entry or Schema Registry. Connect to Confluent, Apicurio, Karapace, or AWS Glue SR — browse subjects and import schemas in one click.
Feature Column Selection
Toggle which source columns to include. Assign watermark column and out-of-orderness delay.
Per-Column Transformations
20 transform types: Pass-through, CAST, Math, COALESCE, UPPER/LOWER, SUBSTRING, ROUND, ABS, Bucketing, MD5, DATE_FORMAT, LAG, Min-Max Normalise, Custom SQL expression, and more.
Windows and Aggregations
Add TUMBLE, HOP, SESSION, or CUMULATE windows. Multiple windows of different sizes fully supported — common for 1-min, 5-min, and 1-hour feature stores simultaneously.
Output Sink
Kafka (with SASL/SSL and Schema Registry), JDBC, Filesystem/S3, Iceberg, Hudi, Elasticsearch, Redis, Feast, Print, Blackhole.
Review and SQL
Interactive SVG pipeline canvas (zoom/pan/fit/maximize) alongside the complete generated Flink SQL. Saved to history with full output column schema.
AI Model Inference Manager v0.0.25 #
A seven-step guided wizard for configuring real-time ML model inference on Flink streaming pipelines. 25 model server types across five categories. Access via Managers → Inference Manager.
| Category | Servers |
|---|---|
| MLOps Platforms | MLflow, AWS SageMaker, Azure ML, Google Vertex AI, Databricks |
| Open-Source Serving | MLflow pyfunc, BentoML, NVIDIA Triton, TorchServe, TF Serving, Ray Serve, Seldon Core, KServe |
| Artifact Stores | MinIO / S3 (model artifact loading) |
| Hosted APIs | HuggingFace, OpenAI, Anthropic Claude, Cohere, Mistral AI, Together AI, AWS Bedrock |
| Custom / Bespoke | OpenAI-compatible (vLLM, Ollama, LocalAI), Custom HTTP REST, Custom gRPC, Flink UDF / JAR |
Flink Agent Manager v0.0.26 #
A full visual IDE for building event-driven AI agents on Apache Flink Agents 0.2. Access via Managers → ⚛ Agent Manager. The Agent Manager ships as two files: agent-manager.js (core) and agent-manager-extensions.js (6 extension features). Both must be loaded after inference-manager.js.
Visual Canvas #
Drag-and-drop operator builder with 30+ Flink Agent blocks across 11 groups. Icons follow the same convention as Pipeline Manager: brand icons use Simple Icons CDN (_agSimpleIcon(slug, hex)) and everything else uses clean monochrome inline SVG — no emoji anywhere in the operator catalogue.
linearGradient that flows from the source node's colour to the destination node's colour. Each edge gets a matching per-edge arrowhead coloured to the destination node. A Kafka source (blue #1a6fa8) connecting to a WorkflowAgent (purple #6a0a9a) renders as a blue→purple gradient edge with a purple arrowhead tip.
| Group | Operators | Icons |
|---|---|---|
| Event Sources | Kafka Event, Datagen Events, JDBC Events, Kinesis Events | Simple Icons CDN |
| LLM Models | OpenAI, Anthropic Claude, Azure AI, AWS Bedrock, Ollama, Mistral AI, Google Vertex AI | Simple Icons CDN |
| Embeddings | OpenAI, Ollama, HuggingFace, Azure | Simple Icons CDN |
| Vector Stores | Elasticsearch VSS, Redis VSS, Milvus, Qdrant | Mixed: SI + SVG |
| Memory | Sensory Memory, Short-Term Memory (RocksDB), Long-Term Memory (RAG) | Monochrome SVG |
| Prompts | Prompt Template, Few-Shot Examples | Monochrome SVG |
| Tools / MCP | HTTP Tool, Kafka Produce Tool, Flink SQL Tool, MCP Server | Mixed: SI + SVG |
| Orchestration | Workflow Agent, ReAct Agent, Multi-Agent (A2A) | Monochrome SVG |
| Actions | Kafka Action, JDBC Action, HTTP Webhook Action | Simple Icons CDN |
| Observability | Event Log, VECTOR_SEARCH (Flink 2.2) | Monochrome SVG |
| Sinks | Print (Debug), Blackhole | Monochrome SVG |
Canvas Controls
- Drag operators from the palette — palette search box filters by label and operator ID
- ✏ edit button on every node card (identical to Pipeline Manager) — opens a draggable config modal positioned beside the node
- Drag output port (right edge) → input port (left edge) to connect nodes
- Scroll to zoom (0.12× – 3×), drag canvas background to pan, ⊙ Fit to auto-centre
- ⤢ expand-to-fullscreen / ⤡ restore — mirrors
_plmToggleFullscreen()from Pipeline Manager - ▶ Simulate Flow — animated particles flow along gradient edges showing agent data paths
- Delete selected node with Delete / Backspace; Escape cancels in-progress connections
Guided Wizard (9 Steps) #
A step-by-step dialog covering every Flink Agents 0.2 concept. Steps can be navigated by clicking the step numbers in the sidebar. Each step validates required fields before allowing progression.
| Step | Covers |
|---|---|
| 1 — Agent Profile | Name, orchestration pattern (WorkflowAgent / ReActAgent / A2A), language (Java / Python), parallelism, checkpoint interval, exactly-once actions, durable execution blocks |
| 2 — Event Source | Source type selector (Kafka JSON / Kafka + Schema Registry / Datagen / JDBC / Kinesis), Schema Registry connection, Avro schema auto-loading |
| 3 — LLM Model | Provider, model name, API key env var, base URL override, temperature, max tokens, system prompt |
| 4 — Memory Config | Sensory memory (max tokens, retention strategy), Short-Term memory (TTL, partition key), Long-Term memory (vector store, embedding model, recall Top-K) |
| 5 — Tools & MCP | HTTP Tool (name, URL, description for LLM), MCP Server (URL, transport, auth env), Flink SQL Tool |
| 6 — Orchestration | Execution pattern, max ReAct iterations, A2A protocol (coordinator / sub-agent), A2A endpoint, child agent IDs |
| 7 — Actions & Sinks | Primary sink type (Kafka / JDBC / HTTP Webhook / Print), output table name, alert sink (optional secondary) |
| 8 — Observability | Event log sink (Kafka / Elasticsearch / Print), log topic, LLM call logging, tool call logging, memory op logging, retention days |
| 9 — Review & Build | Two-column: SVG pipeline graph canvas (zoom/pan/fit) + config summary cards. Click ⚛ Build Agent to generate canvas and all code artefacts. |
Kafka + Schema Registry Source #
When Kafka + Schema Registry is selected in Step 2, an additional card appears with full Schema Registry integration — mirroring the Feature Engineering Manager's pattern.
- ⟳ Load Subjects — fetches all subjects from
/subjectson the Schema Registry REST API. UsesjmApiproxy if available (avoids CORS), falls back to direct fetch. Populates a subject dropdown. - ↓ Load Schema — fetches
/subjects/{name}/versions/latest, runs_agAvroToDDL()to convert Avro field types to Flink SQL DDL types with full logical type support:
| Avro Type | Flink SQL Type |
|---|---|
string | STRING |
int | INT |
long | BIGINT |
float / double | FLOAT / DOUBLE |
boolean | BOOLEAN |
bytes | BYTES |
Union (["null","string"]) | Non-null type (e.g. STRING) |
{"type":"array","items":"float"} | ARRAY<FLOAT> |
{"type":"map","values":"double"} | MAP<STRING,DOUBLE> |
timestamp-millis / timestamp-micros | TIMESTAMP(3) |
date | DATE |
decimal | DECIMAL(precision, scale) |
Loaded fields populate both the schema tag pills (live visual display) and the schema textarea. The tag pills also update as you type in the textarea. Schema format is auto-set to avro-confluent when SR is selected.
Code Generation — 7 Artefacts #
Click ⟨/⟩ Generated Code tab to access 8 code output types, switchable from a left sidebar. SQL inserts into the Studio editor with one click.
| Artefact | Contents |
|---|---|
| Flink SQL | SET statements, CREATE TABLE (Kafka source with watermark), CREATE MODEL (LLM binding), CREATE TEMPORARY FUNCTION (agent UDF), INSERT INTO pipeline |
| Java (API) | Full WorkflowAgent or ReActAgent skeleton with memory, tools, MCP, durable execution blocks, and main() with StreamTableEnvironment |
| Python (PyFlink) | Full WorkflowAgent or ReActAgent skeleton with async def run/reason, durable_block, tool registration, and t_env.register_function() |
| FLIP-531 Native ✦ | Experimental CREATE AGENT / RUN AGENT / SHOW AGENTS syntax — Flink Agents 0.2 first-class SQL extension |
| pom.xml | Maven build with flink-agents-java 0.2.0, flink-connector-kafka, and shade plugin configured |
| requirements.txt | Python deps: flink-agents-python, openai, anthropic, boto3, pymilvus, qdrant-client, mcp-python, etc. |
| docker-compose.yml | Full stack: Flink 2.2, Kafka, Zookeeper, Elasticsearch, Redis with agent config properties |
| Kubernetes YAML | FlinkDeployment CRD (Flink Kubernetes Operator 1.9+) with RocksDB state, checkpointing, durable execution, and secrets for LLM API keys |
Observability Tab — Live Kafka Event Log #
The Observability tab connects directly to your agent event log Kafka topic via the Flink SQL Gateway session. No simulation or fake data — all events come from your real Kafka topic.
Configure connection
Enter bootstrap servers, topic name (auto-filled from any Event Log node on canvas), offset mode, and optional filter by event type.
▶ Connect
The Studio creates a TEMPORARY TABLE over the topic via POST /sessions/{id}/statements, then executes a streaming SELECT * statement and polls result pages every 1.5 seconds.
Live event stream
Events render in real time with colour-coded event types: LLM_CALL, TOOL_INVOKE, MEMORY_READ/WRITE, DECISION, AGENT_START/END, ERROR, CHECKPOINT. Six live metric counters, events/s rate, and a latency sparkline update continuously. Export to CSV at any time.
Extension Features (agent-manager-extensions.js) #
Six additional features are bundled in agent-manager-extensions.js. Load this file after agent-manager.js. The four extra tabs are injected into the tab bar automatically at runtime.
| Feature | Tab | Description |
|---|---|---|
| Live Kafka Event Log Connector | Observability | Extends the Observability tab with full SQL Gateway session integration: CREATE TEMPORARY TABLE → streaming SELECT → 1.5s poll loop → colour-coded event stream. Rate display, latency sparkline, CSV export. |
| Agent Version Diff | ⊞ Version Diff | Load two exported agent JSON files and compare side-by-side. Annotated diff shows +added nodes (green), −removed nodes (red), ⟳changed config keys (yellow). Export diff as JSON. |
| FLIP-531 SQL Native | Code tab sidebar | Patches the Generated Code tab with a FLIP-531 Native ✦ entry. Generates experimental CREATE AGENT / RUN AGENT / SHOW AGENTS / DESCRIBE AGENT syntax using Flink Agents 0.2 first-class SQL extensions. |
| Agent Test Runner | ▶ Test Runner | Send a JSON test event through the agent reasoning chain. Displays a step-by-step collapsible trace: Agent Start → Memory reads → LLM reasoning (real Anthropic API call optional) → Tool invocations → Memory write → Decision → Agent End. Export trace as JSON. |
| A2A Topology View | 🤝 A2A Topology | Dedicated SVG canvas showing multi-agent communication flows. Animated particles travel along A2A edges with per-link message counters. Per-agent message totals in the status bar. Zoom/pan/fit controls. Simulate/Stop/Reset. |
| LLM Cost Estimator | 💰 Cost Estimator | Estimates token cost across all LLM/embedding nodes on the canvas at a configurable events/sec rate. June 2026 pricing table for 18 models. Per-node per-event cost, per-day cost, totals (per-event / per-hour / per-day / per-month). Cost-vs-throughput sparkline. CSV export. |
Agent Templates (6)
| Template | Pattern | Components |
|---|---|---|
| Fraud Detection Agent | ReActAgent | Kafka source → Short-term memory + Claude Scorer → FraudAgent → Score API tool + Kafka alerts + Audit log |
| IoT Anomaly Agent | WorkflowAgent | Kafka sensor stream → OpenAI embeddings → Elasticsearch vector memory → IoTAgent + GPT-4o → HTTP alert webhook |
| Customer Support Agent | ReActAgent | Kafka events → Long-term memory + Qdrant KB → GPT-4o + CRM MCP server → SupportAgent → Resolution output |
| Supply Chain Optimizer | WorkflowAgent + A2A | Logistics events → RouteAgent + A2A Coordinator → Bedrock Optimizer → Dispatch events + Decision log |
| Log Classification Agent | WorkflowAgent | App log stream → Prompt Template + Classifier LLM → LogAgent → Critical logs Kafka + Debug Print sink |
| Blank Agent | — | Empty canvas, build from scratch |
Installation
index.html — add after inference-manager.js<script src="js/agent-manager.js"></script>
<script src="js/agent-manager-extensions.js"></script>
index.html — add to managers dropdown
<option value="agent-manager">⚛ Agent Manager</option>
index.html — add to handleManagerSelect()
case 'agent-manager':
if (typeof openAgentManager === 'function') openAgentManager();
break;
Flink Agents 0.2 Feature Coverage
| Feature | Where |
|---|---|
| WorkflowAgent API | Canvas + Wizard + Java/Python codegen |
| ReActAgent API | Canvas + Wizard + Java/Python codegen |
| Sensory Memory (context window) | Memory node + Wizard Step 4 |
| Short-Term Memory (RocksDB state) | Memory node + Wizard Step 4 |
| Long-Term Memory + compaction | Memory node + Wizard Step 4 |
| MCP Server integration | MCP node + Java/Python codegen |
| Tool registration (HTTP, SQL, Kafka) | Tool nodes + codegen |
| A2A Protocol (Google A2A) | Multi-Agent node + A2A Topology extension |
| Exactly-Once Actions | Wizard Step 1 + codegen config |
| Durable Execution Blocks | Wizard Step 1 + Java/Python codegen |
| VECTOR_SEARCH (Flink 2.2) | Vector Search node + SQL codegen |
| FLIP-531 CREATE AGENT (experimental) | FLIP-531 code tab + extensions |
| Kubernetes deployment | K8s YAML codegen |
Observability and Diagnostics v0.0.22 #
Six diagnostic tools accessible from the editor toolbar. Each opens as a modal with full interactive controls.
| Tool | Key Capability |
|---|---|
| Live Pipeline Visualiser | Real-time SQL parsing → source-to-transform-to-sink DAG beside editor. Pan, zoom, streaming animation. Collapses to vertical tab (Ctrl+`). |
| Schema Registry Browser | Browse subjects, compare versions (breaking vs non-breaking), validate CREATE TABLE, one-click generate DDL with avro-confluent and watermark. |
| Backpressure Root Cause Analyser | Bottleneck identification, propagation chain, GC/checkpoint correlation, SVG heatmap, plain-English severity, live auto-refresh every 8 s. |
| Watermark Health Monitor | Per-vertex watermark lag, stall detection (5/10/30/60 s threshold), late-event rate, sparklines, cross-vertex timeline canvas. |
| Multi-Pipeline Dependency Graph | Cross-job topology, connector-type node colours, dead-end/shared-source/cycle detection, animated particles on RUNNING pipelines. |
| SQL Profiler / Execution Replay | Ring buffer recording, time-scrubber replay, backpressure tints, anomaly badges, auto-play 1×/2×/4×, per-operator sparklines, JSON export. |
Admin Session #
The Admin Session mode provides a privileged view of the entire Flink cluster across all users and sessions. Select Admin mode on the connect screen and enter the admin passcode.
admin1234. Change it immediately after first login via the Admin Settings modal (click the shield badge in the topbar). The new passcode is persisted in localStorage.| Capability | Regular Session | Admin Session |
|---|---|---|
| Jobs visible in Job Graph | Own jobs only | All jobs on the cluster |
| Cancel job | Own jobs only | Any job on the cluster |
| Session Activity modal | Not available | Full cross-session breakdown |
| Report type | Standard session report | Technical or Business/Management |
Connector JARs #
| Flink Version | Kafka Connector JAR |
|---|---|
2.2.x | flink-sql-connector-kafka-3.3.0-1.20.jar |
1.20.x | flink-sql-connector-kafka-3.3.0-1.20.jar |
1.19.x recommended | flink-sql-connector-kafka-3.3.0-1.19.jar |
1.18.x | flink-sql-connector-kafka-3.3.0-1.18.jar |
1.17.x | flink-sql-connector-kafka-3.2.0-1.17.jar |
1.16.x | flink-sql-connector-kafka-3.1.0-1.16.jar |
./scripts/download-connectors.sh
# Override version:
./scripts/download-connectors.sh --flink-version 1.19.1
.\scripts\download-connectors.ps1
# Override:
.\scripts\download-connectors.ps1 -FlinkVersion 1.19.1
FROM flink:2.2.0-scala_2.12-java11
COPY ./connectors/*.jar /opt/flink/lib/
# Also copy Flink Agents JAR for Agent Manager:
COPY ./agents/flink-agents-java-0.2.0.jar /opt/flink/lib/
Str:::lab Studio Kube Operator #
Manages Studio deployments as first-class Kubernetes CRDs. Deploy and lifecycle-manage Studio instances with a single kubectl apply. Repository: github.com/coded-streams/strlabstudio-operator
helm repo add strlabstudio https://coded-streams.github.io/strlabstudio-operator/charts
helm repo update
helm install strlabstudio-operator strlabstudio/strlabstudio-operator \
--namespace flinksql-system --create-namespace
apiVersion: codedstreams.io/v1alpha1
kind: StrlabStudio
metadata:
name: dev-studio
namespace: flink
spec:
gateway:
host: flink-sql-gateway
port: 8083
jobmanager:
host: flink-jobmanager
port: 8081
apiVersion: codedstreams.io/v1alpha1
kind: StrlabStudio
metadata:
name: prod-studio
namespace: flink
spec:
image: codedstreams/strlabstudio:v0.0.26
replicas: 2
gateway:
host: flink-sql-gateway
port: 8083
jobmanager:
host: flink-jobmanager
port: 8081
service:
type: LoadBalancer
port: 80
resources:
requests: {cpu: "100m", memory: "128Mi"}
limits: {cpu: "500m", memory: "256Mi"}
Deploy Options #
Docker Compose
Full stack in one command — Studio, Flink cluster, SQL Gateway, Kafka, MinIO.
Standalone HTML
Serve studio/index.html from any static server. Use Direct Gateway mode.
Kube Operator
CRD-based deployment via Helm. GitOps-friendly. No PVC required.
Cloud Managed Flink
Connect to Confluent Cloud, Ververica Cloud, or AWS Managed Flink with Direct Gateway and bearer token auth.
Flink Compatibility #
| Flink Version | Status | Notes |
|---|---|---|
2.2.x | Flink Agents | Required for Flink Agents 0.2 and VECTOR_SEARCH. Full Agent Manager support. |
2.0.x | Supported | Full feature parity. SHOW VIEWS available. |
1.20.x | Supported | All features except Agent Manager codegen targets. |
1.19.x | Recommended | Stable, well-tested connector ecosystem. |
1.18.x | Supported | SHOW VIEWS available. Cumulate window supported. |
1.16.x | Supported (min) | Core IDE features only. No Agent Manager. |
Changelog #
- Flink Agent Manager — full visual IDE for Apache Flink Agents 0.2. Visual Canvas with 30+ operator blocks, 9-step Guided Wizard, 7-artefact code generation (Flink SQL, Java WorkflowAgent/ReActAgent, Python PyFlink, FLIP-531 Native, pom.xml, requirements.txt, docker-compose, Kubernetes YAML), JAR Upload tab, and Observability tab.
- Colour-coded gradient canvas edges — each edge renders as a Bézier curve with a
linearGradientflowing from the source node's colour to the destination node's colour. Per-edge arrowhead matches destination colour. Particles during simulation follow the same gradient paths. - Icon system (PLM-compatible) — brand icons via Simple Icons CDN (
_agSimpleIcon(slug, hex)); all others use clean monochrome inline SVG (_agSvgIcon(paths)). Zero emoji in the operator catalogue. - ✏ edit button on node cards — identical to Pipeline Manager: teal accent,
pointer-events:auto, opens draggable config modal positioned beside the node. - ⤢ expand-to-fullscreen / ⤡ restore — mirrors
_plmToggleFullscreen(): 100vw/100vh ↔ min(1300px,97vw)/92vh. - Palette search box — filters operator items by label and opId, same pattern as Pipeline Manager's
_plmSearchPalette(). - Kafka + Schema Registry source (Wizard Step 2) — browse subjects, load Avro schema, auto-convert to Flink DDL with full logical type support (timestamp-millis → TIMESTAMP(3), decimal → DECIMAL(p,s), arrays, maps, union handling). Schema tag pills update live.
- Pipeline graph in Wizard Step 9 — SVG preview canvas with zoom/pan/fit alongside config summary cards. Source → Memory → LLM → Orchestrator → Sink topology with tool/MCP and Event Log sub-nodes.
- Ververica muted green theme — all purple tokens replaced:
#b06eff → #00c4a0,rgba(138,43,226,…) → rgba(0,176,143,…),rgba(176,110,255,…) → rgba(0,196,160,…). Applied to bothagent-manager.jsandagent-manager-extensions.js. - Observability tab: real Kafka only — removed simulation entirely. Connects via SQL Gateway session to the real agent event log topic. Shows explicit "Not connected" state.
- 6 Extension features (
agent-manager-extensions.js) — Live Kafka Event Log Connector, Agent Version Diff, FLIP-531 SQL Native codegen, Agent Test Runner (real LLM calls), A2A Topology View with animated message counters, LLM Cost Estimator with June 2026 pricing table and cost-vs-throughput chart. - 6 pre-built agent templates — Fraud Detection, IoT Anomaly, Customer Support, Supply Chain Optimizer (A2A), Log Classifier, Blank canvas.
- Feature Engineering Manager — six-step wizard for real-time Flink SQL feature pipelines. Schema Registry integration. 20 per-column transforms. TUMBLE/HOP/SESSION/CUMULATE windows. Interactive SVG canvas. Full history with output column schema for cross-manager handoff.
- AI Model Inference Manager — seven-step wizard. 25 model servers across five categories. 11 auth methods. All credentials embedded in generated SQL. Interactive inference canvas. FEM-to-IFM three-strategy schema auto-population.
- FEM schema persistence —
strlabstudio_fem_statesnapshot and enriched history withsourceColumnsandoutputColumns. - Inference canvas — foreignObject-based server icon rendering, per-edge linearGradient, async parallelism badge, passthrough column annotation.
- Managers dropdown — Feature Engineering and Inference Manager added to topbar alongside Pipeline Manager, Systems, UDF, Schema Registry, BP Analyser, Watermarks, Dep Graph, SQL Profiler.
- Live Pipeline Visualiser — real-time SQL parsing, DAG beside editor, pan/zoom/animate.
- Schema Registry Browser — subject browsing, version diff with breaking-change detection, CREATE TABLE generation.
- Backpressure Root Cause Analyser — bottleneck identification, SVG heatmap, live auto-refresh.
- Watermark Health Monitor — per-vertex lag, stall detection, sparklines, cross-vertex timeline.
- Multi-Pipeline Dependency Graph — cross-job topology, animated particles on RUNNING pipelines.
- SQL Profiler / Execution Replay — ring buffer recording, time-scrubber replay, JSON export.
- Pipeline Manager v2.0 — inline node expand, animation with error highlights, My UDFs from UDF Manager, SQL generation fixes.
- UDF Manager v2 — SHOW FUNCTIONS 0-row bug fixed, View Builder Insert Expression fix, LANGUAGE SQL removed.
- Colour Describe redesigned — 10-operator rule builder, 3 style modes, PDF report integration.
- Brand rename from FlinkSQL Studio to Str:::lab Studio
- Admin Session — cross-session job visibility, Technical and Business/Management PDF reports
- Project Manager — named projects with JSON export/import
- JAR upload to cluster via REST, Maven/Gradle config generation
- Job Graph DAG, Vertex Timeline, Node Detail modal
- Performance panel — per-query timing, checkpoint health, cluster resources, live throughput sparklines
- Initial build — multi-tab editor, session management, Results/Log/Operations tabs, snippets, query history