feat(studio): guided-setup wizard (reuses chain init engine)
A Welcome 'Setup assistant' button opens a wizard that collects scenario / intent / target (+ approval & data-local toggles), then calls `chain init --answers` to preview the assembled plan and `--apply --force` to write the config — reusing the Rust deterministic engine, no logic duplicated. New SystemActions.chainInit; copyable errors via showFaiProcessError; EN+DE l10n. analyze clean; smoke test + existing welcome/sidebar tests pass. Signed-off-by: flemming-it <stefan.a.flemming@googlemail.com>
This commit is contained in:
parent
36a8252f67
commit
c9fa068991
9 changed files with 509 additions and 0 deletions
|
|
@ -1,5 +1,19 @@
|
|||
{
|
||||
"@@locale": "de",
|
||||
"guidedSetupTitle": "Setup-Assistent",
|
||||
"guidedSetupIntro": "Beantworte drei Fragen — Ch∆In stellt passende Konfiguration, Modul-Set und Start-Flow zusammen.",
|
||||
"guidedSetupScenario": "Szenario",
|
||||
"guidedSetupIntent": "Aufgabe",
|
||||
"guidedSetupTarget": "Wo läuft es?",
|
||||
"guidedSetupApproval": "Menschlichen Freigabe-Schritt vor dem KI-Schritt verlangen",
|
||||
"guidedSetupDataLocal": "Daten müssen lokal bleiben (air-gapped)",
|
||||
"guidedSetupReviewHeading": "Diesen Plan wird Ch∆In anwenden:",
|
||||
"guidedSetupApply": "Setup übernehmen",
|
||||
"guidedSetupApplied": "Setup übernommen. Schließe mit den Schritten unten ab:",
|
||||
"guidedSetupBack": "Zurück",
|
||||
"guidedSetupNext": "Weiter",
|
||||
"guidedSetupCancel": "Abbrechen",
|
||||
"guidedSetupClose": "Schließen",
|
||||
"appTitle": "Ch∆In Studio",
|
||||
"navWelcome": "Willkommen",
|
||||
"welcomeHeroTitle": "Ch∆In Platform",
|
||||
|
|
|
|||
|
|
@ -1,5 +1,19 @@
|
|||
{
|
||||
"@@locale": "en",
|
||||
"guidedSetupTitle": "Setup assistant",
|
||||
"guidedSetupIntro": "Answer three questions and Ch∆In assembles a tailored config, module set and starter flow.",
|
||||
"guidedSetupScenario": "Scenario",
|
||||
"guidedSetupIntent": "Task",
|
||||
"guidedSetupTarget": "Where will it run?",
|
||||
"guidedSetupApproval": "Require a human approval step before the AI step",
|
||||
"guidedSetupDataLocal": "Data must stay local (air-gapped posture)",
|
||||
"guidedSetupReviewHeading": "This is the plan Ch∆In will apply:",
|
||||
"guidedSetupApply": "Apply setup",
|
||||
"guidedSetupApplied": "Setup applied. Finish with the steps below:",
|
||||
"guidedSetupBack": "Back",
|
||||
"guidedSetupNext": "Next",
|
||||
"guidedSetupCancel": "Cancel",
|
||||
"guidedSetupClose": "Close",
|
||||
"appTitle": "Ch∆In Studio",
|
||||
"@appTitle": {
|
||||
"description": "App-bar title in the OS task switcher."
|
||||
|
|
|
|||
|
|
@ -98,6 +98,90 @@ abstract class AppLocalizations {
|
|||
Locale('en'),
|
||||
];
|
||||
|
||||
/// No description provided for @guidedSetupTitle.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Setup assistant'**
|
||||
String get guidedSetupTitle;
|
||||
|
||||
/// No description provided for @guidedSetupIntro.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Answer three questions and Ch∆In assembles a tailored config, module set and starter flow.'**
|
||||
String get guidedSetupIntro;
|
||||
|
||||
/// No description provided for @guidedSetupScenario.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Scenario'**
|
||||
String get guidedSetupScenario;
|
||||
|
||||
/// No description provided for @guidedSetupIntent.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Task'**
|
||||
String get guidedSetupIntent;
|
||||
|
||||
/// No description provided for @guidedSetupTarget.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Where will it run?'**
|
||||
String get guidedSetupTarget;
|
||||
|
||||
/// No description provided for @guidedSetupApproval.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Require a human approval step before the AI step'**
|
||||
String get guidedSetupApproval;
|
||||
|
||||
/// No description provided for @guidedSetupDataLocal.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Data must stay local (air-gapped posture)'**
|
||||
String get guidedSetupDataLocal;
|
||||
|
||||
/// No description provided for @guidedSetupReviewHeading.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'This is the plan Ch∆In will apply:'**
|
||||
String get guidedSetupReviewHeading;
|
||||
|
||||
/// No description provided for @guidedSetupApply.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Apply setup'**
|
||||
String get guidedSetupApply;
|
||||
|
||||
/// No description provided for @guidedSetupApplied.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Setup applied. Finish with the steps below:'**
|
||||
String get guidedSetupApplied;
|
||||
|
||||
/// No description provided for @guidedSetupBack.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Back'**
|
||||
String get guidedSetupBack;
|
||||
|
||||
/// No description provided for @guidedSetupNext.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Next'**
|
||||
String get guidedSetupNext;
|
||||
|
||||
/// No description provided for @guidedSetupCancel.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Cancel'**
|
||||
String get guidedSetupCancel;
|
||||
|
||||
/// No description provided for @guidedSetupClose.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Close'**
|
||||
String get guidedSetupClose;
|
||||
|
||||
/// App-bar title in the OS task switcher.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
|
|
|
|||
|
|
@ -8,6 +8,51 @@ import 'app_localizations.dart';
|
|||
class AppLocalizationsDe extends AppLocalizations {
|
||||
AppLocalizationsDe([String locale = 'de']) : super(locale);
|
||||
|
||||
@override
|
||||
String get guidedSetupTitle => 'Setup-Assistent';
|
||||
|
||||
@override
|
||||
String get guidedSetupIntro =>
|
||||
'Beantworte drei Fragen — Ch∆In stellt passende Konfiguration, Modul-Set und Start-Flow zusammen.';
|
||||
|
||||
@override
|
||||
String get guidedSetupScenario => 'Szenario';
|
||||
|
||||
@override
|
||||
String get guidedSetupIntent => 'Aufgabe';
|
||||
|
||||
@override
|
||||
String get guidedSetupTarget => 'Wo läuft es?';
|
||||
|
||||
@override
|
||||
String get guidedSetupApproval =>
|
||||
'Menschlichen Freigabe-Schritt vor dem KI-Schritt verlangen';
|
||||
|
||||
@override
|
||||
String get guidedSetupDataLocal => 'Daten müssen lokal bleiben (air-gapped)';
|
||||
|
||||
@override
|
||||
String get guidedSetupReviewHeading => 'Diesen Plan wird Ch∆In anwenden:';
|
||||
|
||||
@override
|
||||
String get guidedSetupApply => 'Setup übernehmen';
|
||||
|
||||
@override
|
||||
String get guidedSetupApplied =>
|
||||
'Setup übernommen. Schließe mit den Schritten unten ab:';
|
||||
|
||||
@override
|
||||
String get guidedSetupBack => 'Zurück';
|
||||
|
||||
@override
|
||||
String get guidedSetupNext => 'Weiter';
|
||||
|
||||
@override
|
||||
String get guidedSetupCancel => 'Abbrechen';
|
||||
|
||||
@override
|
||||
String get guidedSetupClose => 'Schließen';
|
||||
|
||||
@override
|
||||
String get appTitle => 'Ch∆In Studio';
|
||||
|
||||
|
|
|
|||
|
|
@ -8,6 +8,52 @@ import 'app_localizations.dart';
|
|||
class AppLocalizationsEn extends AppLocalizations {
|
||||
AppLocalizationsEn([String locale = 'en']) : super(locale);
|
||||
|
||||
@override
|
||||
String get guidedSetupTitle => 'Setup assistant';
|
||||
|
||||
@override
|
||||
String get guidedSetupIntro =>
|
||||
'Answer three questions and Ch∆In assembles a tailored config, module set and starter flow.';
|
||||
|
||||
@override
|
||||
String get guidedSetupScenario => 'Scenario';
|
||||
|
||||
@override
|
||||
String get guidedSetupIntent => 'Task';
|
||||
|
||||
@override
|
||||
String get guidedSetupTarget => 'Where will it run?';
|
||||
|
||||
@override
|
||||
String get guidedSetupApproval =>
|
||||
'Require a human approval step before the AI step';
|
||||
|
||||
@override
|
||||
String get guidedSetupDataLocal =>
|
||||
'Data must stay local (air-gapped posture)';
|
||||
|
||||
@override
|
||||
String get guidedSetupReviewHeading => 'This is the plan Ch∆In will apply:';
|
||||
|
||||
@override
|
||||
String get guidedSetupApply => 'Apply setup';
|
||||
|
||||
@override
|
||||
String get guidedSetupApplied =>
|
||||
'Setup applied. Finish with the steps below:';
|
||||
|
||||
@override
|
||||
String get guidedSetupBack => 'Back';
|
||||
|
||||
@override
|
||||
String get guidedSetupNext => 'Next';
|
||||
|
||||
@override
|
||||
String get guidedSetupCancel => 'Cancel';
|
||||
|
||||
@override
|
||||
String get guidedSetupClose => 'Close';
|
||||
|
||||
@override
|
||||
String get appTitle => 'Ch∆In Studio';
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue