chain-studio/pubspec.yaml
flemming-it 0183771689
Some checks failed
Security / Security check (push) Failing after 2s
feat(studio): swap built-in flow editor for fai_studio_flow_editor package (v0.51.0)
The flow editor was internal to Studio (lib/pages/flow_editor.dart).
Per Stefan's review feedback ("austauschbar wäre schöner"),
extract it into its own Forgejo repo so the host can swap
the implementation without touching Studio.

New repo: https://git.flemming.ai/fai/studio-flow-editor

Studio's pubspec.yaml now references the package by git URL:

  dependencies:
    fai_studio_flow_editor:
      git:
        url: https://git.flemming.ai/fai/studio-flow-editor
        ref: main

To swap the editor:
  1. Fork (or write a new) fai/studio-flow-editor.
  2. Keep the FlowEditorPage(initialFlowName, locale, onRun)
     constructor signature — the stable host contract.
  3. Point the pubspec at your fork.
  4. Rebuild Studio.

Adapter pattern: _FlowEditorAdapter in main.dart resolves the
package's runtime dependencies (locale via Localizations,
onRun via HubService) from the BuildContext, then constructs
the package's FlowEditorPage. Same pattern in flows.dart for
the pencil → editor route push, so a future operator-side
locale switch propagates correctly.

The package brings its own copies of FaiSpace tokens, minimal
FaiEmptyState/FaiErrorBox widgets, and an inline EN+DE l10n
table — accepting a small amount of visual drift in exchange
for true package independence. flutter_code_editor +
highlight move from Studio's pubspec to the package's.

Deleted:
  lib/pages/flow_editor.dart  → package's lib/src/flow_editor_page.dart
  test/flow_editor_test.dart  → package's test/ (next commit there)

Bumped:
  pubspec.yaml version 0.50.0 → 0.51.0
  main.dart kStudioVersion 0.50.0 → 0.51.0
Signed-off-by: flemming-it <stefan.a.flemming@googlemail.com>
2026-05-30 14:36:54 +02:00

59 lines
1.8 KiB
YAML

name: fai_studio
description: "F∆I Studio — desktop GUI for the F∆I hub"
publish_to: 'none'
version: 0.51.0
environment:
sdk: ^3.11.0-200.1.beta
dependencies:
flutter:
sdk: flutter
flutter_localizations:
sdk: flutter
cupertino_icons: ^1.0.8
intl: any
# Sibling package; will move to Forgejo path once published.
fai_client_sdk:
path: ../fai_client_sdk_dart
google_fonts: ^8.1.0
shared_preferences: ^2.5.5
# Inline README rendering inside the Store detail sheet.
# `flutter_markdown` is discontinued; `flutter_markdown_plus`
# is the actively-maintained drop-in fork (same
# `MarkdownStyleSheet` / `Markdown` / `MarkdownBody` API).
flutter_markdown_plus: ^1.0.3
# Today-Hero pipeline reads accepted stories from
# ~/.fai/today/active.yaml — see docs/today-pipeline.md.
yaml: ^3.1.2
path: ^1.9.0
# System-native file picker — used by the Flows run-flow
# form for `bytes`-shaped inputs (extract takes a PDF, the
# operator clicks "Choose file" and macOS / Linux / Windows
# routes through the OS dialog so sandboxed Studio still
# gets read access to the chosen file).
file_picker: ^11.0.0
# Swappable flow editor — lives in its own repo so it can
# be replaced without touching the rest of Studio. Pin to a
# commit (or branch) here; rebuild Studio to pick up
# editor-side changes.
fai_studio_flow_editor:
git:
url: https://git.flemming.ai/fai/studio-flow-editor
ref: main
dev_dependencies:
flutter_test:
sdk: flutter
flutter_lints: ^6.0.0
flutter:
uses-material-design: true
generate: true
# Bundled operator-facing documentation rendered inline by
# the Welcome page. Each doc has a `_de.md` sibling for the
# German locale; the loader picks the right pair at runtime.
# Air-gap-friendly — no network calls to read these.
assets:
- assets/docs/