Skip to content

Cue: Constant discriminators #789

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

Open
wants to merge 15 commits into
base: main
Choose a base branch
from
Open

Conversation

spinillos
Copy link
Member

Closes: #788

When a reference only has a constant, it was managed as a reference instead of a constant reference.

@spinillos spinillos self-assigned this Apr 8, 2025
@spinillos spinillos requested a review from a team as a code owner April 8, 2025 11:20
@spinillos spinillos marked this pull request as draft April 8, 2025 11:20
Copy link

github-actions bot commented Apr 8, 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/bigquery/queryeditorproperty_builder_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/bigquery/queryeditorproperty_builder_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/bigquery/queryeditorproperty_builder_gen.go	2025-04-09 11:22:21.270616884 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/bigquery/queryeditorproperty_builder_gen.go	2025-04-09 11:21:46.825717873 +0000
@@ -34,12 +34,6 @@
 	return *builder.internal, nil
 }
 
-func (builder *QueryEditorPropertyBuilder) Type(typeArg QueryEditorPropertyType) *QueryEditorPropertyBuilder {
-	builder.internal.Type = typeArg
-
-	return builder
-}
-
 func (builder *QueryEditorPropertyBuilder) Name(name string) *QueryEditorPropertyBuilder {
 	builder.internal.Name = &name
 
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/queryeditorproperty_converter_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/bigquery/queryeditorproperty_converter_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/bigquery/queryeditorproperty_converter_gen.go	2025-04-09 11:22:21.270616884 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/bigquery/queryeditorproperty_converter_gen.go	2025-04-09 11:21:46.825717873 +0000
@@ -8,8 +8,6 @@
 import (
 	"fmt"
 	"strings"
-
-	cog "github.com/grafana/cog/generated/go/cog"
 )
 
 // QueryEditorPropertyConverter accepts a `QueryEditorProperty` object and generates the Go code to build this object using builders.
@@ -18,18 +16,6 @@
 		`bigquery.NewQueryEditorPropertyBuilder()`,
 	}
 	var buffer strings.Builder
-
-	{
-		buffer.WriteString(`Type(`)
-		arg0 := cog.Dump(input.Type)
-		buffer.WriteString(arg0)
-
-		buffer.WriteString(")")
-
-		calls = append(calls, buffer.String())
-		buffer.Reset()
-	}
-
 	if input.Name != nil && *input.Name != "" {
 
 		buffer.WriteString(`Name(`)
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/types_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/bigquery/types_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/bigquery/types_gen.go	2025-04-09 11:22:21.270616884 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/bigquery/types_gen.go	2025-04-09 11:21:46.825717873 +0000
@@ -1153,7 +1153,9 @@
 
 // NewQueryEditorProperty creates a new QueryEditorProperty object.
 func NewQueryEditorProperty() *QueryEditorProperty {
-	return &QueryEditorProperty{}
+	return &QueryEditorProperty{
+		Type: QueryEditorPropertyTypeString,
+	}
 }
 
 // UnmarshalJSONStrict implements a custom JSON unmarshalling logic to decode `QueryEditorProperty` from JSON.
@@ -1225,15 +1227,17 @@
 
 // Validate checks all the validation constraints that may be defined on `QueryEditorProperty` fields for violations and returns them.
 func (resource QueryEditorProperty) Validate() error {
-	return nil
-}
+	var errs cog.BuildErrors
+	if resource.Type != "string" {
+		errs = append(errs, cog.MakeBuildErrors("type", errors.New("must be string"))...)
+	}
 
-// Modified by compiler pass 'PrefixEnumValues'
-type QueryEditorPropertyType string
+	if len(errs) == 0 {
+		return nil
+	}
 
-const (
-	QueryEditorPropertyTypeString QueryEditorPropertyType = "string"
-)
+	return errs
+}
 
 type QueryEditorPropertyExpression struct {
 	Type     QueryEditorExpressionType `json:"type"`
@@ -1339,6 +1343,13 @@
 	OrderByDirectionDESC OrderByDirection = "DESC"
 )
 
+// Modified by compiler pass 'PrefixEnumValues'
+type QueryEditorPropertyType string
+
+const (
+	QueryEditorPropertyTypeString QueryEditorPropertyType = "string"
+)
+
 // VariantConfig returns the configuration related to grafana-bigquery-datasource dataqueries.
 // This configuration describes how to unmarshal it, convert it to code, …
 func VariantConfig() variants.DataqueryConfig {
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/canvas/canvasconnection_builder_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/canvas/canvasconnection_builder_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/canvas/canvasconnection_builder_gen.go	2025-04-09 11:22:21.271616881 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/canvas/canvasconnection_builder_gen.go	2025-04-09 11:21:46.825717873 +0000
@@ -64,12 +64,6 @@
 	return builder
 }
 
-func (builder *CanvasConnectionBuilder) Path(path ConnectionPath) *CanvasConnectionBuilder {
-	builder.internal.Path = path
-
-	return builder
-}
-
 func (builder *CanvasConnectionBuilder) Color(color cog.Builder[common.ColorDimensionConfig]) *CanvasConnectionBuilder {
 	colorResource, err := color.Build()
 	if err != nil {
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/canvas/canvasconnection_converter_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/canvas/canvasconnection_converter_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/canvas/canvasconnection_converter_gen.go	2025-04-09 11:22:21.271616881 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/canvas/canvasconnection_converter_gen.go	2025-04-09 11:21:46.826717869 +0000
@@ -9,7 +9,6 @@
 	"fmt"
 	"strings"
 
-	cog "github.com/grafana/cog/generated/go/cog"
 	common "github.com/grafana/cog/generated/go/common"
 )
 
@@ -54,18 +53,6 @@
 		buffer.Reset()
 
 	}
-
-	{
-		buffer.WriteString(`Path(`)
-		arg0 := cog.Dump(input.Path)
-		buffer.WriteString(arg0)
-
-		buffer.WriteString(")")
-
-		calls = append(calls, buffer.String())
-		buffer.Reset()
-	}
-
 	if input.Color != nil {
 
 		buffer.WriteString(`Color(`)
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/canvas/types_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/canvas/types_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/canvas/types_gen.go	2025-04-09 11:22:21.271616881 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/canvas/types_gen.go	2025-04-09 11:21:46.826717869 +0000
@@ -704,6 +704,7 @@
 	return &CanvasConnection{
 		Source: *NewConnectionCoordinates(),
 		Target: *NewConnectionCoordinates(),
+		Path:   ConnectionPathStraight,
 	}
 }
 
@@ -942,6 +943,9 @@
 	if err := resource.Target.Validate(); err != nil {
 		errs = append(errs, cog.MakeBuildErrors("target", err)...)
 	}
+	if resource.Path != "straight" {
+		errs = append(errs, cog.MakeBuildErrors("path", errors.New("must be straight"))...)
+	}
 	if resource.Color != nil {
 		if err := resource.Color.Validate(); err != nil {
 			errs = append(errs, cog.MakeBuildErrors("color", err)...)
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/cloudwatch/queryeditorproperty_builder_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/cloudwatch/queryeditorproperty_builder_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/cloudwatch/queryeditorproperty_builder_gen.go	2025-04-09 11:22:21.272616878 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/cloudwatch/queryeditorproperty_builder_gen.go	2025-04-09 11:21:46.827717866 +0000
@@ -34,12 +34,6 @@
 	return *builder.internal, nil
 }
 
-func (builder *QueryEditorPropertyBuilder) Type(typeArg QueryEditorPropertyType) *QueryEditorPropertyBuilder {
-	builder.internal.Type = typeArg
-
-	return builder
-}
-
 func (builder *QueryEditorPropertyBuilder) Name(name string) *QueryEditorPropertyBuilder {
 	builder.internal.Name = &name
 
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/cloudwatch/queryeditorproperty_converter_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/cloudwatch/queryeditorproperty_converter_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/cloudwatch/queryeditorproperty_converter_gen.go	2025-04-09 11:22:21.272616878 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/cloudwatch/queryeditorproperty_converter_gen.go	2025-04-09 11:21:46.827717866 +0000
@@ -8,8 +8,6 @@
 import (
 	"fmt"
 	"strings"
-
-	cog "github.com/grafana/cog/generated/go/cog"
 )
 
 // QueryEditorPropertyConverter accepts a `QueryEditorProperty` object and generates the Go code to build this object using builders.
@@ -18,18 +16,6 @@
 		`cloudwatch.NewQueryEditorPropertyBuilder()`,
 	}
 	var buffer strings.Builder
-
-	{
-		buffer.WriteString(`Type(`)
-		arg0 := cog.Dump(input.Type)
-		buffer.WriteString(arg0)
-
-		buffer.WriteString(")")
-
-		calls = append(calls, buffer.String())
-		buffer.Reset()
-	}
-
 	if input.Name != nil && *input.Name != "" {
 
 		buffer.WriteString(`Name(`)
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/cloudwatch/types_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/cloudwatch/types_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/cloudwatch/types_gen.go	2025-04-09 11:22:21.272616878 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/cloudwatch/types_gen.go	2025-04-09 11:21:46.827717866 +0000
@@ -1498,7 +1498,9 @@
 
 // NewQueryEditorProperty creates a new QueryEditorProperty object.
 func NewQueryEditorProperty() *QueryEditorProperty {
-	return &QueryEditorProperty{}
+	return &QueryEditorProperty{
+		Type: QueryEditorPropertyTypeString,
+	}
 }
 
 // UnmarshalJSONStrict implements a custom JSON unmarshalling logic to decode `QueryEditorProperty` from JSON.
@@ -1570,15 +1572,17 @@
 
 // Validate checks all the validation constraints that may be defined on `QueryEditorProperty` fields for violations and returns them.
 func (resource QueryEditorProperty) Validate() error {
-	return nil
-}
+	var errs cog.BuildErrors
+	if resource.Type != "string" {
+		errs = append(errs, cog.MakeBuildErrors("type", errors.New("must be string"))...)
+	}
 
-// Modified by compiler pass 'PrefixEnumValues'
-type QueryEditorPropertyType string
+	if len(errs) == 0 {
+		return nil
+	}
 
-const (
-	QueryEditorPropertyTypeString QueryEditorPropertyType = "string"
-)
+	return errs
+}
 
 type QueryEditorArrayExpression struct {
 	Type QueryEditorArrayExpressionType/* AnonymousEnumToExplicitType */ `json:"type"`
@@ -2032,6 +2036,13 @@
 }
 
 // Modified by compiler pass 'PrefixEnumValues'
+type QueryEditorPropertyType string
+
+const (
+	QueryEditorPropertyTypeString QueryEditorPropertyType = "string"
+)
+
+// Modified by compiler pass 'PrefixEnumValues'
 type LogsQueryLanguage string
 
 const (
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/common/types_gen.go /tmp/foundation-workspace-current/foundation-sdk/go/common/types_gen.go
--- /tmp/foundation-workspace-main/foundation-sdk/go/common/types_gen.go	2025-04-09 11:22:21.275616869 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/go/common/types_gen.go	2025-04-09 11:21:46.830717857 +0000
@@ -4035,12 +4035,6 @@
 // Modified by compiler pass 'RetypeObject[Disjunction → String]'
 type TimeZone string
 
-// Use UTC/GMT timezone
-const TimeZoneUtc = "utc"
-
-// Use the timezone defined by end user web browser
-const TimeZoneBrowser = "browser"
-
 // TODO docs
 type OptionsWithTextFormatting struct {
 	// Modified by compiler pass 'NotRequiredFieldAsNullableType[nullable=true]'
@@ -7029,6 +7023,12 @@
 	return NewTableAutoCellOptionsOrTableSparklineCellOptionsOrTableBarGaugeCellOptionsOrTableColoredBackgroundCellOptionsOrTableColorTextCellOptionsOrTableImageCellOptionsOrTableDataLinksCellOptionsOrTableActionsCellOptionsOrTableJsonViewCellOptions()
 }
 
+// Use UTC/GMT timezone
+const TimeZoneUtc = "utc"
+
+// Use the timezone defined by end user web browser
+const TimeZoneBrowser = "browser"
+
 // Optional formats for the template variable replace functions
 // See also https://grafana.com/docs/grafana/latest/dashboards/variables/variable-syntax/#advanced-variable-format-options
 // Modified by compiler pass 'PrefixEnumValues'
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/java/src/main/java/com/grafana/foundation/bigquery/QueryEditorProperty.java /tmp/foundation-workspace-current/foundation-sdk/java/src/main/java/com/grafana/foundation/bigquery/QueryEditorProperty.java
--- /tmp/foundation-workspace-main/foundation-sdk/java/src/main/java/com/grafana/foundation/bigquery/QueryEditorProperty.java	2025-04-09 11:22:21.196617110 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/java/src/main/java/com/grafana/foundation/bigquery/QueryEditorProperty.java	2025-04-09 11:21:46.750718106 +0000
@@ -12,16 +12,16 @@
 import com.fasterxml.jackson.annotation.JsonInclude;
 
 public class QueryEditorProperty {
-    @JsonInclude(JsonInclude.Include.NON_EMPTY)
     @JsonProperty("type")
     public QueryEditorPropertyType type;
     @JsonInclude(JsonInclude.Include.NON_NULL)
     @JsonProperty("name")
     public String name;
     public QueryEditorProperty() {
+        this.type = QueryEditorPropertyType.STRING;
     }
-    public QueryEditorProperty(QueryEditorPropertyType type,String name) {
-        this.type = type;
+    public QueryEditorProperty(String name) {
+        this.type = QueryEditorPropertyType.STRING;
         this.name = name;
     }
     
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/java/src/main/java/com/grafana/foundation/bigquery/QueryEditorPropertyBuilder.java /tmp/foundation-workspace-current/foundation-sdk/java/src/main/java/com/grafana/foundation/bigquery/QueryEditorPropertyBuilder.java
--- /tmp/foundation-workspace-main/foundation-sdk/java/src/main/java/com/grafana/foundation/bigquery/QueryEditorPropertyBuilder.java	2025-04-09 11:22:21.196617110 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/java/src/main/java/com/grafana/foundation/bigquery/QueryEditorPropertyBuilder.java	2025-04-09 11:21:46.750718106 +0000
@@ -12,11 +12,6 @@
     public QueryEditorPropertyBuilder() {
         this.internal = new QueryEditorProperty();
     }
-    public QueryEditorPropertyBuilder type(QueryEditorPropertyType type) {
-        this.internal.type = type;
-        return this;
-    }
-    
     public QueryEditorPropertyBuilder name(String name) {
         this.internal.name = name;
         return this;
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/java/src/main/java/com/grafana/foundation/canvas/CanvasConnection.java /tmp/foundation-workspace-current/foundation-sdk/java/src/main/java/com/grafana/foundation/canvas/CanvasConnection.java
--- /tmp/foundation-workspace-main/foundation-sdk/java/src/main/java/com/grafana/foundation/canvas/CanvasConnection.java	2025-04-09 11:22:21.196617110 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/java/src/main/java/com/grafana/foundation/canvas/CanvasConnection.java	2025-04-09 11:21:46.751718103 +0000
@@ -24,7 +24,6 @@
     @JsonInclude(JsonInclude.Include.NON_NULL)
     @JsonProperty("targetName")
     public String targetName;
-    @JsonInclude(JsonInclude.Include.NON_EMPTY)
     @JsonProperty("path")
     public ConnectionPath path;
     @JsonInclude(JsonInclude.Include.NON_NULL)
@@ -43,12 +42,13 @@
     @JsonProperty("targetOriginal")
     public ConnectionCoordinates targetOriginal;
     public CanvasConnection() {
+        this.path = ConnectionPath.STRAIGHT;
     }
-    public CanvasConnection(ConnectionCoordinates source,ConnectionCoordinates target,String targetName,ConnectionPath path,ColorDimensionConfig color,ScaleDimensionConfig size,List<ConnectionCoordinates> vertices,ConnectionCoordinates sourceOriginal,ConnectionCoordinates targetOriginal) {
+    public CanvasConnection(ConnectionCoordinates source,ConnectionCoordinates target,String targetName,ColorDimensionConfig color,ScaleDimensionConfig size,List<ConnectionCoordinates> vertices,ConnectionCoordinates sourceOriginal,ConnectionCoordinates targetOriginal) {
         this.source = source;
         this.target = target;
         this.targetName = targetName;
-        this.path = path;
+        this.path = ConnectionPath.STRAIGHT;
         this.color = color;
         this.size = size;
         this.vertices = vertices;
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/java/src/main/java/com/grafana/foundation/canvas/CanvasConnectionBuilder.java /tmp/foundation-workspace-current/foundation-sdk/java/src/main/java/com/grafana/foundation/canvas/CanvasConnectionBuilder.java
--- /tmp/foundation-workspace-main/foundation-sdk/java/src/main/java/com/grafana/foundation/canvas/CanvasConnectionBuilder.java	2025-04-09 11:22:21.196617110 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/java/src/main/java/com/grafana/foundation/canvas/CanvasConnectionBuilder.java	2025-04-09 11:21:46.751718103 +0000
@@ -30,11 +30,6 @@
         return this;
     }
     
-    public CanvasConnectionBuilder path(ConnectionPath path) {
-        this.internal.path = path;
-        return this;
-    }
-    
     public CanvasConnectionBuilder color(com.grafana.foundation.cog.Builder<ColorDimensionConfig> color) {
         this.internal.color = color.build();
         return this;
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/java/src/main/java/com/grafana/foundation/cloudwatch/QueryEditorProperty.java /tmp/foundation-workspace-current/foundation-sdk/java/src/main/java/com/grafana/foundation/cloudwatch/QueryEditorProperty.java
--- /tmp/foundation-workspace-main/foundation-sdk/java/src/main/java/com/grafana/foundation/cloudwatch/QueryEditorProperty.java	2025-04-09 11:22:21.198617104 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/java/src/main/java/com/grafana/foundation/cloudwatch/QueryEditorProperty.java	2025-04-09 11:21:46.753718097 +0000
@@ -12,16 +12,16 @@
 import com.fasterxml.jackson.annotation.JsonInclude;
 
 public class QueryEditorProperty {
-    @JsonInclude(JsonInclude.Include.NON_EMPTY)
     @JsonProperty("type")
     public QueryEditorPropertyType type;
     @JsonInclude(JsonInclude.Include.NON_NULL)
     @JsonProperty("name")
     public String name;
     public QueryEditorProperty() {
+        this.type = QueryEditorPropertyType.STRING;
     }
-    public QueryEditorProperty(QueryEditorPropertyType type,String name) {
-        this.type = type;
+    public QueryEditorProperty(String name) {
+        this.type = QueryEditorPropertyType.STRING;
         this.name = name;
     }
     
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/java/src/main/java/com/grafana/foundation/cloudwatch/QueryEditorPropertyBuilder.java /tmp/foundation-workspace-current/foundation-sdk/java/src/main/java/com/grafana/foundation/cloudwatch/QueryEditorPropertyBuilder.java
--- /tmp/foundation-workspace-main/foundation-sdk/java/src/main/java/com/grafana/foundation/cloudwatch/QueryEditorPropertyBuilder.java	2025-04-09 11:22:21.198617104 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/java/src/main/java/com/grafana/foundation/cloudwatch/QueryEditorPropertyBuilder.java	2025-04-09 11:21:46.753718097 +0000
@@ -12,11 +12,6 @@
     public QueryEditorPropertyBuilder() {
         this.internal = new QueryEditorProperty();
     }
-    public QueryEditorPropertyBuilder type(QueryEditorPropertyType type) {
-        this.internal.type = type;
-        return this;
-    }
-    
     public QueryEditorPropertyBuilder name(String name) {
         this.internal.name = name;
         return this;
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/jsonschema/bigquery.jsonschema.json /tmp/foundation-workspace-current/foundation-sdk/jsonschema/bigquery.jsonschema.json
--- /tmp/foundation-workspace-main/foundation-sdk/jsonschema/bigquery.jsonschema.json	2025-04-09 11:22:21.166617201 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/jsonschema/bigquery.jsonschema.json	2025-04-09 11:21:46.721718196 +0000
@@ -137,7 +137,10 @@
         "type"
       ],
       "properties": {
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/QueryEditorExpressionType",
+          "default": "function"
+        },
         "name": {
           "type": "string"
         },
@@ -167,7 +170,10 @@
         "type"
       ],
       "properties": {
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/QueryEditorExpressionType",
+          "default": "functionParameter"
+        },
         "name": {
           "type": "string"
         }
@@ -181,7 +187,10 @@
         "property"
       ],
       "properties": {
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/QueryEditorExpressionType",
+          "default": "groupBy"
+        },
         "property": {
           "$ref": "#/definitions/QueryEditorProperty"
         }
@@ -195,18 +204,14 @@
       ],
       "properties": {
         "type": {
-          "$ref": "#/definitions/QueryEditorPropertyType"
+          "$ref": "#/definitions/QueryEditorPropertyType",
+          "default": "string"
         },
         "name": {
           "type": "string"
         }
       }
     },
-    "QueryEditorPropertyType": {
-      "enum": [
-        "string"
-      ]
-    },
     "QueryEditorPropertyExpression": {
       "type": "object",
       "additionalProperties": false,
@@ -215,7 +220,10 @@
         "property"
       ],
       "properties": {
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/QueryEditorExpressionType",
+          "default": "property"
+        },
         "property": {
           "$ref": "#/definitions/QueryEditorProperty"
         }
@@ -227,6 +235,11 @@
         "DESC"
       ]
     },
+    "QueryEditorPropertyType": {
+      "enum": [
+        "string"
+      ]
+    },
     "DataSourceRef": {
       "type": "object",
       "additionalProperties": false,
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/jsonschema/canvas.jsonschema.json /tmp/foundation-workspace-current/foundation-sdk/jsonschema/canvas.jsonschema.json
--- /tmp/foundation-workspace-main/foundation-sdk/jsonschema/canvas.jsonschema.json	2025-04-09 11:22:21.166617201 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/jsonschema/canvas.jsonschema.json	2025-04-09 11:21:46.721718196 +0000
@@ -144,7 +144,8 @@
           "type": "string"
         },
         "path": {
-          "$ref": "#/definitions/ConnectionPath"
+          "$ref": "#/definitions/ConnectionPath",
+          "default": "straight"
         },
         "color": {
           "$ref": "#/definitions/ColorDimensionConfig"
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/jsonschema/cloudwatch.jsonschema.json /tmp/foundation-workspace-current/foundation-sdk/jsonschema/cloudwatch.jsonschema.json
--- /tmp/foundation-workspace-main/foundation-sdk/jsonschema/cloudwatch.jsonschema.json	2025-04-09 11:22:21.167617198 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/jsonschema/cloudwatch.jsonschema.json	2025-04-09 11:21:46.721718196 +0000
@@ -241,7 +241,10 @@
         "type"
       ],
       "properties": {
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/QueryEditorExpressionType",
+          "default": "function"
+        },
         "name": {
           "type": "string"
         },
@@ -271,7 +274,10 @@
         "type"
       ],
       "properties": {
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/QueryEditorExpressionType",
+          "default": "functionParameter"
+        },
         "name": {
           "type": "string"
         }
@@ -285,7 +291,10 @@
         "property"
       ],
       "properties": {
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/QueryEditorExpressionType",
+          "default": "property"
+        },
         "property": {
           "$ref": "#/definitions/QueryEditorProperty"
         }
@@ -299,18 +308,14 @@
       ],
       "properties": {
         "type": {
-          "$ref": "#/definitions/QueryEditorPropertyType"
+          "$ref": "#/definitions/QueryEditorPropertyType",
+          "default": "string"
         },
         "name": {
           "type": "string"
         }
       }
     },
-    "QueryEditorPropertyType": {
-      "enum": [
-        "string"
-      ]
-    },
     "QueryEditorArrayExpression": {
       "type": "object",
       "additionalProperties": false,
@@ -365,7 +370,10 @@
         "property"
       ],
       "properties": {
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/QueryEditorExpressionType",
+          "default": "groupBy"
+        },
         "property": {
           "$ref": "#/definitions/QueryEditorProperty"
         }
@@ -380,7 +388,10 @@
         "operator"
       ],
       "properties": {
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/QueryEditorExpressionType",
+          "default": "operator"
+        },
         "property": {
           "$ref": "#/definitions/QueryEditorProperty"
         },
@@ -439,6 +450,11 @@
         }
       ]
     },
+    "QueryEditorPropertyType": {
+      "enum": [
+        "string"
+      ]
+    },
     "LogsQueryLanguage": {
       "enum": [
         "CWLI",
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/jsonschema/common.jsonschema.json /tmp/foundation-workspace-current/foundation-sdk/jsonschema/common.jsonschema.json
--- /tmp/foundation-workspace-main/foundation-sdk/jsonschema/common.jsonschema.json	2025-04-09 11:22:21.167617198 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/jsonschema/common.jsonschema.json	2025-04-09 11:21:46.721718196 +0000
@@ -859,16 +859,6 @@
       "type": "string",
       "description": "A specific timezone from https://en.wikipedia.org/wiki/Tz_database\nModified by compiler pass 'RetypeObject[Disjunction → String]'"
     },
-    "TimeZoneUtc": {
-      "type": "string",
-      "const": "utc",
-      "description": "Use UTC/GMT timezone"
-    },
-    "TimeZoneBrowser": {
-      "type": "string",
-      "const": "browser",
-      "description": "Use the timezone defined by end user web browser"
-    },
     "OptionsWithTextFormatting": {
       "type": "object",
       "additionalProperties": false,
@@ -1178,7 +1168,10 @@
         "type"
       ],
       "properties": {
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/TableCellDisplayMode",
+          "default": "auto"
+        },
         "wrapText": {
           "type": "boolean"
         }
@@ -1192,7 +1185,10 @@
         "type"
       ],
       "properties": {
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/TableCellDisplayMode",
+          "default": "color-text"
+        },
         "wrapText": {
           "type": "boolean"
         }
@@ -1206,7 +1202,10 @@
         "type"
       ],
       "properties": {
-        "type": {}
+        "type": {
+          "$ref": "#/definitions/TableCellDisplayMode",
+          "default": "json-view"
+        }
       },
       "description": "Json view cell options"
     },
@@ -1217,7 +1216,10 @@
         "type"
       ],
       "properties": {
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/TableCellDisplayMode",
+          "default": "image"
+        },
         "alt": {
           "type": "string"
         },
@@ -1234,7 +1236,10 @@
         "type"
       ],
       "properties": {
-        "type": {}
+        "type": {
+          "$ref": "#/definitions/TableCellDisplayMode",
+          "default": "data-links"
+        }
       },
       "description": "Show data links in the cell"
     },
@@ -1245,7 +1250,10 @@
         "type"
       ],
       "properties": {
-        "type": {}
+        "type": {
+          "$ref": "#/definitions/TableCellDisplayMode",
+          "default": "actions"
+        }
       },
       "description": "Show actions in the cell"
     },
@@ -1256,7 +1264,10 @@
         "type"
       ],
       "properties": {
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/TableCellDisplayMode",
+          "default": "gauge"
+        },
         "mode": {
           "$ref": "#/definitions/BarGaugeDisplayMode"
         },
@@ -1273,7 +1284,10 @@
         "type"
       ],
       "properties": {
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/TableCellDisplayMode",
+          "default": "sparkline"
+        },
         "drawStyle": {
           "$ref": "#/definitions/GraphDrawStyle"
         },
@@ -1398,7 +1412,10 @@
         "type"
       ],
       "properties": {
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/TableCellDisplayMode",
+          "default": "color-background"
+        },
         "mode": {
           "$ref": "#/definitions/TableCellBackgroundDisplayMode"
         },
@@ -1452,6 +1469,16 @@
       ],
       "description": "Table cell options. Each cell has a display mode\nand other potential options for that display."
     },
+    "TimeZoneUtc": {
+      "type": "string",
+      "const": "utc",
+      "description": "Use UTC/GMT timezone"
+    },
+    "TimeZoneBrowser": {
+      "type": "string",
+      "const": "browser",
+      "description": "Use the timezone defined by end user web browser"
+    },
     "VariableFormatID": {
       "enum": [
         "lucene",
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/jsonschema/dashboard.jsonschema.json /tmp/foundation-workspace-current/foundation-sdk/jsonschema/dashboard.jsonschema.json
--- /tmp/foundation-workspace-main/foundation-sdk/jsonschema/dashboard.jsonschema.json	2025-04-09 11:22:21.167617198 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/jsonschema/dashboard.jsonschema.json	2025-04-09 11:21:46.721718196 +0000
@@ -695,7 +695,10 @@
         "options"
       ],
       "properties": {
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/MappingType",
+          "default": "value"
+        },
         "options": {
           "type": "object",
           "additionalProperties": {
@@ -746,7 +749,10 @@
         "options"
       ],
       "properties": {
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/MappingType",
+          "default": "range"
+        },
         "options": {
           "type": "object",
           "additionalProperties": false,
@@ -782,7 +788,10 @@
         "options"
       ],
       "properties": {
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/MappingType",
+          "default": "regex"
+        },
         "options": {
           "type": "object",
           "additionalProperties": false,
@@ -813,7 +822,10 @@
         "options"
       ],
       "properties": {
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/MappingType",
+          "default": "special"
+        },
         "options": {
           "type": "object",
           "additionalProperties": false,
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/jsonschema/elasticsearch.jsonschema.json /tmp/foundation-workspace-current/foundation-sdk/jsonschema/elasticsearch.jsonschema.json
--- /tmp/foundation-workspace-main/foundation-sdk/jsonschema/elasticsearch.jsonschema.json	2025-04-09 11:22:21.167617198 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/jsonschema/elasticsearch.jsonschema.json	2025-04-09 11:21:46.721718196 +0000
@@ -38,7 +38,10 @@
         "id": {
           "type": "string"
         },
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/BucketAggregationType",
+          "default": "date_histogram"
+        },
         "settings": {
           "type": "object",
           "additionalProperties": false,
@@ -86,7 +89,10 @@
         "id": {
           "type": "string"
         },
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/BucketAggregationType",
+          "default": "histogram"
+        },
         "settings": {
           "type": "object",
           "additionalProperties": false,
@@ -115,7 +121,10 @@
         "id": {
           "type": "string"
         },
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/BucketAggregationType",
+          "default": "terms"
+        },
         "settings": {
           "type": "object",
           "additionalProperties": false,
@@ -156,7 +165,10 @@
         "id": {
           "type": "string"
         },
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/BucketAggregationType",
+          "default": "filters"
+        },
         "settings": {
           "type": "object",
           "additionalProperties": false,
@@ -201,7 +213,10 @@
         "id": {
           "type": "string"
         },
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/BucketAggregationType",
+          "default": "geohash_grid"
+        },
         "settings": {
           "type": "object",
           "additionalProperties": false,
@@ -227,7 +242,10 @@
         "id": {
           "type": "string"
         },
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/BucketAggregationType",
+          "default": "nested"
+        },
         "settings": {
           "type": "object",
           "additionalProperties": {}
@@ -255,7 +273,9 @@
         "id"
       ],
       "properties": {
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/MetricAggregationType"
+        },
         "id": {
           "type": "string"
         },
@@ -363,7 +383,9 @@
         "field": {
           "type": "string"
         },
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/MetricAggregationType"
+        },
         "id": {
           "type": "string"
         },
@@ -394,7 +416,9 @@
         "field": {
           "type": "string"
         },
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/MetricAggregationType"
+        },
         "id": {
           "type": "string"
         },
@@ -426,7 +450,9 @@
         "field": {
           "type": "string"
         },
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/MetricAggregationType"
+        },
         "id": {
           "type": "string"
         },
@@ -452,7 +478,9 @@
         "id"
       ],
       "properties": {
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/MetricAggregationType"
+        },
         "pipelineVariables": {
           "type": "array",
           "items": {
@@ -580,7 +608,9 @@
         "field": {
           "type": "string"
         },
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/MetricAggregationType"
+        },
         "id": {
           "type": "string"
         },
@@ -606,7 +636,9 @@
         "id"
       ],
       "properties": {
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/MetricAggregationType"
+        },
         "id": {
           "type": "string"
         },
@@ -632,7 +664,9 @@
         "id"
       ],
       "properties": {
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/MetricAggregationType"
+        },
         "id": {
           "type": "string"
         },
@@ -658,7 +692,9 @@
         "id"
       ],
       "properties": {
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/MetricAggregationType"
+        },
         "field": {
           "type": "string"
         },
@@ -690,7 +726,9 @@
         "id"
       ],
       "properties": {
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/MetricAggregationType"
+        },
         "field": {
           "type": "string"
         },
@@ -728,7 +766,9 @@
         "id"
       ],
       "properties": {
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/MetricAggregationType"
+        },
         "settings": {
           "type": "object",
           "additionalProperties": false,
@@ -767,7 +807,9 @@
         "id"
       ],
       "properties": {
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/MetricAggregationType"
+        },
         "field": {
           "type": "string"
         },
@@ -799,7 +841,9 @@
         "id"
       ],
       "properties": {
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/MetricAggregationType"
+        },
         "field": {
           "type": "string"
         },
@@ -831,7 +875,9 @@
         "id"
       ],
       "properties": {
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/MetricAggregationType"
+        },
         "field": {
           "type": "string"
         },
@@ -863,7 +909,9 @@
         "id"
       ],
       "properties": {
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/MetricAggregationType"
+        },
         "field": {
           "type": "string"
         },
@@ -901,7 +949,9 @@
         "field": {
           "type": "string"
         },
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/MetricAggregationType"
+        },
         "id": {
           "type": "string"
         },
@@ -933,7 +983,9 @@
         "id"
       ],
       "properties": {
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/MetricAggregationType"
+        },
         "id": {
           "type": "string"
         },
@@ -959,7 +1011,9 @@
         "id"
       ],
       "properties": {
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/MetricAggregationType"
+        },
         "field": {
           "type": "string"
         },
@@ -991,7 +1045,9 @@
         "id"
       ],
       "properties": {
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/MetricAggregationType"
+        },
         "id": {
           "type": "string"
         },
@@ -1365,7 +1421,10 @@
         "predict"
       ],
       "properties": {
-        "model": {},
+        "model": {
+          "$ref": "#/definitions/MovingAverageModel",
+          "default": "simple"
+        },
         "window": {
           "type": "string"
         },
@@ -1383,7 +1442,10 @@
         "predict"
       ],
       "properties": {
-        "model": {},
+        "model": {
+          "$ref": "#/definitions/MovingAverageModel",
+          "default": "linear"
+        },
         "window": {
           "type": "string"
         },
@@ -1402,7 +1464,10 @@
         "predict"
       ],
       "properties": {
-        "model": {},
+        "model": {
+          "$ref": "#/definitions/MovingAverageModel",
+          "default": "ewma"
+        },
         "settings": {
           "type": "object",
           "additionalProperties": false,
@@ -1434,7 +1499,10 @@
         "predict"
       ],
       "properties": {
-        "model": {},
+        "model": {
+          "$ref": "#/definitions/MovingAverageModel",
+          "default": "holt"
+        },
         "settings": {
           "type": "object",
           "additionalProperties": false,
@@ -1469,7 +1537,10 @@
         "predict"
       ],
       "properties": {
-        "model": {},
+        "model": {
+          "$ref": "#/definitions/MovingAverageModel",
+          "default": "holt_winters"
+        },
         "settings": {
           "type": "object",
           "additionalProperties": false,
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/jsonschema/librarypanel.jsonschema.json /tmp/foundation-workspace-current/foundation-sdk/jsonschema/librarypanel.jsonschema.json
--- /tmp/foundation-workspace-main/foundation-sdk/jsonschema/librarypanel.jsonschema.json	2025-04-09 11:22:21.167617198 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/jsonschema/librarypanel.jsonschema.json	2025-04-09 11:21:46.722718193 +0000
@@ -568,7 +568,10 @@
         "options"
       ],
       "properties": {
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/MappingType",
+          "default": "value"
+        },
         "options": {
           "type": "object",
           "additionalProperties": {
@@ -587,7 +590,10 @@
         "options"
       ],
       "properties": {
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/MappingType",
+          "default": "range"
+        },
         "options": {
           "type": "object",
           "additionalProperties": false,
@@ -623,7 +629,10 @@
         "options"
       ],
       "properties": {
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/MappingType",
+          "default": "regex"
+        },
         "options": {
           "type": "object",
           "additionalProperties": false,
@@ -654,7 +663,10 @@
         "options"
       ],
       "properties": {
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/MappingType",
+          "default": "special"
+        },
         "options": {
           "type": "object",
           "additionalProperties": false,
@@ -730,6 +742,15 @@
       ],
       "description": "Defines how to assign a series color from \"by value\" color schemes. For example for an aggregated data points like a timeseries, the color can be assigned by the min, max or last value."
     },
+    "MappingType": {
+      "enum": [
+        "value",
+        "range",
+        "regex",
+        "special"
+      ],
+      "description": "Supported value mapping types\n`value`: Maps text values to a color or different display text and color. For example, you can configure a value mapping so that all instances of the value 10 appear as Perfection! rather than the number.\n`range`: Maps numerical ranges to a display text and color. For example, if a value is within a certain range, you can configure a range value mapping to display Low or High rather than the number.\n`regex`: Maps regular expressions to replacement text and a color. For example, if a value is www.example.com, you can configure a regex value mapping so that Grafana displays www and truncates the domain.\n`special`: Maps special values like Null, NaN (not a number), and boolean values like true and false to a display text and color. See SpecialValueMatch to see the list of special values. For example, you can configure a special value mapping so that null values appear as N/A."
+    },
     "ValueMappingResult": {
       "type": "object",
       "additionalProperties": false,
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/jsonschema/table.jsonschema.json /tmp/foundation-workspace-current/foundation-sdk/jsonschema/table.jsonschema.json
--- /tmp/foundation-workspace-main/foundation-sdk/jsonschema/table.jsonschema.json	2025-04-09 11:22:21.168617195 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/jsonschema/table.jsonschema.json	2025-04-09 11:21:46.722718193 +0000
@@ -221,7 +221,10 @@
         "type"
       ],
       "properties": {
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/TableCellDisplayMode",
+          "default": "auto"
+        },
         "wrapText": {
           "type": "boolean"
         }
@@ -235,7 +238,10 @@
         "type"
       ],
       "properties": {
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/TableCellDisplayMode",
+          "default": "sparkline"
+        },
         "drawStyle": {
           "$ref": "#/definitions/GraphDrawStyle"
         },
@@ -360,7 +366,10 @@
         "type"
       ],
       "properties": {
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/TableCellDisplayMode",
+          "default": "gauge"
+        },
         "mode": {
           "$ref": "#/definitions/BarGaugeDisplayMode"
         },
@@ -377,7 +386,10 @@
         "type"
       ],
       "properties": {
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/TableCellDisplayMode",
+          "default": "color-background"
+        },
         "mode": {
           "$ref": "#/definitions/TableCellBackgroundDisplayMode"
         },
@@ -397,7 +409,10 @@
         "type"
       ],
       "properties": {
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/TableCellDisplayMode",
+          "default": "color-text"
+        },
         "wrapText": {
           "type": "boolean"
         }
@@ -411,7 +426,10 @@
         "type"
       ],
       "properties": {
-        "type": {},
+        "type": {
+          "$ref": "#/definitions/TableCellDisplayMode",
+          "default": "image"
+        },
         "alt": {
           "type": "string"
         },
@@ -428,7 +446,10 @@
         "type"
       ],
       "properties": {
-        "type": {}
+        "type": {
+          "$ref": "#/definitions/TableCellDisplayMode",
+          "default": "data-links"
+        }
       },
       "description": "Show data links in the cell"
     },
@@ -439,7 +460,10 @@
         "type"
       ],
       "properties": {
-        "type": {}
+        "type": {
+          "$ref": "#/definitions/TableCellDisplayMode",
+          "default": "actions"
+        }
       },
       "description": "Show actions in the cell"
     },
@@ -450,7 +474,10 @@
         "type"
       ],
       "properties": {
-        "type": {}
+        "type": {
+          "$ref": "#/definitions/TableCellDisplayMode",
+          "default": "json-view"
+        }
       },
       "description": "Json view cell options"
     },
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/openapi/bigquery.openapi.json /tmp/foundation-workspace-current/foundation-sdk/openapi/bigquery.openapi.json
--- /tmp/foundation-workspace-main/foundation-sdk/openapi/bigquery.openapi.json	2025-04-09 11:22:21.334616689 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/openapi/bigquery.openapi.json	2025-04-09 11:21:46.889717673 +0000
@@ -145,7 +145,10 @@
           "type"
         ],
         "properties": {
-          "type": {},
+          "type": {
+            "$ref": "#/components/schemas/QueryEditorExpressionType",
+            "default": "function"
+          },
           "name": {
             "type": "string"
           },
@@ -175,7 +178,10 @@
           "type"
         ],
         "properties": {
-          "type": {},
+          "type": {
+            "$ref": "#/components/schemas/QueryEditorExpressionType",
+            "default": "functionParameter"
+          },
           "name": {
             "type": "string"
           }
@@ -189,7 +195,10 @@
           "property"
         ],
         "properties": {
-          "type": {},
+          "type": {
+            "$ref": "#/components/schemas/QueryEditorExpressionType",
+            "default": "groupBy"
+          },
           "property": {
             "$ref": "#/components/schemas/QueryEditorProperty"
           }
@@ -203,18 +212,14 @@
         ],
         "properties": {
           "type": {
-            "$ref": "#/components/schemas/QueryEditorPropertyType"
+            "$ref": "#/components/schemas/QueryEditorPropertyType",
+            "default": "string"
           },
           "name": {
             "type": "string"
           }
         }
       },
-      "QueryEditorPropertyType": {
-        "enum": [
-          "string"
-        ]
-      },
       "QueryEditorPropertyExpression": {
         "type": "object",
         "additionalProperties": false,
@@ -223,7 +228,10 @@
           "property"
         ],
         "properties": {
-          "type": {},
+          "type": {
+            "$ref": "#/components/schemas/QueryEditorExpressionType",
+            "default": "property"
+          },
           "property": {
             "$ref": "#/components/schemas/QueryEditorProperty"
           }
@@ -235,6 +243,11 @@
           "DESC"
         ]
       },
+      "QueryEditorPropertyType": {
+        "enum": [
+          "string"
+        ]
+      },
       "DataSourceRef": {
         "type": "object",
         "additionalProperties": false,
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/openapi/canvas.openapi.json /tmp/foundation-workspace-current/foundation-sdk/openapi/canvas.openapi.json
--- /tmp/foundation-workspace-main/foundation-sdk/openapi/canvas.openapi.json	2025-04-09 11:22:21.334616689 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/openapi/canvas.openapi.json	2025-04-09 11:21:46.889717673 +0000
@@ -153,7 +153,8 @@
             "type": "string"
           },
           "path": {
-            "$ref": "#/components/schemas/ConnectionPath"
+            "$ref": "#/components/schemas/ConnectionPath",
+            "default": "straight"
           },
           "color": {
             "$ref": "#/components/schemas/ColorDimensionConfig"
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/openapi/cloudwatch.openapi.json /tmp/foundation-workspace-current/foundation-sdk/openapi/cloudwatch.openapi.json
--- /tmp/foundation-workspace-main/foundation-sdk/openapi/cloudwatch.openapi.json	2025-04-09 11:22:21.334616689 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/openapi/cloudwatch.openapi.json	2025-04-09 11:21:46.889717673 +0000
@@ -249,7 +249,10 @@
           "type"
         ],
         "properties": {
-          "type": {},
+          "type": {
+            "$ref": "#/components/schemas/QueryEditorExpressionType",
+            "default": "function"
+          },
           "name": {
             "type": "string"
           },
@@ -279,7 +282,10 @@
           "type"
         ],
         "properties": {
-          "type": {},
+          "type": {
+            "$ref": "#/components/schemas/QueryEditorExpressionType",
+            "default": "functionParameter"
+          },
           "name": {
             "type": "string"
           }
@@ -293,7 +299,10 @@
           "property"
         ],
         "properties": {
-          "type": {},
+          "type": {
+            "$ref": "#/components/schemas/QueryEditorExpressionType",
+            "default": "property"
+          },
           "property": {
             "$ref": "#/components/schemas/QueryEditorProperty"
           }
@@ -307,18 +316,14 @@
         ],
         "properties": {
           "type": {
-            "$ref": "#/components/schemas/QueryEditorPropertyType"
+            "$ref": "#/components/schemas/QueryEditorPropertyType",
+            "default": "string"
           },
           "name": {
             "type": "string"
           }
         }
       },
-      "QueryEditorPropertyType": {
-        "enum": [
-          "string"
-        ]
-      },
       "QueryEditorArrayExpression": {
         "type": "object",
         "additionalProperties": false,
@@ -373,7 +378,10 @@
           "property"
         ],
         "properties": {
-          "type": {},
+          "type": {
+            "$ref": "#/components/schemas/QueryEditorExpressionType",
+            "default": "groupBy"
+          },
           "property": {
             "$ref": "#/components/schemas/QueryEditorProperty"
           }
@@ -388,7 +396,10 @@
           "operator"
         ],
         "properties": {
-          "type": {},
+          "type": {
+            "$ref": "#/components/schemas/QueryEditorExpressionType",
+            "default": "operator"
+          },
           "property": {
             "$ref": "#/components/schemas/QueryEditorProperty"
           },
@@ -447,6 +458,11 @@
           }
         ]
       },
+      "QueryEditorPropertyType": {
+        "enum": [
+          "string"
+        ]
+      },
       "LogsQueryLanguage": {
         "enum": [
           "CWLI",
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/openapi/common.openapi.json /tmp/foundation-workspace-current/foundation-sdk/openapi/common.openapi.json
--- /tmp/foundation-workspace-main/foundation-sdk/openapi/common.openapi.json	2025-04-09 11:22:21.334616689 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/openapi/common.openapi.json	2025-04-09 11:21:46.889717673 +0000
@@ -867,16 +867,6 @@
         "type": "string",
         "description": "A specific timezone from https://en.wikipedia.org/wiki/Tz_database\nModified by compiler pass 'RetypeObject[Disjunction → String]'"
       },
-      "TimeZoneUtc": {
-        "type": "string",
-        "const": "utc",
-        "description": "Use UTC/GMT timezone"
-      },
-      "TimeZoneBrowser": {
-        "type": "string",
-        "const": "browser",
-        "description": "Use the timezone defined by end user web browser"
-      },
       "OptionsWithTextFormatting": {
         "type": "object",
         "additionalProperties": false,
@@ -1186,7 +1176,10 @@
           "type"
         ],
         "properties": {
-          "type": {},
+          "type": {
+            "$ref": "#/components/schemas/TableCellDisplayMode",
+            "default": "auto"
+          },
           "wrapText": {
             "type": "boolean"
           }
@@ -1200,7 +1193,10 @@
           "type"
         ],
         "properties": {
-          "type": {},
+          "type": {
+            "$ref": "#/components/schemas/TableCellDisplayMode",
+            "default": "color-text"
+          },
           "wrapText": {
             "type": "boolean"
           }
@@ -1214,7 +1210,10 @@
           "type"
         ],
         "properties": {
-          "type": {}
+          "type": {
+            "$ref": "#/components/schemas/TableCellDisplayMode",
+            "default": "json-view"
+          }
         },
         "description": "Json view cell options"
       },
@@ -1225,7 +1224,10 @@
           "type"
         ],
         "properties": {
-          "type": {},
+          "type": {
+            "$ref": "#/components/schemas/TableCellDisplayMode",
+            "default": "image"
+          },
           "alt": {
             "type": "string"
           },
@@ -1242,7 +1244,10 @@
           "type"
         ],
         "properties": {
-          "type": {}
+          "type": {
+            "$ref": "#/components/schemas/TableCellDisplayMode",
+            "default": "data-links"
+          }
         },
         "description": "Show data links in the cell"
       },
@@ -1253,7 +1258,10 @@
           "type"
         ],
         "properties": {
-          "type": {}
+          "type": {
+            "$ref": "#/components/schemas/TableCellDisplayMode",
+            "default": "actions"
+          }
         },
         "description": "Show actions in the cell"
       },
@@ -1264,7 +1272,10 @@
           "type"
         ],
         "properties": {
-          "type": {},
+          "type": {
+            "$ref": "#/components/schemas/TableCellDisplayMode",
+            "default": "gauge"
+          },
           "mode": {
             "$ref": "#/components/schemas/BarGaugeDisplayMode"
           },
@@ -1281,7 +1292,10 @@
           "type"
         ],
         "properties": {
-          "type": {},
+          "type": {
+            "$ref": "#/components/schemas/TableCellDisplayMode",
+            "default": "sparkline"
+          },
           "drawStyle": {
             "$ref": "#/components/schemas/GraphDrawStyle"
           },
@@ -1406,7 +1420,10 @@
           "type"
         ],
         "properties": {
-          "type": {},
+          "type": {
+            "$ref": "#/components/schemas/TableCellDisplayMode",
+            "default": "color-background"
+          },
           "mode": {
             "$ref": "#/components/schemas/TableCellBackgroundDisplayMode"
           },
@@ -1460,6 +1477,16 @@
         ],
         "description": "Table cell options. Each cell has a display mode\nand other potential options for that display."
       },
+      "TimeZoneUtc": {
+        "type": "string",
+        "const": "utc",
+        "description": "Use UTC/GMT timezone"
+      },
+      "TimeZoneBrowser": {
+        "type": "string",
+        "const": "browser",
+        "description": "Use the timezone defined by end user web browser"
+      },
       "VariableFormatID": {
         "enum": [
           "lucene",
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/openapi/dashboard.openapi.json /tmp/foundation-workspace-current/foundation-sdk/openapi/dashboard.openapi.json
--- /tmp/foundation-workspace-main/foundation-sdk/openapi/dashboard.openapi.json	2025-04-09 11:22:21.334616689 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/openapi/dashboard.openapi.json	2025-04-09 11:21:46.889717673 +0000
@@ -702,7 +702,10 @@
           "options"
         ],
         "properties": {
-          "type": {},
+          "type": {
+            "$ref": "#/components/schemas/MappingType",
+            "default": "value"
+          },
           "options": {
             "type": "object",
             "additionalProperties": {
@@ -753,7 +756,10 @@
           "options"
         ],
         "properties": {
-          "type": {},
+          "type": {
+            "$ref": "#/components/schemas/MappingType",
+            "default": "range"
+          },
           "options": {
             "type": "object",
             "additionalProperties": false,
@@ -789,7 +795,10 @@
           "options"
         ],
         "properties": {
-          "type": {},
+          "type": {
+            "$ref": "#/components/schemas/MappingType",
+            "default": "regex"
+          },
           "options": {
             "type": "object",
             "additionalProperties": false,
@@ -820,7 +829,10 @@
           "options"
         ],
         "properties": {
-          "type": {},
+          "type": {
+            "$ref": "#/components/schemas/MappingType",
+            "default": "special"
+          },
           "options": {
             "type": "object",
             "additionalProperties": false,
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/openapi/elasticsearch.openapi.json /tmp/foundation-workspace-current/foundation-sdk/openapi/elasticsearch.openapi.json
--- /tmp/foundation-workspace-main/foundation-sdk/openapi/elasticsearch.openapi.json	2025-04-09 11:22:21.334616689 +0000
+++ /tmp/foundation-workspace-current/foundation-sdk/openapi/elasticsearch.openapi.json	2025-04-09 11:21:46.891717667 +0000
@@ -46,7 +46,10 @@
           "id": {
             "type": "string"
           },
-          "type": {},
+          "type": {
+            "$ref": "#/components/schemas/BucketAggregationType",
+            "default": "date_histogram"
+          },
           "settings": {
             "type": "object",
             "additionalProperties": false,
@@ -94,7 +97,10 @@
           "id": {
             "type": "string"
           },
-          "type": {},
+          "type": {
+            "$ref": "#/components/schemas/BucketAggregationType",
+            "default": "histogram"
+          },
           "settings": {
             "type": "object",
             "additionalProperties": false,
@@ -123,7 +129,10 @@
           "id": {
             "type": "string"
           },
-          "type": {},
+          "type": {
+            "$ref": "#/components/schemas/BucketAggregationType",
+            "default": "terms"
+          },
           "settings": {
             "type": "object",
             "additionalProperties": false,
@@ -164,7 +173,10 @@
           "id": {
             "type": "string"
           },
-          "type": {},
+          "type": {
+            "$ref": "#/components/schemas/BucketAggregationType",
+            "default": "filters"
+          },
           "settings": {
             "type": "object",
             "additionalProperties": false,
@@ -209,7 +221,10 @@
           "id": {
             "type": "string"
           },
-          "type": {},
+          "type": {
+            "$ref": "#/components/schemas/BucketAggregationType",
+            "default": "geohash_grid"
+          },
           "settings": {
             "type": "object",
             "additionalProperties": false,
@@ -235,7 +250,10 @@
           "id": {
             "type": "string"
           },
-          "type": {},
+          "type": {
+            "$ref": "#/components/schemas/BucketAggregationType",
+            "default": "nested"
+          },
           "settings": {
             "type": "object",
             "additionalProperties": {}
@@ -263,7 +281,9 @@
           "id"
         ],
         "properties": {
-          "type": {},
+          "type": {
+            "$ref": "#/components/schemas/MetricAggregationType"
+       ...*[Comment body truncated]*

@spinillos spinillos marked this pull request as ready for review April 9, 2025 11:38
@spinillos spinillos added the bug Something isn't working label Apr 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:parsers bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support reference to constants as disjunction discriminators
1 participant