Skip to content

Conversation

@andrewheard
Copy link
Contributor

@andrewheard andrewheard commented Nov 24, 2025

WIP - Currently only includes scaffolding types, not the macro itself.

Initial Implementation TODOs:

  • Add scaffolding for Generable protocols and types that align with Foundation Models.
  • Add manually written output that the macro should produce and verify that it compiles.
  • Serialize GenerationSchema in JSON Schema format.
  • Implement a basic Generable macro that produces the equivalent of the manually written code.
  • Implement value(...) methods in GeneratedContent to expose generated values.
  • Implement storage and serializing of GenerationGuide values in GenerationSchema.
  • Add a Guide "macro" and use it in the Generable macro to handle GenerationGuide annotations.
  • Add an equivalent of LanguageModelSession.Response with Gemini-specific additions (e.g., thoughtSummary).

#no-changelog

@google-oss-bot
Copy link

1 Warning
⚠️ New public headers were added, did you remember to add them to the umbrella header?

Generated by 🚫 Danger

andrewheard and others added 27 commits November 24, 2025 15:02
# Conflicts:
#	FirebaseAI/Sources/Types/Public/Generable/ModelOutput.swift
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants