diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index 6db19b9..4ad3fef 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -1,3 +1,3 @@
{
- ".": "0.17.0"
+ ".": "0.18.0"
}
\ No newline at end of file
diff --git a/.stats.yml b/.stats.yml
index 8cf9ee7..9e4dbe6 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
configured_endpoints: 65
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-e914e2d08b888c77051acb09176d5e88052f130e0d22e85d946a675d2c3d39ab.yml
-openapi_spec_hash: 611d0ed1b4519331470b5d14e5f6784a
-config_hash: 3ded7a0ed77b1bfd68eabc6763521fe8
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-015c11efc34c81d4d82a937c017f5eb789ea3ca21a05b70e2ed31c069b839293.yml
+openapi_spec_hash: 3dcab2044da305f376cecf4eca38caee
+config_hash: 0fbdda3a736cc2748ca33371871e61b3
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2aefd98..71fed8b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,13 @@
# Changelog
+## 0.18.0 (2025-10-30)
+
+Full Changelog: [v0.17.0...v0.18.0](https://github.com/onkernel/kernel-go-sdk/compare/v0.17.0...v0.18.0)
+
+### Features
+
+* apps: add offset pagination + headers ([bb1bb22](https://github.com/onkernel/kernel-go-sdk/commit/bb1bb22bab1970f1c2ef0455d3002abbfc46466b))
+
## 0.17.0 (2025-10-27)
Full Changelog: [v0.16.0...v0.17.0](https://github.com/onkernel/kernel-go-sdk/compare/v0.16.0...v0.17.0)
diff --git a/README.md b/README.md
index c40dcb9..74d456f 100644
--- a/README.md
+++ b/README.md
@@ -28,7 +28,7 @@ Or to pin the version:
```sh
-go get -u 'github.com/onkernel/kernel-go-sdk@v0.17.0'
+go get -u 'github.com/onkernel/kernel-go-sdk@v0.18.0'
```
diff --git a/api.md b/api.md
index 533c147..495591c 100644
--- a/api.md
+++ b/api.md
@@ -32,7 +32,7 @@ Response Types:
Methods:
-- client.Apps.List(ctx context.Context, query kernel.AppListParams) ([]kernel.AppListResponse, error)
+- client.Apps.List(ctx context.Context, query kernel.AppListParams) (pagination.OffsetPagination[kernel.AppListResponse], error)
# Invocations
diff --git a/app.go b/app.go
index f2f3ff4..32bed97 100644
--- a/app.go
+++ b/app.go
@@ -12,6 +12,7 @@ import (
"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/pagination"
"github.com/onkernel/kernel-go-sdk/packages/param"
"github.com/onkernel/kernel-go-sdk/packages/respjson"
"github.com/onkernel/kernel-go-sdk/shared"
@@ -38,11 +39,26 @@ func NewAppService(opts ...option.RequestOption) (r AppService) {
}
// List applications. 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) {
+func (r *AppService) List(ctx context.Context, query AppListParams, opts ...option.RequestOption) (res *pagination.OffsetPagination[AppListResponse], err error) {
+ var raw *http.Response
opts = slices.Concat(r.Options, opts)
+ opts = append([]option.RequestOption{option.WithResponseInto(&raw)}, opts...)
path := "apps"
- err = requestconfig.ExecuteNewRequest(ctx, http.MethodGet, path, query, &res, opts...)
- return
+ cfg, err := requestconfig.NewRequestConfig(ctx, http.MethodGet, path, query, &res, opts...)
+ if err != nil {
+ return nil, err
+ }
+ err = cfg.Execute()
+ if err != nil {
+ return nil, err
+ }
+ res.SetPageConfig(cfg, raw)
+ return res, nil
+}
+
+// List applications. Optionally filter by app name and/or version label.
+func (r *AppService) ListAutoPaging(ctx context.Context, query AppListParams, opts ...option.RequestOption) *pagination.OffsetPaginationAutoPager[AppListResponse] {
+ return pagination.NewOffsetPaginationAutoPager(r.List(ctx, query, opts...))
}
// Summary of an application version.
@@ -84,6 +100,10 @@ func (r *AppListResponse) UnmarshalJSON(data []byte) error {
type AppListParams struct {
// Filter results by application name.
AppName param.Opt[string] `query:"app_name,omitzero" json:"-"`
+ // Limit the number of app to return.
+ Limit param.Opt[int64] `query:"limit,omitzero" json:"-"`
+ // Offset the number of app to return.
+ Offset param.Opt[int64] `query:"offset,omitzero" json:"-"`
// Filter results by version label.
Version param.Opt[string] `query:"version,omitzero" json:"-"`
paramObj
diff --git a/app_test.go b/app_test.go
index 100d114..b69d610 100644
--- a/app_test.go
+++ b/app_test.go
@@ -28,6 +28,8 @@ func TestAppListWithOptionalParams(t *testing.T) {
)
_, err := client.Apps.List(context.TODO(), kernel.AppListParams{
AppName: kernel.String("app_name"),
+ Limit: kernel.Int(1),
+ Offset: kernel.Int(0),
Version: kernel.String("version"),
})
if err != nil {
diff --git a/internal/version.go b/internal/version.go
index c265c64..8dc40e7 100644
--- a/internal/version.go
+++ b/internal/version.go
@@ -2,4 +2,4 @@
package internal
-const PackageVersion = "0.17.0" // x-release-please-version
+const PackageVersion = "0.18.0" // x-release-please-version