chain-studio-flow-editor/pubspec.yaml
flemming-it 7797654572 fix(editor): per-field ports render from YAML refs when ModuleSpec is missing
Stefan reported: per-field output ports never appeared even
after the hub-side capability-lookup fix. Root cause: the
editor only used ModuleSpec when the host returned one. If
the operator's hub still ran the pre-fix binary, or hadn't
re-installed v3 manifests, or the step's capability was a
built-in (system.approval) that ships no manifest at all,
the editor would silently collapse to a single output anchor
even though the flow YAML clearly references named fields.

Robust fix: per-field labels are now a UNION of declared
fields (from the manifest, if any) and implicit ones
(inferred from the flow graph itself — every $step.field
reference an outgoing edge carries adds a field name).
Declared fields keep manifest order; implicit ones follow
alphabetically. Two helpers (_inputLabelsForStep,
_outputLabelsForStep) single-source the merge so the
renderer, port-overlay generator, edge router, and
hit-tester all see the same list.

What this means at run time:
- v3 modules with description.en/de → full per-field ports
  with tooltips, exactly as designed.
- v2 modules without descriptions → per-field ports, no
  tooltips. Was the case already.
- v1 modules / hubs without inputs/outputs in
  ModuleInfoResponse → per-field ports inferred from the
  YAML references. New behaviour, no regression.
- Built-in capabilities (system.approval) → per-field ports
  from with_-keys and outgoing edges. Works without any
  hub manifest.

Bumps fai_studio_flow_editor to 0.10.1.

Signed-off-by: flemming-it <sf@flemming.it>
2026-06-01 23:11:39 +02:00

27 lines
739 B
YAML

name: fai_studio_flow_editor
description: Swappable inline YAML editor for F∆I Studio flows.
version: 0.10.1
publish_to: 'none'
repository: https://git.flemming.ai/fai/studio-flow-editor
environment:
sdk: ^3.11.0-200.1.beta
flutter: '>=3.30.0'
dependencies:
flutter:
sdk: flutter
# CodeMirror-style code editor + the highlight package's
# YAML grammar. Both are pure Dart so the editor stays
# WebView-free and ships in the same binary.
flutter_code_editor: ^0.3.5
highlight: ^0.7.0
# YAML parsing for the graph view's model layer. We
# round-trip text <-> graph via this; the graph never
# mutates the YAML directly.
yaml: ^3.1.2
dev_dependencies:
flutter_test:
sdk: flutter
flutter_lints: ^6.0.0