From 2f092b0bda821690efd26b14d08b81115faa5d8b Mon Sep 17 00:00:00 2001 From: Ash Godfrey Date: Mon, 28 Sep 2026 09:49:40 -0400 Subject: [PATCH 1/2] fix(cli): size quickstart prompts for multi-line descriptions, include auto-assigned short flags in usage schemas; fix(go,typescript,python,java,csharp,php,ruby,terraform): derive flattened union formats from all members; fix(python): serialize formatted path parameters; fix(ruby): Sorbet retry exponents and hyphenated gem loading; fix(terraform): redact sensitive values from debug diagnostics --- go.mod | 4 ++-- go.sum | 4 ++-- prompts/configs_test.go | 6 +++--- prompts/target_form_field.go | 9 +++++---- 4 files changed, 12 insertions(+), 11 deletions(-) diff --git a/go.mod b/go.mod index ecb263d09..35230e339 100644 --- a/go.mod +++ b/go.mod @@ -36,6 +36,7 @@ require ( github.com/hashicorp/go-version v1.9.0 github.com/iancoleman/strcase v0.3.0 github.com/joho/godotenv v1.5.1 + github.com/muesli/reflow v0.3.0 github.com/pb33f/openapi-changes v0.0.63 github.com/pkg/errors v0.9.1 github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 @@ -47,7 +48,7 @@ require ( github.com/speakeasy-api/huh v1.1.2 github.com/speakeasy-api/jq v0.13.0 github.com/speakeasy-api/openapi v1.25.0 - github.com/speakeasy-api/openapi-generation/v2 v2.941.0 + github.com/speakeasy-api/openapi-generation/v2 v2.941.7 github.com/speakeasy-api/sdk-gen-config v1.58.0 github.com/speakeasy-api/speakeasy-agent-mode-content v0.2.12 github.com/speakeasy-api/speakeasy-client-sdk-go/v3 v3.28.1 @@ -197,7 +198,6 @@ require ( github.com/moby/term v0.5.2 // indirect github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 // indirect github.com/muesli/cancelreader v0.2.2 // indirect - github.com/muesli/reflow v0.3.0 // indirect github.com/muesli/termenv v0.16.0 // indirect github.com/olekukonko/tablewriter v0.0.5 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect diff --git a/go.sum b/go.sum index 64409047f..122e21ea5 100644 --- a/go.sum +++ b/go.sum @@ -548,8 +548,8 @@ github.com/speakeasy-api/libopenapi v0.21.10-fixhiddencomps-fixed h1:ZtuakKtG6x7 github.com/speakeasy-api/libopenapi v0.21.10-fixhiddencomps-fixed/go.mod h1:Gc8oQkjr2InxwumK0zOBtKN9gIlv9L2VmSVIUk2YxcU= github.com/speakeasy-api/openapi v1.25.0 h1:xyJ5ZzW4YwStT2ICo0o7v9M890J7VpsR7AqhQSZnwl4= github.com/speakeasy-api/openapi v1.25.0/go.mod h1:9gGkzi9jNspEbcB08zta+IjzAi5Zy4QgSEQfF/LSrbQ= -github.com/speakeasy-api/openapi-generation/v2 v2.941.0 h1:ugKtFsX/lMvKF8omR+C9zhU0zkV2J64IwyIG64Eji3E= -github.com/speakeasy-api/openapi-generation/v2 v2.941.0/go.mod h1:38+qTY7CB1YwaGT1VvwSTF23l3nHDx8wbjkBPig9S54= +github.com/speakeasy-api/openapi-generation/v2 v2.941.7 h1:/MR2Z02zW7V/EsjP42cNkFWjX6KstmXm43Am10VhYtc= +github.com/speakeasy-api/openapi-generation/v2 v2.941.7/go.mod h1:38+qTY7CB1YwaGT1VvwSTF23l3nHDx8wbjkBPig9S54= github.com/speakeasy-api/openapi/openapi/linter/customrules v0.0.0-20260206023826-2483fb8e98b4 h1:gV+lYeVNNJG9X3Sl9Su3cRh1iF/oNqzvb5Ijq2QR8jY= github.com/speakeasy-api/openapi/openapi/linter/customrules v0.0.0-20260206023826-2483fb8e98b4/go.mod h1:1zQpVio7X6QJDtyNdUguCgZ+IC7CzKhhjvNgJdvGVF0= github.com/speakeasy-api/sdk-gen-config v1.58.0 h1:JrDgDU3XBIidv+TXFqYBvIomfeGEQ0zN+OnHyUc+kNw= diff --git a/prompts/configs_test.go b/prompts/configs_test.go index d01a2cfc5..52391e55a 100644 --- a/prompts/configs_test.go +++ b/prompts/configs_test.go @@ -29,9 +29,9 @@ func TestTargetSpecificForms_Ruby_Quickstart(t *testing.T) { tm := charmtest.ModelFromHuhGroup(t, groups...) tm.AssertContains(t, "┃ Choose a packageName", - "┃ The distribution name of the Ruby Package.", - "https://guides.rubygems.org/name-", - "your-gem/", + "┃ The distribution name of the Ruby Package. https://guides.rubygems.org/name-your-gem/ Use a lowercase", + "┃ name: a name that differs from its snake_case form only by case gets no gem-name entry file, so", + "┃ Bundler will not autoload it on case-sensitive filesystems.", "┃ openapi", ) tm.SendKeys(tea.KeyEnter) diff --git a/prompts/target_form_field.go b/prompts/target_form_field.go index 2107cb8f9..2e2d1cbae 100644 --- a/prompts/target_form_field.go +++ b/prompts/target_form_field.go @@ -8,6 +8,7 @@ import ( "strings" "github.com/iancoleman/strcase" + "github.com/muesli/reflow/wordwrap" "github.com/speakeasy-api/huh" config "github.com/speakeasy-api/sdk-gen-config" "github.com/speakeasy-api/speakeasy/internal/charm" @@ -215,9 +216,9 @@ func (f *TargetFormField) HuhField(targetFormFields TargetFormFields) huh.Field if f.DescriptionFunc != nil { fn := func() string { - return f.DescriptionFunc(*value) + return wordwrap.String(f.DescriptionFunc(*value), 100) } - input = input.DescriptionFunc(fn, value).Inline(false).Prompt("") + input = input.Description(fn()).DescriptionFunc(fn, value).Inline(false).Prompt("") } if f.SuggestionsFunc != nil { @@ -278,9 +279,9 @@ func (f *TargetFormField) HuhField(targetFormFields TargetFormFields) huh.Field if f.DescriptionFunc != nil { fn := func() string { - return f.DescriptionFunc(intValue) + return wordwrap.String(f.DescriptionFunc(intValue), 100) } - input = input.DescriptionFunc(fn, &intValue).Inline(false).Prompt("") + input = input.Description(fn()).DescriptionFunc(fn, &intValue).Inline(false).Prompt("") } if f.SuggestionsFunc != nil { From d8e3bd77a5fec16bf89cc7a86ff736867a067bf2 Mon Sep 17 00:00:00 2001 From: Ash Godfrey Date: Wed, 30 Sep 2026 03:43:09 -0400 Subject: [PATCH 2/2] feat(cli): root --version flag, arrayFlagFormat for JSON string-array flags; fix(cli): command examples use the full command path, orphaned command docs removed, release archives named after cliName, install.ps1 throws instead of exiting --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 35230e339..7d2431be5 100644 --- a/go.mod +++ b/go.mod @@ -48,7 +48,7 @@ require ( github.com/speakeasy-api/huh v1.1.2 github.com/speakeasy-api/jq v0.13.0 github.com/speakeasy-api/openapi v1.25.0 - github.com/speakeasy-api/openapi-generation/v2 v2.941.7 + github.com/speakeasy-api/openapi-generation/v2 v2.943.0 github.com/speakeasy-api/sdk-gen-config v1.58.0 github.com/speakeasy-api/speakeasy-agent-mode-content v0.2.12 github.com/speakeasy-api/speakeasy-client-sdk-go/v3 v3.28.1 diff --git a/go.sum b/go.sum index 122e21ea5..5bbfd1bba 100644 --- a/go.sum +++ b/go.sum @@ -548,8 +548,8 @@ github.com/speakeasy-api/libopenapi v0.21.10-fixhiddencomps-fixed h1:ZtuakKtG6x7 github.com/speakeasy-api/libopenapi v0.21.10-fixhiddencomps-fixed/go.mod h1:Gc8oQkjr2InxwumK0zOBtKN9gIlv9L2VmSVIUk2YxcU= github.com/speakeasy-api/openapi v1.25.0 h1:xyJ5ZzW4YwStT2ICo0o7v9M890J7VpsR7AqhQSZnwl4= github.com/speakeasy-api/openapi v1.25.0/go.mod h1:9gGkzi9jNspEbcB08zta+IjzAi5Zy4QgSEQfF/LSrbQ= -github.com/speakeasy-api/openapi-generation/v2 v2.941.7 h1:/MR2Z02zW7V/EsjP42cNkFWjX6KstmXm43Am10VhYtc= -github.com/speakeasy-api/openapi-generation/v2 v2.941.7/go.mod h1:38+qTY7CB1YwaGT1VvwSTF23l3nHDx8wbjkBPig9S54= +github.com/speakeasy-api/openapi-generation/v2 v2.943.0 h1:iR1Kb/7/O66wavfzyCPqoEJ0ejIDmyWZ/gRMfclPi98= +github.com/speakeasy-api/openapi-generation/v2 v2.943.0/go.mod h1:38+qTY7CB1YwaGT1VvwSTF23l3nHDx8wbjkBPig9S54= github.com/speakeasy-api/openapi/openapi/linter/customrules v0.0.0-20260206023826-2483fb8e98b4 h1:gV+lYeVNNJG9X3Sl9Su3cRh1iF/oNqzvb5Ijq2QR8jY= github.com/speakeasy-api/openapi/openapi/linter/customrules v0.0.0-20260206023826-2483fb8e98b4/go.mod h1:1zQpVio7X6QJDtyNdUguCgZ+IC7CzKhhjvNgJdvGVF0= github.com/speakeasy-api/sdk-gen-config v1.58.0 h1:JrDgDU3XBIidv+TXFqYBvIomfeGEQ0zN+OnHyUc+kNw=