firestorequery

package
v1.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 7, 2026 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	Name         string   `yaml:"name" validate:"required"`
	Type         string   `yaml:"type" validate:"required"`
	Source       string   `yaml:"source" validate:"required"`
	Description  string   `yaml:"description" validate:"required"`
	AuthRequired []string `yaml:"authRequired"`

	// Template fields
	CollectionPath string         `yaml:"collectionPath" validate:"required"`
	Filters        string         `yaml:"filters"`      // JSON string template
	Select         []string       `yaml:"select"`       // Fields to select
	OrderBy        map[string]any `yaml:"orderBy"`      // Order by configuration
	Limit          string         `yaml:"limit"`        // Limit template (can be a number or template)
	AnalyzeQuery   bool           `yaml:"analyzeQuery"` // Analyze query (boolean, not parameterizable)

	// Parameters for template substitution
	Parameters  parameters.Parameters  `yaml:"parameters"`
	Annotations *tools.ToolAnnotations `yaml:"annotations,omitempty"`
}

Config represents the configuration for the Firestore query tool

func (Config) Initialize

func (cfg Config) Initialize(srcs map[string]sources.Source) (tools.Tool, error)

Initialize creates a new Tool instance from the configuration

func (Config) ToolConfigType

func (cfg Config) ToolConfigType() string

ToolConfigType returns the type of tool configuration

type OrderByConfig

type OrderByConfig struct {
	Field     string `json:"field"`
	Direction string `json:"direction"`
}

OrderByConfig represents ordering configuration

func (*OrderByConfig) GetDirection

func (o *OrderByConfig) GetDirection() firestoreapi.Direction

GetDirection returns the Firestore direction constant

type SimplifiedFilter

type SimplifiedFilter struct {
	And   []SimplifiedFilter `json:"and,omitempty"`
	Or    []SimplifiedFilter `json:"or,omitempty"`
	Field string             `json:"field,omitempty"`
	Op    string             `json:"op,omitempty"`
	Value interface{}        `json:"value,omitempty"`
}

SimplifiedFilter represents the simplified filter format

type Tool

type Tool struct {
	Config
	Client *firestoreapi.Client
	// contains filtered or unexported fields
}

Tool represents the Firestore query tool

func (Tool) Authorized

func (t Tool) Authorized(verifiedAuthServices []string) bool

Authorized checks if the tool is authorized based on verified auth services

func (Tool) EmbedParams

func (t Tool) EmbedParams(ctx context.Context, paramValues parameters.ParamValues, embeddingModelsMap map[string]embeddingmodels.EmbeddingModel) (parameters.ParamValues, error)

func (Tool) GetAuthTokenHeaderName

func (t Tool) GetAuthTokenHeaderName(resourceMgr tools.SourceProvider) (string, error)

func (Tool) GetParameters

func (t Tool) GetParameters() parameters.Parameters

func (Tool) Invoke

func (t Tool) Invoke(ctx context.Context, resourceMgr tools.SourceProvider, params parameters.ParamValues, accessToken tools.AccessToken) (any, util.ToolboxError)

Invoke executes the Firestore query based on the provided parameters

func (Tool) Manifest

func (t Tool) Manifest() tools.Manifest

Manifest returns the tool manifest

func (Tool) McpManifest

func (t Tool) McpManifest() tools.McpManifest

McpManifest returns the MCP manifest

func (Tool) RequiresClientAuthorization

func (t Tool) RequiresClientAuthorization(resourceMgr tools.SourceProvider) (bool, error)

func (Tool) ToConfig

func (t Tool) ToConfig() tools.ToolConfig

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL