Skip to content

Commit c408bc6

Browse files
release: 0.4.0 (#7)
* feat(api): manual updates * codegen metadata * codegen metadata * codegen metadata * feat(api): manual updates * chore: update mock server docs * fix: allow canceling a request while it is waiting to retry * feat(api): api update * codegen metadata * codegen metadata * feat(api): api update * feat(api): api update * release: 0.4.0 --------- Co-authored-by: stainless-app[bot] <142633134+stainless-app[bot]@users.noreply.github.com>
1 parent fcf606f commit c408bc6

24 files changed

+747
-85
lines changed

.release-please-manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
".": "0.3.0"
2+
".": "0.4.0"
33
}

.stats.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
configured_endpoints: 19
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/beeper%2Fbeeper-desktop-api-3f6555bfea11258c6e8882455360ae08202067a270313716ee15571b83ada577.yml
3-
openapi_spec_hash: 020324a708981384284f8fad8ac8c66c
4-
config_hash: 48ff2d23c2ebc82bd3c15787f0041684
1+
configured_endpoints: 23
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/beeper%2Fbeeper-desktop-api-4acef56b00be513f305543096fdd407e6947f0a5ad268ab2e627ff30b37a75db.yml
3+
openapi_spec_hash: e876d796b6c25f18577f6be3944bf7d9
4+
config_hash: 659111d4e28efa599b5f800619ed79c2

CHANGELOG.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,27 @@
11
# Changelog
22

3+
## 0.4.0 (2026-02-20)
4+
5+
Full Changelog: [v0.3.0...v0.4.0](https://github.com/beeper/desktop-api-go/compare/v0.3.0...v0.4.0)
6+
7+
### Features
8+
9+
* **api:** api update ([d93212e](https://github.com/beeper/desktop-api-go/commit/d93212edc1831f66dd2bdcf90f4b8129c0421561))
10+
* **api:** api update ([090b9fa](https://github.com/beeper/desktop-api-go/commit/090b9fa8ed3a2bdeed47184d45ee55f3af920f1a))
11+
* **api:** api update ([42ed730](https://github.com/beeper/desktop-api-go/commit/42ed7302937ab09fcf9c4137c292148ed5c27e4f))
12+
* **api:** manual updates ([12bb117](https://github.com/beeper/desktop-api-go/commit/12bb11703a14d86f4b2d9f6c46a85b10349edaa9))
13+
* **api:** manual updates ([bdbbdba](https://github.com/beeper/desktop-api-go/commit/bdbbdbab6e3ab56d5d259991c8ce0f7e35b8a729))
14+
15+
16+
### Bug Fixes
17+
18+
* allow canceling a request while it is waiting to retry ([2c85b3b](https://github.com/beeper/desktop-api-go/commit/2c85b3bcc3fb6cc4cc4aeca6708a6642dc6c4586))
19+
20+
21+
### Chores
22+
23+
* update mock server docs ([1c67766](https://github.com/beeper/desktop-api-go/commit/1c67766069b0a877174acdacb45ab88824038f9c))
24+
325
## 0.3.0 (2026-02-13)
426

527
Full Changelog: [v0.2.1...v0.3.0](https://github.com/beeper/desktop-api-go/compare/v0.2.1...v0.3.0)

CONTRIBUTING.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,7 @@ $ go mod edit -replace github.com/beeper/desktop-api-go=/path/to/desktop-api-go
4949
Most tests require you to [set up a mock server](https://github.com/stoplightio/prism) against the OpenAPI spec to run the tests.
5050

5151
```sh
52-
# you will need npm installed
53-
$ npx prism mock path/to/your/openapi.yml
52+
$ ./scripts/mock
5453
```
5554

5655
```sh

README.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,15 @@
99
The Beeper Desktop Go library provides convenient access to the [Beeper Desktop REST API](https://developers.beeper.com/desktop-api/)
1010
from applications written in Go.
1111

12+
## MCP Server
13+
14+
Use the Beeper Desktop MCP Server to enable AI assistants to interact with this API, allowing them to explore endpoints, make test requests, and use documentation to help integrate this SDK into your application.
15+
16+
[![Add to Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en-US/install-mcp?name=%40beeper%2Fdesktop-mcp&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBiZWVwZXIvZGVza3RvcC1tY3AiXSwiZW52Ijp7IkJFRVBFUl9BQ0NFU1NfVE9LRU4iOiJNeSBBY2Nlc3MgVG9rZW4ifX0)
17+
[![Install in VS Code](https://img.shields.io/badge/_-Add_to_VS_Code-blue?style=for-the-badge&logo=data:image/svg%2bxml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCA0MCA0MCI+PHBhdGggZmlsbD0iI0VFRSIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMzAuMjM1IDM5Ljg4NGEyLjQ5MSAyLjQ5MSAwIDAgMS0xLjc4MS0uNzNMMTIuNyAyNC43OGwtMy40NiAyLjYyNC0zLjQwNiAyLjU4MmExLjY2NSAxLjY2NSAwIDAgMS0xLjA4Mi4zMzggMS42NjQgMS42NjQgMCAwIDEtMS4wNDYtLjQzMWwtMi4yLTJhMS42NjYgMS42NjYgMCAwIDEgMC0yLjQ2M0w3LjQ1OCAyMCA0LjY3IDE3LjQ1MyAxLjUwNyAxNC41N2ExLjY2NSAxLjY2NSAwIDAgMSAwLTIuNDYzbDIuMi0yYTEuNjY1IDEuNjY1IDAgMCAxIDIuMTMtLjA5N2w2Ljg2MyA1LjIwOUwyOC40NTIuODQ0YTIuNDg4IDIuNDg4IDAgMCAxIDEuODQxLS43MjljLjM1MS4wMDkuNjk5LjA5MSAxLjAxOS4yNDVsOC4yMzYgMy45NjFhMi41IDIuNSAwIDAgMSAxLjQxNSAyLjI1M3YuMDk5LS4wNDVWMzMuMzd2LS4wNDUuMDk1YTIuNTAxIDIuNTAxIDAgMCAxLTEuNDE2IDIuMjU3bC04LjIzNSAzLjk2MWEyLjQ5MiAyLjQ5MiAwIDAgMS0xLjA3Ny4yNDZabS43MTYtMjguOTQ3LTExLjk0OCA5LjA2MiAxMS45NTIgOS4wNjUtLjAwNC0xOC4xMjdaIi8+PC9zdmc+)](https://vscode.stainless.com/mcp/%7B%22name%22%3A%22%40beeper%2Fdesktop-mcp%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40beeper%2Fdesktop-mcp%22%5D%2C%22env%22%3A%7B%22BEEPER_ACCESS_TOKEN%22%3A%22My%20Access%20Token%22%7D%7D)
18+
19+
> Note: You may need to set environment variables in your MCP client.
20+
1221
## Installation
1322

1423
<!-- x-release-please-start-version -->
@@ -26,7 +35,7 @@ Or to pin the version:
2635
<!-- x-release-please-start-version -->
2736

2837
```sh
29-
go get -u 'github.com/beeper/desktop-api-go@v0.3.0'
38+
go get -u 'github.com/beeper/desktop-api-go@v0.4.0'
3039
```
3140

3241
<!-- x-release-please-end -->

account.go

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -51,16 +51,11 @@ func (r *AccountService) List(ctx context.Context, opts ...option.RequestOption)
5151
type Account struct {
5252
// Chat account added to Beeper. Use this to route account-scoped actions.
5353
AccountID string `json:"accountID,required"`
54-
// Display-only human-readable network name (e.g., 'WhatsApp', 'Messenger').
55-
//
56-
// Deprecated: deprecated
57-
Network string `json:"network,required"`
5854
// User the account belongs to.
5955
User shared.User `json:"user,required"`
6056
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
6157
JSON struct {
6258
AccountID respjson.Field
63-
Network respjson.Field
6459
User respjson.Field
6560
ExtraFields map[string]respjson.Field
6661
raw string

accountcontact.go

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ import (
1414
"github.com/beeper/desktop-api-go/internal/apiquery"
1515
"github.com/beeper/desktop-api-go/internal/requestconfig"
1616
"github.com/beeper/desktop-api-go/option"
17+
"github.com/beeper/desktop-api-go/packages/pagination"
18+
"github.com/beeper/desktop-api-go/packages/param"
1719
"github.com/beeper/desktop-api-go/packages/respjson"
1820
"github.com/beeper/desktop-api-go/shared"
1921
)
@@ -39,6 +41,33 @@ func NewAccountContactService(opts ...option.RequestOption) (r AccountContactSer
3941
return
4042
}
4143

44+
// List merged contacts for a specific account with cursor-based pagination.
45+
func (r *AccountContactService) List(ctx context.Context, accountID string, query AccountContactListParams, opts ...option.RequestOption) (res *pagination.CursorSearch[shared.User], err error) {
46+
var raw *http.Response
47+
opts = slices.Concat(r.Options, opts)
48+
opts = append([]option.RequestOption{option.WithResponseInto(&raw)}, opts...)
49+
if accountID == "" {
50+
err = errors.New("missing required accountID parameter")
51+
return
52+
}
53+
path := fmt.Sprintf("v1/accounts/%s/contacts/list", accountID)
54+
cfg, err := requestconfig.NewRequestConfig(ctx, http.MethodGet, path, query, &res, opts...)
55+
if err != nil {
56+
return nil, err
57+
}
58+
err = cfg.Execute()
59+
if err != nil {
60+
return nil, err
61+
}
62+
res.SetPageConfig(cfg, raw)
63+
return res, nil
64+
}
65+
66+
// List merged contacts for a specific account with cursor-based pagination.
67+
func (r *AccountContactService) ListAutoPaging(ctx context.Context, accountID string, query AccountContactListParams, opts ...option.RequestOption) *pagination.CursorSearchAutoPager[shared.User] {
68+
return pagination.NewCursorSearchAutoPager(r.List(ctx, accountID, query, opts...))
69+
}
70+
4271
// Search contacts on a specific account using merged account contacts, network
4372
// search, and exact identifier lookup.
4473
func (r *AccountContactService) Search(ctx context.Context, accountID string, query AccountContactSearchParams, opts ...option.RequestOption) (res *AccountContactSearchResponse, err error) {
@@ -68,6 +97,39 @@ func (r *AccountContactSearchResponse) UnmarshalJSON(data []byte) error {
6897
return apijson.UnmarshalRoot(data, r)
6998
}
7099

100+
type AccountContactListParams struct {
101+
// Opaque pagination cursor; do not inspect. Use together with 'direction'.
102+
Cursor param.Opt[string] `query:"cursor,omitzero" json:"-"`
103+
// Maximum contacts to return per page.
104+
Limit param.Opt[int64] `query:"limit,omitzero" json:"-"`
105+
// Optional search query for blended contact lookup.
106+
Query param.Opt[string] `query:"query,omitzero" json:"-"`
107+
// Pagination direction used with 'cursor': 'before' fetches older results, 'after'
108+
// fetches newer results. Defaults to 'before' when only 'cursor' is provided.
109+
//
110+
// Any of "after", "before".
111+
Direction AccountContactListParamsDirection `query:"direction,omitzero" json:"-"`
112+
paramObj
113+
}
114+
115+
// URLQuery serializes [AccountContactListParams]'s query parameters as
116+
// `url.Values`.
117+
func (r AccountContactListParams) URLQuery() (v url.Values, err error) {
118+
return apiquery.MarshalWithSettings(r, apiquery.QuerySettings{
119+
ArrayFormat: apiquery.ArrayQueryFormatRepeat,
120+
NestedFormat: apiquery.NestedQueryFormatBrackets,
121+
})
122+
}
123+
124+
// Pagination direction used with 'cursor': 'before' fetches older results, 'after'
125+
// fetches newer results. Defaults to 'before' when only 'cursor' is provided.
126+
type AccountContactListParamsDirection string
127+
128+
const (
129+
AccountContactListParamsDirectionAfter AccountContactListParamsDirection = "after"
130+
AccountContactListParamsDirectionBefore AccountContactListParamsDirection = "before"
131+
)
132+
71133
type AccountContactSearchParams struct {
72134
// Text to search users by. Network-specific behavior.
73135
Query string `query:"query,required" json:"-"`

accountcontact_test.go

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,37 @@ import (
1313
"github.com/beeper/desktop-api-go/option"
1414
)
1515

16+
func TestAccountContactListWithOptionalParams(t *testing.T) {
17+
baseURL := "http://localhost:4010"
18+
if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
19+
baseURL = envURL
20+
}
21+
if !testutil.CheckTestServer(t, baseURL) {
22+
return
23+
}
24+
client := beeperdesktopapi.NewClient(
25+
option.WithBaseURL(baseURL),
26+
option.WithAccessToken("My Access Token"),
27+
)
28+
_, err := client.Accounts.Contacts.List(
29+
context.TODO(),
30+
"accountID",
31+
beeperdesktopapi.AccountContactListParams{
32+
Cursor: beeperdesktopapi.String("1725489123456|c29tZUltc2dQYWdl"),
33+
Direction: beeperdesktopapi.AccountContactListParamsDirectionBefore,
34+
Limit: beeperdesktopapi.Int(1),
35+
Query: beeperdesktopapi.String("x"),
36+
},
37+
)
38+
if err != nil {
39+
var apierr *beeperdesktopapi.Error
40+
if errors.As(err, &apierr) {
41+
t.Log(string(apierr.DumpRequest(true)))
42+
}
43+
t.Fatalf("err should be nil: %s", err.Error())
44+
}
45+
}
46+
1647
func TestAccountContactSearch(t *testing.T) {
1748
baseURL := "http://localhost:4010"
1849
if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {

api.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ Response Types:
3535

3636
Methods:
3737

38+
- <code title="get /v1/accounts/{accountID}/contacts/list">client.Accounts.Contacts.<a href="https://pkg.go.dev/github.com/beeper/desktop-api-go#AccountContactService.List">List</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, accountID <a href="https://pkg.go.dev/builtin#string">string</a>, query <a href="https://pkg.go.dev/github.com/beeper/desktop-api-go">beeperdesktopapi</a>.<a href="https://pkg.go.dev/github.com/beeper/desktop-api-go#AccountContactListParams">AccountContactListParams</a>) (\*<a href="https://pkg.go.dev/github.com/beeper/desktop-api-go/packages/pagination">pagination</a>.<a href="https://pkg.go.dev/github.com/beeper/desktop-api-go/packages/pagination#CursorSearch">CursorSearch</a>[<a href="https://pkg.go.dev/github.com/beeper/desktop-api-go/shared">shared</a>.<a href="https://pkg.go.dev/github.com/beeper/desktop-api-go/shared#User">User</a>], <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
3839
- <code title="get /v1/accounts/{accountID}/contacts">client.Accounts.Contacts.<a href="https://pkg.go.dev/github.com/beeper/desktop-api-go#AccountContactService.Search">Search</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, accountID <a href="https://pkg.go.dev/builtin#string">string</a>, query <a href="https://pkg.go.dev/github.com/beeper/desktop-api-go">beeperdesktopapi</a>.<a href="https://pkg.go.dev/github.com/beeper/desktop-api-go#AccountContactSearchParams">AccountContactSearchParams</a>) (\*<a href="https://pkg.go.dev/github.com/beeper/desktop-api-go">beeperdesktopapi</a>.<a href="https://pkg.go.dev/github.com/beeper/desktop-api-go#AccountContactSearchResponse">AccountContactSearchResponse</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
3940

4041
# Chats
@@ -60,6 +61,20 @@ Methods:
6061
- <code title="post /v1/chats/{chatID}/reminders">client.Chats.Reminders.<a href="https://pkg.go.dev/github.com/beeper/desktop-api-go#ChatReminderService.New">New</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, chatID <a href="https://pkg.go.dev/builtin#string">string</a>, body <a href="https://pkg.go.dev/github.com/beeper/desktop-api-go">beeperdesktopapi</a>.<a href="https://pkg.go.dev/github.com/beeper/desktop-api-go#ChatReminderNewParams">ChatReminderNewParams</a>) <a href="https://pkg.go.dev/builtin#error">error</a></code>
6162
- <code title="delete /v1/chats/{chatID}/reminders">client.Chats.Reminders.<a href="https://pkg.go.dev/github.com/beeper/desktop-api-go#ChatReminderService.Delete">Delete</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, chatID <a href="https://pkg.go.dev/builtin#string">string</a>) <a href="https://pkg.go.dev/builtin#error">error</a></code>
6263

64+
## Messages
65+
66+
### Reactions
67+
68+
Response Types:
69+
70+
- <a href="https://pkg.go.dev/github.com/beeper/desktop-api-go">beeperdesktopapi</a>.<a href="https://pkg.go.dev/github.com/beeper/desktop-api-go#ChatMessageReactionDeleteResponse">ChatMessageReactionDeleteResponse</a>
71+
- <a href="https://pkg.go.dev/github.com/beeper/desktop-api-go">beeperdesktopapi</a>.<a href="https://pkg.go.dev/github.com/beeper/desktop-api-go#ChatMessageReactionAddResponse">ChatMessageReactionAddResponse</a>
72+
73+
Methods:
74+
75+
- <code title="delete /v1/chats/{chatID}/messages/{messageID}/reactions">client.Chats.Messages.Reactions.<a href="https://pkg.go.dev/github.com/beeper/desktop-api-go#ChatMessageReactionService.Delete">Delete</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, messageID <a href="https://pkg.go.dev/builtin#string">string</a>, params <a href="https://pkg.go.dev/github.com/beeper/desktop-api-go">beeperdesktopapi</a>.<a href="https://pkg.go.dev/github.com/beeper/desktop-api-go#ChatMessageReactionDeleteParams">ChatMessageReactionDeleteParams</a>) (\*<a href="https://pkg.go.dev/github.com/beeper/desktop-api-go">beeperdesktopapi</a>.<a href="https://pkg.go.dev/github.com/beeper/desktop-api-go#ChatMessageReactionDeleteResponse">ChatMessageReactionDeleteResponse</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
76+
- <code title="post /v1/chats/{chatID}/messages/{messageID}/reactions">client.Chats.Messages.Reactions.<a href="https://pkg.go.dev/github.com/beeper/desktop-api-go#ChatMessageReactionService.Add">Add</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, messageID <a href="https://pkg.go.dev/builtin#string">string</a>, params <a href="https://pkg.go.dev/github.com/beeper/desktop-api-go">beeperdesktopapi</a>.<a href="https://pkg.go.dev/github.com/beeper/desktop-api-go#ChatMessageReactionAddParams">ChatMessageReactionAddParams</a>) (\*<a href="https://pkg.go.dev/github.com/beeper/desktop-api-go">beeperdesktopapi</a>.<a href="https://pkg.go.dev/github.com/beeper/desktop-api-go#ChatMessageReactionAddResponse">ChatMessageReactionAddResponse</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
77+
6378
# Messages
6479

6580
Response Types:
@@ -88,3 +103,13 @@ Methods:
88103
- <code title="get /v1/assets/serve">client.Assets.<a href="https://pkg.go.dev/github.com/beeper/desktop-api-go#AssetService.Serve">Serve</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, query <a href="https://pkg.go.dev/github.com/beeper/desktop-api-go">beeperdesktopapi</a>.<a href="https://pkg.go.dev/github.com/beeper/desktop-api-go#AssetServeParams">AssetServeParams</a>) <a href="https://pkg.go.dev/builtin#error">error</a></code>
89104
- <code title="post /v1/assets/upload">client.Assets.<a href="https://pkg.go.dev/github.com/beeper/desktop-api-go#AssetService.Upload">Upload</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, body <a href="https://pkg.go.dev/github.com/beeper/desktop-api-go">beeperdesktopapi</a>.<a href="https://pkg.go.dev/github.com/beeper/desktop-api-go#AssetUploadParams">AssetUploadParams</a>) (\*<a href="https://pkg.go.dev/github.com/beeper/desktop-api-go">beeperdesktopapi</a>.<a href="https://pkg.go.dev/github.com/beeper/desktop-api-go#AssetUploadResponse">AssetUploadResponse</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
90105
- <code title="post /v1/assets/upload/base64">client.Assets.<a href="https://pkg.go.dev/github.com/beeper/desktop-api-go#AssetService.UploadBase64">UploadBase64</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, body <a href="https://pkg.go.dev/github.com/beeper/desktop-api-go">beeperdesktopapi</a>.<a href="https://pkg.go.dev/github.com/beeper/desktop-api-go#AssetUploadBase64Params">AssetUploadBase64Params</a>) (\*<a href="https://pkg.go.dev/github.com/beeper/desktop-api-go">beeperdesktopapi</a>.<a href="https://pkg.go.dev/github.com/beeper/desktop-api-go#AssetUploadBase64Response">AssetUploadBase64Response</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
106+
107+
# Info
108+
109+
Response Types:
110+
111+
- <a href="https://pkg.go.dev/github.com/beeper/desktop-api-go">beeperdesktopapi</a>.<a href="https://pkg.go.dev/github.com/beeper/desktop-api-go#InfoGetResponse">InfoGetResponse</a>
112+
113+
Methods:
114+
115+
- <code title="get /v1/info">client.Info.<a href="https://pkg.go.dev/github.com/beeper/desktop-api-go#InfoService.Get">Get</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>) (\*<a href="https://pkg.go.dev/github.com/beeper/desktop-api-go">beeperdesktopapi</a>.<a href="https://pkg.go.dev/github.com/beeper/desktop-api-go#InfoGetResponse">InfoGetResponse</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>

0 commit comments

Comments
 (0)