Skip to content

Sandbox/dashboard v1 + v2 #722

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 39 commits into
base: main
Choose a base branch
from
Draft

Sandbox/dashboard v1 + v2 #722

wants to merge 39 commits into from

Conversation

K-Phoen
Copy link
Contributor

@K-Phoen K-Phoen commented Jan 24, 2025

Relates to #653

Spiritual successor of #664

Todo:

  • converters
  • review layouts + layout veneers
  • review APIs + apply veneers as needed

@K-Phoen K-Phoen changed the title Sandbox/dashboard v1 v2 Sandbox/dashboard v1 + v2 Jan 24, 2025
Copy link

github-actions bot commented Jan 24, 2025

Note: the diff show code changes that would be introduced by this PR to the output of the config/foundation_sdk.dev.yaml codegen pipeline (dev version of the Foundation SDK).

🔎 Changes to config/foundation_sdk.dev.yaml

diff --new-file --unidirectional-new-file '--color=never' --unified --recursive '--exclude=.git' '--exclude=gradle.properties' '--exclude=pyproject.toml' '--exclude=package.json' '--exclude=*.md' /tmp/foundation-workspace-main/foundation-sdk/go/athena/connectionargs_builder_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/athena/connectionargs_builder_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/athena/connectionargs_builder_gen.go	2025-05-23 11:15:30.588370048 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/athena/connectionargs_builder_gen.go	2025-05-23 11:14:54.611546768 +0000
@@ -11,6 +11,7 @@
 
 var _ cog.Builder[ConnectionArgs] = (*ConnectionArgsBuilder)(nil)
 
+// Modified by veneer 'ComposeBuilders[source=dashboardv2alpha1.DataQueryKind]'
 type ConnectionArgsBuilder struct {
 	internal *ConnectionArgs
 	errors   cog.BuildErrors
diff --new-file --unidirectional-new-file '--color=never' --unified --recursive '--exclude=.git' '--exclude=gradle.properties' '--exclude=pyproject.toml' '--exclude=package.json' '--exclude=*.md' /tmp/foundation-workspace-main/foundation-sdk/go/athena/dataquery_builder_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/athena/dataquery_builder_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/athena/dataquery_builder_gen.go	2025-05-23 11:15:30.588370048 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/athena/dataquery_builder_gen.go	2025-05-23 11:14:54.611546768 +0000
@@ -14,6 +14,7 @@
 var _ cog.Builder[variants.Dataquery] = (*DataqueryBuilder)(nil)
 
 // Manually converted from https://github.com/grafana/athena-datasource/blob/57ad707147b7a11e9a521a836d6bf9799877e0e3/src/types.ts
+// Modified by veneer 'ComposeBuilders[source=dashboardv2alpha1.DataQueryKind]'
 type DataqueryBuilder struct {
 	internal *Dataquery
 	errors   cog.BuildErrors
diff --new-file --unidirectional-new-file '--color=never' --unified --recursive '--exclude=.git' '--exclude=gradle.properties' '--exclude=pyproject.toml' '--exclude=package.json' '--exclude=*.md' /tmp/foundation-workspace-main/foundation-sdk/go/athena/query_builder_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/athena/query_builder_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/athena/query_builder_gen.go	1970-01-01 00:00:00.000000000 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/athena/query_builder_gen.go	2025-05-23 11:14:54.611546768 +0000
@@ -0,0 +1,148 @@
+// Code generated - EDITING IS FUTILE. DO NOT EDIT.
+//
+// Using jennies:
+//     GoBuilder
+
+package athena
+
+import (
+	cog "github.com/grafana/cog/generated/go/cog"
+	dashboard "github.com/grafana/cog/generated/go/dashboard"
+	dashboardv2alpha1 "github.com/grafana/cog/generated/go/dashboardv2alpha1"
+)
+
+var _ cog.Builder[dashboardv2alpha1.DataQueryKind] = (*QueryBuilder)(nil)
+
+// Modified by veneer 'ComposeBuilders[source=dashboardv2alpha1.DataQueryKind]'
+type QueryBuilder struct {
+	internal *dashboardv2alpha1.DataQueryKind
+	errors   cog.BuildErrors
+}
+
+func NewQueryBuilder() *QueryBuilder {
+	resource := dashboardv2alpha1.NewDataQueryKind()
+	builder := &QueryBuilder{
+		internal: resource,
+		errors:   make(cog.BuildErrors, 0),
+	}
+	builder.internal.Kind = "grafana-athena-datasource"
+
+	return builder
+}
+
+func (builder *QueryBuilder) Build() (dashboardv2alpha1.DataQueryKind, error) {
+	if err := builder.internal.Validate(); err != nil {
+		return dashboardv2alpha1.DataQueryKind{}, err
+	}
+
+	if len(builder.errors) > 0 {
+		return dashboardv2alpha1.DataQueryKind{}, cog.MakeBuildErrors("athena.query", builder.errors)
+	}
+
+	return *builder.internal, nil
+}
+
+func (builder *QueryBuilder) Format(format FormatOptions) *QueryBuilder {
+	if builder.internal.Spec == nil {
+		builder.internal.Spec = NewDataquery()
+	}
+	builder.internal.Spec.(*Dataquery).Format = format
+
+	return builder
+}
+
+func (builder *QueryBuilder) ConnectionArgs(connectionArgs cog.Builder[ConnectionArgs]) *QueryBuilder {
+	if builder.internal.Spec == nil {
+		builder.internal.Spec = NewDataquery()
+	}
+	connectionArgsResource, err := connectionArgs.Build()
+	if err != nil {
+		builder.errors = append(builder.errors, err.(cog.BuildErrors)...)
+		return builder
+	}
+	builder.internal.Spec.(*Dataquery).ConnectionArgs = connectionArgsResource
+
+	return builder
+}
+
+func (builder *QueryBuilder) Table(table string) *QueryBuilder {
+	if builder.internal.Spec == nil {
+		builder.internal.Spec = NewDataquery()
+	}
+	builder.internal.Spec.(*Dataquery).Table = &table
+
+	return builder
+}
+
+func (builder *QueryBuilder) Column(column string) *QueryBuilder {
+	if builder.internal.Spec == nil {
+		builder.internal.Spec = NewDataquery()
+	}
+	builder.internal.Spec.(*Dataquery).Column = &column
+
+	return builder
+}
+
+func (builder *QueryBuilder) QueryID(queryID string) *QueryBuilder {
+	if builder.internal.Spec == nil {
+		builder.internal.Spec = NewDataquery()
+	}
+	builder.internal.Spec.(*Dataquery).QueryID = &queryID
+
+	return builder
+}
+
+// A unique identifier for the query within the list of targets.
+// In server side expressions, the refId is used as a variable name to identify results.
+// By default, the UI will assign A->Z; however setting meaningful names may be useful.
+func (builder *QueryBuilder) RefId(refId string) *QueryBuilder {
+	if builder.internal.Spec == nil {
+		builder.internal.Spec = NewDataquery()
+	}
+	builder.internal.Spec.(*Dataquery).RefId = refId
+
+	return builder
+}
+
+// If hide is set to true, Grafana will filter out the response(s) associated with this query before returning it to the panel.
+func (builder *QueryBuilder) Hide(hide bool) *QueryBuilder {
+	if builder.internal.Spec == nil {
+		builder.internal.Spec = NewDataquery()
+	}
+	builder.internal.Spec.(*Dataquery).Hide = &hide
+
+	return builder
+}
+
+// Specify the query flavor
+// TODO make this required and give it a default
+func (builder *QueryBuilder) QueryType(queryType string) *QueryBuilder {
+	if builder.internal.Spec == nil {
+		builder.internal.Spec = NewDataquery()
+	}
+	builder.internal.Spec.(*Dataquery).QueryType = &queryType
+
+	return builder
+}
+
+func (builder *QueryBuilder) RawSQL(rawSQL string) *QueryBuilder {
+	if builder.internal.Spec == nil {
+		builder.internal.Spec = NewDataquery()
+	}
+	builder.internal.Spec.(*Dataquery).RawSQL = rawSQL
+
+	return builder
+}
+
+// For mixed data sources the selected datasource is on the query level.
+// For non mixed scenarios this is undefined.
+// TODO find a better way to do this ^ that's friendly to schema
+// TODO this shouldn't be unknown but DataSourceRef | null
+func (builder *QueryBuilder) Datasource(datasource dashboard.DataSourceRef) *QueryBuilder {
+	if builder.internal.Spec == nil {
+		builder.internal.Spec = NewDataquery()
+	}
+	builder.internal.Spec.(*Dataquery).Datasource = &datasource
+
+	return builder
+}
diff --new-file --unidirectional-new-file '--color=never' --unified --recursive '--exclude=.git' '--exclude=gradle.properties' '--exclude=pyproject.toml' '--exclude=package.json' '--exclude=*.md' /tmp/foundation-workspace-main/foundation-sdk/go/athena/query_converter_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/athena/query_converter_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/athena/query_converter_gen.go	1970-01-01 00:00:00.000000000 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/athena/query_converter_gen.go	2025-05-23 11:14:54.611546768 +0000
@@ -0,0 +1,144 @@
+// Code generated - EDITING IS FUTILE. DO NOT EDIT.
+//
+// Using jennies:
+//     GoConverter
+
+package athena
+
+import (
+	"fmt"
+	"strings"
+
+	cog "github.com/grafana/cog/generated/go/cog"
+	dashboardv2alpha1 "github.com/grafana/cog/generated/go/dashboardv2alpha1"
+)
+
+// QueryConverter accepts a `Query` object and generates the Go code to build this object using builders.
+func QueryConverter(input dashboardv2alpha1.DataQueryKind) string {
+	calls := []string{
+		`athena.NewQueryBuilder()`,
+	}
+	var buffer strings.Builder
+	if input.Spec != nil {
+
+		buffer.WriteString(`Format(`)
+		arg0 := cog.Dump(input.Spec.(*Dataquery).Format)
+		buffer.WriteString(arg0)
+
+		buffer.WriteString(")")
+
+		calls = append(calls, buffer.String())
+		buffer.Reset()
+
+	}
+	if input.Spec != nil {
+
+		buffer.WriteString(`ConnectionArgs(`)
+		arg0 := ConnectionArgsConverter(input.Spec.(*Dataquery).ConnectionArgs)
+		buffer.WriteString(arg0)
+
+		buffer.WriteString(")")
+
+		calls = append(calls, buffer.String())
+		buffer.Reset()
+
+	}
+	if input.Spec != nil && input.Spec.(*Dataquery).Table != nil && *input.Spec.(*Dataquery).Table != "" {
+
+		buffer.WriteString(`Table(`)
+		arg0 := fmt.Sprintf("%#v", *input.Spec.(*Dataquery).Table)
+		buffer.WriteString(arg0)
+
+		buffer.WriteString(")")
+
+		calls = append(calls, buffer.String())
+		buffer.Reset()
+
+	}
+	if input.Spec != nil && input.Spec.(*Dataquery).Column != nil && *input.Spec.(*Dataquery).Column != "" {
+
+		buffer.WriteString(`Column(`)
+		arg0 := fmt.Sprintf("%#v", *input.Spec.(*Dataquery).Column)
+		buffer.WriteString(arg0)
+
+		buffer.WriteString(")")
+
+		calls = append(calls, buffer.String())
+		buffer.Reset()
+
+	}
+	if input.Spec != nil && input.Spec.(*Dataquery).QueryID != nil && *input.Spec.(*Dataquery).QueryID != "" {
+
+		buffer.WriteString(`QueryID(`)
+		arg0 := fmt.Sprintf("%#v", *input.Spec.(*Dataquery).QueryID)
+		buffer.WriteString(arg0)
+
+		buffer.WriteString(")")
+
+		calls = append(calls, buffer.String())
+		buffer.Reset()
+
+	}
+	if input.Spec != nil && input.Spec.(*Dataquery).RefId != "" {
+
+		buffer.WriteString(`RefId(`)
+		arg0 := fmt.Sprintf("%#v", input.Spec.(*Dataquery).RefId)
+		buffer.WriteString(arg0)
+
+		buffer.WriteString(")")
+
+		calls = append(calls, buffer.String())
+		buffer.Reset()
+
+	}
+	if input.Spec != nil && input.Spec.(*Dataquery).Hide != nil {
+
+		buffer.WriteString(`Hide(`)
+		arg0 := fmt.Sprintf("%#v", *input.Spec.(*Dataquery).Hide)
+		buffer.WriteString(arg0)
+
+		buffer.WriteString(")")
+
+		calls = append(calls, buffer.String())
+		buffer.Reset()
+
+	}
+	if input.Spec != nil && input.Spec.(*Dataquery).QueryType != nil && *input.Spec.(*Dataquery).QueryType != "" {
+
+		buffer.WriteString(`QueryType(`)
+		arg0 := fmt.Sprintf("%#v", *input.Spec.(*Dataquery).QueryType)
+		buffer.WriteString(arg0)
+
+		buffer.WriteString(")")
+
+		calls = append(calls, buffer.String())
+		buffer.Reset()
+
+	}
+	if input.Spec != nil && input.Spec.(*Dataquery).RawSQL != "" {
+
+		buffer.WriteString(`RawSQL(`)
+		arg0 := fmt.Sprintf("%#v", input.Spec.(*Dataquery).RawSQL)
+		buffer.WriteString(arg0)
+
+		buffer.WriteString(")")
+
+		calls = append(calls, buffer.String())
+		buffer.Reset()
+
+	}
+	if input.Spec != nil && input.Spec.(*Dataquery).Datasource != nil {
+
+		buffer.WriteString(`Datasource(`)
+		arg0 := cog.Dump(*input.Spec.(*Dataquery).Datasource)
+		buffer.WriteString(arg0)
+
+		buffer.WriteString(")")
+
+		calls = append(calls, buffer.String())
+		buffer.Reset()
+
+	}
+
+	return strings.Join(calls, ".\t\n")
+}
diff --new-file --unidirectional-new-file '--color=never' --unified --recursive '--exclude=.git' '--exclude=gradle.properties' '--exclude=pyproject.toml' '--exclude=package.json' '--exclude=*.md' /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/appinsightsgroupbyquery_builder_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/appinsightsgroupbyquery_builder_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/appinsightsgroupbyquery_builder_gen.go	2025-05-23 11:15:30.588370048 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/appinsightsgroupbyquery_builder_gen.go	2025-05-23 11:14:54.611546768 +0000
@@ -11,6 +11,7 @@
 
 var _ cog.Builder[AppInsightsGroupByQuery] = (*AppInsightsGroupByQueryBuilder)(nil)
 
+// Modified by veneer 'ComposeBuilders[source=dashboardv2alpha1.DataQueryKind]'
 type AppInsightsGroupByQueryBuilder struct {
 	internal *AppInsightsGroupByQuery
 	errors   cog.BuildErrors
diff --new-file --unidirectional-new-file '--color=never' --unified --recursive '--exclude=.git' '--exclude=gradle.properties' '--exclude=pyproject.toml' '--exclude=package.json' '--exclude=*.md' /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/appinsightsmetricnamequery_builder_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/appinsightsmetricnamequery_builder_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/appinsightsmetricnamequery_builder_gen.go	2025-05-23 11:15:30.588370048 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/appinsightsmetricnamequery_builder_gen.go	2025-05-23 11:14:54.611546768 +0000
@@ -11,6 +11,7 @@
 
 var _ cog.Builder[AppInsightsMetricNameQuery] = (*AppInsightsMetricNameQueryBuilder)(nil)
 
+// Modified by veneer 'ComposeBuilders[source=dashboardv2alpha1.DataQueryKind]'
 type AppInsightsMetricNameQueryBuilder struct {
 	internal *AppInsightsMetricNameQuery
 	errors   cog.BuildErrors
diff --new-file --unidirectional-new-file '--color=never' --unified --recursive '--exclude=.git' '--exclude=gradle.properties' '--exclude=pyproject.toml' '--exclude=package.json' '--exclude=*.md' /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/azurelogsquery_builder_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/azurelogsquery_builder_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/azurelogsquery_builder_gen.go	2025-05-23 11:15:30.588370048 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/azurelogsquery_builder_gen.go	2025-05-23 11:14:54.611546768 +0000
@@ -12,6 +12,7 @@
 var _ cog.Builder[AzureLogsQuery] = (*AzureLogsQueryBuilder)(nil)
 
 // Azure Monitor Logs sub-query properties
+// Modified by veneer 'ComposeBuilders[source=dashboardv2alpha1.DataQueryKind]'
 type AzureLogsQueryBuilder struct {
 	internal *AzureLogsQuery
 	errors   cog.BuildErrors
diff --new-file --unidirectional-new-file '--color=never' --unified --recursive '--exclude=.git' '--exclude=gradle.properties' '--exclude=pyproject.toml' '--exclude=package.json' '--exclude=*.md' /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/azuremetricdimension_builder_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/azuremetricdimension_builder_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/azuremetricdimension_builder_gen.go	2025-05-23 11:15:30.588370048 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/azuremetricdimension_builder_gen.go	2025-05-23 11:14:54.611546768 +0000
@@ -11,6 +11,7 @@
 
 var _ cog.Builder[AzureMetricDimension] = (*AzureMetricDimensionBuilder)(nil)
 
+// Modified by veneer 'ComposeBuilders[source=dashboardv2alpha1.DataQueryKind]'
 type AzureMetricDimensionBuilder struct {
 	internal *AzureMetricDimension
 	errors   cog.BuildErrors
diff --new-file --unidirectional-new-file '--color=never' --unified --recursive '--exclude=.git' '--exclude=gradle.properties' '--exclude=pyproject.toml' '--exclude=package.json' '--exclude=*.md' /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/azuremetricquery_builder_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/azuremetricquery_builder_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/azuremetricquery_builder_gen.go	2025-05-23 11:15:30.588370048 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/azuremetricquery_builder_gen.go	2025-05-23 11:14:54.611546768 +0000
@@ -11,6 +11,7 @@
 
 var _ cog.Builder[AzureMetricQuery] = (*AzureMetricQueryBuilder)(nil)
 
+// Modified by veneer 'ComposeBuilders[source=dashboardv2alpha1.DataQueryKind]'
 type AzureMetricQueryBuilder struct {
 	internal *AzureMetricQuery
 	errors   cog.BuildErrors
diff --new-file --unidirectional-new-file '--color=never' --unified --recursive '--exclude=.git' '--exclude=gradle.properties' '--exclude=pyproject.toml' '--exclude=package.json' '--exclude=*.md' /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/azuremonitorquery_builder_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/azuremonitorquery_builder_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/azuremonitorquery_builder_gen.go	2025-05-23 11:15:30.588370048 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/azuremonitorquery_builder_gen.go	2025-05-23 11:14:54.611546768 +0000
@@ -13,6 +13,7 @@
 
 var _ cog.Builder[variants.Dataquery] = (*AzureMonitorQueryBuilder)(nil)
 
+// Modified by veneer 'ComposeBuilders[source=dashboardv2alpha1.DataQueryKind]'
 type AzureMonitorQueryBuilder struct {
 	internal *AzureMonitorQuery
 	errors   cog.BuildErrors
diff --new-file --unidirectional-new-file '--color=never' --unified --recursive '--exclude=.git' '--exclude=gradle.properties' '--exclude=pyproject.toml' '--exclude=package.json' '--exclude=*.md' /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/azuremonitorresource_builder_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/azuremonitorresource_builder_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/azuremonitorresource_builder_gen.go	2025-05-23 11:15:30.588370048 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/azuremonitorresource_builder_gen.go	2025-05-23 11:14:54.611546768 +0000
@@ -11,6 +11,7 @@
 
 var _ cog.Builder[AzureMonitorResource] = (*AzureMonitorResourceBuilder)(nil)
 
+// Modified by veneer 'ComposeBuilders[source=dashboardv2alpha1.DataQueryKind]'
 type AzureMonitorResourceBuilder struct {
 	internal *AzureMonitorResource
 	errors   cog.BuildErrors
diff --new-file --unidirectional-new-file '--color=never' --unified --recursive '--exclude=.git' '--exclude=gradle.properties' '--exclude=pyproject.toml' '--exclude=package.json' '--exclude=*.md' /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/azureresourcegraphquery_builder_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/azureresourcegraphquery_builder_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/azureresourcegraphquery_builder_gen.go	2025-05-23 11:15:30.588370048 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/azureresourcegraphquery_builder_gen.go	2025-05-23 11:14:54.611546768 +0000
@@ -11,6 +11,7 @@
 
 var _ cog.Builder[AzureResourceGraphQuery] = (*AzureResourceGraphQueryBuilder)(nil)
 
+// Modified by veneer 'ComposeBuilders[source=dashboardv2alpha1.DataQueryKind]'
 type AzureResourceGraphQueryBuilder struct {
 	internal *AzureResourceGraphQuery
 	errors   cog.BuildErrors
diff --new-file --unidirectional-new-file '--color=never' --unified --recursive '--exclude=.git' '--exclude=gradle.properties' '--exclude=pyproject.toml' '--exclude=package.json' '--exclude=*.md' /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/azuretracesfilter_builder_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/azuretracesfilter_builder_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/azuretracesfilter_builder_gen.go	2025-05-23 11:15:30.589370043 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/azuretracesfilter_builder_gen.go	2025-05-23 11:14:54.611546768 +0000
@@ -11,6 +11,7 @@
 
 var _ cog.Builder[AzureTracesFilter] = (*AzureTracesFilterBuilder)(nil)
 
+// Modified by veneer 'ComposeBuilders[source=dashboardv2alpha1.DataQueryKind]'
 type AzureTracesFilterBuilder struct {
 	internal *AzureTracesFilter
 	errors   cog.BuildErrors
diff --new-file --unidirectional-new-file '--color=never' --unified --recursive '--exclude=.git' '--exclude=gradle.properties' '--exclude=pyproject.toml' '--exclude=package.json' '--exclude=*.md' /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/azuretracesquery_builder_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/azuretracesquery_builder_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/azuretracesquery_builder_gen.go	2025-05-23 11:15:30.589370043 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/azuretracesquery_builder_gen.go	2025-05-23 11:14:54.611546768 +0000
@@ -12,6 +12,7 @@
 var _ cog.Builder[AzureTracesQuery] = (*AzureTracesQueryBuilder)(nil)
 
 // Application Insights Traces sub-query properties
+// Modified by veneer 'ComposeBuilders[source=dashboardv2alpha1.DataQueryKind]'
 type AzureTracesQueryBuilder struct {
 	internal *AzureTracesQuery
 	errors   cog.BuildErrors
diff --new-file --unidirectional-new-file '--color=never' --unified --recursive '--exclude=.git' '--exclude=gradle.properties' '--exclude=pyproject.toml' '--exclude=package.json' '--exclude=*.md' /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/basegrafanatemplatevariablequery_builder_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/basegrafanatemplatevariablequery_builder_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/basegrafanatemplatevariablequery_builder_gen.go	2025-05-23 11:15:30.589370043 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/basegrafanatemplatevariablequery_builder_gen.go	2025-05-23 11:14:54.611546768 +0000
@@ -11,6 +11,7 @@
 
 var _ cog.Builder[BaseGrafanaTemplateVariableQuery] = (*BaseGrafanaTemplateVariableQueryBuilder)(nil)
 
+// Modified by veneer 'ComposeBuilders[source=dashboardv2alpha1.DataQueryKind]'
 type BaseGrafanaTemplateVariableQueryBuilder struct {
 	internal *BaseGrafanaTemplateVariableQuery
 	errors   cog.BuildErrors
diff --new-file --unidirectional-new-file '--color=never' --unified --recursive '--exclude=.git' '--exclude=gradle.properties' '--exclude=pyproject.toml' '--exclude=package.json' '--exclude=*.md' /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/builderqueryeditorcolumnsexpression_builder_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/builderqueryeditorcolumnsexpression_builder_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/builderqueryeditorcolumnsexpression_builder_gen.go	2025-05-23 11:15:30.589370043 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/builderqueryeditorcolumnsexpression_builder_gen.go	2025-05-23 11:14:54.612546765 +0000
@@ -11,6 +11,7 @@
 
 var _ cog.Builder[BuilderQueryEditorColumnsExpression] = (*BuilderQueryEditorColumnsExpressionBuilder)(nil)
 
+// Modified by veneer 'ComposeBuilders[source=dashboardv2alpha1.DataQueryKind]'
 type BuilderQueryEditorColumnsExpressionBuilder struct {
 	internal *BuilderQueryEditorColumnsExpression
 	errors   cog.BuildErrors
diff --new-file --unidirectional-new-file '--color=never' --unified --recursive '--exclude=.git' '--exclude=gradle.properties' '--exclude=pyproject.toml' '--exclude=package.json' '--exclude=*.md' /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/builderqueryeditorfunctionparameterexpression_builder_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/builderqueryeditorfunctionparameterexpression_builder_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/builderqueryeditorfunctionparameterexpression_builder_gen.go	2025-05-23 11:15:30.589370043 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/builderqueryeditorfunctionparameterexpression_builder_gen.go	2025-05-23 11:14:54.612546765 +0000
@@ -11,6 +11,7 @@
 
 var _ cog.Builder[BuilderQueryEditorFunctionParameterExpression] = (*BuilderQueryEditorFunctionParameterExpressionBuilder)(nil)
 
+// Modified by veneer 'ComposeBuilders[source=dashboardv2alpha1.DataQueryKind]'
 type BuilderQueryEditorFunctionParameterExpressionBuilder struct {
 	internal *BuilderQueryEditorFunctionParameterExpression
 	errors   cog.BuildErrors
diff --new-file --unidirectional-new-file '--color=never' --unified --recursive '--exclude=.git' '--exclude=gradle.properties' '--exclude=pyproject.toml' '--exclude=package.json' '--exclude=*.md' /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/builderqueryeditorgroupbyexpression_builder_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/builderqueryeditorgroupbyexpression_builder_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/builderqueryeditorgroupbyexpression_builder_gen.go	2025-05-23 11:15:30.589370043 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/builderqueryeditorgroupbyexpression_builder_gen.go	2025-05-23 11:14:54.612546765 +0000
@@ -11,6 +11,7 @@
 
 var _ cog.Builder[BuilderQueryEditorGroupByExpression] = (*BuilderQueryEditorGroupByExpressionBuilder)(nil)
 
+// Modified by veneer 'ComposeBuilders[source=dashboardv2alpha1.DataQueryKind]'
 type BuilderQueryEditorGroupByExpressionBuilder struct {
 	internal *BuilderQueryEditorGroupByExpression
 	errors   cog.BuildErrors
diff --new-file --unidirectional-new-file '--color=never' --unified --recursive '--exclude=.git' '--exclude=gradle.properties' '--exclude=pyproject.toml' '--exclude=package.json' '--exclude=*.md' /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/builderqueryeditorgroupbyexpressionarray_builder_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/builderqueryeditorgroupbyexpressionarray_builder_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/builderqueryeditorgroupbyexpressionarray_builder_gen.go	2025-05-23 11:15:30.589370043 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/builderqueryeditorgroupbyexpressionarray_builder_gen.go	2025-05-23 11:14:54.612546765 +0000
@@ -11,6 +11,7 @@
 
 var _ cog.Builder[BuilderQueryEditorGroupByExpressionArray] = (*BuilderQueryEditorGroupByExpressionArrayBuilder)(nil)
 
+// Modified by veneer 'ComposeBuilders[source=dashboardv2alpha1.DataQueryKind]'
 type BuilderQueryEditorGroupByExpressionArrayBuilder struct {
 	internal *BuilderQueryEditorGroupByExpressionArray
 	errors   cog.BuildErrors
diff --new-file --unidirectional-new-file '--color=never' --unified --recursive '--exclude=.git' '--exclude=gradle.properties' '--exclude=pyproject.toml' '--exclude=package.json' '--exclude=*.md' /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/builderqueryeditoroperator_builder_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/builderqueryeditoroperator_builder_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/builderqueryeditoroperator_builder_gen.go	2025-05-23 11:15:30.589370043 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/builderqueryeditoroperator_builder_gen.go	2025-05-23 11:14:54.612546765 +0000
@@ -11,6 +11,7 @@
 
 var _ cog.Builder[BuilderQueryEditorOperator] = (*BuilderQueryEditorOperatorBuilder)(nil)
 
+// Modified by veneer 'ComposeBuilders[source=dashboardv2alpha1.DataQueryKind]'
 type BuilderQueryEditorOperatorBuilder struct {
 	internal *BuilderQueryEditorOperator
 	errors   cog.BuildErrors
diff --new-file --unidirectional-new-file '--color=never' --unified --recursive '--exclude=.git' '--exclude=gradle.properties' '--exclude=pyproject.toml' '--exclude=package.json' '--exclude=*.md' /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/builderqueryeditoroperatortype_builder_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/builderqueryeditoroperatortype_builder_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/builderqueryeditoroperatortype_builder_gen.go	2025-05-23 11:15:30.589370043 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/builderqueryeditoroperatortype_builder_gen.go	2025-05-23 11:14:54.612546765 +0000
@@ -11,6 +11,7 @@
 
 var _ cog.Builder[BuilderQueryEditorOperatorType] = (*BuilderQueryEditorOperatorTypeBuilder)(nil)
 
+// Modified by veneer 'ComposeBuilders[source=dashboardv2alpha1.DataQueryKind]'
 type BuilderQueryEditorOperatorTypeBuilder struct {
 	internal *BuilderQueryEditorOperatorType
 	errors   cog.BuildErrors
diff --new-file --unidirectional-new-file '--color=never' --unified --recursive '--exclude=.git' '--exclude=gradle.properties' '--exclude=pyproject.toml' '--exclude=package.json' '--exclude=*.md' /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/builderqueryeditororderbyexpression_builder_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/builderqueryeditororderbyexpression_builder_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/builderqueryeditororderbyexpression_builder_gen.go	2025-05-23 11:15:30.589370043 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/builderqueryeditororderbyexpression_builder_gen.go	2025-05-23 11:14:54.612546765 +0000
@@ -11,6 +11,7 @@
 
 var _ cog.Builder[BuilderQueryEditorOrderByExpression] = (*BuilderQueryEditorOrderByExpressionBuilder)(nil)
 
+// Modified by veneer 'ComposeBuilders[source=dashboardv2alpha1.DataQueryKind]'
 type BuilderQueryEditorOrderByExpressionBuilder struct {
 	internal *BuilderQueryEditorOrderByExpression
 	errors   cog.BuildErrors
diff --new-file --unidirectional-new-file '--color=never' --unified --recursive '--exclude=.git' '--exclude=gradle.properties' '--exclude=pyproject.toml' '--exclude=package.json' '--exclude=*.md' /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/builderqueryeditororderbyexpressionarray_builder_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/builderqueryeditororderbyexpressionarray_builder_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/builderqueryeditororderbyexpressionarray_builder_gen.go	2025-05-23 11:15:30.589370043 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/builderqueryeditororderbyexpressionarray_builder_gen.go	2025-05-23 11:14:54.612546765 +0000
@@ -11,6 +11,7 @@
 
 var _ cog.Builder[BuilderQueryEditorOrderByExpressionArray] = (*BuilderQueryEditorOrderByExpressionArrayBuilder)(nil)
 
+// Modified by veneer 'ComposeBuilders[source=dashboardv2alpha1.DataQueryKind]'
 type BuilderQueryEditorOrderByExpressionArrayBuilder struct {
 	internal *BuilderQueryEditorOrderByExpressionArray
 	errors   cog.BuildErrors
diff --new-file --unidirectional-new-file '--color=never' --unified --recursive '--exclude=.git' '--exclude=gradle.properties' '--exclude=pyproject.toml' '--exclude=package.json' '--exclude=*.md' /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/builderqueryeditorproperty_builder_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/builderqueryeditorproperty_builder_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/builderqueryeditorproperty_builder_gen.go	2025-05-23 11:15:30.589370043 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/builderqueryeditorproperty_builder_gen.go	2025-05-23 11:14:54.612546765 +0000
@@ -11,6 +11,7 @@
 
 var _ cog.Builder[BuilderQueryEditorProperty] = (*BuilderQueryEditorPropertyBuilder)(nil)
 
+// Modified by veneer 'ComposeBuilders[source=dashboardv2alpha1.DataQueryKind]'
 type BuilderQueryEditorPropertyBuilder struct {
 	internal *BuilderQueryEditorProperty
 	errors   cog.BuildErrors
diff --new-file --unidirectional-new-file '--color=never' --unified --recursive '--exclude=.git' '--exclude=gradle.properties' '--exclude=pyproject.toml' '--exclude=package.json' '--exclude=*.md' /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/builderqueryeditorpropertyexpression_builder_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/builderqueryeditorpropertyexpression_builder_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/builderqueryeditorpropertyexpression_builder_gen.go	2025-05-23 11:15:30.589370043 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/builderqueryeditorpropertyexpression_builder_gen.go	2025-05-23 11:14:54.612546765 +0000
@@ -11,6 +11,7 @@
 
 var _ cog.Builder[BuilderQueryEditorPropertyExpression] = (*BuilderQueryEditorPropertyExpressionBuilder)(nil)
 
+// Modified by veneer 'ComposeBuilders[source=dashboardv2alpha1.DataQueryKind]'
 type BuilderQueryEditorPropertyExpressionBuilder struct {
 	internal *BuilderQueryEditorPropertyExpression
 	errors   cog.BuildErrors
diff --new-file --unidirectional-new-file '--color=never' --unified --recursive '--exclude=.git' '--exclude=gradle.properties' '--exclude=pyproject.toml' '--exclude=package.json' '--exclude=*.md' /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/builderqueryeditorreduceexpression_builder_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/builderqueryeditorreduceexpression_builder_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/builderqueryeditorreduceexpression_builder_gen.go	2025-05-23 11:15:30.589370043 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/builderqueryeditorreduceexpression_builder_gen.go	2025-05-23 11:14:54.612546765 +0000
@@ -11,6 +11,7 @@
 
 var _ cog.Builder[BuilderQueryEditorReduceExpression] = (*BuilderQueryEditorReduceExpressionBuilder)(nil)
 
+// Modified by veneer 'ComposeBuilders[source=dashboardv2alpha1.DataQueryKind]'
 type BuilderQueryEditorReduceExpressionBuilder struct {
 	internal *BuilderQueryEditorReduceExpression
 	errors   cog.BuildErrors
diff --new-file --unidirectional-new-file '--color=never' --unified --recursive '--exclude=.git' '--exclude=gradle.properties' '--exclude=pyproject.toml' '--exclude=package.json' '--exclude=*.md' /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/builderqueryeditorreduceexpressionarray_builder_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/builderqueryeditorreduceexpressionarray_builder_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/builderqueryeditorreduceexpressionarray_builder_gen.go	2025-05-23 11:15:30.589370043 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/builderqueryeditorreduceexpressionarray_builder_gen.go	2025-05-23 11:14:54.612546765 +0000
@@ -11,6 +11,7 @@
 
 var _ cog.Builder[BuilderQueryEditorReduceExpressionArray] = (*BuilderQueryEditorReduceExpressionArrayBuilder)(nil)
 
+// Modified by veneer 'ComposeBuilders[source=dashboardv2alpha1.DataQueryKind]'
 type BuilderQueryEditorReduceExpressionArrayBuilder struct {
 	internal *BuilderQueryEditorReduceExpressionArray
 	errors   cog.BuildErrors
diff --new-file --unidirectional-new-file '--color=never' --unified --recursive '--exclude=.git' '--exclude=gradle.properties' '--exclude=pyproject.toml' '--exclude=package.json' '--exclude=*.md' /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/builderqueryeditorwhereexpression_builder_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/builderqueryeditorwhereexpression_builder_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/builderqueryeditorwhereexpression_builder_gen.go	2025-05-23 11:15:30.590370038 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/builderqueryeditorwhereexpression_builder_gen.go	2025-05-23 11:14:54.612546765 +0000
@@ -11,6 +11,7 @@
 
 var _ cog.Builder[BuilderQueryEditorWhereExpression] = (*BuilderQueryEditorWhereExpressionBuilder)(nil)
 
+// Modified by veneer 'ComposeBuilders[source=dashboardv2alpha1.DataQueryKind]'
 type BuilderQueryEditorWhereExpressionBuilder struct {
 	internal *BuilderQueryEditorWhereExpression
 	errors   cog.BuildErrors
diff --new-file --unidirectional-new-file '--color=never' --unified --recursive '--exclude=.git' '--exclude=gradle.properties' '--exclude=pyproject.toml' '--exclude=package.json' '--exclude=*.md' /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/builderqueryeditorwhereexpressionarray_builder_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/builderqueryeditorwhereexpressionarray_builder_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/builderqueryeditorwhereexpressionarray_builder_gen.go	2025-05-23 11:15:30.590370038 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/builderqueryeditorwhereexpressionarray_builder_gen.go	2025-05-23 11:14:54.612546765 +0000
@@ -11,6 +11,7 @@
 
 var _ cog.Builder[BuilderQueryEditorWhereExpressionArray] = (*BuilderQueryEditorWhereExpressionArrayBuilder)(nil)
 
+// Modified by veneer 'ComposeBuilders[source=dashboardv2alpha1.DataQueryKind]'
 type BuilderQueryEditorWhereExpressionArrayBuilder struct {
 	internal *BuilderQueryEditorWhereExpressionArray
 	errors   cog.BuildErrors
diff --new-file --unidirectional-new-file '--color=never' --unified --recursive '--exclude=.git' '--exclude=gradle.properties' '--exclude=pyproject.toml' '--exclude=package.json' '--exclude=*.md' /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/builderqueryeditorwhereexpressionitems_builder_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/builderqueryeditorwhereexpressionitems_builder_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/builderqueryeditorwhereexpressionitems_builder_gen.go	2025-05-23 11:15:30.590370038 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/builderqueryeditorwhereexpressionitems_builder_gen.go	2025-05-23 11:14:54.612546765 +0000
@@ -11,6 +11,7 @@
 
 var _ cog.Builder[BuilderQueryEditorWhereExpressionItems] = (*BuilderQueryEditorWhereExpressionItemsBuilder)(nil)
 
+// Modified by veneer 'ComposeBuilders[source=dashboardv2alpha1.DataQueryKind]'
 type BuilderQueryEditorWhereExpressionItemsBuilder struct {
 	internal *BuilderQueryEditorWhereExpressionItems
 	errors   cog.BuildErrors
diff --new-file --unidirectional-new-file '--color=never' --unified --recursive '--exclude=.git' '--exclude=gradle.properties' '--exclude=pyproject.toml' '--exclude=package.json' '--exclude=*.md' /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/builderqueryexpression_builder_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/builderqueryexpression_builder_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/builderqueryexpression_builder_gen.go	2025-05-23 11:15:30.590370038 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/builderqueryexpression_builder_gen.go	2025-05-23 11:14:54.612546765 +0000
@@ -11,6 +11,7 @@
 
 var _ cog.Builder[BuilderQueryExpression] = (*BuilderQueryExpressionBuilder)(nil)
 
+// Modified by veneer 'ComposeBuilders[source=dashboardv2alpha1.DataQueryKind]'
 type BuilderQueryExpressionBuilder struct {
 	internal *BuilderQueryExpression
 	errors   cog.BuildErrors
diff --new-file --unidirectional-new-file '--color=never' --unified --recursive '--exclude=.git' '--exclude=gradle.properties' '--exclude=pyproject.toml' '--exclude=package.json' '--exclude=*.md' /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/metricdefinitionsquery_builder_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/metricdefinitionsquery_builder_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/metricdefinitionsquery_builder_gen.go	2025-05-23 11:15:30.590370038 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/metricdefinitionsquery_builder_gen.go	2025-05-23 11:14:54.613546761 +0000
@@ -12,6 +12,7 @@
 var _ cog.Builder[MetricDefinitionsQuery] = (*MetricDefinitionsQueryBuilder)(nil)
 
 // @deprecated Use MetricNamespaceQuery instead
+// Modified by veneer 'ComposeBuilders[source=dashboardv2alpha1.DataQueryKind]'
 type MetricDefinitionsQueryBuilder struct {
 	internal *MetricDefinitionsQuery
 	errors   cog.BuildErrors
diff --new-file --unidirectional-new-file '--color=never' --unified --recursive '--exclude=.git' '--exclude=gradle.properties' '--exclude=pyproject.toml' '--exclude=package.json' '--exclude=*.md' /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/metricnamespacequery_builder_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/metricnamespacequery_builder_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/metricnamespacequery_builder_gen.go	2025-05-23 11:15:30.590370038 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/metricnamespacequery_builder_gen.go	2025-05-23 11:14:54.613546761 +0000
@@ -11,6 +11,7 @@
 
 var _ cog.Builder[MetricNamespaceQuery] = (*MetricNamespaceQueryBuilder)(nil)
 
+// Modified by veneer 'ComposeBuilders[source=dashboardv2alpha1.DataQueryKind]'
 type MetricNamespaceQueryBuilder struct {
 	internal *MetricNamespaceQuery
 	errors   cog.BuildErrors
diff --new-file --unidirectional-new-file '--color=never' --unified --recursive '--exclude=.git' '--exclude=gradle.properties' '--exclude=pyproject.toml' '--exclude=package.json' '--exclude=*.md' /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/metricnamesquery_builder_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/metricnamesquery_builder_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/metricnamesquery_builder_gen.go	2025-05-23 11:15:30.590370038 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/metricnamesquery_builder_gen.go	2025-05-23 11:14:54.613546761 +0000
@@ -11,6 +11,7 @@
 
 var _ cog.Builder[MetricNamesQuery] = (*MetricNamesQueryBuilder)(nil)
 
+// Modified by veneer 'ComposeBuilders[source=dashboardv2alpha1.DataQueryKind]'
 type MetricNamesQueryBuilder struct {
 	internal *MetricNamesQuery
 	errors   cog.BuildErrors
diff --new-file --unidirectional-new-file '--color=never' --unified --recursive '--exclude=.git' '--exclude=gradle.properties' '--exclude=pyproject.toml' '--exclude=package.json' '--exclude=*.md' /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/query_builder_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/query_builder_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/query_builder_gen.go	1970-01-01 00:00:00.000000000 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/query_builder_gen.go	2025-05-23 11:14:54.613546761 +0000
@@ -0,0 +1,240 @@
+// Code generated - EDITING IS FUTILE. DO NOT EDIT.
+//
+// Using jennies:
+//     GoBuilder
+
+package azuremonitor
+
+import (
+	cog "github.com/grafana/cog/generated/go/cog"
+	dashboard "github.com/grafana/cog/generated/go/dashboard"
+	dashboardv2alpha1 "github.com/grafana/cog/generated/go/dashboardv2alpha1"
+)
+
+var _ cog.Builder[dashboardv2alpha1.DataQueryKind] = (*QueryBuilder)(nil)
+
+// Modified by veneer 'ComposeBuilders[source=dashboardv2alpha1.DataQueryKind]'
+type QueryBuilder struct {
+	internal *dashboardv2alpha1.DataQueryKind
+	errors   cog.BuildErrors
+}
+
+func NewQueryBuilder() *QueryBuilder {
+	resource := dashboardv2alpha1.NewDataQueryKind()
+	builder := &QueryBuilder{
+		internal: resource,
+		errors:   make(cog.BuildErrors, 0),
+	}
+	builder.internal.Kind = "grafana-azure-monitor-datasource"
+
+	return builder
+}
+
+func (builder *QueryBuilder) Build() (dashboardv2alpha1.DataQueryKind, error) {
+	if err := builder.internal.Validate(); err != nil {
+		return dashboardv2alpha1.DataQueryKind{}, err
+	}
+
+	if len(builder.errors) > 0 {
+		return dashboardv2alpha1.DataQueryKind{}, cog.MakeBuildErrors("azuremonitor.query", builder.errors)
+	}
+
+	return *builder.internal, nil
+}
+
+// A unique identifier for the query within the list of targets.
+// In server side expressions, the refId is used as a variable name to identify results.
+// By default, the UI will assign A->Z; however setting meaningful names may be useful.
+func (builder *QueryBuilder) RefId(refId string) *QueryBuilder {
+	if builder.internal.Spec == nil {
+		builder.internal.Spec = NewAzureMonitorQuery()
+	}
+	builder.internal.Spec.(*AzureMonitorQuery).RefId = refId
+
+	return builder
+}
+
+// If hide is set to true, Grafana will filter out the response(s) associated with this query before returning it to the panel.
+func (builder *QueryBuilder) Hide(hide bool) *QueryBuilder {
+	if builder.internal.Spec == nil {
+		builder.internal.Spec = NewAzureMonitorQuery()
+	}
+	builder.internal.Spec.(*AzureMonitorQuery).Hide = &hide
+
+	return builder
+}
+
+// Specify the query flavor
+// TODO make this required and give it a default
+func (builder *QueryBuilder) QueryType(queryType string) *QueryBuilder {
+	if builder.internal.Spec == nil {
+		builder.internal.Spec = NewAzureMonitorQuery()
+	}
+	builder.internal.Spec.(*AzureMonitorQuery).QueryType = &queryType
+
+	return builder
+}
+
+// Azure subscription containing the resource(s) to be queried.
+// Also used for template variable queries
+func (builder *QueryBuilder) Subscription(subscription string) *QueryBuilder {
+	if builder.internal.Spec == nil {
+		builder.internal.Spec = NewAzureMonitorQuery()
+	}
+	builder.internal.Spec.(*AzureMonitorQuery).Subscription = &subscription
+
+	return builder
+}
+
+// Subscriptions to be queried via Azure Resource Graph.
+func (builder *QueryBuilder) Subscriptions(subscriptions []string) *QueryBuilder {
+	if builder.internal.Spec == nil {
+		builder.internal.Spec = NewAzureMonitorQuery()
+	}
+	builder.internal.Spec.(*AzureMonitorQuery).Subscriptions = subscriptions
+
+	return builder
+}
+
+// Azure Monitor Metrics sub-query properties.
+func (builder *QueryBuilder) AzureMonitor(azureMonitor cog.Builder[AzureMetricQuery]) *QueryBuilder {
+	if builder.internal.Spec == nil {
+		builder.internal.Spec = NewAzureMonitorQuery()
+	}
+	azureMonitorResource, err := azureMonitor.Build()
+	if err != nil {
+		builder.errors = append(builder.errors, err.(cog.BuildErrors)...)
+		return builder
+	}
+	builder.internal.Spec.(*AzureMonitorQuery).AzureMonitor = &azureMonitorResource
+
+	return builder
+}
+
+// Azure Monitor Logs sub-query properties.
+func (builder *QueryBuilder) AzureLogAnalytics(azureLogAnalytics cog.Builder[AzureLogsQuery]) *QueryBuilder {
+	if builder.internal.Spec == nil {
+		builder.internal.Spec = NewAzureMonitorQuery()
+	}
+	azureLogAnalyticsResource, err := azureLogAnalytics.Build()
+	if err != nil {
+		builder.errors = append(builder.errors, err.(cog.BuildErrors)...)
+		return builder
+	}
+	builder.internal.Spec.(*AzureMonitorQuery).AzureLogAnalytics = &azureLogAnalyticsResource
+
+	return builder
+}
+
+// Azure Resource Graph sub-query properties.
+func (builder *QueryBuilder) AzureResourceGraph(azureResourceGraph cog.Builder[AzureResourceGraphQuery]) *QueryBuilder {
+	if builder.internal.Spec == nil {
+		builder.internal.Spec = NewAzureMonitorQuery()
+	}
+	azureResourceGraphResource, err := azureResourceGraph.Build()
+	if err != nil {
+		builder.errors = append(builder.errors, err.(cog.BuildErrors)...)
+		return builder
+	}
+	builder.internal.Spec.(*AzureMonitorQuery).AzureResourceGraph = &azureResourceGraphResource
+
+	return builder
+}
+
+// Application Insights Traces sub-query properties.
+func (builder *QueryBuilder) AzureTraces(azureTraces cog.Builder[AzureTracesQuery]) *QueryBuilder {
+	if builder.internal.Spec == nil {
+		builder.internal.Spec = NewAzureMonitorQuery()
+	}
+	azureTracesResource, err := azureTraces.Build()
+	if err != nil {
+		builder.errors = append(builder.errors, err.(cog.BuildErrors)...)
+		return builder
+	}
+	builder.internal.Spec.(*AzureMonitorQuery).AzureTraces = &azureTracesResource
+
+	return builder
+}
+
+// @deprecated Legacy template variable support.
+func (builder *QueryBuilder) GrafanaTemplateVariableFn(grafanaTemplateVariableFn GrafanaTemplateVariableQuery) *QueryBuilder {
+	if builder.internal.Spec == nil {
+		builder.internal.Spec = NewAzureMonitorQuery()
+	}
+	builder.internal.Spec.(*AzureMonitorQuery).GrafanaTemplateVariableFn = &grafanaTemplateVariableFn
+
+	return builder
+}
+
+// Resource group used in template variable queries
+func (builder *QueryBuilder) ResourceGroup(resourceGroup string) *QueryBuilder {
+	if builder.internal.Spec == nil {
+		builder.internal.Spec = NewAzureMonitorQuery()
+	}
+	builder.internal.Spec.(*AzureMonitorQuery).ResourceGroup = &resourceGroup
+
+	return builder
+}
+
+// Namespace used in template variable queries
+func (builder *QueryBuilder) Namespace(namespace string) *QueryBuilder {
+	if builder.internal.Spec == nil {
+		builder.internal.Spec = NewAzureMonitorQuery()
+	}
+	builder.internal.Spec.(*AzureMonitorQuery).Namespace = &namespace
+
+	return builder
+}
+
+// Resource used in template variable queries
+func (builder *QueryBuilder) Resource(resource string) *QueryBuilder {
+	if builder.internal.Spec == nil {
+		builder.internal.Spec = NewAzureMonitorQuery()
+	}
+	builder.internal.Spec.(*AzureMonitorQuery).Resource = &resource
+
+	return builder
+}
+
+// Region used in template variable queries
+func (builder *QueryBuilder) Region(region string) *QueryBuilder {
+	if builder.internal.Spec == nil {
+		builder.internal.Spec = NewAzureMonitorQuery()
+	}
+	builder.internal.Spec.(*AzureMonitorQuery).Region = &region
+
+	return builder
+}
+
+// Custom namespace used in template variable queries
+func (builder *QueryBuilder) CustomNamespace(customNamespace string) *QueryBuilder {
+	if builder.internal.Spec == nil {
+		builder.internal.Spec = NewAzureMonitorQuery()
+	}
+	builder.internal.Spec.(*AzureMonitorQuery).CustomNamespace = &customNamespace
+
+	return builder
+}
+
+// For mixed data sources the selected datasource is on the query level.
+// For non mixed scenarios this is undefined.
+// TODO find a better way to do this ^ that's friendly to schema
+// TODO this shouldn't be unknown but DataSourceRef | null
+func (builder *QueryBuilder) Datasource(datasource dashboard.DataSourceRef) *QueryBuilder {
+	if builder.internal.Spec == nil {
+		builder.internal.Spec = NewAzureMonitorQuery()
+	}
+	builder.internal.Spec.(*AzureMonitorQuery).Datasource = &datasource
+
+	return builder
+}
+
+// Used only for exemplar queries from Prometheus
+func (builder *QueryBuilder) Query(query string) *QueryBuilder {
+	if builder.internal.Spec == nil {
+		builder.internal.Spec = NewAzureMonitorQuery()
+	}
+	builder.internal.Spec.(*AzureMonitorQuery).Query = &query
+
+	return builder
+}
diff --new-file --unidirectional-new-file '--color=never' --unified --recursive '--exclude=.git' '--exclude=gradle.properties' '--exclude=pyproject.toml' '--exclude=package.json' '--exclude=*.md' /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/query_converter_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/query_converter_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/query_converter_gen.go	1970-01-01 00:00:00.000000000 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/query_converter_gen.go	2025-05-23 11:14:54.613546761 +0000
@@ -0,0 +1,233 @@
+// Code generated - EDITING IS FUTILE. DO NOT EDIT.
+//
+// Using jennies:
+//     GoConverter
+
+package azuremonitor
+
+import (
+	"fmt"
+	"strings"
+
+	cog "github.com/grafana/cog/generated/go/cog"
+	dashboardv2alpha1 "github.com/grafana/cog/generated/go/dashboardv2alpha1"
+)
+
+// QueryConverter accepts a `Query` object and generates the Go code to build this object using builders.
+func QueryConverter(input dashboardv2alpha1.DataQueryKind) string {
+	calls := []string{
+		`azuremonitor.NewQueryBuilder()`,
+	}
+	var buffer strings.Builder
+	if input.Spec != nil && input.Spec.(*AzureMonitorQuery).RefId != "" {
+
+		buffer.WriteString(`RefId(`)
+		arg0 := fmt.Sprintf("%#v", input.Spec.(*AzureMonitorQuery).RefId)
+		buffer.WriteString(arg0)
+
+		buffer.WriteString(")")
+
+		calls = append(calls, buffer.String())
+		buffer.Reset()
+
+	}
+	if input.Spec != nil && input.Spec.(*AzureMonitorQuery).Hide != nil {
+
+		buffer.WriteString(`Hide(`)
+		arg0 := fmt.Sprintf("%#v", *input.Spec.(*AzureMonitorQuery).Hide)
+		buffer.WriteString(arg0)
+
+		buffer.WriteString(")")
+
+		calls = append(calls, buffer.String())
+		buffer.Reset()
+
+	}
+	if input.Spec != nil && input.Spec.(*AzureMonitorQuery).QueryType != nil && *input.Spec.(*AzureMonitorQuery).QueryType != "" {
+
+		buffer.WriteString(`QueryType(`)
+		arg0 := fmt.Sprintf("%#v", *input.Spec.(*AzureMonitorQuery).QueryType)
+		buffer.WriteString(arg0)
+
+		buffer.WriteString(")")
+
+		calls = append(calls, buffer.String())
+		buffer.Reset()
+
+	}
+	if input.Spec != nil && input.Spec.(*AzureMonitorQuery).Subscription != nil && *input.Spec.(*AzureMonitorQuery).Subscription != "" {
+
+		buffer.WriteString(`Subscription(`)
+		arg0 := fmt.Sprintf("%#v", *input.Spec.(*AzureMonitorQuery).Subscription)
+		buffer.WriteString(arg0)
+
+		buffer.WriteString(")")
+
+		calls = append(calls, buffer.String())
+		buffer.Reset()
+
+	}
+	if input.Spec != nil && input.Spec.(*AzureMonitorQuery).Subscriptions != nil && len(input.Spec.(*AzureMonitorQuery).Subscriptions) >= 1 {
+
+		buffer.WriteString(`Subscriptions(`)
+		tmparg0 := []string{}
+		for _, arg1 := range input.Spec.(*AzureMonitorQuery).Subscriptions {
+			tmpsubscriptionsarg1 := fmt.Sprintf("%#v", arg1)
+			tmparg0 = append(tmparg0, tmpsubscriptionsarg1)
+		}
+		arg0 := "[]string{" + strings.Join(tmparg0, ",\n") + "}"
+		buffer.WriteString(arg0)
+
+		buffer.WriteString(")")
+
+		calls = append(calls, buffer.String())
+		buffer.Reset()
+
+	}
+	if input.Spec != nil && input.Spec.(*AzureMonitorQuery).AzureMonitor != nil {
+
+		buffer.WriteString(`AzureMonitor(`)
+		arg0 := AzureMetricQueryConverter(*input.Spec.(*AzureMonitorQuery).AzureMonitor)
+		buffer.WriteString(arg0)
+
+		buffer.WriteString(")")
+
+		calls = append(calls, buffer.String())
+		buffer.Reset()
+
+	}
+	if input.Spec != nil && input.Spec.(*AzureMonitorQuery).AzureLogAnalytics != nil {
+
+		buffer.WriteString(`AzureLogAnalytics(`)
+		arg0 := AzureLogsQueryConverter(*input.Spec.(*AzureMonitorQuery).AzureLogAnalytics)
+		buffer.WriteString(arg0)
+
+		buffer.WriteString(")")
+
+		calls = append(calls, buffer.String())
+		buffer.Reset()
+
+	}
+	if input.Spec != nil && input.Spec.(*AzureMonitorQuery).AzureResourceGraph != nil {
+
+		buffer.WriteString(`AzureResourceGraph(`)
+		arg0 := AzureResourceGraphQueryConverter(*input.Spec.(*AzureMonitorQuery).AzureResourceGraph)
+		buffer.WriteString(arg0)
+
+		buffer.WriteString(")")
+
+		calls = append(calls, buffer.String())
+		buffer.Reset()
+
+	}
+	if input.Spec != nil && input.Spec.(*AzureMonitorQuery).AzureTraces != nil {
+
+		buffer.WriteString(`AzureTraces(`)
+		arg0 := AzureTracesQueryConverter(*input.Spec.(*AzureMonitorQuery).AzureTraces)
+		buffer.WriteString(arg0)
+
+		buffer.WriteString(")")
+
+		calls = append(calls, buffer.String())
+		buffer.Reset()
+
+	}
+	if input.Spec != nil && input.Spec.(*AzureMonitorQuery).GrafanaTemplateVariableFn != nil {
+
+		buffer.WriteString(`GrafanaTemplateVariableFn(`)
+		arg0 := cog.Dump(*input.Spec.(*AzureMonitorQuery).GrafanaTemplateVariableFn)
+		buffer.WriteString(arg0)
+
+		buffer.WriteString(")")
+
+		calls = append(calls, buffer.String())
+		buffer.Reset()
+
+	}
+	if input.Spec != nil && input.Spec.(*AzureMonitorQuery).ResourceGroup != nil && *input.Spec.(*AzureMonitorQuery).ResourceGroup != "" {
+
+		buffer.WriteString(`ResourceGroup(`)
+		arg0 := fmt.Sprintf("%#v", *input.Spec.(*AzureMonitorQuery).ResourceGroup)
+		buffer.WriteString(arg0)
+
+		buffer.WriteString(")")
+
+		calls = append(calls, buffer.String())
+		buffer.Reset()
+
+	}
+	if input.Spec != nil && input.Spec.(*AzureMonitorQuery).Namespace != nil && *input.Spec.(*AzureMonitorQuery).Namespace != "" {
+
+		buffer.WriteString(`Namespace(`)
+		arg0 := fmt.Sprintf("%#v", *input.Spec.(*AzureMonitorQuery).Namespace)
+		buffer.WriteString(arg0)
+
+		buffer.WriteString(")")
+
+		calls = append(calls, buffer.String())
+		buffer.Reset()
+
+	}
+	if input.Spec != nil && input.Spec.(*AzureMonitorQuery).Resource != nil && *input.Spec.(*AzureMonitorQuery).Resource != "" {
+
+		buffer.WriteString(`Resource(`)
+		arg0 := fmt.Sprintf("%#v", *input.Spec.(*AzureMonitorQuery).Resource)
+		buffer.WriteString(arg0)
+
+		buffer.WriteString(")")
+
+		calls = append(calls, buffer.String())
+		buffer.Reset()
+
+	}
+	if input.Spec != nil && input.Spec.(*AzureMonitorQuery).Region != nil && *input.Spec.(*AzureMonitorQuery).Region != "" {
+
+		buffer.WriteString(`Region(`)
+		arg0 := fmt.Sprintf("%#v", *input.Spec.(*AzureMonitorQuery).Region)
+		buffer.WriteString(arg0)
+
+		buffer.WriteString(")")
+
+		calls = append(calls, buffer.String())
+		buffer.Reset()
+
+	}
+	if input.Spec != nil && input.Spec.(*AzureMonitorQuery).CustomNamespace != nil && *input.Spec.(*AzureMonitorQuery).CustomNamespace != "" {
+
+		buffer.WriteString(`CustomNamespace(`)
+		arg0 := fmt.Sprintf("%#v", *input.Spec.(*AzureMonitorQuery).CustomNamespace)
+		buffer.WriteString(arg0)
+
+		buffer.WriteString(")")
+
+		calls = append(calls, buffer.String())
+		buffer.Reset()
+
+	}
+	if input.Spec != nil && input.Spec.(*AzureMonitorQuery).Datasource != nil {
+
+		buffer.WriteString(`Datasource(`)
+		arg0 := cog.Dump(*input.Spec.(*AzureMonitorQuery).Datasource)
+		buffer.WriteString(arg0)
+
+		buffer.WriteString(")")
+
+		calls = append(calls, buffer.String())
+		buffer.Reset()
+
+	}
+	if input.Spec != nil && input.Spec.(*AzureMonitorQuery).Query != nil && *input.Spec.(*AzureMonitorQuery).Query != "" {
+
+		buffer.WriteString(`Query(`)
+		arg0 := fmt.Sprintf("%#v", *input.Spec.(*AzureMonitorQuery).Query)
+		buffer.WriteString(arg0)
+
+		buffer.WriteString(")")
+
+		calls = append(calls, buffer.String())
+		buffer.Reset()
+
+	}
+
+	return strings.Join(calls, ".\t\n")
+}
diff --new-file --unidirectional-new-file '--color=never' --unified --recursive '--exclude=.git' '--exclude=gradle.properties' '--exclude=pyproject.toml' '--exclude=package.json' '--exclude=*.md' /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/resourcegroupsquery_builder_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/resourcegroupsquery_builder_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/resourcegroupsquery_builder_gen.go	2025-05-23 11:15:30.590370038 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/resourcegroupsquery_builder_gen.go	2025-05-23 11:14:54.613546761 +0000
@@ -11,6 +11,7 @@
 
 var _ cog.Builder[ResourceGroupsQuery] = (*ResourceGroupsQueryBuilder)(nil)
 
+// Modified by veneer 'ComposeBuilders[source=dashboardv2alpha1.DataQueryKind]'
 type ResourceGroupsQueryBuilder struct {
 	internal *ResourceGroupsQuery
 	errors   cog.BuildErrors
diff --new-file --unidirectional-new-file '--color=never' --unified --recursive '--exclude=.git' '--exclude=gradle.properties' '--exclude=pyproject.toml' '--exclude=package.json' '--exclude=*.md' /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/resourcenamesquery_builder_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/resourcenamesquery_builder_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/resourcenamesquery_builder_gen.go	2025-05-23 11:15:30.590370038 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/resourcenamesquery_builder_gen.go	2025-05-23 11:14:54.613546761 +0000
@@ -11,6 +11,7 @@
 
 var _ cog.Builder[ResourceNamesQuery] = (*ResourceNamesQueryBuilder)(nil)
 
+// Modified by veneer 'ComposeBuilders[source=dashboardv2alpha1.DataQueryKind]'
 type ResourceNamesQueryBuilder struct {
 	internal *ResourceNamesQuery
 	errors   cog.BuildErrors
diff --new-file --unidirectional-new-file '--color=never' --unified --recursive '--exclude=.git' '--exclude=gradle.properties' '--exclude=pyproject.toml' '--exclude=package.json' '--exclude=*.md' /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/selectablevalue_builder_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/selectablevalue_builder_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/selectablevalue_builder_gen.go	2025-05-23 11:15:30.590370038 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/selectablevalue_builder_gen.go	2025-05-23 11:14:54.613546761 +0000
@@ -11,6 +11,7 @@
 
 var _ cog.Builder[SelectableValue] = (*SelectableValueBuilder)(nil)
 
+// Modified by veneer 'ComposeBuilders[source=dashboardv2alpha1.DataQueryKind]'
 type SelectableValueBuilder struct {
 	internal *SelectableValue
 	errors   cog.BuildErrors
diff --new-file --unidirectional-new-file '--color=never' --unified --recursive '--exclude=.git' '--exclude=gradle.properties' '--exclude=pyproject.toml' '--exclude=package.json' '--exclude=*.md' /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/stringorboolorfloat64orselectablevalue_builder_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/stringorboolorfloat64orselectablevalue_builder_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/stringorboolorfloat64orselectablevalue_builder_gen.go	2025-05-23 11:15:30.590370038 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/stringorboolorfloat64orselectablevalue_builder_gen.go	2025-05-23 11:14:54.613546761 +0000
@@ -11,6 +11,7 @@
 
 var _ cog.Builder[StringOrBoolOrFloat64OrSelectableValue] = (*StringOrBoolOrFloat64OrSelectableValueBuilder)(nil)
 
+// Modified by veneer 'ComposeBuilders[source=dashboardv2alpha1.DataQueryKind]'
 type StringOrBoolOrFloat64OrSelectableValueBuilder struct {
 	internal *StringOrBoolOrFloat64OrSelectableValue
 	errors   cog.BuildErrors
diff --new-file --unidirectional-new-file '--color=never' --unified --recursive '--exclude=.git' '--exclude=gradle.properties' '--exclude=pyproject.toml' '--exclude=package.json' '--exclude=*.md' /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/subscriptionsquery_builder_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/subscriptionsquery_builder_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/subscriptionsquery_builder_gen.go	2025-05-23 11:15:30.590370038 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/subscriptionsquery_builder_gen.go	2025-05-23 11:14:54.613546761 +0000
@@ -11,6 +11,7 @@
 
 var _ cog.Builder[SubscriptionsQuery] = (*SubscriptionsQueryBuilder)(nil)
 
+// Modified by veneer 'ComposeBuilders[source=dashboardv2alpha1.DataQueryKind]'
 type SubscriptionsQueryBuilder struct {
 	internal *SubscriptionsQuery
 	errors   cog.BuildErrors
diff --new-file --unidirectional-new-file '--color=never' --unified --recursive '--exclude=.git' '--exclude=gradle.properties' '--exclude=pyproject.toml' '--exclude=package.json' '--exclude=*.md' /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/unknownquery_builder_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/unknownquery_builder_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/unknownquery_builder_gen.go	2025-05-23 11:15:30.591370032 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/unknownquery_builder_gen.go	2025-05-23 11:14:54.613546761 +0000
@@ -11,6 +11,7 @@
 
 var _ cog.Builder[UnknownQuery] = (*UnknownQueryBuilder)(nil)
 
+// Modified by veneer 'ComposeBuilders[source=dashboardv2alpha1.DataQueryKind]'
 type UnknownQueryBuilder struct {
 	internal *UnknownQuery
 	errors   cog.BuildErrors
diff --new-file --unidirectional-new-file '--color=never' --unified --recursive '--exclude=.git' '--exclude=gradle.properties' '--exclude=pyproject.toml' '--exclude=package.json' '--exclude=*.md' /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/workspacesquery_builder_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/workspacesquery_builder_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/azuremonitor/workspacesquery_builder_gen.go	2025-05-23 11:15:30.591370032 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/azuremonitor/workspacesquery_builder_gen.go	2025-05-23 11:14:54.613546761 +0000
@@ -11,6 +11,7 @@
 
 var _ cog.Builder[WorkspacesQuery] = (*WorkspacesQueryBuilder)(nil)
 
+// Modified by veneer 'ComposeBuilders[source=dashboardv2alpha1.DataQueryKind]'
 type WorkspacesQueryBuilder struct {
 	internal *WorkspacesQuery
 	errors   cog.BuildErrors
diff --new-file --unidirectional-new-file '--color=never' --unified --recursive '--exclude=.git' '--exclude=gradle.properties' '--exclude=pyproject.toml' '--exclude=package.json' '--exclude=*.md' /tmp/foundation-workspace-main/foundation-sdk/go/bigquery/dataquery_builder_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/bigquery/dataquery_builder_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/bigquery/dataquery_builder_gen.go	2025-05-23 11:15:30.591370032 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/bigquery/dataquery_builder_gen.go	2025-05-23 11:14:54.614546758 +0000
@@ -14,6 +14,7 @@
 var _ cog.Builder[variants.D...*[Comment body truncated]*

@K-Phoen K-Phoen self-assigned this Jan 24, 2025
@K-Phoen K-Phoen force-pushed the sandbox/dashboard-v1-v2 branch 2 times, most recently from ea02e74 to 363627f Compare January 26, 2025 02:16
@K-Phoen K-Phoen changed the base branch from main to better-inspect January 26, 2025 02:16
@K-Phoen K-Phoen mentioned this pull request Jan 26, 2025
Base automatically changed from better-inspect to main January 27, 2025 10:35
@K-Phoen K-Phoen force-pushed the sandbox/dashboard-v1-v2 branch 2 times, most recently from dfc3e3c to e65dbab Compare January 27, 2025 12:03
@K-Phoen K-Phoen force-pushed the sandbox/dashboard-v1-v2 branch 5 times, most recently from 5cfc397 to 7ca48a9 Compare February 1, 2025 01:42
@K-Phoen K-Phoen force-pushed the sandbox/dashboard-v1-v2 branch 3 times, most recently from 9755baa to a38ecb6 Compare February 14, 2025 15:32
@K-Phoen K-Phoen force-pushed the sandbox/dashboard-v1-v2 branch from 6a6cc7f to edf7688 Compare March 20, 2025 11:28
@K-Phoen K-Phoen force-pushed the sandbox/dashboard-v1-v2 branch from 833d68f to a8eaecc Compare May 3, 2025 20:45

This comment has been minimized.

@K-Phoen K-Phoen mentioned this pull request May 3, 2025

This comment has been minimized.

This comment has been minimized.

Copy link

😢 zizmor failed with exit code 14.

Expand for full output
error[cache-poisoning]: runtime artifacts potentially vulnerable to a cache poisoning attack
  --> ./.github/workflows/release.yaml:3:1
   |
 3 | / on:
 4 | |   push:
 5 | |     tags: ["v*"]
   | |________________^ generally used when publishing artifacts generated at runtime
 6 |
...
31 |         - name: Restore go vendors
32 |           uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 #v4.2.3
   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cache enabled by default here
   |
   = note: audit confidence → Low

11 findings (7 ignored, 3 suppressed): 0 unknown, 0 informational, 0 low, 0 medium, 1 high

@@ -158,6 +158,8 @@ func (language *Language) CompilerPasses() compiler.Passes {
&compiler.FlattenDisjunctions{},
&compiler.DisjunctionInferMapping{},
&compiler.UndiscriminatedDisjunctionToAny{},
&compiler.DisjunctionToType{},
&compiler.RemoveIntersections{},
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is making my eyebrows go up 😆

Why are these compiler passes needed? I'm especially worried about the DisjunctionToType one: it shouldn't be needed and using it will actually introduce a bunch of completely avoidable BC breaks in the foundation SDK

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added because it "fixes" the converter in PHP. One of the affected schemas is Expr, but I think that is because this veneer.

The problem is that without DisjunctionToType, the disjunction appears in the guard block (here), instead of the BuilderDisjunction (here), making it more complex.

The second compiler pass is to remove aliases (like Java).

Maybe we have any bug in the veneer? It also applies disjunction_to_type, but at the beginning.

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.

2 participants