mirror of
https://github.com/coder/coder.git
synced 2025-07-15 22:20:27 +00:00
chore: remove coder/preview dependency from codersdk (#17939)
This commit is contained in:
@ -226,7 +226,7 @@ func (pr *ParameterResolver) resolveWithInput(resolved []codersdk.WorkspaceBuild
|
||||
if p != nil {
|
||||
continue
|
||||
}
|
||||
// Parameter has not been resolved yet, so CLI needs to determine if user should input it.
|
||||
// PreviewParameter has not been resolved yet, so CLI needs to determine if user should input it.
|
||||
|
||||
firstTimeUse := pr.isFirstTimeUse(tvp.Name)
|
||||
promptParameterOption := pr.isLastBuildParameterInvalidOption(tvp)
|
||||
|
@ -12,6 +12,7 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/google/uuid"
|
||||
"github.com/hashicorp/hcl/v2"
|
||||
"golang.org/x/xerrors"
|
||||
"tailscale.com/tailcfg"
|
||||
|
||||
@ -24,6 +25,7 @@ import (
|
||||
"github.com/coder/coder/v2/codersdk"
|
||||
"github.com/coder/coder/v2/provisionersdk/proto"
|
||||
"github.com/coder/coder/v2/tailnet"
|
||||
previewtypes "github.com/coder/preview/types"
|
||||
)
|
||||
|
||||
// List is a helper function to reduce boilerplate when converting slices of
|
||||
@ -764,3 +766,83 @@ func Chat(chat database.Chat) codersdk.Chat {
|
||||
func Chats(chats []database.Chat) []codersdk.Chat {
|
||||
return List(chats, Chat)
|
||||
}
|
||||
|
||||
func PreviewParameter(param previewtypes.Parameter) codersdk.PreviewParameter {
|
||||
return codersdk.PreviewParameter{
|
||||
PreviewParameterData: codersdk.PreviewParameterData{
|
||||
Name: param.Name,
|
||||
DisplayName: param.DisplayName,
|
||||
Description: param.Description,
|
||||
Type: codersdk.OptionType(param.Type),
|
||||
FormType: codersdk.ParameterFormType(param.FormType),
|
||||
Styling: codersdk.PreviewParameterStyling{
|
||||
Placeholder: param.Styling.Placeholder,
|
||||
Disabled: param.Styling.Disabled,
|
||||
Label: param.Styling.Label,
|
||||
},
|
||||
Mutable: param.Mutable,
|
||||
DefaultValue: PreviewHCLString(param.DefaultValue),
|
||||
Icon: param.Icon,
|
||||
Options: List(param.Options, PreviewParameterOption),
|
||||
Validations: List(param.Validations, PreviewParameterValidation),
|
||||
Required: param.Required,
|
||||
Order: param.Order,
|
||||
Ephemeral: param.Ephemeral,
|
||||
},
|
||||
Value: PreviewHCLString(param.Value),
|
||||
Diagnostics: PreviewDiagnostics(param.Diagnostics),
|
||||
}
|
||||
}
|
||||
|
||||
func HCLDiagnostics(d hcl.Diagnostics) []codersdk.FriendlyDiagnostic {
|
||||
return PreviewDiagnostics(previewtypes.Diagnostics(d))
|
||||
}
|
||||
|
||||
func PreviewDiagnostics(d previewtypes.Diagnostics) []codersdk.FriendlyDiagnostic {
|
||||
f := d.FriendlyDiagnostics()
|
||||
return List(f, func(f previewtypes.FriendlyDiagnostic) codersdk.FriendlyDiagnostic {
|
||||
return codersdk.FriendlyDiagnostic{
|
||||
Severity: codersdk.DiagnosticSeverityString(f.Severity),
|
||||
Summary: f.Summary,
|
||||
Detail: f.Detail,
|
||||
Extra: codersdk.DiagnosticExtra{
|
||||
Code: f.Extra.Code,
|
||||
},
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
func PreviewHCLString(h previewtypes.HCLString) codersdk.NullHCLString {
|
||||
n := h.NullHCLString()
|
||||
return codersdk.NullHCLString{
|
||||
Value: n.Value,
|
||||
Valid: n.Valid,
|
||||
}
|
||||
}
|
||||
|
||||
func PreviewParameterOption(o *previewtypes.ParameterOption) codersdk.PreviewParameterOption {
|
||||
if o == nil {
|
||||
// This should never be sent
|
||||
return codersdk.PreviewParameterOption{}
|
||||
}
|
||||
return codersdk.PreviewParameterOption{
|
||||
Name: o.Name,
|
||||
Description: o.Description,
|
||||
Value: PreviewHCLString(o.Value),
|
||||
Icon: o.Icon,
|
||||
}
|
||||
}
|
||||
|
||||
func PreviewParameterValidation(v *previewtypes.ParameterValidation) codersdk.PreviewParameterValidation {
|
||||
if v == nil {
|
||||
// This should never be sent
|
||||
return codersdk.PreviewParameterValidation{}
|
||||
}
|
||||
return codersdk.PreviewParameterValidation{
|
||||
Error: v.Error,
|
||||
Regex: v.Regex,
|
||||
Min: v.Min,
|
||||
Max: v.Max,
|
||||
Monotonic: v.Monotonic,
|
||||
}
|
||||
}
|
||||
|
@ -13,6 +13,7 @@ import (
|
||||
"golang.org/x/xerrors"
|
||||
|
||||
"github.com/coder/coder/v2/coderd/database"
|
||||
"github.com/coder/coder/v2/coderd/database/db2sdk"
|
||||
"github.com/coder/coder/v2/coderd/database/dbauthz"
|
||||
"github.com/coder/coder/v2/coderd/files"
|
||||
"github.com/coder/coder/v2/coderd/httpapi"
|
||||
@ -286,10 +287,10 @@ func (api *API) handleParameterWebsocket(rw http.ResponseWriter, r *http.Request
|
||||
result, diagnostics := render(ctx, map[string]string{})
|
||||
response := codersdk.DynamicParametersResponse{
|
||||
ID: -1, // Always start with -1.
|
||||
Diagnostics: previewtypes.Diagnostics(diagnostics),
|
||||
Diagnostics: db2sdk.HCLDiagnostics(diagnostics),
|
||||
}
|
||||
if result != nil {
|
||||
response.Parameters = result.Parameters
|
||||
response.Parameters = db2sdk.List(result.Parameters, db2sdk.PreviewParameter)
|
||||
}
|
||||
err = stream.Send(response)
|
||||
if err != nil {
|
||||
@ -314,10 +315,10 @@ func (api *API) handleParameterWebsocket(rw http.ResponseWriter, r *http.Request
|
||||
result, diagnostics := render(ctx, update.Inputs)
|
||||
response := codersdk.DynamicParametersResponse{
|
||||
ID: update.ID,
|
||||
Diagnostics: previewtypes.Diagnostics(diagnostics),
|
||||
Diagnostics: db2sdk.HCLDiagnostics(diagnostics),
|
||||
}
|
||||
if result != nil {
|
||||
response.Parameters = result.Parameters
|
||||
response.Parameters = db2sdk.List(result.Parameters, db2sdk.PreviewParameter)
|
||||
}
|
||||
err = stream.Send(response)
|
||||
if err != nil {
|
||||
|
@ -68,8 +68,8 @@ func TestDynamicParametersOwnerSSHPublicKey(t *testing.T) {
|
||||
require.Equal(t, -1, preview.ID)
|
||||
require.Empty(t, preview.Diagnostics)
|
||||
require.Equal(t, "public_key", preview.Parameters[0].Name)
|
||||
require.True(t, preview.Parameters[0].Value.Valid())
|
||||
require.Equal(t, sshKey.PublicKey, preview.Parameters[0].Value.Value.AsString())
|
||||
require.True(t, preview.Parameters[0].Value.Valid)
|
||||
require.Equal(t, sshKey.PublicKey, preview.Parameters[0].Value.Value)
|
||||
}
|
||||
|
||||
func TestDynamicParametersWithTerraformValues(t *testing.T) {
|
||||
@ -103,8 +103,8 @@ func TestDynamicParametersWithTerraformValues(t *testing.T) {
|
||||
|
||||
require.Len(t, preview.Parameters, 1)
|
||||
require.Equal(t, "jetbrains_ide", preview.Parameters[0].Name)
|
||||
require.True(t, preview.Parameters[0].Value.Valid())
|
||||
require.Equal(t, "CL", preview.Parameters[0].Value.AsString())
|
||||
require.True(t, preview.Parameters[0].Value.Valid)
|
||||
require.Equal(t, "CL", preview.Parameters[0].Value.Value)
|
||||
})
|
||||
|
||||
// OldProvisioners use the static parameters in the dynamic param flow
|
||||
@ -154,8 +154,8 @@ func TestDynamicParametersWithTerraformValues(t *testing.T) {
|
||||
require.Contains(t, preview.Diagnostics[0].Summary, "required metadata to support dynamic parameters")
|
||||
require.Len(t, preview.Parameters, 1)
|
||||
require.Equal(t, "jetbrains_ide", preview.Parameters[0].Name)
|
||||
require.True(t, preview.Parameters[0].Value.Valid())
|
||||
require.Equal(t, defaultValue, preview.Parameters[0].Value.AsString())
|
||||
require.True(t, preview.Parameters[0].Value.Valid)
|
||||
require.Equal(t, defaultValue, preview.Parameters[0].Value.Value)
|
||||
|
||||
// Test some inputs
|
||||
for _, exp := range []string{defaultValue, "GO", "Invalid", defaultValue} {
|
||||
@ -182,8 +182,8 @@ func TestDynamicParametersWithTerraformValues(t *testing.T) {
|
||||
require.Len(t, preview.Parameters[0].Diagnostics, 0)
|
||||
}
|
||||
require.Equal(t, "jetbrains_ide", preview.Parameters[0].Name)
|
||||
require.True(t, preview.Parameters[0].Value.Valid())
|
||||
require.Equal(t, exp, preview.Parameters[0].Value.AsString())
|
||||
require.True(t, preview.Parameters[0].Value.Valid)
|
||||
require.Equal(t, exp, preview.Parameters[0].Value.Value)
|
||||
}
|
||||
})
|
||||
|
||||
|
@ -7,17 +7,121 @@ import (
|
||||
"github.com/google/uuid"
|
||||
|
||||
"github.com/coder/coder/v2/codersdk/wsjson"
|
||||
previewtypes "github.com/coder/preview/types"
|
||||
"github.com/coder/websocket"
|
||||
)
|
||||
|
||||
// FriendlyDiagnostic is included to guarantee it is generated in the output
|
||||
// types. This is used as the type override for `previewtypes.Diagnostic`.
|
||||
type FriendlyDiagnostic = previewtypes.FriendlyDiagnostic
|
||||
type ParameterFormType string
|
||||
|
||||
// NullHCLString is included to guarantee it is generated in the output
|
||||
// types. This is used as the type override for `previewtypes.HCLString`.
|
||||
type NullHCLString = previewtypes.NullHCLString
|
||||
const (
|
||||
ParameterFormTypeDefault ParameterFormType = ""
|
||||
ParameterFormTypeRadio ParameterFormType = "radio"
|
||||
ParameterFormTypeSlider ParameterFormType = "slider"
|
||||
ParameterFormTypeInput ParameterFormType = "input"
|
||||
ParameterFormTypeDropdown ParameterFormType = "dropdown"
|
||||
ParameterFormTypeCheckbox ParameterFormType = "checkbox"
|
||||
ParameterFormTypeSwitch ParameterFormType = "switch"
|
||||
ParameterFormTypeMultiSelect ParameterFormType = "multi-select"
|
||||
ParameterFormTypeTagSelect ParameterFormType = "tag-select"
|
||||
ParameterFormTypeTextArea ParameterFormType = "textarea"
|
||||
ParameterFormTypeError ParameterFormType = "error"
|
||||
)
|
||||
|
||||
type OptionType string
|
||||
|
||||
const (
|
||||
OptionTypeString OptionType = "string"
|
||||
OptionTypeNumber OptionType = "number"
|
||||
OptionTypeBoolean OptionType = "bool"
|
||||
OptionTypeListString OptionType = "list(string)"
|
||||
)
|
||||
|
||||
type DiagnosticSeverityString string
|
||||
|
||||
const (
|
||||
DiagnosticSeverityError DiagnosticSeverityString = "error"
|
||||
DiagnosticSeverityWarning DiagnosticSeverityString = "warning"
|
||||
)
|
||||
|
||||
// FriendlyDiagnostic == previewtypes.FriendlyDiagnostic
|
||||
// Copied to avoid import deps
|
||||
type FriendlyDiagnostic struct {
|
||||
Severity DiagnosticSeverityString `json:"severity"`
|
||||
Summary string `json:"summary"`
|
||||
Detail string `json:"detail"`
|
||||
|
||||
Extra DiagnosticExtra `json:"extra"`
|
||||
}
|
||||
|
||||
type DiagnosticExtra struct {
|
||||
Code string `json:"code"`
|
||||
}
|
||||
|
||||
// NullHCLString == `previewtypes.NullHCLString`.
|
||||
type NullHCLString struct {
|
||||
Value string `json:"value"`
|
||||
Valid bool `json:"valid"`
|
||||
}
|
||||
|
||||
type PreviewParameter struct {
|
||||
PreviewParameterData
|
||||
Value NullHCLString `json:"value"`
|
||||
Diagnostics []FriendlyDiagnostic `json:"diagnostics"`
|
||||
}
|
||||
|
||||
type PreviewParameterData struct {
|
||||
Name string `json:"name"`
|
||||
DisplayName string `json:"display_name"`
|
||||
Description string `json:"description"`
|
||||
Type OptionType `json:"type"`
|
||||
FormType ParameterFormType `json:"form_type"`
|
||||
Styling PreviewParameterStyling `json:"styling"`
|
||||
Mutable bool `json:"mutable"`
|
||||
DefaultValue NullHCLString `json:"default_value"`
|
||||
Icon string `json:"icon"`
|
||||
Options []PreviewParameterOption `json:"options"`
|
||||
Validations []PreviewParameterValidation `json:"validations"`
|
||||
Required bool `json:"required"`
|
||||
// legacy_variable_name was removed (= 14)
|
||||
Order int64 `json:"order"`
|
||||
Ephemeral bool `json:"ephemeral"`
|
||||
}
|
||||
|
||||
type PreviewParameterStyling struct {
|
||||
Placeholder *string `json:"placeholder,omitempty"`
|
||||
Disabled *bool `json:"disabled,omitempty"`
|
||||
Label *string `json:"label,omitempty"`
|
||||
}
|
||||
|
||||
type PreviewParameterOption struct {
|
||||
Name string `json:"name"`
|
||||
Description string `json:"description"`
|
||||
Value NullHCLString `json:"value"`
|
||||
Icon string `json:"icon"`
|
||||
}
|
||||
|
||||
type PreviewParameterValidation struct {
|
||||
Error string `json:"validation_error"`
|
||||
|
||||
// All validation attributes are optional.
|
||||
Regex *string `json:"validation_regex"`
|
||||
Min *int64 `json:"validation_min"`
|
||||
Max *int64 `json:"validation_max"`
|
||||
Monotonic *string `json:"validation_monotonic"`
|
||||
}
|
||||
|
||||
type DynamicParametersRequest struct {
|
||||
// ID identifies the request. The response contains the same
|
||||
// ID so that the client can match it to the request.
|
||||
ID int `json:"id"`
|
||||
Inputs map[string]string `json:"inputs"`
|
||||
}
|
||||
|
||||
type DynamicParametersResponse struct {
|
||||
ID int `json:"id"`
|
||||
Diagnostics []FriendlyDiagnostic `json:"diagnostics"`
|
||||
Parameters []PreviewParameter `json:"parameters"`
|
||||
// TODO: Workspace tags
|
||||
}
|
||||
|
||||
func (c *Client) TemplateVersionDynamicParameters(ctx context.Context, userID, version uuid.UUID) (*wsjson.Stream[DynamicParametersResponse, DynamicParametersRequest], error) {
|
||||
conn, err := c.Dial(ctx, fmt.Sprintf("/api/v2/users/%s/templateversions/%s/parameters", userID, version), nil)
|
||||
|
@ -9,8 +9,6 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/google/uuid"
|
||||
|
||||
previewtypes "github.com/coder/preview/types"
|
||||
)
|
||||
|
||||
type TemplateVersionWarning string
|
||||
@ -125,20 +123,6 @@ func (c *Client) CancelTemplateVersion(ctx context.Context, version uuid.UUID) e
|
||||
return nil
|
||||
}
|
||||
|
||||
type DynamicParametersRequest struct {
|
||||
// ID identifies the request. The response contains the same
|
||||
// ID so that the client can match it to the request.
|
||||
ID int `json:"id"`
|
||||
Inputs map[string]string `json:"inputs"`
|
||||
}
|
||||
|
||||
type DynamicParametersResponse struct {
|
||||
ID int `json:"id"`
|
||||
Diagnostics previewtypes.Diagnostics `json:"diagnostics"`
|
||||
Parameters []previewtypes.Parameter `json:"parameters"`
|
||||
// TODO: Workspace tags
|
||||
}
|
||||
|
||||
// TemplateVersionParameters returns parameters a template version exposes.
|
||||
func (c *Client) TemplateVersionRichParameters(ctx context.Context, version uuid.UUID) ([]TemplateVersionParameter, error) {
|
||||
res, err := c.Request(ctx, http.MethodGet, fmt.Sprintf("/api/v2/templateversions/%s/rich-parameters", version), nil)
|
||||
|
@ -70,8 +70,8 @@ func TestDynamicParametersOwnerGroups(t *testing.T) {
|
||||
require.Equal(t, -1, preview.ID)
|
||||
require.Empty(t, preview.Diagnostics)
|
||||
require.Equal(t, "group", preview.Parameters[0].Name)
|
||||
require.True(t, preview.Parameters[0].Value.Valid())
|
||||
require.Equal(t, database.EveryoneGroup, preview.Parameters[0].Value.Value.AsString())
|
||||
require.True(t, preview.Parameters[0].Value.Valid)
|
||||
require.Equal(t, database.EveryoneGroup, preview.Parameters[0].Value.Value)
|
||||
|
||||
// Send a new value, and see it reflected
|
||||
err = stream.Send(codersdk.DynamicParametersRequest{
|
||||
@ -83,8 +83,8 @@ func TestDynamicParametersOwnerGroups(t *testing.T) {
|
||||
require.Equal(t, 1, preview.ID)
|
||||
require.Empty(t, preview.Diagnostics)
|
||||
require.Equal(t, "group", preview.Parameters[0].Name)
|
||||
require.True(t, preview.Parameters[0].Value.Valid())
|
||||
require.Equal(t, group.Name, preview.Parameters[0].Value.Value.AsString())
|
||||
require.True(t, preview.Parameters[0].Value.Valid)
|
||||
require.Equal(t, group.Name, preview.Parameters[0].Value.Value)
|
||||
|
||||
// Back to default
|
||||
err = stream.Send(codersdk.DynamicParametersRequest{
|
||||
@ -96,6 +96,6 @@ func TestDynamicParametersOwnerGroups(t *testing.T) {
|
||||
require.Equal(t, 3, preview.ID)
|
||||
require.Empty(t, preview.Diagnostics)
|
||||
require.Equal(t, "group", preview.Parameters[0].Name)
|
||||
require.True(t, preview.Parameters[0].Value.Valid())
|
||||
require.Equal(t, database.EveryoneGroup, preview.Parameters[0].Value.Value.AsString())
|
||||
require.True(t, preview.Parameters[0].Value.Valid)
|
||||
require.Equal(t, database.EveryoneGroup, preview.Parameters[0].Value.Value)
|
||||
}
|
||||
|
8
go.mod
8
go.mod
@ -96,12 +96,12 @@ require (
|
||||
github.com/chromedp/chromedp v0.13.3
|
||||
github.com/cli/safeexec v1.0.1
|
||||
github.com/coder/flog v1.1.0
|
||||
github.com/coder/guts v1.3.1-0.20250428170043-ad369017e95b
|
||||
github.com/coder/guts v1.5.0
|
||||
github.com/coder/pretty v0.0.0-20230908205945-e89ba86370e0
|
||||
github.com/coder/quartz v0.1.3
|
||||
github.com/coder/retry v1.5.1
|
||||
github.com/coder/serpent v0.10.0
|
||||
github.com/coder/terraform-provider-coder/v2 v2.4.1
|
||||
github.com/coder/terraform-provider-coder/v2 v2.4.2
|
||||
github.com/coder/websocket v1.8.13
|
||||
github.com/coder/wgtunnel v0.1.13-0.20240522110300-ade90dfb2da0
|
||||
github.com/coreos/go-oidc/v3 v3.14.1
|
||||
@ -204,7 +204,7 @@ require (
|
||||
golang.org/x/sys v0.33.0
|
||||
golang.org/x/term v0.32.0
|
||||
golang.org/x/text v0.25.0 // indirect
|
||||
golang.org/x/tools v0.32.0
|
||||
golang.org/x/tools v0.33.0
|
||||
golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da
|
||||
google.golang.org/api v0.231.0
|
||||
google.golang.org/grpc v1.72.0
|
||||
@ -485,7 +485,7 @@ require (
|
||||
|
||||
require (
|
||||
github.com/anthropics/anthropic-sdk-go v0.2.0-beta.3
|
||||
github.com/coder/preview v0.0.2-0.20250516233606-a1da43489319
|
||||
github.com/coder/preview v0.0.2-0.20250520134327-ac391431027d
|
||||
github.com/fsnotify/fsnotify v1.9.0
|
||||
github.com/kylecarbs/aisdk-go v0.0.8
|
||||
github.com/mark3labs/mcp-go v0.28.0
|
||||
|
16
go.sum
16
go.sum
@ -905,14 +905,14 @@ github.com/coder/go-httpstat v0.0.0-20230801153223-321c88088322 h1:m0lPZjlQ7vdVp
|
||||
github.com/coder/go-httpstat v0.0.0-20230801153223-321c88088322/go.mod h1:rOLFDDVKVFiDqZFXoteXc97YXx7kFi9kYqR+2ETPkLQ=
|
||||
github.com/coder/go-scim/pkg/v2 v2.0.0-20230221055123-1d63c1222136 h1:0RgB61LcNs24WOxc3PBvygSNTQurm0PYPujJjLLOzs0=
|
||||
github.com/coder/go-scim/pkg/v2 v2.0.0-20230221055123-1d63c1222136/go.mod h1:VkD1P761nykiq75dz+4iFqIQIZka189tx1BQLOp0Skc=
|
||||
github.com/coder/guts v1.3.1-0.20250428170043-ad369017e95b h1:tfLKcE2s6D7YpFk7MUUCDE0Xbbmac+k2GqO8KMjv/Ug=
|
||||
github.com/coder/guts v1.3.1-0.20250428170043-ad369017e95b/go.mod h1:31NO4z6MVTOD4WaCLqE/hUAHGgNok9sRbuMc/LZFopI=
|
||||
github.com/coder/guts v1.5.0 h1:a94apf7xMf5jDdg1bIHzncbRiTn3+BvBZgrFSDbUnyI=
|
||||
github.com/coder/guts v1.5.0/go.mod h1:0Sbv5Kp83u1Nl7MIQiV2zmacJ3o02I341bkWkjWXSUQ=
|
||||
github.com/coder/pq v1.10.5-0.20240813183442-0c420cb5a048 h1:3jzYUlGH7ZELIH4XggXhnTnP05FCYiAFeQpoN+gNR5I=
|
||||
github.com/coder/pq v1.10.5-0.20240813183442-0c420cb5a048/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
|
||||
github.com/coder/pretty v0.0.0-20230908205945-e89ba86370e0 h1:3A0ES21Ke+FxEM8CXx9n47SZOKOpgSE1bbJzlE4qPVs=
|
||||
github.com/coder/pretty v0.0.0-20230908205945-e89ba86370e0/go.mod h1:5UuS2Ts+nTToAMeOjNlnHFkPahrtDkmpydBen/3wgZc=
|
||||
github.com/coder/preview v0.0.2-0.20250516233606-a1da43489319 h1:flPwcvOZ9RwENDYcLOnfYEClbKWfFvpQCddODdSS6Co=
|
||||
github.com/coder/preview v0.0.2-0.20250516233606-a1da43489319/go.mod h1:GfkwIv5gQLpL01qeGU1/YoxoFtt5trzCqnWZLo77clU=
|
||||
github.com/coder/preview v0.0.2-0.20250520134327-ac391431027d h1:MxAAuqcno5hMM45Ihl3KAjVOXbyZyt/+tjSiq9XMTC0=
|
||||
github.com/coder/preview v0.0.2-0.20250520134327-ac391431027d/go.mod h1:9bwyhQSVDjcxAWuFFaG6/qBqhaiW5oqF5PEQMhevKLs=
|
||||
github.com/coder/quartz v0.1.3 h1:hA2nI8uUA2fNN9uhXv2I4xZD4aHkA7oH3g2t03v4xf8=
|
||||
github.com/coder/quartz v0.1.3/go.mod h1:vsiCc+AHViMKH2CQpGIpFgdHIEQsxwm8yCscqKmzbRA=
|
||||
github.com/coder/retry v1.5.1 h1:iWu8YnD8YqHs3XwqrqsjoBTAVqT9ml6z9ViJ2wlMiqc=
|
||||
@ -925,8 +925,8 @@ github.com/coder/tailscale v1.1.1-0.20250422090654-5090e715905e h1:nope/SZfoLB9M
|
||||
github.com/coder/tailscale v1.1.1-0.20250422090654-5090e715905e/go.mod h1:1ggFFdHTRjPRu9Yc1yA7nVHBYB50w9Ce7VIXNqcW6Ko=
|
||||
github.com/coder/terraform-config-inspect v0.0.0-20250107175719-6d06d90c630e h1:JNLPDi2P73laR1oAclY6jWzAbucf70ASAvf5mh2cME0=
|
||||
github.com/coder/terraform-config-inspect v0.0.0-20250107175719-6d06d90c630e/go.mod h1:Gz/z9Hbn+4KSp8A2FBtNszfLSdT2Tn/uAKGuVqqWmDI=
|
||||
github.com/coder/terraform-provider-coder/v2 v2.4.1 h1:+HxLJVENJ+kvGhibQ0jbr8Evi6M857d9691ytxNbv90=
|
||||
github.com/coder/terraform-provider-coder/v2 v2.4.1/go.mod h1:2kaBpn5k9ZWtgKq5k4JbkVZG9DzEqR4mJSmpdshcO+s=
|
||||
github.com/coder/terraform-provider-coder/v2 v2.4.2 h1:41SJkgwgiA555kwQzGIQcNS3bCm12sVMUmBSa5zGr+A=
|
||||
github.com/coder/terraform-provider-coder/v2 v2.4.2/go.mod h1:2kaBpn5k9ZWtgKq5k4JbkVZG9DzEqR4mJSmpdshcO+s=
|
||||
github.com/coder/trivy v0.0.0-20250409153844-e6b004bc465a h1:yryP7e+IQUAArlycH4hQrjXQ64eRNbxsV5/wuVXHgME=
|
||||
github.com/coder/trivy v0.0.0-20250409153844-e6b004bc465a/go.mod h1:dDvq9axp3kZsT63gY2Znd1iwzfqDq3kXbQnccIrjRYY=
|
||||
github.com/coder/websocket v1.8.13 h1:f3QZdXy7uGVz+4uCJy2nTZyM0yTBj8yANEHhqlXZ9FE=
|
||||
@ -2412,8 +2412,8 @@ golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
|
||||
golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s=
|
||||
golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58=
|
||||
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk=
|
||||
golang.org/x/tools v0.32.0 h1:Q7N1vhpkQv7ybVzLFtTjvQya2ewbwNDZzUgfXGqtMWU=
|
||||
golang.org/x/tools v0.32.0/go.mod h1:ZxrU41P/wAbZD8EDa6dDCa6XfpkhJ7HFMjHJXfBDu8s=
|
||||
golang.org/x/tools v0.33.0 h1:4qz2S3zmRxbGIhDIAgjxvFutSvH5EfnsYrRBj0UI0bc=
|
||||
golang.org/x/tools v0.33.0/go.mod h1:CIJMaWEY88juyUfo7UbgPqbC8rU2OqfAV1h2Qp0oMYI=
|
||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
|
96
site/src/api/typesGenerated.ts
generated
96
site/src/api/typesGenerated.ts
generated
@ -349,7 +349,7 @@ export interface ConvertLoginRequest {
|
||||
// From codersdk/chat.go
|
||||
export interface CreateChatMessageRequest {
|
||||
readonly model: string;
|
||||
// embedded anonymous struct, please fix by naming it
|
||||
// external type "github.com/kylecarbs/aisdk-go.Message", to include this type the package must be explicitly included in the parsing
|
||||
readonly message: unknown;
|
||||
readonly thinking: boolean;
|
||||
}
|
||||
@ -741,6 +741,19 @@ export interface DeploymentValues {
|
||||
readonly address?: string;
|
||||
}
|
||||
|
||||
// From codersdk/parameters.go
|
||||
export interface DiagnosticExtra {
|
||||
readonly code: string;
|
||||
}
|
||||
|
||||
// From codersdk/parameters.go
|
||||
export type DiagnosticSeverityString = "error" | "warning";
|
||||
|
||||
export const DiagnosticSeverityStrings: DiagnosticSeverityString[] = [
|
||||
"error",
|
||||
"warning",
|
||||
];
|
||||
|
||||
// From codersdk/workspaceagents.go
|
||||
export type DisplayApp =
|
||||
| "port_forwarding_helper"
|
||||
@ -757,16 +770,16 @@ export const DisplayApps: DisplayApp[] = [
|
||||
"web_terminal",
|
||||
];
|
||||
|
||||
// From codersdk/templateversions.go
|
||||
// From codersdk/parameters.go
|
||||
export interface DynamicParametersRequest {
|
||||
readonly id: number;
|
||||
readonly inputs: Record<string, string>;
|
||||
}
|
||||
|
||||
// From codersdk/templateversions.go
|
||||
// From codersdk/parameters.go
|
||||
export interface DynamicParametersResponse {
|
||||
readonly id: number;
|
||||
readonly diagnostics: PreviewDiagnostics;
|
||||
readonly diagnostics: readonly FriendlyDiagnostic[];
|
||||
readonly parameters: readonly PreviewParameter[];
|
||||
}
|
||||
|
||||
@ -969,10 +982,10 @@ export const FormatZip = "zip";
|
||||
|
||||
// From codersdk/parameters.go
|
||||
export interface FriendlyDiagnostic {
|
||||
readonly severity: PreviewDiagnosticSeverityString;
|
||||
readonly severity: DiagnosticSeverityString;
|
||||
readonly summary: string;
|
||||
readonly detail: string;
|
||||
readonly extra: PreviewDiagnosticExtra;
|
||||
readonly extra: DiagnosticExtra;
|
||||
}
|
||||
|
||||
// From codersdk/apikey.go
|
||||
@ -1596,6 +1609,16 @@ export interface OIDCConfig {
|
||||
readonly skip_issuer_checks: boolean;
|
||||
}
|
||||
|
||||
// From codersdk/parameters.go
|
||||
export type OptionType = "bool" | "list(string)" | "number" | "string";
|
||||
|
||||
export const OptionTypes: OptionType[] = [
|
||||
"bool",
|
||||
"list(string)",
|
||||
"number",
|
||||
"string",
|
||||
];
|
||||
|
||||
// From codersdk/organizations.go
|
||||
export interface Organization extends MinimalOrganization {
|
||||
readonly description: string;
|
||||
@ -1663,6 +1686,34 @@ export interface Pagination {
|
||||
readonly offset?: number;
|
||||
}
|
||||
|
||||
// From codersdk/parameters.go
|
||||
export type ParameterFormType =
|
||||
| "checkbox"
|
||||
| ""
|
||||
| "dropdown"
|
||||
| "error"
|
||||
| "input"
|
||||
| "multi-select"
|
||||
| "radio"
|
||||
| "slider"
|
||||
| "switch"
|
||||
| "tag-select"
|
||||
| "textarea";
|
||||
|
||||
export const ParameterFormTypes: ParameterFormType[] = [
|
||||
"checkbox",
|
||||
"",
|
||||
"dropdown",
|
||||
"error",
|
||||
"input",
|
||||
"multi-select",
|
||||
"radio",
|
||||
"slider",
|
||||
"switch",
|
||||
"tag-select",
|
||||
"textarea",
|
||||
];
|
||||
|
||||
// From codersdk/idpsync.go
|
||||
export interface PatchGroupIDPSyncConfigRequest {
|
||||
readonly field: string;
|
||||
@ -1778,33 +1829,19 @@ export interface PresetParameter {
|
||||
readonly Value: string;
|
||||
}
|
||||
|
||||
// From types/diagnostics.go
|
||||
export interface PreviewDiagnosticExtra {
|
||||
readonly code: string;
|
||||
// empty interface{} type, falling back to unknown
|
||||
readonly Wrapped: unknown;
|
||||
}
|
||||
|
||||
// From types/diagnostics.go
|
||||
export type PreviewDiagnosticSeverityString = string;
|
||||
|
||||
// From types/diagnostics.go
|
||||
export type PreviewDiagnostics = readonly FriendlyDiagnostic[];
|
||||
|
||||
// From types/parameter.go
|
||||
// From codersdk/parameters.go
|
||||
export interface PreviewParameter extends PreviewParameterData {
|
||||
readonly value: NullHCLString;
|
||||
readonly diagnostics: PreviewDiagnostics;
|
||||
readonly diagnostics: readonly FriendlyDiagnostic[];
|
||||
}
|
||||
|
||||
// From types/parameter.go
|
||||
// From codersdk/parameters.go
|
||||
export interface PreviewParameterData {
|
||||
readonly name: string;
|
||||
readonly display_name: string;
|
||||
readonly description: string;
|
||||
readonly type: PreviewParameterType;
|
||||
// this is likely an enum in an external package "github.com/coder/terraform-provider-coder/v2/provider.ParameterFormType"
|
||||
readonly form_type: string;
|
||||
readonly type: OptionType;
|
||||
readonly form_type: ParameterFormType;
|
||||
readonly styling: PreviewParameterStyling;
|
||||
readonly mutable: boolean;
|
||||
readonly default_value: NullHCLString;
|
||||
@ -1816,7 +1853,7 @@ export interface PreviewParameterData {
|
||||
readonly ephemeral: boolean;
|
||||
}
|
||||
|
||||
// From types/parameter.go
|
||||
// From codersdk/parameters.go
|
||||
export interface PreviewParameterOption {
|
||||
readonly name: string;
|
||||
readonly description: string;
|
||||
@ -1824,17 +1861,14 @@ export interface PreviewParameterOption {
|
||||
readonly icon: string;
|
||||
}
|
||||
|
||||
// From types/parameter.go
|
||||
// From codersdk/parameters.go
|
||||
export interface PreviewParameterStyling {
|
||||
readonly placeholder?: string;
|
||||
readonly disabled?: boolean;
|
||||
readonly label?: string;
|
||||
}
|
||||
|
||||
// From types/enum.go
|
||||
export type PreviewParameterType = string;
|
||||
|
||||
// From types/parameter.go
|
||||
// From codersdk/parameters.go
|
||||
export interface PreviewParameterValidation {
|
||||
readonly validation_error: string;
|
||||
readonly validation_regex: string | null;
|
||||
|
@ -1,5 +1,5 @@
|
||||
import type * as TypesGen from "api/typesGenerated";
|
||||
import type { PreviewDiagnostics, PreviewParameter } from "api/typesGenerated";
|
||||
import type { FriendlyDiagnostic, PreviewParameter } from "api/typesGenerated";
|
||||
import { Alert } from "components/Alert/Alert";
|
||||
import { ErrorAlert } from "components/Alert/ErrorAlert";
|
||||
import { Avatar } from "components/Avatar/Avatar";
|
||||
@ -51,7 +51,7 @@ export interface CreateWorkspacePageViewExperimentalProps {
|
||||
creatingWorkspace: boolean;
|
||||
defaultName?: string | null;
|
||||
defaultOwner: TypesGen.User;
|
||||
diagnostics: PreviewDiagnostics;
|
||||
diagnostics: readonly FriendlyDiagnostic[];
|
||||
disabledParams?: string[];
|
||||
error: unknown;
|
||||
externalAuth: TypesGen.TemplateVersionExternalAuth[];
|
||||
|
Reference in New Issue
Block a user