Commit graph

12 commits

Author SHA1 Message Date
29294a2971 feat: sample flows follow the hub's wire flag; examples group + import action
The Example chip used to come from a client-side content-marker
scan that had drifted from the hub's renamed sample header — no
current sample matched it. The host now passes the hub-reported
sample set (FlowSummary.sample) and the editor renders truth only:
no host info, no chips.

Samples collapse under one 'Examples (N)' group below the
operator's own flows (expanded only when nothing else exists), and
an optional onImportSamples action on the empty list is the
deliberate way to pull the bundled examples into a sealed area's
empty hub. Guard: flow_list_samples_test pins chips-from-host-only,
the grouping, and the import round trip.

Signed-off-by: flemming-it <sf@flemming.it>
2026-08-28 00:08:51 +02:00
8da50068f3 docs: changelog — unknown-store hardening under 0.25.0
Signed-off-by: flemming-it <sf@flemming.it>
2026-07-22 14:13:17 +02:00
c4a39a3779 feat: project separation in the flow list (0.25.0)
Filter the file list by the host's active project — flows without
a project: key count as 'general', display-only, the file is never
rewritten. New flows are stamped with the active project's key
(general and all-projects stay unstamped). Adds a toolbarTrailing
slot so the host can mount its workspace switcher in the editor's
single toolbar, and a flowsDir injection point so widget tests run
against a temp dir instead of the operator's ~/.chain flows.
Covered by pure filter-semantics tests plus hermetic widget tests
for filtering, the project-empty state, and new-flow stamping.

Signed-off-by: flemming-it <sf@flemming.it>
2026-07-22 13:56:29 +02:00
ab97e5e834 feat: honest install badge — classify store resolvability before the click
Split each flow's missing capabilities into store-resolvable ones
(amber chip + Install link, which now installs only those) and a
quiet 'not in store' chip whose tooltip explains the three recovery
paths in place: local install via chain install --link, adding the
providing store, or configuring the MCP/n8n integration. The
analyzer's not-in-store message names the same three paths (EN+DE).
Previously the list's Install action covered every missing
capability and could end in the hub's 'no store entry' error.

Also replace a private-looking capability example name in a doc
comment and test with a neutral placeholder. (0.25.0)

Signed-off-by: flemming-it <sf@flemming.it>
2026-07-22 13:42:11 +02:00
7d6a575cae fix: drop the duplicate FLOWS panel header, current CLI name in docs (0.24.1)
Signed-off-by: flemming-it <sf@flemming.it>
2026-07-18 00:27:24 +02:00
4e7abec24d feat: usertest fixes — hub-truth builtins, calm badge + separate install action, list filter, formal address
- drop the hardcoded builtin set {'debug.echo'}; missing-module
  detection trusts the host capability list (includes real hub
  builtins) — fixes hello's false play button
- split the orange combined chip into a neutral status chip and a
  never-truncated install link
- add a substring filter over the flow list with an honest
  no-match state
- German strings use the formal address throughout; grammar fixes
- analyzer hint says 'chain install --link' (was 'fai …')
- 0.24.0

Signed-off-by: flemming-it <sf@flemming.it>
2026-07-17 23:49:17 +02:00
ae09a55146 feat(run): host-injected native file picker for flow file inputs
The Run tab asked the operator to type an absolute path into a text
field — with no file dialog anywhere. FlowEditorPage now accepts an
onPickFile callback (PickedFileData: name + bytes) that hosts wire
to their native picker; the path-entry dialog remains only as the
no-host fallback. 0.23.0.

Signed-off-by: flemming-it <sf@flemming.it>
2026-07-17 01:04:40 +02:00
9e73036d0e feat: project chip + file-wins guard (multi-project stage 2)
When the open flow declares its own top-level project:, show it as a
chip in the tab action strip. On mismatch with the host's active
workspace, an amber file-wins pill offers a one-click Switch to
<project> — the file always wins for the run; switching only aligns
the workspace view.

New optional FlowEditorPage.activeProject + onSwitchToFileProject.
Parse + normalize (mirrors the hub's normalize_project_slug) lives in
flow_project.dart, unit-tested. flutter analyze clean, 57 tests green.

Signed-off-by: flemming-it <sf@flemming.it>
2026-07-12 14:20:15 +02:00
42f271679c feat: per-row start button on runnable flows (0.21.2)
Flows without missing modules get a play button in the list that
opens them directly on the Run tab - one click from the list to
entering inputs and starting a run. Rows with missing modules keep
the install badge as their single actionable path.

Signed-off-by: flemming-it <sf@flemming.it>
2026-07-11 10:02:55 +02:00
c4d3751e85 fix: page-named toolbar title + ellipsized needs-modules chip (0.21.1)
With no flow open the toolbar header said 'Kein Flow geöffnet' and
read as the page title (usertest finding); it now names the page
('Flows') while the empty state keeps the explanatory sentence. The
'needs N modules' chip ellipsizes in the narrow flow list instead of
overflowing its row on longer German labels.

Signed-off-by: flemming-it <sf@flemming.it>
2026-07-11 02:37:01 +02:00
fb41a518c9 refactor: rename package fai_studio_flow_editor -> chain_studio_flow_editor
The flow editor is a Ch∆In Studio sub-component (chain product), not a
F∆I-vendor package. Rename the package, entry library file, and all
package: imports. flutter analyze: clean.

Signed-off-by: flemming-it <sf@flemming.it>
2026-06-16 17:47:59 +02:00
7d220caaf3 docs: editor CHANGELOG.md, covering 0.16.0 → 0.21.0
Signed-off-by: flemming-it <sf@flemming.it>
2026-06-09 09:25:03 +02:00