Skip to content

Conversation

hsubox76
Copy link
Contributor

Keeping all window specific code except for checking typeof window out of the Node bundle.

Have index.ts (browser entry point) pass a chromeAdapterFactory to the AIService constructor. index.node.ts doesn't pass this so the Node bundle will not have any code referring to window.LanguageModel nor will it even have the entire ChromeAdapterImpl class. getGenerativeModel() will only call AIService.chromeAdapterFactory if it finds it. I screwed up casing initially on window.LanguageModel so it is important to test that chromeAdapterFactory actually instantiates the class right.

Also

@hsubox76 hsubox76 marked this pull request as ready for review August 25, 2025 22:31
@hsubox76 hsubox76 requested a review from a team as a code owner August 25, 2025 22:31
Copy link

changeset-bot bot commented Aug 26, 2025

🦋 Changeset detected

Latest commit: afe62fd

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 2 packages
Name Type
@firebase/ai Patch
firebase Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@hsubox76 hsubox76 requested review from a team as code owners August 26, 2025 15:55
@google-oss-bot
Copy link
Contributor

google-oss-bot commented Aug 26, 2025

Size Report 1

Affected Products

  • @firebase/ai

    TypeBase (c5f08a9)Merge (16e1163)Diff
    browser?46.2 kB? (?)
    main?49.3 kB? (?)
    module?46.2 kB? (?)
  • @firebase/analytics

    TypeBase (c5f08a9)Merge (16e1163)Diff
    browser?21.5 kB? (?)
    main?22.7 kB? (?)
    module?21.5 kB? (?)
  • @firebase/analytics-compat

    TypeBase (c5f08a9)Merge (16e1163)Diff
    browser?2.57 kB? (?)
    main?3.01 kB? (?)
    module?2.57 kB? (?)
  • @firebase/api-documenter

    TypeBase (c5f08a9)Merge (16e1163)Diff
    main?3.95 kB? (?)
  • @firebase/app

    TypeBase (c5f08a9)Merge (16e1163)Diff
    browser?19.6 kB? (?)
    main?20.5 kB? (?)
    module?19.6 kB? (?)
    react-native?20.5 kB? (?)
  • @firebase/app-check

    TypeBase (c5f08a9)Merge (16e1163)Diff
    browser?26.4 kB? (?)
    main?27.3 kB? (?)
    module?26.4 kB? (?)
  • @firebase/app-check-compat

    TypeBase (c5f08a9)Merge (16e1163)Diff
    browser?2.27 kB? (?)
    main?2.74 kB? (?)
    module?2.27 kB? (?)
  • @firebase/app-compat

    TypeBase (c5f08a9)Merge (16e1163)Diff
    browser?5.25 kB? (?)
    lite?4.06 kB? (?)
    main?5.82 kB? (?)
    module?5.25 kB? (?)
  • @firebase/auth

    TypeBase (c5f08a9)Merge (16e1163)Diff
    browser?188 kB? (?)
    cordova?161 kB? (?)
    main?144 kB? (?)
    module?188 kB? (?)
    react-native?161 kB? (?)
  • @firebase/auth-compat

    TypeBase (c5f08a9)Merge (16e1163)Diff
    browser?20.0 kB? (?)
    main?22.1 kB? (?)
    module?20.0 kB? (?)
  • @firebase/auth-cordova

    TypeBase (c5f08a9)Merge (16e1163)Diff
    browser?161 kB? (?)
    module?161 kB? (?)
  • @firebase/auth-web-extension

    TypeBase (c5f08a9)Merge (16e1163)Diff
    browser?139 kB? (?)
    main?155 kB? (?)
    module?139 kB? (?)
  • @firebase/auth/internal

    TypeBase (c5f08a9)Merge (16e1163)Diff
    browser?198 kB? (?)
    main?169 kB? (?)
    module?198 kB? (?)
  • @firebase/component

    TypeBase (c5f08a9)Merge (16e1163)Diff
    browser?6.38 kB? (?)
    main?6.72 kB? (?)
    module?6.38 kB? (?)
  • @firebase/data-connect

    TypeBase (c5f08a9)Merge (16e1163)Diff
    browser?21.3 kB? (?)
    main?23.6 kB? (?)
    module?21.3 kB? (?)
  • @firebase/database

    TypeBase (c5f08a9)Merge (16e1163)Diff
    browser?249 kB? (?)
    main?254 kB? (?)
    module?249 kB? (?)
  • @firebase/database-compat

    TypeBase (c5f08a9)Merge (16e1163)Diff
    browser?18.2 kB? (?)
    main?18.9 kB? (?)
    module?18.2 kB? (?)
  • @firebase/database-compat/standalone

    TypeBase (c5f08a9)Merge (16e1163)Diff
    main?366 kB? (?)
  • @firebase/firestore

    TypeBase (c5f08a9)Merge (16e1163)Diff
    browser?391 kB? (?)
    main?611 kB? (?)
    module?391 kB? (?)
    react-native?392 kB? (?)
  • @firebase/firestore-compat

    TypeBase (c5f08a9)Merge (16e1163)Diff
    browser?20.3 kB? (?)
    main?20.7 kB? (?)
    module?20.3 kB? (?)
    react-native?20.3 kB? (?)
  • @firebase/firestore-lite

    TypeBase (c5f08a9)Merge (16e1163)Diff
    browser?115 kB? (?)
    main?158 kB? (?)
    module?115 kB? (?)
    react-native?116 kB? (?)
  • @firebase/functions

    TypeBase (c5f08a9)Merge (16e1163)Diff
    browser?14.2 kB? (?)
    main?14.7 kB? (?)
    module?14.2 kB? (?)
  • @firebase/functions-compat

    TypeBase (c5f08a9)Merge (16e1163)Diff
    browser?1.73 kB? (?)
    main?2.07 kB? (?)
    module?1.73 kB? (?)
  • @firebase/installations

    TypeBase (c5f08a9)Merge (16e1163)Diff
    browser?17.6 kB? (?)
    main?18.2 kB? (?)
    module?17.6 kB? (?)
  • @firebase/installations-compat

    TypeBase (c5f08a9)Merge (16e1163)Diff
    browser?945 B? (?)
    main?1.27 kB? (?)
    module?945 B? (?)
  • @firebase/logger

    TypeBase (c5f08a9)Merge (16e1163)Diff
    main?3.78 kB? (?)
    module?3.21 kB? (?)
  • @firebase/messaging

    TypeBase (c5f08a9)Merge (16e1163)Diff
    browser?21.5 kB? (?)
    main?22.0 kB? (?)
    module?21.5 kB? (?)
  • @firebase/messaging-compat

    TypeBase (c5f08a9)Merge (16e1163)Diff
    browser?2.08 kB? (?)
    main?2.43 kB? (?)
    module?2.08 kB? (?)
  • @firebase/messaging-sw

    TypeBase (c5f08a9)Merge (16e1163)Diff
    main?23.3 kB? (?)
    module?22.8 kB? (?)
  • @firebase/performance

    TypeBase (c5f08a9)Merge (16e1163)Diff
    browser?31.2 kB? (?)
    main?31.7 kB? (?)
    module?31.2 kB? (?)
  • @firebase/performance-compat

    TypeBase (c5f08a9)Merge (16e1163)Diff
    browser?1.10 kB? (?)
    main?1.42 kB? (?)
    module?1.10 kB? (?)
  • @firebase/remote-config

    TypeBase (c5f08a9)Merge (16e1163)Diff
    browser?22.7 kB? (?)
    main?23.9 kB? (?)
    module?22.7 kB? (?)
  • @firebase/remote-config-compat

    TypeBase (c5f08a9)Merge (16e1163)Diff
    browser?1.85 kB? (?)
    main?2.18 kB? (?)
    module?1.85 kB? (?)
  • @firebase/rules-unit-testing

    TypeBase (c5f08a9)Merge (16e1163)Diff
    main?11.7 kB? (?)
  • @firebase/storage

    TypeBase (c5f08a9)Merge (16e1163)Diff
    browser?58.3 kB? (?)
    main?59.8 kB? (?)
    module?58.3 kB? (?)
  • @firebase/storage-compat

    TypeBase (c5f08a9)Merge (16e1163)Diff
    browser?5.66 kB? (?)
    main?6.04 kB? (?)
    module?5.66 kB? (?)
  • @firebase/util

    TypeBase (c5f08a9)Merge (16e1163)Diff
    browser?29.1 kB? (?)
    main?35.5 kB? (?)
    module?29.1 kB? (?)
  • @firebase/webchannel-wrapper

    TypeBase (c5f08a9)Merge (16e1163)Diff
    main?38 B? (?)
  • @firebase/webchannel-wrapper/bloom-blob

    TypeBase (c5f08a9)Merge (16e1163)Diff
    browser?11.1 kB? (?)
    main?11.1 kB? (?)
    module?11.1 kB? (?)
  • @firebase/webchannel-wrapper/webchannel-blob

    TypeBase (c5f08a9)Merge (16e1163)Diff
    browser?42.2 kB? (?)
    main?42.2 kB? (?)
    module?42.2 kB? (?)
  • bundle

    46 size changes

    TypeBase (c5f08a9)Merge (16e1163)Diff
    analytics (logEvent)?43.8 kB? (?)
    app-check (CustomProvider)?37.2 kB? (?)
    app-check (ReCaptchaEnterpriseProvider)?39.6 kB? (?)
    app-check (ReCaptchaV3Provider)?39.6 kB? (?)
    auth (Anonymous)?74.8 kB? (?)
    auth (EmailAndPassword)?84.5 kB? (?)
    auth (GoogleFBTwitterGitHubPopup)?105 kB? (?)
    auth (GooglePopup)?98.1 kB? (?)
    auth (GoogleRedirect)?98.3 kB? (?)
    auth (Phone)?91.7 kB? (?)
    database (Append to a list of data)?154 kB? (?)
    database (Filtering data)?153 kB? (?)
    database (Listen for child events)?169 kB? (?)
    database (Listen for value events + Detach listeners)?169 kB? (?)
    database (Listen for value events)?169 kB? (?)
    database (Read data once)?168 kB? (?)
    database (Save data as transactions)?171 kB? (?)
    database (Sort data)?154 kB? (?)
    database (Write data)?153 kB? (?)
    firestore (CSI Auto Indexing Disable and Delete)?287 kB? (?)
    firestore (CSI Auto Indexing Enable)?287 kB? (?)
    firestore (Persistence)?319 kB? (?)
    firestore (Query Cursors)?258 kB? (?)
    firestore (Query)?256 kB? (?)
    firestore (Read data once)?246 kB? (?)
    firestore (Read Write w Persistence)?339 kB? (?)
    firestore (Realtime updates)?246 kB? (?)
    firestore (Transaction)?224 kB? (?)
    firestore (Write data)?226 kB? (?)
    firestore-lite (Query Cursors)?110 kB? (?)
    firestore-lite (Query)?106 kB? (?)
    firestore-lite (Read data once)?81.5 kB? (?)
    firestore-lite (Transaction)?107 kB? (?)
    firestore-lite (Write data)?91.0 kB? (?)
    functions (call)?38.7 kB? (?)
    messaging (send + receive)?46.4 kB? (?)
    performance (trace)?62.1 kB? (?)
    remote-config (getAndFetch)?47.8 kB? (?)
    storage (getBytes)?46.6 kB? (?)
    storage (getDownloadURL)?48.7 kB? (?)
    storage (getMetadata)?48.1 kB? (?)
    storage (list + listAll)?47.5 kB? (?)
    storage (updateMetadata)?48.4 kB? (?)
    storage (uploadBytes)?53.2 kB? (?)
    storage (uploadBytesResumable)?63.1 kB? (?)
    storage (uploadString)?53.4 kB? (?)

  • firebase

    32 size changes

    TypeBase (c5f08a9)Merge (16e1163)Diff
    firebase-ai.js?35.9 kB? (?)
    firebase-analytics-compat.js?25.4 kB? (?)
    firebase-analytics.js?29.3 kB? (?)
    firebase-app-check-compat.js?22.8 kB? (?)
    firebase-app-check.js?25.0 kB? (?)
    firebase-app-compat.js?31.6 kB? (?)
    firebase-app.js?103 kB? (?)
    firebase-auth-compat.js?142 kB? (?)
    firebase-auth-cordova.js?139 kB? (?)
    firebase-auth-web-extension.js?122 kB? (?)
    firebase-auth.js?159 kB? (?)
    firebase-compat.js?800 kB? (?)
    firebase-data-connect.js?22.5 kB? (?)
    firebase-database-compat.js?168 kB? (?)
    firebase-database.js?192 kB? (?)
    firebase-firestore-compat.js?349 kB? (?)
    firebase-firestore-lite.js?138 kB? (?)
    firebase-firestore.js?455 kB? (?)
    firebase-functions-compat.js?14.8 kB? (?)
    firebase-functions.js?19.5 kB? (?)
    firebase-installations-compat.js?12.7 kB? (?)
    firebase-installations.js?15.0 kB? (?)
    firebase-messaging-compat.js?36.3 kB? (?)
    firebase-messaging-sw.js?29.3 kB? (?)
    firebase-messaging.js?28.6 kB? (?)
    firebase-performance-compat.js?40.3 kB? (?)
    firebase-performance-standalone-compat.js?105 kB? (?)
    firebase-performance.js?45.6 kB? (?)
    firebase-remote-config-compat.js?27.9 kB? (?)
    firebase-remote-config.js?32.2 kB? (?)
    firebase-storage-compat.js?44.2 kB? (?)
    firebase-storage.js?51.1 kB? (?)

  • functions

    TypeBase (c5f08a9)Merge (16e1163)Diff
    main?46 B? (?)

Test Logs

  1. https://storage.googleapis.com/firebase-sdk-metric-reports/yFae865FBC.html

@google-oss-bot
Copy link
Contributor

google-oss-bot commented Aug 26, 2025

Size Analysis Report 1

This report is too large (86,235 characters) to be displayed here in a GitHub comment. Please use the below link to see the full report on Google Cloud Storage.

Test Logs

  1. https://storage.googleapis.com/firebase-sdk-metric-reports/2r72YglhHU.html

@hsubox76 hsubox76 merged commit cbef6c6 into main Aug 26, 2025
36 of 38 checks passed
@hsubox76 hsubox76 deleted the ch-ai-hybrid-node branch August 26, 2025 16:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants