Skip to content

Data Connect SDK generation with llmTools option does not support Enums #8929

@mickeywu

Description

@mickeywu

[REQUIRED] Environment info

firebase-tools:

14.11.2

Platform:

Ubuntu

[REQUIRED] Test case

firebase dataconnect:sdk:generate fails to generate the JSON file for tool consumption (using llmTools) if Enums are used in the schema.

Data Connect support for Enums was introduced recently. It works as intended in the app, just not with llmOptions.

Without llmOptions, firebase dataconnect:sdk:generate works with Enums and succeeds as intended.

[REQUIRED] Steps to reproduce

A simple test schema can be used (from the blog article):

enum Language {
  ENGLISH
  FRENCH
  SPANISH
  GERMAN
  JAPANESE
  "Languages not defined above"
  OTHER_LANGUAGES
}

type Movie
  @table {
  title: String! 
  genre: String 
  description: String 
  originalLanguage: Language! @default(value: ENGLISH)
  availableLanguages: [Language!]
}

Specify llmOptions in connector.yaml:

connectorId: default
generate:
  javascriptSdk:
    outputDir: ../../dataconnect-generated/js
    package: '@movies/dataconnect'
    packageJsonDir: ../..
    react: true
  llmTools:
    outputFile: ../../dataconnect-generated/tools.json

Run SDK generation:

➜ terminal git:(main) firebase dataconnect:sdk:generate
I0801 22:17:21.745622  131457 codegen.go:82] [connector "default" javascriptSdk] Generating sources into "/home/terminal/Projects/movies/dataconnect-generated/js"
I0801 22:17:21.784540  131457 codegen.go:82] [connector "default" llmTools] Generating sources into "/home/terminal/Projects/movies/dataconnect-generated/tools.json"
E0801 22:17:21.784579  131457 cmd.go:45] Failed to generate SDKs:
[connector "default" llmTools]: failed to generate sources:
Unsupported type for tool parameter: Enum

Error: Unable to generate your Data Connect SDKs (exit code 1): I0801 22:17:21.745622  131457 codegen.go:82] [connector "default" javascriptSdk] Generating sources into "/home/terminal/Projects/movies/dataconnect-generated/js"
I0801 22:17:21.784540  131457 codegen.go:82] [connector "default" llmTools] Generating sources into "/home/terminal/Projects/movies/dataconnect-generated/tools.json"
E0801 22:17:21.784579  131457 cmd.go:45] Failed to generate SDKs:
[connector "default" llmTools]: failed to generate sources:
Unsupported type for tool parameter: Enum

[REQUIRED] Expected behavior

firebase dataconnect:sdk:generate succeeds and generates the tools JSON with llmOptions defined when Enums are used.

[REQUIRED] Actual behavior

➜ terminal git:(main) firebase dataconnect:sdk:generate
I0801 22:17:21.745622  131457 codegen.go:82] [connector "default" javascriptSdk] Generating sources into "/home/terminal/Projects/movies/dataconnect-generated/js"
I0801 22:17:21.784540  131457 codegen.go:82] [connector "default" llmTools] Generating sources into "/home/terminal/Projects/movies/dataconnect-generated/tools.json"
E0801 22:17:21.784579  131457 cmd.go:45] Failed to generate SDKs:
[connector "default" llmTools]: failed to generate sources:
Unsupported type for tool parameter: Enum

Error: Unable to generate your Data Connect SDKs (exit code 1): I0801 22:17:21.745622  131457 codegen.go:82] [connector "default" javascriptSdk] Generating sources into "/home/terminal/Projects/movies/dataconnect-generated/js"
I0801 22:17:21.784540  131457 codegen.go:82] [connector "default" llmTools] Generating sources into "/home/terminal/Projects/movies/dataconnect-generated/tools.json"
E0801 22:17:21.784579  131457 cmd.go:45] Failed to generate SDKs:
[connector "default" llmTools]: failed to generate sources:
Unsupported type for tool parameter: Enum

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions