Documentation
¶
Index ¶
- Constants
- type AgentContextReference
- type AlloyDBDatabaseReference
- type AlloyDBReference
- type CloudSQLDatabaseReference
- type CloudSQLEngine
- type CloudSQLReference
- type Config
- type DatasourceReferences
- type GenerationOptions
- type QueryDataContext
- type QueryDataRequest
- type SpannerDatabaseReference
- type SpannerEngine
- type SpannerReference
- type Tool
- func (t Tool) Authorized(verifiedAuthServices []string) bool
- func (t Tool) EmbedParams(ctx context.Context, paramValues parameters.ParamValues, ...) (parameters.ParamValues, error)
- func (t Tool) GetAuthTokenHeaderName(_ tools.SourceProvider) (string, error)
- func (t Tool) GetParameters() parameters.Parameters
- func (t Tool) Invoke(ctx context.Context, resourceMgr tools.SourceProvider, ...) (any, util.ToolboxError)
- func (t Tool) Manifest() tools.Manifest
- func (t Tool) McpManifest() tools.McpManifest
- func (t Tool) RequiresClientAuthorization(resourceMgr tools.SourceProvider) (bool, error)
- func (t Tool) ToConfig() tools.ToolConfig
Constants ¶
const Guidance = `Tool guidance:
Inputs:
1. query: A natural language formulation of a database query.
Outputs: (all optional)
1. disambiguation_question: Clarification questions or comments where the tool needs the users' input.
2. generated_query: The generated query for the user query.
3. intent_explanation: An explanation for why the tool produced ` + "`generated_query`" + `.
4. query_result: The result of executing ` + "`generated_query`" + `.
5. natural_language_answer: The natural language answer that summarizes the ` + "`query`" + ` and ` + "`query_result`" + `.
Usage guidance:
1. If ` + "`disambiguation_question`" + ` is produced, then solicit the needed inputs from the user and try the tool with a new ` + "`query`" + ` that has the needed clarification.
2. If ` + "`natural_language_answer`" + ` is produced, use ` + "`intent_explanation`" + ` and ` + "`generated_query`" + ` to see if you need to clarify any assumptions for the user.`
Guidance is the tool guidance string.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AgentContextReference ¶
type AgentContextReference struct {
ContextSetID string `json:"contextSetId,omitempty" yaml:"contextSetId,omitempty"`
}
AgentContextReference reflects the proto definition for agent context.
type AlloyDBDatabaseReference ¶
type AlloyDBDatabaseReference struct {
ProjectID string `json:"projectId,omitempty" yaml:"projectId,omitempty"`
Region string `json:"region,omitempty" yaml:"region,omitempty"`
ClusterID string `json:"clusterId,omitempty" yaml:"clusterId,omitempty"`
InstanceID string `json:"instanceId,omitempty" yaml:"instanceId,omitempty"`
DatabaseID string `json:"databaseId,omitempty" yaml:"databaseId,omitempty"`
TableIDs []string `json:"tableIds,omitempty" yaml:"tableIds,omitempty"`
}
AlloyDBDatabaseReference reflects the proto definition for an AlloyDB database reference.
type AlloyDBReference ¶
type AlloyDBReference struct {
DatabaseReference *AlloyDBDatabaseReference `json:"databaseReference,omitempty" yaml:"databaseReference,omitempty"`
AgentContextReference *AgentContextReference `json:"agentContextReference,omitempty" yaml:"agentContextReference,omitempty"`
}
AlloyDBReference reflects the proto definition for an AlloyDB database reference.
type CloudSQLDatabaseReference ¶
type CloudSQLDatabaseReference struct {
Engine CloudSQLEngine `json:"engine,omitempty" yaml:"engine,omitempty"`
ProjectID string `json:"projectId,omitempty" yaml:"projectId,omitempty"`
Region string `json:"region,omitempty" yaml:"region,omitempty"`
InstanceID string `json:"instanceId,omitempty" yaml:"instanceId,omitempty"`
DatabaseID string `json:"databaseId,omitempty" yaml:"databaseId,omitempty"`
TableIDs []string `json:"tableIds,omitempty" yaml:"tableIds,omitempty"`
}
CloudSQLDatabaseReference reflects the proto definition for a Cloud SQL database reference.
type CloudSQLEngine ¶
type CloudSQLEngine string
CloudSQLEngine represents the engine of the Cloud SQL instance.
const ( CloudSQLEngineUnspecified CloudSQLEngine = "ENGINE_UNSPECIFIED" CloudSQLEnginePostgreSQL CloudSQLEngine = "POSTGRESQL" CloudSQLEngineMySQL CloudSQLEngine = "MYSQL" )
type CloudSQLReference ¶
type CloudSQLReference struct {
DatabaseReference *CloudSQLDatabaseReference `json:"databaseReference,omitempty" yaml:"databaseReference,omitempty"`
AgentContextReference *AgentContextReference `json:"agentContextReference,omitempty" yaml:"agentContextReference,omitempty"`
}
CloudSQLReference reflects the proto definition for a Cloud SQL database reference.
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"`
Location string `yaml:"location" validate:"required"`
Context *QueryDataContext `yaml:"context" validate:"required"`
GenerationOptions *GenerationOptions `yaml:"generationOptions,omitempty"`
AuthRequired []string `yaml:"authRequired"`
}
func (Config) Initialize ¶
func (Config) ToolConfigType ¶ added in v0.27.0
type DatasourceReferences ¶
type DatasourceReferences struct {
SpannerReference *SpannerReference `json:"spannerReference,omitempty" yaml:"spannerReference,omitempty"`
AlloyDBReference *AlloyDBReference `json:"alloydb,omitempty" yaml:"alloydb,omitempty"`
CloudSQLReference *CloudSQLReference `json:"cloudSqlReference,omitempty" yaml:"cloudSqlReference,omitempty"`
}
DatasourceReferences reflects the proto definition for datasource references, using a oneof.
type GenerationOptions ¶
type GenerationOptions struct {
GenerateQueryResult bool `json:"generateQueryResult" yaml:"generateQueryResult"`
GenerateNaturalLanguageAnswer bool `json:"generateNaturalLanguageAnswer" yaml:"generateNaturalLanguageAnswer"`
GenerateExplanation bool `json:"generateExplanation" yaml:"generateExplanation"`
GenerateDisambiguationQuestion bool `json:"generateDisambiguationQuestion" yaml:"generateDisambiguationQuestion"`
}
GenerationOptions reflects the proto definition for generation options.
type QueryDataContext ¶
type QueryDataContext struct {
DatasourceReferences *DatasourceReferences `json:"datasourceReferences,omitempty" yaml:"datasourceReferences,omitempty"`
}
QueryDataContext reflects the proto definition for the query context.
type QueryDataRequest ¶
type QueryDataRequest struct {
Parent string `json:"parent"`
Prompt string `json:"prompt"`
Context *QueryDataContext `json:"context,omitempty"`
GenerationOptions *GenerationOptions `json:"generationOptions,omitempty"`
}
QueryDataRequest represents the JSON body for the queryData API
type SpannerDatabaseReference ¶
type SpannerDatabaseReference struct {
Engine SpannerEngine `json:"engine,omitempty" yaml:"engine,omitempty"`
ProjectID string `json:"projectId,omitempty" yaml:"projectId,omitempty"`
Region string `json:"region,omitempty" yaml:"region,omitempty"`
InstanceID string `json:"instanceId,omitempty" yaml:"instanceId,omitempty"`
DatabaseID string `json:"databaseId,omitempty" yaml:"databaseId,omitempty"`
TableIDs []string `json:"tableIds,omitempty" yaml:"tableIds,omitempty"`
}
SpannerDatabaseReference reflects the proto definition for a Spanner database reference.
type SpannerEngine ¶
type SpannerEngine string
SpannerEngine represents the engine of the Spanner instance.
const ( SpannerEngineUnspecified SpannerEngine = "ENGINE_UNSPECIFIED" SpannerEngineGoogleSQL SpannerEngine = "GOOGLE_SQL" SpannerEnginePostgreSQL SpannerEngine = "POSTGRESQL" )
type SpannerReference ¶
type SpannerReference struct {
DatabaseReference *SpannerDatabaseReference `json:"databaseReference,omitempty" yaml:"databaseReference,omitempty"`
AgentContextReference *AgentContextReference `json:"agentContextReference,omitempty" yaml:"agentContextReference,omitempty"`
}
SpannerReference reflects the proto definition for Spanner database reference.
type Tool ¶
type Tool struct {
Config
AllParams parameters.Parameters
// contains filtered or unexported fields
}
func (Tool) Authorized ¶
func (Tool) EmbedParams ¶ added in v0.25.0
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(_ tools.SourceProvider) (string, error)
func (Tool) GetParameters ¶ added in v0.27.0
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)
func (Tool) McpManifest ¶
func (t Tool) McpManifest() tools.McpManifest
func (Tool) RequiresClientAuthorization ¶
func (t Tool) RequiresClientAuthorization(resourceMgr tools.SourceProvider) (bool, error)
func (Tool) ToConfig ¶
func (t Tool) ToConfig() tools.ToolConfig