Skip to content

Commit 81ecf8d

Browse files
committed
Merge origin/main; keep released speakeasy-core v0.23.0 and client-sdk-go v3.27.0 pins
go.mod/go.sum resolved on main's dependency set (openapi-generation v2.932.10, openapi v1.25.0, sdk-gen-config v1.58.0) with the two license-token pins re-applied; testify resolves to 1.12.1 as the SDK's transitive minimum. Claude-Session: https://claude.ai/code/session_01DkiJPLbxuA3XKkK4bb7KcA
2 parents c62d7fb + bde871f commit 81ecf8d

10 files changed

Lines changed: 516 additions & 42 deletions

File tree

cmd/openapi/transform.go

Lines changed: 36 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,11 @@ package openapi
22

33
import (
44
"context"
5+
"fmt"
56
"os"
7+
"strings"
68

9+
"github.com/speakeasy-api/sdk-gen-config/workflow"
710
charm_internal "github.com/speakeasy-api/speakeasy/internal/charm"
811
"github.com/speakeasy-api/speakeasy/internal/model"
912
"github.com/speakeasy-api/speakeasy/internal/model/flag"
@@ -89,12 +92,25 @@ var cleanupCmd = &model.ExecutableCommand[basicFlagsI]{
8992
Flags: basicFlags,
9093
}
9194

92-
var formatCmd = &model.ExecutableCommand[basicFlagsI]{
95+
type formatFlags struct {
96+
Schema string `json:"schema"`
97+
Out string `json:"out"`
98+
Style string `json:"style"`
99+
}
100+
101+
var formatCmd = &model.ExecutableCommand[formatFlags]{
93102
Usage: "format",
94-
Short: "Format an OpenAPI document to be more human-readable",
95-
Long: "Format an OpenAPI document to be more human-readable by sorting the keys in a specific order best suited for each level in the OpenAPI specification",
96-
Run: runFormat,
97-
Flags: basicFlags,
103+
Short: "Format an OpenAPI document using a selected output style",
104+
Long: "Format an OpenAPI document using either the readable style or the sorted style. " +
105+
"The sorted style accepts JSON or YAML, emits deterministic JSON, and reorders arrays under required, parameters, oneOf, anyOf, and allOf; " +
106+
"those array orders can affect generated method signatures, union ordering, or order-sensitive tooling.",
107+
Run: runFormat,
108+
Flags: append(basicFlags, flag.EnumFlag{
109+
Name: "style",
110+
Description: "formatting style to apply (readable or sorted)",
111+
DefaultValue: string(workflow.FormatStyleReadable),
112+
AllowedValues: []string{string(workflow.FormatStyleReadable), string(workflow.FormatStyleSorted)},
113+
}),
98114
}
99115

100116
var normalizeCmd = &model.ExecutableCommand[normalizeFlags]{
@@ -166,18 +182,30 @@ func runCleanup(ctx context.Context, flags basicFlagsI) error {
166182
return transform.CleanupDocument(ctx, flags.Schema, yamlOut, out)
167183
}
168184

169-
func runFormat(ctx context.Context, flags basicFlagsI) error {
185+
func runFormat(ctx context.Context, flags formatFlags) error {
186+
style := workflow.FormatStyle(flags.Style)
187+
if style != workflow.FormatStyleReadable && style != workflow.FormatStyleSorted {
188+
return fmt.Errorf("unsupported format style %q", flags.Style)
189+
}
190+
if style == workflow.FormatStyleSorted && utils.HasYAMLExt(strings.ToLower(flags.Out)) {
191+
return fmt.Errorf("sorted formatting only supports JSON output")
192+
}
193+
170194
out, yamlOut, err := setupOutput(ctx, flags.Out)
171195
if err != nil {
172196
return err
173197
}
174198
defer out.Close()
175199

176-
return transform.FormatDocument(ctx, flags.Schema, yamlOut, out)
200+
if style == workflow.FormatStyleReadable {
201+
return transform.FormatDocument(ctx, flags.Schema, yamlOut, out)
202+
}
203+
204+
return transform.FormatSortedDocument(flags.Schema, yamlOut, out)
177205
}
178206

179207
func setupOutput(_ context.Context, out string) (*os.File, bool, error) {
180-
yamlOut := utils.HasYAMLExt(out)
208+
yamlOut := utils.HasYAMLExt(strings.ToLower(out))
181209

182210
if out != "" {
183211
file, err := os.Create(out)

cmd/openapi/transform_test.go

Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
package openapi
2+
3+
import (
4+
"context"
5+
"os"
6+
"path/filepath"
7+
"testing"
8+
9+
"github.com/stretchr/testify/assert"
10+
"github.com/stretchr/testify/require"
11+
)
12+
13+
func TestRunFormat_ReadableStyle(t *testing.T) {
14+
t.Parallel()
15+
16+
tempDir := t.TempDir()
17+
inputPath := filepath.Join(tempDir, "input.json")
18+
outputPath := filepath.Join(tempDir, "output.json")
19+
input := `{"paths":{},"openapi":"3.0.0","info":{"version":"1","title":"T"}}`
20+
require.NoError(t, os.WriteFile(inputPath, []byte(input), 0o600))
21+
22+
err := runFormat(context.Background(), formatFlags{
23+
Schema: inputPath,
24+
Out: outputPath,
25+
Style: "readable",
26+
})
27+
require.NoError(t, err)
28+
29+
actual, err := os.ReadFile(outputPath)
30+
require.NoError(t, err)
31+
assert.JSONEq(t, input, string(actual), "readable formatting should preserve the document")
32+
}
33+
34+
func TestRunFormat_ReadableUppercaseYAMLOutput(t *testing.T) {
35+
t.Parallel()
36+
37+
tempDir := t.TempDir()
38+
inputPath := filepath.Join(tempDir, "input.json")
39+
input := `{"paths":{},"openapi":"3.0.0","info":{"version":"1","title":"T"}}`
40+
require.NoError(t, os.WriteFile(inputPath, []byte(input), 0o600))
41+
42+
for _, outputName := range []string{"output.YML", "output.YAML"} {
43+
outputPath := filepath.Join(tempDir, outputName)
44+
err := runFormat(context.Background(), formatFlags{
45+
Schema: inputPath,
46+
Out: outputPath,
47+
Style: "readable",
48+
})
49+
require.NoError(t, err)
50+
51+
actual, err := os.ReadFile(outputPath)
52+
require.NoError(t, err)
53+
assert.Contains(t, string(actual), "openapi: 3.0.0", "uppercase YAML extensions should emit YAML")
54+
}
55+
}
56+
57+
func TestRunFormat_SortedYAMLInput(t *testing.T) {
58+
t.Parallel()
59+
60+
tempDir := t.TempDir()
61+
inputPath := filepath.Join(tempDir, "input.yaml")
62+
outputPath := filepath.Join(tempDir, "output.json")
63+
require.NoError(t, os.WriteFile(inputPath, []byte("openapi: 3.0.0\npaths:\n /z: {}\n /a: {}\n"), 0o600))
64+
65+
err := runFormat(context.Background(), formatFlags{
66+
Schema: inputPath,
67+
Out: outputPath,
68+
Style: "sorted",
69+
})
70+
require.NoError(t, err)
71+
72+
actual, err := os.ReadFile(outputPath)
73+
require.NoError(t, err)
74+
assert.Equal(t, `{
75+
"openapi": "3.0.0",
76+
"paths": {
77+
"/a": {},
78+
"/z": {}
79+
}
80+
}
81+
`, string(actual))
82+
}
83+
84+
func TestRunFormat_SortedRejectsYAMLOutputBeforeCreate(t *testing.T) {
85+
t.Parallel()
86+
87+
tempDir := t.TempDir()
88+
inputPath := filepath.Join(tempDir, "input.json")
89+
require.NoError(t, os.WriteFile(inputPath, []byte(`{"openapi":"3.0.0"}`), 0o600))
90+
91+
for _, outputName := range []string{"output.yaml", "output.YML"} {
92+
outputPath := filepath.Join(tempDir, outputName)
93+
err := runFormat(context.Background(), formatFlags{
94+
Schema: inputPath,
95+
Out: outputPath,
96+
Style: "sorted",
97+
})
98+
require.EqualError(t, err, "sorted formatting only supports JSON output")
99+
_, statErr := os.Stat(outputPath)
100+
require.ErrorIs(t, statErr, os.ErrNotExist, "rejected output should not be created")
101+
}
102+
}
103+
104+
func TestRunFormat_RejectsUnknownStyleBeforeCreate(t *testing.T) {
105+
t.Parallel()
106+
107+
outputPath := filepath.Join(t.TempDir(), "output.json")
108+
err := runFormat(context.Background(), formatFlags{
109+
Schema: "unused.json",
110+
Out: outputPath,
111+
Style: "unknown",
112+
})
113+
require.EqualError(t, err, `unsupported format style "unknown"`)
114+
_, statErr := os.Stat(outputPath)
115+
require.ErrorIs(t, statErr, os.ErrNotExist, "rejected output should not be created")
116+
}

go.mod

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,9 @@ require (
4646
github.com/speakeasy-api/gram v0.0.0-20260121234743-5a36906a8929
4747
github.com/speakeasy-api/huh v1.1.2
4848
github.com/speakeasy-api/jq v0.1.1-0.20251107233444-84d7e49e84a4
49-
github.com/speakeasy-api/openapi v1.24.1
50-
github.com/speakeasy-api/openapi-generation/v2 v2.932.0
51-
github.com/speakeasy-api/sdk-gen-config v1.57.1
49+
github.com/speakeasy-api/openapi v1.25.0
50+
github.com/speakeasy-api/openapi-generation/v2 v2.932.10
51+
github.com/speakeasy-api/sdk-gen-config v1.58.0
5252
github.com/speakeasy-api/speakeasy-agent-mode-content v0.2.12
5353
github.com/speakeasy-api/speakeasy-client-sdk-go/v3 v3.27.0
5454
github.com/speakeasy-api/speakeasy-core v0.23.0
@@ -63,7 +63,7 @@ require (
6363
golang.org/x/oauth2 v0.36.0
6464
golang.org/x/sync v0.22.0
6565
golang.org/x/term v0.45.0
66-
golang.org/x/text v0.40.0
66+
golang.org/x/text v0.41.0
6767
gopkg.in/yaml.v3 v3.0.1
6868
oras.land/oras-go/v2 v2.5.0
6969
)
@@ -87,12 +87,13 @@ require (
8787
github.com/alecthomas/chroma/v2 v2.8.0 // indirect
8888
github.com/andybalholm/brotli v1.2.0 // indirect
8989
github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect
90+
github.com/apparentlymart/go-textseg/v17 v17.0.1 // indirect
9091
github.com/atotto/clipboard v0.1.4 // indirect
9192
github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
9293
github.com/aymanbagabas/go-udiff v0.2.0 // indirect
9394
github.com/aymerick/douceur v0.2.0 // indirect
9495
github.com/bahlo/generic-list-go v0.2.0 // indirect
95-
github.com/bits-and-blooms/bitset v1.24.6 // indirect
96+
github.com/bits-and-blooms/bitset v1.25.0 // indirect
9697
github.com/buger/jsonparser v1.1.1 // indirect
9798
github.com/catppuccin/go v0.2.0 // indirect
9899
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
@@ -146,7 +147,7 @@ require (
146147
github.com/go-ole/go-ole v1.3.0 // indirect
147148
github.com/go-sourcemap/sourcemap v2.1.4+incompatible // indirect
148149
github.com/go-test/deep v1.0.8 // indirect
149-
github.com/goccy/go-json v0.10.5 // indirect
150+
github.com/goccy/go-json v0.10.6 // indirect
150151
github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 // indirect
151152
github.com/gomarkdown/markdown v0.0.0-20250810172220-2e2c11897d1a // indirect
152153
github.com/google/go-dap v0.12.0 // indirect
@@ -208,7 +209,7 @@ require (
208209
github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 // indirect
209210
github.com/pelletier/go-toml/v2 v2.2.3 // indirect
210211
github.com/pjbgf/sha1cd v0.3.2 // indirect
211-
github.com/posthog/posthog-go v1.23.0 // indirect
212+
github.com/posthog/posthog-go v1.23.1 // indirect
212213
github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55 // indirect
213214
github.com/pterm/pterm v0.12.80 // indirect
214215
github.com/rivo/tview v0.0.0-20240424133105-0d02bb78244d // indirect
@@ -250,7 +251,7 @@ require (
250251
github.com/yuin/goldmark v1.7.7 // indirect
251252
github.com/yuin/goldmark-emoji v1.0.2 // indirect
252253
github.com/yusufpapurcu/wmi v1.2.4 // indirect
253-
github.com/zclconf/go-cty v1.16.3 // indirect
254+
github.com/zclconf/go-cty v1.19.0 // indirect
254255
go.opentelemetry.io/auto/sdk v1.2.1 // indirect
255256
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.69.0 // indirect
256257
go.opentelemetry.io/otel v1.45.0 // indirect
@@ -267,10 +268,10 @@ require (
267268
golang.org/x/crypto v0.54.0 // indirect
268269
golang.org/x/exp v0.0.0-20250620022241-b7579e27df2b // indirect
269270
golang.org/x/image v0.30.0 // indirect
270-
golang.org/x/mod v0.37.0 // indirect
271+
golang.org/x/mod v0.38.0 // indirect
271272
golang.org/x/net v0.57.0 // indirect
272273
golang.org/x/sys v0.47.0 // indirect
273-
golang.org/x/tools v0.47.0 // indirect
274+
golang.org/x/tools v0.48.0 // indirect
274275
google.golang.org/genproto/googleapis/api v0.0.0-20260803160001-6ac0973c030d // indirect
275276
google.golang.org/genproto/googleapis/rpc v0.0.0-20260803160001-6ac0973c030d // indirect
276277
google.golang.org/grpc v1.83.0 // indirect

go.sum

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,8 @@ github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFI
6666
github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4=
6767
github.com/apparentlymart/go-textseg/v15 v15.0.0 h1:uYvfpb3DyLSCGWnctWKGj857c6ew1u1fNQOlOtuGxQY=
6868
github.com/apparentlymart/go-textseg/v15 v15.0.0/go.mod h1:K8XmNZdhEBkdlyDdvbmmsvpAG721bKi0joRfFdHIWJ4=
69+
github.com/apparentlymart/go-textseg/v17 v17.0.1 h1:bpMXRgQ5cEoRNuQke1a80/Nl6w3G5eoIbWo9f3gXkAs=
70+
github.com/apparentlymart/go-textseg/v17 v17.0.1/go.mod h1:fa8X4jgGeevslICIY6LcdjkSecWnXmYd9Lk34z/VxZs=
6971
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio=
7072
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs=
7173
github.com/atomicgo/cursor v0.0.1/go.mod h1:cBON2QmmrysudxNBFthvMtN32r3jxVRIvzkUiF/RuIk=
@@ -79,8 +81,8 @@ github.com/aymerick/douceur v0.2.0 h1:Mv+mAeH1Q+n9Fr+oyamOlAkUNPWPlA8PPGR0QAaYuP
7981
github.com/aymerick/douceur v0.2.0/go.mod h1:wlT5vV2O3h55X9m7iVYN0TBM0NH/MmbLnd30/FjWUq4=
8082
github.com/bahlo/generic-list-go v0.2.0 h1:5sz/EEAK+ls5wF+NeqDpk5+iNdMDXrh3z3nPnH1Wvgk=
8183
github.com/bahlo/generic-list-go v0.2.0/go.mod h1:2KvAjgMlE5NNynlg/5iLrrCCZ2+5xWbdbCW3pNTGyYg=
82-
github.com/bits-and-blooms/bitset v1.24.6 h1:qcrftZUVBIwfs+m+nhoCBAPT+ZPZZjti8SbHbDQQkZ4=
83-
github.com/bits-and-blooms/bitset v1.24.6/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8=
84+
github.com/bits-and-blooms/bitset v1.25.0 h1:0Ro0qF4abCkM6SqWPVj29sFhAbMPAZpaDD7xhJ10beM=
85+
github.com/bits-and-blooms/bitset v1.25.0/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8=
8486
github.com/bmatcuk/doublestar/v4 v4.9.1 h1:X8jg9rRZmJd4yRy7ZeNDRnM+T3ZfHv15JiBJ/avrEXE=
8587
github.com/bmatcuk/doublestar/v4 v4.9.1/go.mod h1:xBQ8jztBU6kakFMg+8WGxn0c6z1fTSPVIjEY1Wr7jzc=
8688
github.com/bool64/dev v0.2.43 h1:yQ7qiZVef6WtCl2vDYU0Y+qSq+0aBrQzY8KXkklk9cQ=
@@ -246,8 +248,8 @@ github.com/go-sourcemap/sourcemap v2.1.4+incompatible/go.mod h1:F8jJfvm2KbVjc5Nq
246248
github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE=
247249
github.com/go-test/deep v1.0.8 h1:TDsG77qcSprGbC6vTN8OuXp5g+J+b5Pcguhf7Zt61VM=
248250
github.com/go-test/deep v1.0.8/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE=
249-
github.com/goccy/go-json v0.10.5 h1:Fq85nIqj+gXn/S5ahsiTlK3TmC85qgirsdTP/+DeaC4=
250-
github.com/goccy/go-json v0.10.5/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M=
251+
github.com/goccy/go-json v0.10.6 h1:p8HrPJzOakx/mn/bQtjgNjdTcN+/S6FcG2CTtQOrHVU=
252+
github.com/goccy/go-json v0.10.6/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M=
251253
github.com/goccy/go-yaml v1.19.2 h1:PmFC1S6h8ljIz6gMRBopkjP1TVT7xuwrButHID66PoM=
252254
github.com/goccy/go-yaml v1.19.2/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA=
253255
github.com/gofrs/flock v0.12.1 h1:MTLVXXHf8ekldpJk3AKicLij9MdwOWkZ+a/jHHZby9E=
@@ -470,8 +472,8 @@ github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINE
470472
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
471473
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
472474
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
473-
github.com/posthog/posthog-go v1.23.0 h1:Uj/mHGBRY+VutTMAtK79Lbha5lHCyYEuZypLtfWjQbI=
474-
github.com/posthog/posthog-go v1.23.0/go.mod h1://M430hNH3e8CDv4i8SJesb26816Mpa6GIZaiP4pNQU=
475+
github.com/posthog/posthog-go v1.23.1 h1:Xw8QnH1WdCjHoqEbej7FI3CfM1g0jBJb8aBqIpBvQeM=
476+
github.com/posthog/posthog-go v1.23.1/go.mod h1:seY9mmw3mYGT9i2Wr5Dn3JXWPiAkZ6aolwH/5l8eVQE=
475477
github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55 h1:o4JXh1EVt9k/+g42oCprj/FisM4qX9L3sZB3upGN2ZU=
476478
github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE=
477479
github.com/pterm/pterm v0.12.27/go.mod h1:PhQ89w4i95rhgE+xedAoqous6K9X+r6aSOI2eFF7DZI=
@@ -546,14 +548,14 @@ github.com/speakeasy-api/jsonpath v0.6.3 h1:c+QPwzAOdrWvzycuc9HFsIZcxKIaWcNpC+xh
546548
github.com/speakeasy-api/jsonpath v0.6.3/go.mod h1:2cXloNuQ+RSXi5HTRaeBh7JEmjRXTiaKpFTdZiL7URI=
547549
github.com/speakeasy-api/libopenapi v0.21.10-fixhiddencomps-fixed h1:ZtuakKtG6x73crANhspQ2CGyZZaBmAHmKUA+Hn2JnpI=
548550
github.com/speakeasy-api/libopenapi v0.21.10-fixhiddencomps-fixed/go.mod h1:Gc8oQkjr2InxwumK0zOBtKN9gIlv9L2VmSVIUk2YxcU=
549-
github.com/speakeasy-api/openapi v1.24.1 h1:e8rkoiq1q8vJ/Ru1pjdlABlgkbG581M4XRadhaHtT3c=
550-
github.com/speakeasy-api/openapi v1.24.1/go.mod h1:9gGkzi9jNspEbcB08zta+IjzAi5Zy4QgSEQfF/LSrbQ=
551-
github.com/speakeasy-api/openapi-generation/v2 v2.932.0 h1:C46dgO+qN2Ew1exQyQFS76KxumKBArwMVHtsRdvK/Fo=
552-
github.com/speakeasy-api/openapi-generation/v2 v2.932.0/go.mod h1:QgU7//EsEdpiCMcpiM983QYlXXsp1YhE8TQi8OJEXyQ=
551+
github.com/speakeasy-api/openapi v1.25.0 h1:xyJ5ZzW4YwStT2ICo0o7v9M890J7VpsR7AqhQSZnwl4=
552+
github.com/speakeasy-api/openapi v1.25.0/go.mod h1:9gGkzi9jNspEbcB08zta+IjzAi5Zy4QgSEQfF/LSrbQ=
553+
github.com/speakeasy-api/openapi-generation/v2 v2.932.10 h1:ZuWliIIRLGHiEtoo/qFavVFJEArnQKYMqSc7ZCxFL9c=
554+
github.com/speakeasy-api/openapi-generation/v2 v2.932.10/go.mod h1:1Yypyh8Dl2dg/aYMY8ySCJ6kfuI9xTpUxuSs30XpZPE=
553555
github.com/speakeasy-api/openapi/openapi/linter/customrules v0.0.0-20260206023826-2483fb8e98b4 h1:gV+lYeVNNJG9X3Sl9Su3cRh1iF/oNqzvb5Ijq2QR8jY=
554556
github.com/speakeasy-api/openapi/openapi/linter/customrules v0.0.0-20260206023826-2483fb8e98b4/go.mod h1:1zQpVio7X6QJDtyNdUguCgZ+IC7CzKhhjvNgJdvGVF0=
555-
github.com/speakeasy-api/sdk-gen-config v1.57.1 h1:s0r+utcuSnJqbWxor7wYMGVzj7lRxp+HGYCGRBO0/uk=
556-
github.com/speakeasy-api/sdk-gen-config v1.57.1/go.mod h1:kD0NPNX5yaG4j+dcCpLL0hHKQbFk6X93obp+v1XlK5E=
557+
github.com/speakeasy-api/sdk-gen-config v1.58.0 h1:JrDgDU3XBIidv+TXFqYBvIomfeGEQ0zN+OnHyUc+kNw=
558+
github.com/speakeasy-api/sdk-gen-config v1.58.0/go.mod h1:kD0NPNX5yaG4j+dcCpLL0hHKQbFk6X93obp+v1XlK5E=
557559
github.com/speakeasy-api/speakeasy-agent-mode-content v0.2.12 h1:dGONbW8WLNc4uSox1/k8O4JFggHoQy1v6R9cLqbTf5M=
558560
github.com/speakeasy-api/speakeasy-agent-mode-content v0.2.12/go.mod h1:AiZRZLL+sv9uwtTHIECc1dcTgfJrXrEB5QxcAGifMkI=
559561
github.com/speakeasy-api/speakeasy-client-sdk-go/v3 v3.27.0 h1:+nqvrNB9bpBN2UEC7lbEIJnpcNfg229mGH0sRK+Ebvc=
@@ -648,8 +650,8 @@ github.com/yuin/goldmark-emoji v1.0.2 h1:c/RgTShNgHTtc6xdz2KKI74jJr6rWi7FPgnP9GA
648650
github.com/yuin/goldmark-emoji v1.0.2/go.mod h1:RhP/RWpexdp+KHs7ghKnifRoIs/Bq4nDS7tRbCkOwKY=
649651
github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0=
650652
github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0=
651-
github.com/zclconf/go-cty v1.16.3 h1:osr++gw2T61A8KVYHoQiFbFd1Lh3JOCXc/jFLJXKTxk=
652-
github.com/zclconf/go-cty v1.16.3/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE=
653+
github.com/zclconf/go-cty v1.19.0 h1:IV8WdqYZc2c5rLX9bEoLNXKojBAp0MZPBHMIrCoa/s4=
654+
github.com/zclconf/go-cty v1.19.0/go.mod h1:12W89jGn3JCOIQi7infWr9m80rOkb5RNYJqXMZcN4c8=
653655
github.com/zclconf/go-cty-debug v0.0.0-20240509010212-0d6042c53940 h1:4r45xpDWB6ZMSMNJFMOjqrGHynW3DIBuR2H9j0ug+Mo=
654656
github.com/zclconf/go-cty-debug v0.0.0-20240509010212-0d6042c53940/go.mod h1:CmBdvvj3nqzfzJ6nTCIwDTPZ56aVGvDrmztiO5g3qrM=
655657
go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64=
@@ -704,8 +706,8 @@ golang.org/x/image v0.30.0/go.mod h1:SAEUTxCCMWSrJcCy/4HwavEsfZZJlYxeHLc6tTiAe/c
704706
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
705707
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
706708
golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
707-
golang.org/x/mod v0.37.0 h1:vF1DjpVEshcIqoEaauuHebaLk1O1forxjxBaVn884JQ=
708-
golang.org/x/mod v0.37.0/go.mod h1:m8S8VeM9r4dzDwjrKO0a1sZP3YjeMamRRlD+fmR2Q/0=
709+
golang.org/x/mod v0.38.0 h1:MECBjubtXD7yj4HrhIUcywNaGeNVUdfVnxmPajOk4yk=
710+
golang.org/x/mod v0.38.0/go.mod h1:V6Xz0pq8TQ3dGqVQ1FVHuelZpAL0uNhSkk9ogYP3c40=
709711
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
710712
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
711713
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
@@ -780,15 +782,15 @@ golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
780782
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
781783
golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
782784
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
783-
golang.org/x/text v0.40.0 h1:Ub2Z6/xjgF1WrYQz2nuITOEegKFtiIy+rieRJ5lHZKs=
784-
golang.org/x/text v0.40.0/go.mod h1:hpnzDAfGV753zIKo+wk3u1bVKCGPbrnF7+7LBF/UHVY=
785+
golang.org/x/text v0.41.0 h1:vz/seA0lnX87Othu2f/0L24RcgrXD9/YFTSuGjj3rH8=
786+
golang.org/x/text v0.41.0/go.mod h1:jvf1O8ajNzZqhSrQBPbutR/EB83Cc0CFrezNQIwbb5M=
785787
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
786788
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
787789
golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
788790
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
789791
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
790-
golang.org/x/tools v0.47.0 h1:7Kn5x/d1svx/PzryTsqeoZN4TZwqeH5pGWjefhLi/1Q=
791-
golang.org/x/tools v0.47.0/go.mod h1:dFHnyTvFWY212G+h7ZY4Vsp/K3U4/7W9TyVaAul8uCA=
792+
golang.org/x/tools v0.48.0 h1:3+hClM1aLL5mjMKm5ovokw9epgRXPuu2tILgismM6RE=
793+
golang.org/x/tools v0.48.0/go.mod h1:08xX0orndb/F7jJxGDicx061tyd5pcMto75YMAXr6lk=
792794
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
793795
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
794796
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=

0 commit comments

Comments
 (0)