diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index b56c3d0..e8285b7 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -1,3 +1,3 @@
{
- ".": "0.1.0-alpha.4"
+ ".": "0.1.0-alpha.5"
}
\ No newline at end of file
diff --git a/.stats.yml b/.stats.yml
index f0d8544..2b23ced 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
-configured_endpoints: 6
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-19b0d17ba368f32827ee322d15a7f4ff7e1f3bbf66606fad227b3465f8ffc5ab.yml
-openapi_spec_hash: 4a3cb766898e8a134ef99fe6c4c87736
+configured_endpoints: 7
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-c9d64df733f286f09d2203f4e3d820ce57e8d4c629c5e2db4e2bfac91fbc1598.yml
+openapi_spec_hash: fa407611fc566d55f403864fbfaa6c23
config_hash: 4dfa4d870ce0e23e31ce33ab6a53dd21
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6ac757e..aa7757d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,14 @@
# Changelog
+## 0.1.0-alpha.5 (2025-05-20)
+
+Full Changelog: [v0.1.0-alpha.4...v0.1.0-alpha.5](https://github.com/onkernel/kernel-go-sdk/compare/v0.1.0-alpha.4...v0.1.0-alpha.5)
+
+### Features
+
+* **api:** update via SDK Studio ([2f5051e](https://github.com/onkernel/kernel-go-sdk/commit/2f5051e328b157c2836d93fcd1e957c315f9d4e7))
+* **api:** update via SDK Studio ([368ec0a](https://github.com/onkernel/kernel-go-sdk/commit/368ec0a4e3eb54fd5634327f6234d9b4f0a83a95))
+
## 0.1.0-alpha.4 (2025-05-20)
Full Changelog: [v0.1.0-alpha.3...v0.1.0-alpha.4](https://github.com/onkernel/kernel-go-sdk/compare/v0.1.0-alpha.3...v0.1.0-alpha.4)
diff --git a/README.md b/README.md
index 5ec3f4e..a544e04 100644
--- a/README.md
+++ b/README.md
@@ -24,7 +24,7 @@ Or to pin the version:
```sh
-go get -u 'github.com/onkernel/kernel-go-sdk@v0.1.0-alpha.4'
+go get -u 'github.com/onkernel/kernel-go-sdk@v0.1.0-alpha.5'
```
diff --git a/api.md b/api.md
index 1452129..eb9c93c 100644
--- a/api.md
+++ b/api.md
@@ -1,5 +1,13 @@
# Apps
+Response Types:
+
+- kernel.AppListResponse
+
+Methods:
+
+- client.Apps.List(ctx context.Context, query kernel.AppListParams) ([]kernel.AppListResponse, error)
+
## Deployments
Response Types:
diff --git a/app.go b/app.go
index a5d6f7a..c3d26dc 100644
--- a/app.go
+++ b/app.go
@@ -3,7 +3,16 @@
package kernel
import (
+ "context"
+ "net/http"
+ "net/url"
+
+ "github.com/onkernel/kernel-go-sdk/internal/apijson"
+ "github.com/onkernel/kernel-go-sdk/internal/apiquery"
+ "github.com/onkernel/kernel-go-sdk/internal/requestconfig"
"github.com/onkernel/kernel-go-sdk/option"
+ "github.com/onkernel/kernel-go-sdk/packages/param"
+ "github.com/onkernel/kernel-go-sdk/packages/respjson"
)
// AppService contains methods and other services that help with interacting with
@@ -28,3 +37,58 @@ func NewAppService(opts ...option.RequestOption) (r AppService) {
r.Invocations = NewAppInvocationService(opts...)
return
}
+
+// List application versions for the authenticated user. Optionally filter by app
+// name and/or version label.
+func (r *AppService) List(ctx context.Context, query AppListParams, opts ...option.RequestOption) (res *[]AppListResponse, err error) {
+ opts = append(r.Options[:], opts...)
+ path := "apps"
+ err = requestconfig.ExecuteNewRequest(ctx, http.MethodGet, path, query, &res, opts...)
+ return
+}
+
+// Summary of an application version.
+type AppListResponse struct {
+ // Unique identifier for the app version
+ ID string `json:"id,required"`
+ // Name of the application
+ AppName string `json:"app_name,required"`
+ // Deployment region code
+ Region string `json:"region,required"`
+ // Version label for the application
+ Version string `json:"version,required"`
+ // Environment variables configured for this app version
+ EnvVars map[string]string `json:"env_vars"`
+ // JSON contains metadata for fields, check presence with [respjson.Field.Valid].
+ JSON struct {
+ ID respjson.Field
+ AppName respjson.Field
+ Region respjson.Field
+ Version respjson.Field
+ EnvVars respjson.Field
+ ExtraFields map[string]respjson.Field
+ raw string
+ } `json:"-"`
+}
+
+// Returns the unmodified JSON received from the API
+func (r AppListResponse) RawJSON() string { return r.JSON.raw }
+func (r *AppListResponse) UnmarshalJSON(data []byte) error {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+type AppListParams struct {
+ // Filter results by application name.
+ AppName param.Opt[string] `query:"app_name,omitzero" json:"-"`
+ // Filter results by version label.
+ Version param.Opt[string] `query:"version,omitzero" json:"-"`
+ paramObj
+}
+
+// URLQuery serializes [AppListParams]'s query parameters as `url.Values`.
+func (r AppListParams) URLQuery() (v url.Values, err error) {
+ return apiquery.MarshalWithSettings(r, apiquery.QuerySettings{
+ ArrayFormat: apiquery.ArrayQueryFormatComma,
+ NestedFormat: apiquery.NestedQueryFormatBrackets,
+ })
+}
diff --git a/app_test.go b/app_test.go
new file mode 100644
index 0000000..0b9b741
--- /dev/null
+++ b/app_test.go
@@ -0,0 +1,40 @@
+// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+package kernel_test
+
+import (
+ "context"
+ "errors"
+ "os"
+ "testing"
+
+ "github.com/onkernel/kernel-go-sdk"
+ "github.com/onkernel/kernel-go-sdk/internal/testutil"
+ "github.com/onkernel/kernel-go-sdk/option"
+)
+
+func TestAppListWithOptionalParams(t *testing.T) {
+ t.Skip("skipped: tests are disabled for the time being")
+ baseURL := "http://localhost:4010"
+ if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
+ baseURL = envURL
+ }
+ if !testutil.CheckTestServer(t, baseURL) {
+ return
+ }
+ client := kernel.NewClient(
+ option.WithBaseURL(baseURL),
+ option.WithAPIKey("My API Key"),
+ )
+ _, err := client.Apps.List(context.TODO(), kernel.AppListParams{
+ AppName: kernel.String("app_name"),
+ Version: kernel.String("version"),
+ })
+ if err != nil {
+ var apierr *kernel.Error
+ if errors.As(err, &apierr) {
+ t.Log(string(apierr.DumpRequest(true)))
+ }
+ t.Fatalf("err should be nil: %s", err.Error())
+ }
+}
diff --git a/internal/version.go b/internal/version.go
index 5469df6..2aad167 100644
--- a/internal/version.go
+++ b/internal/version.go
@@ -2,4 +2,4 @@
package internal
-const PackageVersion = "0.1.0-alpha.4" // x-release-please-version
+const PackageVersion = "0.1.0-alpha.5" // x-release-please-version