Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 1 addition & 7 deletions pkgs/examples/travel_app/lib/app.dart
Original file line number Diff line number Diff line change
@@ -1,11 +1,5 @@
import 'package:flutter/material.dart';

import '../../../flutter_genui/lib/sdk/agent/agent.dart';
import '../../../flutter_genui/lib/sdk/catalog/shared/genui_widget.dart';

import '../../../flutter_genui/lib/sdk/model/controller.dart';
import '../../../flutter_genui/lib/sdk/model/input.dart';
import '../../../flutter_genui/lib/sdk/model/simple_items.dart';
import 'package:flutter_genui/flutter_genui.dart';

class MyApp extends StatelessWidget {
const MyApp({super.key});
Expand Down
18 changes: 9 additions & 9 deletions pkgs/examples/travel_app/macos/Runner.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@
331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = "<group>"; };
333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = "<group>"; };
335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = "<group>"; };
33CC10ED2044A3C60003C045 /* example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "example.app"; sourceTree = BUILT_PRODUCTS_DIR; };
33CC10ED2044A3C60003C045 /* tmp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "tmp.app"; sourceTree = BUILT_PRODUCTS_DIR; };
33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = "<group>"; };
33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = "<group>"; };
Expand Down Expand Up @@ -131,7 +131,7 @@
33CC10EE2044A3C60003C045 /* Products */ = {
isa = PBXGroup;
children = (
33CC10ED2044A3C60003C045 /* example.app */,
33CC10ED2044A3C60003C045 /* tmp.app */,
331C80D5294CF71000263BE5 /* RunnerTests.xctest */,
);
name = Products;
Expand Down Expand Up @@ -217,7 +217,7 @@
);
name = Runner;
productName = Runner;
productReference = 33CC10ED2044A3C60003C045 /* example.app */;
productReference = 33CC10ED2044A3C60003C045 /* tmp.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
Expand Down Expand Up @@ -385,10 +385,10 @@
CURRENT_PROJECT_VERSION = 1;
GENERATE_INFOPLIST_FILE = YES;
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.example.example.RunnerTests;
PRODUCT_BUNDLE_IDENTIFIER = com.example.tmp.RunnerTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/example.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/example";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/tmp.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/tmp";
};
name = Debug;
};
Expand All @@ -399,10 +399,10 @@
CURRENT_PROJECT_VERSION = 1;
GENERATE_INFOPLIST_FILE = YES;
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.example.example.RunnerTests;
PRODUCT_BUNDLE_IDENTIFIER = com.example.tmp.RunnerTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/example.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/example";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/tmp.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/tmp";
};
name = Release;
};
Expand All @@ -413,10 +413,10 @@
CURRENT_PROJECT_VERSION = 1;
GENERATE_INFOPLIST_FILE = YES;
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.example.example.RunnerTests;
PRODUCT_BUNDLE_IDENTIFIER = com.example.tmp.RunnerTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/example.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/example";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/tmp.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/tmp";
};
name = Profile;
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "33CC10EC2044A3C60003C045"
BuildableName = "example.app"
BuildableName = "tmp.app"
BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
Expand All @@ -31,7 +31,7 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "33CC10EC2044A3C60003C045"
BuildableName = "example.app"
BuildableName = "tmp.app"
BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
Expand Down Expand Up @@ -66,7 +66,7 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "33CC10EC2044A3C60003C045"
BuildableName = "example.app"
BuildableName = "tmp.app"
BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
Expand All @@ -83,7 +83,7 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "33CC10EC2044A3C60003C045"
BuildableName = "example.app"
BuildableName = "tmp.app"
BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
Expand Down
4 changes: 2 additions & 2 deletions pkgs/examples/travel_app/macos/Runner/Base.lproj/MainMenu.xib
Original file line number Diff line number Diff line change
Expand Up @@ -332,10 +332,10 @@
</menu>
<window title="APP_NAME" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" animationBehavior="default" id="QvC-M9-y7g" customClass="MainFlutterWindow" customModule="Runner" customModuleProvider="target">
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/>
<rect key="contentRect" x="335" y="390" width="350" height="600"/>
<rect key="contentRect" x="335" y="390" width="800" height="600"/>
<rect key="screenRect" x="0.0" y="0.0" width="2560" height="1577"/>
<view key="contentView" wantsLayer="YES" id="EiT-Mj-1SZ">
<rect key="frame" x="0.0" y="0.0" width="350" height="600"/>
<rect key="frame" x="0.0" y="0.0" width="800" height="600"/>
<autoresizingMask key="autoresizingMask"/>
</view>
</window>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@
// 'flutter create' template.

// The application's name. By default this is also the title of the Flutter window.
PRODUCT_NAME = example
PRODUCT_NAME = tmp

// The application's bundle identifier
PRODUCT_BUNDLE_IDENTIFIER = com.example.example
PRODUCT_BUNDLE_IDENTIFIER = com.example.tmp

// The copyright displayed in application information
PRODUCT_COPYRIGHT = Copyright © 2025 com.example. All rights reserved.
2 changes: 2 additions & 0 deletions pkgs/examples/travel_app/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ environment:
dependencies:
flutter:
sdk: flutter
flutter_genui:
path: ../../flutter_genui

dev_dependencies:
dart_flutter_team_lints: ^3.5.2
Expand Down
1 change: 1 addition & 0 deletions pkgs/flutter_genui/lib/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Files and folders, that are not exported, are prefixed with '_'.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import 'package:flutter/material.dart';

import '../../model/input.dart';
import '../../model/simple_items.dart';
import '../../model/_simple_items.dart';
import '../shared/text_styles.dart';

const double _imageSize = 190;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import 'package:flutter/material.dart';

import '../../model/simple_items.dart';
import '../../model/_simple_items.dart';

class Filter extends StatefulWidget {
const Filter(this.data, {super.key});
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import 'package:flutter/material.dart';

import '../../model/simple_items.dart';
import '../../model/_simple_items.dart';
import '../shared/text_styles.dart';

class TextIntro extends StatelessWidget {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import 'package:flutter/material.dart';

import '../../model/controller.dart';
import '../../model/input.dart';
import '../../model/simple_items.dart';
import '../../model/_simple_items.dart';
import '../elements/filter.dart';
import '../elements/text_intro.dart';
import '../shared/genui_widget.dart';
Expand Down Expand Up @@ -32,7 +32,7 @@ class _ElicitationState extends State<Elicitation> {
Filter(widget.data.filterData),

const SizedBox(height: 16.0),
GenUiWidget(widget.controller),
GenUiWidgetInternal(widget.controller),
],
);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import 'package:flutter/material.dart';

import '../../model/controller.dart';
import '../../model/input.dart';
import '../../model/simple_items.dart';
import '../../model/_simple_items.dart';
import '../elements/carousel.dart';
import '../elements/text_intro.dart';
import '../shared/genui_widget.dart';
Expand Down Expand Up @@ -36,7 +36,7 @@ class _InvitationState extends State<Invitation> {
Carousel(CarouselData(items: widget.data.exploreItems), onInput),
const SizedBox(height: 16.0),

GenUiWidget(widget.genUi),
GenUiWidgetInternal(widget.genUi),
],
);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,18 @@ import 'package:flutter/material.dart';

import '../../model/controller.dart';
import '../../model/input.dart';
import '../elements/chat_box.dart';
import 'chat_box.dart';

class GenUiWidget extends StatefulWidget {
GenUiWidget(this.controller);
class GenUiWidgetInternal extends StatefulWidget {
GenUiWidgetInternal(this.controller);

final GenUiController controller;

@override
State<GenUiWidget> createState() => _GenUiWidgetState();
State<GenUiWidgetInternal> createState() => _GenUiWidgetInternalState();
}

class _GenUiWidgetState extends State<GenUiWidget> {
class _GenUiWidgetInternalState extends State<GenUiWidgetInternal> {
Input? _input;
WidgetBuilder? _builder;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import 'package:flutter/material.dart';

import '../catalog/elements/carousel.dart';
import '../catalog/elements/filter.dart';
import '../catalog/elements/text_intro.dart';
import '../catalog/messages/elicitation.dart';
import '../catalog/messages/invitation.dart';
import '../_catalog/elements/carousel.dart';
import '../_catalog/elements/filter.dart';
import '../_catalog/elements/text_intro.dart';
import '../_catalog/messages/elicitation.dart';
import '../_catalog/messages/invitation.dart';

final fakeInvitationData = InvitationData(
textIntroData: TextIntroData(
Expand Down
21 changes: 16 additions & 5 deletions pkgs/flutter_genui/lib/agent/agent.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,24 @@ import 'dart:async';

import 'package:flutter/widgets.dart';

import '../catalog/messages/elicitation.dart';
import '../catalog/messages/invitation.dart';
import '../_catalog/messages/elicitation.dart';
import '../_catalog/messages/invitation.dart';
import '../_catalog/shared/genui_widget.dart';
import '../_primitives/utils.dart';
import '../model/_simple_items.dart';
import '../model/controller.dart';
import '../model/input.dart';
import '../model/simple_items.dart';
import '../primitives/utils.dart';
import 'fake_output.dart';
import '_fake_output.dart';

class GenUiWidget extends StatelessWidget {
const GenUiWidget(this.controller, {super.key});
final GenUiController controller;

@override
Widget build(BuildContext context) {
return GenUiWidgetInternal(controller);
}
}

class GenUiAgent {
GenUiAgent(this.controller);
Expand Down
4 changes: 4 additions & 0 deletions pkgs/flutter_genui/lib/flutter_genui.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
export 'agent/agent.dart';
export 'model/controller.dart';
export 'model/image_catalog.dart';
export 'model/input.dart';
16 changes: 0 additions & 16 deletions pkgs/flutter_genui/lib/model/DEPENDENCIES.md

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,3 +1 @@
abstract class WidgetData {}

class ImageCatalog {}
3 changes: 2 additions & 1 deletion pkgs/flutter_genui/lib/model/controller.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@ import 'dart:async';
import 'package:flutter/widgets.dart';

import 'input.dart';
import 'simple_items.dart';
import '_simple_items.dart';
import 'image_catalog.dart';

typedef InputCallback = void Function(Input input);

Expand Down
1 change: 1 addition & 0 deletions pkgs/flutter_genui/lib/model/image_catalog.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
class ImageCatalog {}
2 changes: 0 additions & 2 deletions pkgs/flutter_genui/test/genui_test.dart
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
import 'package:flutter_test/flutter_test.dart';

import 'package:flutter_genui/flutter_genui.dart';

void main() {
test('boilerplate', () {
expect(true, true);
Expand Down