Compare commits
3 commits
097351a7aa
...
dfc24d3c58
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
dfc24d3c58 | ||
|
|
79e08c8d17 | ||
|
|
dd0737b8b1 |
7 changed files with 93 additions and 21 deletions
|
|
@ -187,6 +187,42 @@ void main() {
|
|||
]);
|
||||
}
|
||||
|
||||
// Seed two demo flows so the Flows page shows the real list
|
||||
// instead of its empty state (and proves the missing-module
|
||||
// logic both ways): hello needs debug.echo — not installed on
|
||||
// the fixture hub, so it must carry the "1 module missing"
|
||||
// note; the approval flow only uses the hub builtin
|
||||
// system.approval and must show a plain play button.
|
||||
final flowsDir = Directory(
|
||||
'${Platform.environment['HOME']}/.chain/data/flows',
|
||||
)..createSync(recursive: true);
|
||||
File('${flowsDir.path}/hello.yaml').writeAsStringSync(
|
||||
'# F∆I sample flow\n'
|
||||
'inputs:\n'
|
||||
' name:\n'
|
||||
' type: string\n'
|
||||
'steps:\n'
|
||||
' - id: echo\n'
|
||||
' use: debug.echo@^0\n'
|
||||
' with:\n'
|
||||
' text: "Hello, {{ inputs.name }}!"\n'
|
||||
'outputs:\n'
|
||||
' greeting: "{{ steps.echo.text }}"\n',
|
||||
);
|
||||
File('${flowsDir.path}/genehmigung-demo.yaml').writeAsStringSync(
|
||||
'# F∆I sample flow\n'
|
||||
'inputs:\n'
|
||||
' antrag:\n'
|
||||
' type: string\n'
|
||||
'steps:\n'
|
||||
' - id: freigabe\n'
|
||||
' use: system.approval@^0\n'
|
||||
' with:\n'
|
||||
' show: "{{ inputs.antrag }}"\n'
|
||||
'outputs:\n'
|
||||
' entscheidung: "{{ steps.freigabe.decision }}"\n',
|
||||
);
|
||||
|
||||
// Hermetic prefs: never read or write the operator's real ones.
|
||||
SharedPreferences.setMockInitialValues({});
|
||||
|
||||
|
|
|
|||
|
|
@ -1067,7 +1067,7 @@
|
|||
"approvalsTabPending": "Offen",
|
||||
"approvalsTabHistory": "Verlauf",
|
||||
"approvalsInboxZero": "Posteingang leer",
|
||||
"approvalsInboxHint": "Alles erledigt. Neue `system.approval@^0`-Schritte landen automatisch hier.",
|
||||
"approvalsInboxHint": "Alles erledigt. Wenn ein Flow eine menschliche Freigabe verlangt, erscheint die Anfrage automatisch hier.",
|
||||
"approvalsReloadTooltip": "Aktualisieren",
|
||||
"approvalsPillPending": "offen",
|
||||
"approvalsPillApproved": "freigegeben",
|
||||
|
|
@ -1149,7 +1149,7 @@
|
|||
"doctorSummaryApprovals": "Freigaben",
|
||||
"doctorSummaryAudit": "Protokoll",
|
||||
"doctorSummaryServices": "Dienste",
|
||||
"doctorSummaryCapabilities": "{n} Fähigkeiten",
|
||||
"doctorSummaryCapabilities": "{n, plural, =1{1 Fähigkeit} other{{n} Fähigkeiten}}",
|
||||
"@doctorSummaryCapabilities": {
|
||||
"placeholders": {
|
||||
"n": {
|
||||
|
|
@ -1170,7 +1170,7 @@
|
|||
}
|
||||
},
|
||||
"doctorSummaryDeclared": "deklariert",
|
||||
"doctorModulesPanelSummary": "{n} Module · {m} Fähigkeiten",
|
||||
"doctorModulesPanelSummary": "{n, plural, =1{1 Modul} other{{n} Module}} · {m, plural, =1{1 Fähigkeit} other{{m} Fähigkeiten}}",
|
||||
"@doctorModulesPanelSummary": {
|
||||
"placeholders": {
|
||||
"n": {
|
||||
|
|
@ -1225,7 +1225,7 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"doctorChainPillOk": "Integritätskette v1",
|
||||
"doctorChainPillOk": "Integritätskette geprüft",
|
||||
"doctorChainPillTamper": "MANIPULIERT",
|
||||
"doctorVerifyNow": "Jetzt prüfen",
|
||||
"doctorRestart": "Neustart",
|
||||
|
|
|
|||
|
|
@ -1085,7 +1085,7 @@
|
|||
"approvalsTabPending": "Pending",
|
||||
"approvalsTabHistory": "History",
|
||||
"approvalsInboxZero": "Inbox zero",
|
||||
"approvalsInboxHint": "All caught up. New `system.approval@^0` steps land here automatically.",
|
||||
"approvalsInboxHint": "All caught up. When a flow asks for a human approval, the request appears here automatically.",
|
||||
"approvalsReloadTooltip": "Reload",
|
||||
"approvalsPillPending": "pending",
|
||||
"approvalsPillApproved": "approved",
|
||||
|
|
@ -1173,7 +1173,7 @@
|
|||
"doctorSummaryApprovals": "Approvals",
|
||||
"doctorSummaryAudit": "Audit",
|
||||
"doctorSummaryServices": "Services",
|
||||
"doctorSummaryCapabilities": "{n} capabilities",
|
||||
"doctorSummaryCapabilities": "{n, plural, =1{1 capability} other{{n} capabilities}}",
|
||||
"@doctorSummaryCapabilities": {
|
||||
"placeholders": {
|
||||
"n": {
|
||||
|
|
@ -1194,7 +1194,7 @@
|
|||
}
|
||||
},
|
||||
"doctorSummaryDeclared": "declared",
|
||||
"doctorModulesPanelSummary": "{n} modules · {m} capabilities",
|
||||
"doctorModulesPanelSummary": "{n, plural, =1{1 module} other{{n} modules}} · {m, plural, =1{1 capability} other{{m} capabilities}}",
|
||||
"@doctorModulesPanelSummary": {
|
||||
"placeholders": {
|
||||
"n": {
|
||||
|
|
@ -1249,7 +1249,7 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"doctorChainPillOk": "Integrity chain v1",
|
||||
"doctorChainPillOk": "Integrity chain verified",
|
||||
"doctorChainPillTamper": "TAMPER",
|
||||
"doctorVerifyNow": "Verify now",
|
||||
"doctorRestart": "Restart",
|
||||
|
|
|
|||
|
|
@ -3359,7 +3359,7 @@ abstract class AppLocalizations {
|
|||
/// No description provided for @approvalsInboxHint.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'All caught up. New `system.approval@^0` steps land here automatically.'**
|
||||
/// **'All caught up. When a flow asks for a human approval, the request appears here automatically.'**
|
||||
String get approvalsInboxHint;
|
||||
|
||||
/// No description provided for @approvalsReloadTooltip.
|
||||
|
|
@ -3563,7 +3563,7 @@ abstract class AppLocalizations {
|
|||
/// No description provided for @doctorSummaryCapabilities.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'{n} capabilities'**
|
||||
/// **'{n, plural, =1{1 capability} other{{n} capabilities}}'**
|
||||
String doctorSummaryCapabilities(int n);
|
||||
|
||||
/// No description provided for @doctorSummaryPending.
|
||||
|
|
@ -3587,7 +3587,7 @@ abstract class AppLocalizations {
|
|||
/// No description provided for @doctorModulesPanelSummary.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'{n} modules · {m} capabilities'**
|
||||
/// **'{n, plural, =1{1 module} other{{n} modules}} · {m, plural, =1{1 capability} other{{m} capabilities}}'**
|
||||
String doctorModulesPanelSummary(int n, int m);
|
||||
|
||||
/// No description provided for @doctorApprovalsNone.
|
||||
|
|
@ -3695,7 +3695,7 @@ abstract class AppLocalizations {
|
|||
/// No description provided for @doctorChainPillOk.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Integrity chain v1'**
|
||||
/// **'Integrity chain verified'**
|
||||
String get doctorChainPillOk;
|
||||
|
||||
/// No description provided for @doctorChainPillTamper.
|
||||
|
|
|
|||
|
|
@ -1941,7 +1941,7 @@ class AppLocalizationsDe extends AppLocalizations {
|
|||
|
||||
@override
|
||||
String get approvalsInboxHint =>
|
||||
'Alles erledigt. Neue `system.approval@^0`-Schritte landen automatisch hier.';
|
||||
'Alles erledigt. Wenn ein Flow eine menschliche Freigabe verlangt, erscheint die Anfrage automatisch hier.';
|
||||
|
||||
@override
|
||||
String get approvalsReloadTooltip => 'Aktualisieren';
|
||||
|
|
@ -2063,7 +2063,13 @@ class AppLocalizationsDe extends AppLocalizations {
|
|||
|
||||
@override
|
||||
String doctorSummaryCapabilities(int n) {
|
||||
return '$n Fähigkeiten';
|
||||
String _temp0 = intl.Intl.pluralLogic(
|
||||
n,
|
||||
locale: localeName,
|
||||
other: '$n Fähigkeiten',
|
||||
one: '1 Fähigkeit',
|
||||
);
|
||||
return '$_temp0';
|
||||
}
|
||||
|
||||
@override
|
||||
|
|
@ -2079,7 +2085,19 @@ class AppLocalizationsDe extends AppLocalizations {
|
|||
|
||||
@override
|
||||
String doctorModulesPanelSummary(int n, int m) {
|
||||
return '$n Module · $m Fähigkeiten';
|
||||
String _temp0 = intl.Intl.pluralLogic(
|
||||
n,
|
||||
locale: localeName,
|
||||
other: '$n Module',
|
||||
one: '1 Modul',
|
||||
);
|
||||
String _temp1 = intl.Intl.pluralLogic(
|
||||
m,
|
||||
locale: localeName,
|
||||
other: '$m Fähigkeiten',
|
||||
one: '1 Fähigkeit',
|
||||
);
|
||||
return '$_temp0 · $_temp1';
|
||||
}
|
||||
|
||||
@override
|
||||
|
|
@ -2153,7 +2171,7 @@ class AppLocalizationsDe extends AppLocalizations {
|
|||
}
|
||||
|
||||
@override
|
||||
String get doctorChainPillOk => 'Integritätskette v1';
|
||||
String get doctorChainPillOk => 'Integritätskette geprüft';
|
||||
|
||||
@override
|
||||
String get doctorChainPillTamper => 'MANIPULIERT';
|
||||
|
|
|
|||
|
|
@ -1950,7 +1950,7 @@ class AppLocalizationsEn extends AppLocalizations {
|
|||
|
||||
@override
|
||||
String get approvalsInboxHint =>
|
||||
'All caught up. New `system.approval@^0` steps land here automatically.';
|
||||
'All caught up. When a flow asks for a human approval, the request appears here automatically.';
|
||||
|
||||
@override
|
||||
String get approvalsReloadTooltip => 'Reload';
|
||||
|
|
@ -2070,7 +2070,13 @@ class AppLocalizationsEn extends AppLocalizations {
|
|||
|
||||
@override
|
||||
String doctorSummaryCapabilities(int n) {
|
||||
return '$n capabilities';
|
||||
String _temp0 = intl.Intl.pluralLogic(
|
||||
n,
|
||||
locale: localeName,
|
||||
other: '$n capabilities',
|
||||
one: '1 capability',
|
||||
);
|
||||
return '$_temp0';
|
||||
}
|
||||
|
||||
@override
|
||||
|
|
@ -2086,7 +2092,19 @@ class AppLocalizationsEn extends AppLocalizations {
|
|||
|
||||
@override
|
||||
String doctorModulesPanelSummary(int n, int m) {
|
||||
return '$n modules · $m capabilities';
|
||||
String _temp0 = intl.Intl.pluralLogic(
|
||||
n,
|
||||
locale: localeName,
|
||||
other: '$n modules',
|
||||
one: '1 module',
|
||||
);
|
||||
String _temp1 = intl.Intl.pluralLogic(
|
||||
m,
|
||||
locale: localeName,
|
||||
other: '$m capabilities',
|
||||
one: '1 capability',
|
||||
);
|
||||
return '$_temp0 · $_temp1';
|
||||
}
|
||||
|
||||
@override
|
||||
|
|
@ -2160,7 +2178,7 @@ class AppLocalizationsEn extends AppLocalizations {
|
|||
}
|
||||
|
||||
@override
|
||||
String get doctorChainPillOk => 'Integrity chain v1';
|
||||
String get doctorChainPillOk => 'Integrity chain verified';
|
||||
|
||||
@override
|
||||
String get doctorChainPillTamper => 'TAMPER';
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ packages:
|
|||
path: "../fai_chain_studio_flow_editor"
|
||||
relative: true
|
||||
source: path
|
||||
version: "0.23.0"
|
||||
version: "0.24.0"
|
||||
characters:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue