summaryrefslogtreecommitdiffhomepage
path: root/packages/tui/sdk/file.go
diff options
context:
space:
mode:
authoradamdottv <[email protected]>2025-07-03 11:49:15 -0500
committeradamdottv <[email protected]>2025-07-03 11:49:15 -0500
commit5a0910ea79b3f219c64f922fc775636b2bfdf07c (patch)
tree6f3288101eb3aa99fdc31cfaf5e07e4990cc8954 /packages/tui/sdk/file.go
parent1dffabcfdaeefd3bc08a51b625047185bade3a4d (diff)
downloadopencode-5a0910ea79b3f219c64f922fc775636b2bfdf07c.tar.gz
opencode-5a0910ea79b3f219c64f922fc775636b2bfdf07c.zip
chore: better local dev with stainless script
Diffstat (limited to 'packages/tui/sdk/file.go')
-rw-r--r--packages/tui/sdk/file.go143
1 files changed, 143 insertions, 0 deletions
diff --git a/packages/tui/sdk/file.go b/packages/tui/sdk/file.go
new file mode 100644
index 000000000..a9d6f018c
--- /dev/null
+++ b/packages/tui/sdk/file.go
@@ -0,0 +1,143 @@
+// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+package opencode
+
+import (
+ "context"
+ "net/http"
+ "net/url"
+
+ "github.com/sst/opencode-sdk-go/internal/apijson"
+ "github.com/sst/opencode-sdk-go/internal/apiquery"
+ "github.com/sst/opencode-sdk-go/internal/param"
+ "github.com/sst/opencode-sdk-go/internal/requestconfig"
+ "github.com/sst/opencode-sdk-go/option"
+)
+
+// FileService contains methods and other services that help with interacting with
+// the opencode API.
+//
+// Note, unlike clients, this service does not read variables from the environment
+// automatically. You should not instantiate this service directly, and instead use
+// the [NewFileService] method instead.
+type FileService struct {
+ Options []option.RequestOption
+}
+
+// NewFileService generates a new service that applies the given options to each
+// request. These options are applied after the parent client's options (if there
+// is one), and before any request-specific options.
+func NewFileService(opts ...option.RequestOption) (r *FileService) {
+ r = &FileService{}
+ r.Options = opts
+ return
+}
+
+// Read a file
+func (r *FileService) Read(ctx context.Context, query FileReadParams, opts ...option.RequestOption) (res *FileReadResponse, err error) {
+ opts = append(r.Options[:], opts...)
+ path := "file"
+ err = requestconfig.ExecuteNewRequest(ctx, http.MethodGet, path, query, &res, opts...)
+ return
+}
+
+// Get file status
+func (r *FileService) Status(ctx context.Context, opts ...option.RequestOption) (res *[]FileStatusResponse, err error) {
+ opts = append(r.Options[:], opts...)
+ path := "file/status"
+ err = requestconfig.ExecuteNewRequest(ctx, http.MethodGet, path, nil, &res, opts...)
+ return
+}
+
+type FileReadResponse struct {
+ Content string `json:"content,required"`
+ Type FileReadResponseType `json:"type,required"`
+ JSON fileReadResponseJSON `json:"-"`
+}
+
+// fileReadResponseJSON contains the JSON metadata for the struct
+// [FileReadResponse]
+type fileReadResponseJSON struct {
+ Content apijson.Field
+ Type apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *FileReadResponse) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r fileReadResponseJSON) RawJSON() string {
+ return r.raw
+}
+
+type FileReadResponseType string
+
+const (
+ FileReadResponseTypeRaw FileReadResponseType = "raw"
+ FileReadResponseTypePatch FileReadResponseType = "patch"
+)
+
+func (r FileReadResponseType) IsKnown() bool {
+ switch r {
+ case FileReadResponseTypeRaw, FileReadResponseTypePatch:
+ return true
+ }
+ return false
+}
+
+type FileStatusResponse struct {
+ Added int64 `json:"added,required"`
+ File string `json:"file,required"`
+ Removed int64 `json:"removed,required"`
+ Status FileStatusResponseStatus `json:"status,required"`
+ JSON fileStatusResponseJSON `json:"-"`
+}
+
+// fileStatusResponseJSON contains the JSON metadata for the struct
+// [FileStatusResponse]
+type fileStatusResponseJSON struct {
+ Added apijson.Field
+ File apijson.Field
+ Removed apijson.Field
+ Status apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *FileStatusResponse) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r fileStatusResponseJSON) RawJSON() string {
+ return r.raw
+}
+
+type FileStatusResponseStatus string
+
+const (
+ FileStatusResponseStatusAdded FileStatusResponseStatus = "added"
+ FileStatusResponseStatusDeleted FileStatusResponseStatus = "deleted"
+ FileStatusResponseStatusModified FileStatusResponseStatus = "modified"
+)
+
+func (r FileStatusResponseStatus) IsKnown() bool {
+ switch r {
+ case FileStatusResponseStatusAdded, FileStatusResponseStatusDeleted, FileStatusResponseStatusModified:
+ return true
+ }
+ return false
+}
+
+type FileReadParams struct {
+ Path param.Field[string] `query:"path,required"`
+}
+
+// URLQuery serializes [FileReadParams]'s query parameters as `url.Values`.
+func (r FileReadParams) URLQuery() (v url.Values) {
+ return apiquery.MarshalWithSettings(r, apiquery.QuerySettings{
+ ArrayFormat: apiquery.ArrayQueryFormatComma,
+ NestedFormat: apiquery.NestedQueryFormatBrackets,
+ })
+}