-
Notifications
You must be signed in to change notification settings - Fork 56
Bump firebase_core, firebase_ai, firebase_auth and firebase_app_check in /pkgs/genui_client #6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bump firebase_core, firebase_ai, firebase_auth and firebase_app_check in /pkgs/genui_client #6
Conversation
This commit completes the migration from a WebSocket-based server to an in-process AI server running in a Dart isolate. The following changes are included: - The client now spawns an isolate for the AI server. - Communication between the client and server is handled using json_rpc_2 over a StreamChannel. - UI event handling is implemented to allow user interactions to be sent to the server. - Error handling is added to gracefully manage exceptions from the AI client. - Tests have been updated to reflect the new architecture, including tests for UI events and error conditions.
Create example app.
This change introduces the core functionality of the application, allowing for the dynamic generation of user interfaces from a JSON definition provided by a generative AI model. It includes the necessary schema, models, and UI rendering logic to support a variety of Flutter widgets. User interactions are now fed back to the AI, enabling stateful and interactive application experiences.
This commit refactors the application's core purpose from a general UI generator to a more focused tool for creating elicitation UIs in response to user queries. The app now functions as a chat-based experience where the AI can either respond with text or generate a UI to gather more information. Key changes include: - **Schema and Server Logic:** The output schema was fundamentally changed to support a list of actions (`add`, `update`, `delete`) on UI surfaces, rather than a single UI definition. This allows the AI to manipulate multiple UI elements in the chat history at once. The server logic was updated to handle these actions and manage conversation history across multiple surfaces. - **Elicitation-focused Prompting:** Prompts sent to the AI, especially in response to UI events, have been updated to guide the model towards eliciting information and updating the UI accordingly. - **Chat-like UI:** The main UI was refactored to support a chat history that can contain both text responses from the AI and dynamic UI surfaces. This includes the ability to add, update, and delete UIs from the history. - **Event Handling:** The UI event handling was improved by re-introducing a debouncer to coalesce rapid events like text field changes, reducing the number of calls to the AI. - **Testing:** The entire test suite was overhauled to reflect the new application architecture. This included updating the to produce action-based responses and modifying tests to handle the asynchronous nature of the UI updates.
Bumps [firebase_core](https://github.com/firebase/flutterfire/tree/main/packages/firebase_core), firebase_ai, [firebase_auth](https://github.com/firebase/flutterfire/tree/main/packages/firebase_auth) and [firebase_app_check](https://github.com/firebase/flutterfire/tree/main/packages/firebase_app_check). These dependencies needed to be updated together. Updates `firebase_core` from 3.15.2 to 4.0.0 - [Release notes](https://github.com/firebase/flutterfire/releases) - [Commits](https://github.com/firebase/flutterfire/commits/firebase_core-v4.0.0/packages/firebase_core) Updates `firebase_ai` from 2.3.0 to 3.0.0 Updates `firebase_auth` from 5.7.0 to 6.0.0 - [Release notes](https://github.com/firebase/flutterfire/releases) - [Commits](https://github.com/firebase/flutterfire/commits/firebase_auth-v6.0.0/packages/firebase_auth) Updates `firebase_app_check` from 0.3.2+10 to 0.4.0 - [Release notes](https://github.com/firebase/flutterfire/releases) - [Commits](https://github.com/firebase/flutterfire/commits/firebase_app_check-v0.4.0/packages/firebase_app_check) --- updated-dependencies: - dependency-name: firebase_core dependency-version: 4.0.0 dependency-type: direct:production update-type: version-update:semver-major - dependency-name: firebase_ai dependency-version: 3.0.0 dependency-type: direct:production update-type: version-update:semver-major - dependency-name: firebase_auth dependency-version: 6.0.0 dependency-type: direct:production update-type: version-update:semver-major - dependency-name: firebase_app_check dependency-version: 0.4.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
LabelsThe following labels could not be found: Please fix the above issues or remove invalid values from |
|
Dependabot couldn't find a pubspec.yaml. Because of this, Dependabot cannot update this pull request. |
7 similar comments
|
Dependabot couldn't find a pubspec.yaml. Because of this, Dependabot cannot update this pull request. |
|
Dependabot couldn't find a pubspec.yaml. Because of this, Dependabot cannot update this pull request. |
|
Dependabot couldn't find a pubspec.yaml. Because of this, Dependabot cannot update this pull request. |
|
Dependabot couldn't find a pubspec.yaml. Because of this, Dependabot cannot update this pull request. |
|
Dependabot couldn't find a pubspec.yaml. Because of this, Dependabot cannot update this pull request. |
|
Dependabot couldn't find a pubspec.yaml. Because of this, Dependabot cannot update this pull request. |
|
Dependabot couldn't find a pubspec.yaml. Because of this, Dependabot cannot update this pull request. |
|
Dependabot couldn't find a pubspec.yaml. Because of this, Dependabot cannot update this pull request. |
1 similar comment
|
Dependabot couldn't find a pubspec.yaml. Because of this, Dependabot cannot update this pull request. |
|
OK, I won't notify you again about this release, but will get in touch when a new version is available. You can also ignore all major, minor, or patch releases for a dependency by adding an If you change your mind, just re-open this PR and I'll resolve any conflicts on it. |
Bumps firebase_core, firebase_ai, firebase_auth and firebase_app_check. These dependencies needed to be updated together.
Updates
firebase_corefrom 3.15.2 to 4.0.0Commits
5129db5chore(release): publish packagesb2619e6feat!: bump iOS SDK to version 12.0.0 (#17549)a5bdc05feat!: bump Android SDK to version 34.0.0 (#17554)b44c965feat!: bump JS SDK to version 12.0.0 (#17548)45028c9ci(apple): fix e2e test runner suite that passes but returns as failure (#17440)db7e829chore(release): publish packages (#17541)Updates
firebase_aifrom 2.3.0 to 3.0.0Updates
firebase_authfrom 5.7.0 to 6.0.0Commits
5129db5chore(release): publish packagesb2619e6feat!: bump iOS SDK to version 12.0.0 (#17549)d50aad9feat(auth)!: remove deprecated functions (#17562)a5bdc05feat!: bump Android SDK to version 34.0.0 (#17554)9a032b3feat(auth): validatePassword method/PasswordPolicy Support (#17439)db7e829chore(release): publish packages (#17541)Updates
firebase_app_checkfrom 0.3.2+10 to 0.4.0Commits
5129db5chore(release): publish packagesb2619e6feat!: bump iOS SDK to version 12.0.0 (#17549)3e4302cfeat(app-check)!: remove deprecated functions (#17561)a5bdc05feat!: bump Android SDK to version 34.0.0 (#17554)db7e829chore(release): publish packages (#17541)8768856chore(release): publish packages (#17486)96d2663chore(release): publish packages (#17475)8b467e1chore: update AGP to 8.3.0 and Gradle to 8.4 (#17427)ebfecc7chore(release): publish packages (#17415)95e624cchore(deps): Unify versions into global config and update AGP version to 8.2....Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)