@37signals/basecamp 0.13.0 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -3
- package/dist/client.d.ts +2 -2
- package/dist/client.js +2 -2
- package/dist/download.d.ts +3 -1
- package/dist/download.d.ts.map +1 -1
- package/dist/download.js +17 -4
- package/dist/download.js.map +1 -1
- package/dist/errors.d.ts +27 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +89 -13
- package/dist/errors.js.map +1 -1
- package/dist/generated/metadata.d.ts.map +1 -1
- package/dist/generated/metadata.js +12 -1
- package/dist/generated/metadata.js.map +1 -1
- package/dist/generated/metadata.ts +12 -1
- package/dist/generated/openapi-stripped.json +559 -30
- package/dist/generated/path-mapping.d.ts.map +1 -1
- package/dist/generated/path-mapping.js +1 -0
- package/dist/generated/path-mapping.js.map +1 -1
- package/dist/generated/path-mapping.ts +1 -0
- package/dist/generated/schema.d.ts +468 -29
- package/dist/generated/services/checkins.d.ts +1 -1
- package/dist/generated/services/checkins.d.ts.map +1 -1
- package/dist/generated/services/checkins.ts +1 -1
- package/dist/generated/services/gauges.d.ts +3 -2
- package/dist/generated/services/gauges.d.ts.map +1 -1
- package/dist/generated/services/gauges.ts +2 -2
- package/dist/generated/services/search.d.ts +2 -1
- package/dist/generated/services/search.d.ts.map +1 -1
- package/dist/generated/services/search.ts +1 -1
- package/dist/generated/services/uploads.d.ts +36 -2
- package/dist/generated/services/uploads.d.ts.map +1 -1
- package/dist/generated/services/uploads.js +37 -1
- package/dist/generated/services/uploads.js.map +1 -1
- package/dist/generated/services/uploads.ts +65 -2
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/oauth/authorization-document.d.ts +208 -0
- package/dist/oauth/authorization-document.d.ts.map +1 -0
- package/dist/oauth/authorization-document.js +135 -0
- package/dist/oauth/authorization-document.js.map +1 -0
- package/dist/oauth/identity.d.ts +7 -1
- package/dist/oauth/identity.d.ts.map +1 -1
- package/dist/oauth/identity.js +8 -19
- package/dist/oauth/identity.js.map +1 -1
- package/dist/oauth/index.d.ts +1 -0
- package/dist/oauth/index.d.ts.map +1 -1
- package/dist/oauth/index.js +2 -0
- package/dist/oauth/index.js.map +1 -1
- package/dist/retry.d.ts +23 -0
- package/dist/retry.d.ts.map +1 -1
- package/dist/retry.js +45 -10
- package/dist/retry.js.map +1 -1
- package/dist/services/authorization.d.ts +22 -52
- package/dist/services/authorization.d.ts.map +1 -1
- package/dist/services/authorization.js +14 -32
- package/dist/services/authorization.js.map +1 -1
- package/dist/services/base.d.ts +25 -2
- package/dist/services/base.d.ts.map +1 -1
- package/dist/services/base.js +85 -15
- package/dist/services/base.js.map +1 -1
- package/package.json +6 -4
- package/src/generated/metadata.ts +12 -1
- package/src/generated/openapi-stripped.json +559 -30
- package/src/generated/path-mapping.ts +1 -0
- package/src/generated/schema.d.ts +468 -29
- package/src/generated/services/checkins.ts +1 -1
- package/src/generated/services/gauges.ts +2 -2
- package/src/generated/services/search.ts +1 -1
- package/src/generated/services/uploads.ts +65 -2
|
@@ -193,6 +193,7 @@ export const PATH_TO_OPERATION: Record<string, string> = {
|
|
|
193
193
|
"GET:/{accountId}/uploads/{uploadId}": "GetUpload",
|
|
194
194
|
"PUT:/{accountId}/uploads/{uploadId}": "UpdateUpload",
|
|
195
195
|
"GET:/{accountId}/uploads/{uploadId}/versions.json": "ListUploadVersions",
|
|
196
|
+
"POST:/{accountId}/uploads/{uploadId}/versions.json": "CreateUploadVersion",
|
|
196
197
|
"GET:/{accountId}/vaults/{vaultId}": "GetVault",
|
|
197
198
|
"PUT:/{accountId}/vaults/{vaultId}": "UpdateVault",
|
|
198
199
|
"GET:/{accountId}/vaults/{vaultId}/documents.json": "ListDocuments",
|
|
@@ -3307,7 +3307,14 @@ export interface paths {
|
|
|
3307
3307
|
*/
|
|
3308
3308
|
get: operations["ListUploadVersions"];
|
|
3309
3309
|
put?: never;
|
|
3310
|
-
|
|
3310
|
+
/**
|
|
3311
|
+
* @description Replace an upload's file with a new version
|
|
3312
|
+
*
|
|
3313
|
+
* The recording keeps its id, its URL and its comments; the previous file becomes a
|
|
3314
|
+
* past version. Use this instead of CreateUpload when publishing a new release of the
|
|
3315
|
+
* same file, so its published link keeps working.
|
|
3316
|
+
*/
|
|
3317
|
+
post: operations["CreateUploadVersion"];
|
|
3311
3318
|
delete?: never;
|
|
3312
3319
|
options?: never;
|
|
3313
3320
|
head?: never;
|
|
@@ -3722,9 +3729,11 @@ export interface components {
|
|
|
3722
3729
|
created_at: string;
|
|
3723
3730
|
updated_at: string;
|
|
3724
3731
|
service_name: string;
|
|
3732
|
+
/** @description Only present when the requester is an account administrator; possession of this URL is enough to command the bot. */
|
|
3725
3733
|
command_url?: string;
|
|
3726
3734
|
url?: string;
|
|
3727
3735
|
app_url?: string;
|
|
3736
|
+
/** @description Only present when the requester is an account administrator; possession of this URL is enough to post lines as the bot. */
|
|
3728
3737
|
lines_url?: string;
|
|
3729
3738
|
};
|
|
3730
3739
|
ClientApproval: {
|
|
@@ -4214,6 +4223,26 @@ export interface components {
|
|
|
4214
4223
|
visible_to_clients?: boolean;
|
|
4215
4224
|
};
|
|
4216
4225
|
CreateUploadResponseContent: components["schemas"]["Upload"];
|
|
4226
|
+
CreateUploadVersionRequestContent: {
|
|
4227
|
+
attachable_sgid: string;
|
|
4228
|
+
/** @description Omit to keep the uploaded file's own name. Sending "" also keeps it. */
|
|
4229
|
+
base_name?: string;
|
|
4230
|
+
/**
|
|
4231
|
+
* @description Presence-aware: omit to carry the previous version's description forward,
|
|
4232
|
+
* send "" to clear it, send a value to set it.
|
|
4233
|
+
*/
|
|
4234
|
+
description?: string;
|
|
4235
|
+
/**
|
|
4236
|
+
* @description Who to notify: "default", "everyone", or "custom" (the people in subscriptions).
|
|
4237
|
+
*
|
|
4238
|
+
* Omit both this and subscriptions to notify nobody. A subscriptions array sent
|
|
4239
|
+
* without notify is read as "custom".
|
|
4240
|
+
*/
|
|
4241
|
+
notify?: string;
|
|
4242
|
+
/** @description People to notify about the replacement and subscribe to the upload. */
|
|
4243
|
+
subscriptions?: number[];
|
|
4244
|
+
};
|
|
4245
|
+
CreateUploadVersionResponseContent: components["schemas"]["Upload"];
|
|
4217
4246
|
CreateVaultRequestContent: {
|
|
4218
4247
|
title: string;
|
|
4219
4248
|
};
|
|
@@ -4742,8 +4771,8 @@ export interface components {
|
|
|
4742
4771
|
over_three_months_late?: components["schemas"]["Todo"][];
|
|
4743
4772
|
};
|
|
4744
4773
|
GetPersonProgressResponseContent: {
|
|
4745
|
-
person
|
|
4746
|
-
events
|
|
4774
|
+
person: components["schemas"]["Person"];
|
|
4775
|
+
events: components["schemas"]["TimelineEvent"][];
|
|
4747
4776
|
};
|
|
4748
4777
|
GetPersonResponseContent: components["schemas"]["Person"];
|
|
4749
4778
|
GetProgressReportResponseContent: components["schemas"]["TimelineEvent"][];
|
|
@@ -4915,7 +4944,7 @@ export interface components {
|
|
|
4915
4944
|
ListTodolistGroupsResponseContent: components["schemas"]["Todolist"][];
|
|
4916
4945
|
ListTodolistsResponseContent: components["schemas"]["Todolist"][];
|
|
4917
4946
|
ListTodosResponseContent: components["schemas"]["Todo"][];
|
|
4918
|
-
ListUploadVersionsResponseContent: components["schemas"]["
|
|
4947
|
+
ListUploadVersionsResponseContent: components["schemas"]["UploadVersion"][];
|
|
4919
4948
|
ListUploadsResponseContent: components["schemas"]["Upload"][];
|
|
4920
4949
|
ListVaultsResponseContent: components["schemas"]["Vault"][];
|
|
4921
4950
|
ListWebhooksResponseContent: components["schemas"]["Webhook"][];
|
|
@@ -5020,13 +5049,19 @@ export interface components {
|
|
|
5020
5049
|
parent?: components["schemas"]["MyAssignmentParent"];
|
|
5021
5050
|
children?: components["schemas"]["MyAssignment"][];
|
|
5022
5051
|
};
|
|
5052
|
+
/**
|
|
5053
|
+
* @description A person as bc3's `people/_person_minimal.json.jbuilder` renders them —
|
|
5054
|
+
* the same three-key partial behind UpcomingSchedulePerson and
|
|
5055
|
+
* OutOfOfficePerson. All three keys are emitted unconditionally, so all
|
|
5056
|
+
* three are required.
|
|
5057
|
+
*/
|
|
5023
5058
|
MyAssignmentAssignee: {
|
|
5024
5059
|
/** Format: int64 */
|
|
5025
5060
|
id: number;
|
|
5026
5061
|
/** Format: password */
|
|
5027
|
-
name
|
|
5062
|
+
name: string;
|
|
5028
5063
|
/** Format: password */
|
|
5029
|
-
avatar_url
|
|
5064
|
+
avatar_url: string;
|
|
5030
5065
|
};
|
|
5031
5066
|
MyAssignmentBucket: {
|
|
5032
5067
|
/** Format: int64 */
|
|
@@ -5140,13 +5175,19 @@ export interface components {
|
|
|
5140
5175
|
/** @description End date in ISO 8601 format (YYYY-MM-DD) */
|
|
5141
5176
|
end_date: string;
|
|
5142
5177
|
};
|
|
5178
|
+
/**
|
|
5179
|
+
* @description A person as bc3's `people/_person_minimal.json.jbuilder` renders them —
|
|
5180
|
+
* the same three-key partial behind UpcomingSchedulePerson and
|
|
5181
|
+
* MyAssignmentAssignee. All three keys are emitted unconditionally, so all
|
|
5182
|
+
* three are required.
|
|
5183
|
+
*/
|
|
5143
5184
|
OutOfOfficePerson: {
|
|
5144
5185
|
/** Format: int64 */
|
|
5145
5186
|
id: number;
|
|
5146
5187
|
/** Format: password */
|
|
5147
|
-
name
|
|
5188
|
+
name: string;
|
|
5148
5189
|
/** Format: password */
|
|
5149
|
-
avatar_url
|
|
5190
|
+
avatar_url: string;
|
|
5150
5191
|
};
|
|
5151
5192
|
PauseQuestionResponseContent: {
|
|
5152
5193
|
paused?: boolean;
|
|
@@ -5788,19 +5829,61 @@ export interface components {
|
|
|
5788
5829
|
default_type_label: string;
|
|
5789
5830
|
};
|
|
5790
5831
|
SearchResponseContent: components["schemas"]["SearchResult"][];
|
|
5832
|
+
/**
|
|
5833
|
+
* @description One hit from account-wide search — a polymorphic projection over every
|
|
5834
|
+
* searchable recording type.
|
|
5835
|
+
*
|
|
5836
|
+
* Most result types render the common recording envelope
|
|
5837
|
+
* (`recordings/_recording.json.jbuilder`) plus their own recordable partial,
|
|
5838
|
+
* but `api_search_result_template_path` special-cases four branches — chat
|
|
5839
|
+
* lines, kanban (card table) lists, file attachments and gauge needles — and
|
|
5840
|
+
* the file-attachment branch writes its own projection from scratch instead
|
|
5841
|
+
* of the envelope. Members are therefore optional unless every branch emits
|
|
5842
|
+
* them; the doc comments name the branches that carry each optional member.
|
|
5843
|
+
*/
|
|
5791
5844
|
SearchResult: {
|
|
5792
|
-
/**
|
|
5793
|
-
|
|
5845
|
+
/**
|
|
5846
|
+
* Format: int64
|
|
5847
|
+
* @description The recording id. Optional only because the file-attachment branch
|
|
5848
|
+
* (`searches/_attachment.json.jbuilder`) skips the recording envelope and
|
|
5849
|
+
* emits none of the top-level id/title/type/url/app_url keys; every other
|
|
5850
|
+
* branch emits all five.
|
|
5851
|
+
*/
|
|
5852
|
+
id?: number;
|
|
5794
5853
|
status?: string;
|
|
5795
5854
|
visible_to_clients?: boolean;
|
|
5796
5855
|
created_at?: string;
|
|
5797
5856
|
updated_at?: string;
|
|
5798
|
-
|
|
5857
|
+
/**
|
|
5858
|
+
* @description See `id` — omitted by the file-attachment branch, emitted by every other
|
|
5859
|
+
* branch.
|
|
5860
|
+
*/
|
|
5861
|
+
title?: string;
|
|
5799
5862
|
inherits_status?: boolean;
|
|
5800
|
-
|
|
5801
|
-
|
|
5802
|
-
|
|
5863
|
+
/**
|
|
5864
|
+
* @description See `id` — omitted by the file-attachment branch, emitted by every other
|
|
5865
|
+
* branch. A file-attachment hit is therefore recognizable by the absence
|
|
5866
|
+
* of this key (its file keys, `filename` through `app_download_url`, are
|
|
5867
|
+
* the positive signal).
|
|
5868
|
+
*/
|
|
5869
|
+
type?: string;
|
|
5870
|
+
/**
|
|
5871
|
+
* @description See `id` — omitted by the file-attachment branch, emitted by every other
|
|
5872
|
+
* branch.
|
|
5873
|
+
*/
|
|
5874
|
+
url?: string;
|
|
5875
|
+
/**
|
|
5876
|
+
* @description See `id` — omitted by the file-attachment branch, emitted by every other
|
|
5877
|
+
* branch.
|
|
5878
|
+
*/
|
|
5879
|
+
app_url?: string;
|
|
5803
5880
|
bookmark_url?: string;
|
|
5881
|
+
/**
|
|
5882
|
+
* @description Subscription URL, emitted by the common recording envelope for any
|
|
5883
|
+
* subscribable result — kanban lists and gauge needles among the special
|
|
5884
|
+
* branches, plus subscribable generic-branch types (messages, todos, …).
|
|
5885
|
+
*/
|
|
5886
|
+
subscription_url?: string;
|
|
5804
5887
|
/**
|
|
5805
5888
|
* @description URL of the Bubble Up record for this recording (BC5 addition). Optional
|
|
5806
5889
|
* here because this is a polymorphic projection:
|
|
@@ -5850,22 +5933,173 @@ export interface components {
|
|
|
5850
5933
|
* the array matching its rich-text attribute (`content_attachments` for a
|
|
5851
5934
|
* Comment/Message, `description_attachments` for a Todo); a webhook-sourced
|
|
5852
5935
|
* result carries neither. Optional (no `@required`), non-nullable.
|
|
5853
|
-
*
|
|
5854
|
-
* Search results additionally repeat this same array under a generic
|
|
5855
|
-
* `attachments` key. It is a redundant projection, not a distinct
|
|
5856
|
-
* aggregate: `searches/show.json.jbuilder` emits
|
|
5857
|
-
* `recording.downloadable_attachments`, which delegates to the recordable's
|
|
5858
|
-
* sole `rich_text_content`, through the same `attachments/_attachment`
|
|
5859
|
-
* partial that `recordings/_rich_text.json.jbuilder` uses to build the
|
|
5860
|
-
* companion array. `RichText.rich_text_attribute` permits exactly one
|
|
5861
|
-
* rich-text attribute per model, so the two keys always carry identical
|
|
5862
|
-
* elements. Modeling `attachments` would duplicate the field, so it is
|
|
5863
|
-
* deliberately not modeled.
|
|
5864
5936
|
*/
|
|
5865
5937
|
content_attachments?: components["schemas"]["RichTextAttachment"][];
|
|
5866
5938
|
/** @description See `content_attachments` — the description-attribute companion array. */
|
|
5867
5939
|
description_attachments?: components["schemas"]["RichTextAttachment"][];
|
|
5940
|
+
/**
|
|
5941
|
+
* @description File attachments on the result, in either of two wire shapes — see
|
|
5942
|
+
* `SearchResultAttachment`.
|
|
5943
|
+
*
|
|
5944
|
+
* For a result whose recordable carries downloadable rich-text
|
|
5945
|
+
* attachments, `searches/show.json.jbuilder` emits this key through the
|
|
5946
|
+
* same `attachments/_attachment` partial that builds the rich-text
|
|
5947
|
+
* companion array above, so it repeats that array's elements. For a chat
|
|
5948
|
+
* *upload* line, `chats/lines/_upload.json.jbuilder` instead builds a
|
|
5949
|
+
* bespoke six-key aggregate inline — and because upload lines have no
|
|
5950
|
+
* rich-text attribute, the show template never overwrites it, so that
|
|
5951
|
+
* distinct shape survives to the wire.
|
|
5952
|
+
*/
|
|
5953
|
+
attachments?: components["schemas"]["SearchResultAttachment"][];
|
|
5868
5954
|
subject?: string;
|
|
5955
|
+
/**
|
|
5956
|
+
* Format: int32
|
|
5957
|
+
* @description Boost count, emitted by the recording envelope when the branch passes
|
|
5958
|
+
* `boostable` — chat lines and gauge needles.
|
|
5959
|
+
*/
|
|
5960
|
+
boosts_count?: number;
|
|
5961
|
+
/** @description See `boosts_count` — the companion URL. */
|
|
5962
|
+
boosts_url?: string;
|
|
5963
|
+
/**
|
|
5964
|
+
* @description Language of a code chat line (`chats/lines/_code.json.jbuilder`);
|
|
5965
|
+
* validated present on the model, so never null when the key is emitted.
|
|
5966
|
+
*/
|
|
5967
|
+
language?: string;
|
|
5968
|
+
/**
|
|
5969
|
+
* @description Image URL of a soundtracked (play-kind) chat line whose sound carries an
|
|
5970
|
+
* image; such a line emits `image_url` in place of `content`.
|
|
5971
|
+
*/
|
|
5972
|
+
image_url?: string;
|
|
5973
|
+
/** @description Sound URL of a play-kind chat line; always emitted for that kind. */
|
|
5974
|
+
sound_url?: string;
|
|
5975
|
+
/** @description Everyone subscribed to the kanban list, as full Person projections. */
|
|
5976
|
+
subscribers?: components["schemas"]["Person"][];
|
|
5977
|
+
/**
|
|
5978
|
+
* @description Color of a kanban list or gauge needle. Emitted unconditionally by both
|
|
5979
|
+
* branches with a null value when unset, so it is nullable (the enhance
|
|
5980
|
+
* pass layers `nullable: true` onto the OpenAPI).
|
|
5981
|
+
*/
|
|
5982
|
+
color?: string | null;
|
|
5983
|
+
/**
|
|
5984
|
+
* Format: int32
|
|
5985
|
+
* @description Number of cards in the kanban list.
|
|
5986
|
+
*/
|
|
5987
|
+
cards_count?: number;
|
|
5988
|
+
/**
|
|
5989
|
+
* Format: int32
|
|
5990
|
+
* @description Comment count of a kanban list or gauge needle (branch-partial key,
|
|
5991
|
+
* singular `comment_count` — distinct from the envelope's
|
|
5992
|
+
* `comments_count`, which a needle also carries).
|
|
5993
|
+
*/
|
|
5994
|
+
comment_count?: number;
|
|
5995
|
+
/** @description API URL of the kanban list's cards. */
|
|
5996
|
+
cards_url?: string;
|
|
5997
|
+
on_hold?: components["schemas"]["CardColumnOnHold"];
|
|
5998
|
+
/**
|
|
5999
|
+
* Format: int32
|
|
6000
|
+
* @description Comment count, emitted by the recording envelope when the branch passes
|
|
6001
|
+
* `commentable` — gauge needles among the special branches, plus
|
|
6002
|
+
* commentable generic-branch types.
|
|
6003
|
+
*/
|
|
6004
|
+
comments_count?: number;
|
|
6005
|
+
/** @description See `comments_count` — the companion URL. */
|
|
6006
|
+
comments_url?: string;
|
|
6007
|
+
/**
|
|
6008
|
+
* Format: int32
|
|
6009
|
+
* @description Position of the result. Two emitters share the key: the recording
|
|
6010
|
+
* envelope emits list position for positioned recordings (kanban lists
|
|
6011
|
+
* among the special branches), and the gauge-needle branch overwrites it
|
|
6012
|
+
* with the needle's own 0–100 gauge position.
|
|
6013
|
+
*/
|
|
6014
|
+
position?: number;
|
|
6015
|
+
/**
|
|
6016
|
+
* @description Filename of a file-attachment hit. This and the following file keys are
|
|
6017
|
+
* emitted only by the file-attachment branch — the one branch that omits
|
|
6018
|
+
* the id/title/type/url/app_url envelope keys.
|
|
6019
|
+
*/
|
|
6020
|
+
filename?: string;
|
|
6021
|
+
/** @description MIME type of a file-attachment hit. */
|
|
6022
|
+
content_type?: string;
|
|
6023
|
+
/**
|
|
6024
|
+
* Format: int64
|
|
6025
|
+
* @description Size in bytes of a file-attachment hit.
|
|
6026
|
+
*/
|
|
6027
|
+
byte_size?: number;
|
|
6028
|
+
/** @description Whether the file can be previewed. */
|
|
6029
|
+
previewable?: boolean;
|
|
6030
|
+
/**
|
|
6031
|
+
* Format: int32
|
|
6032
|
+
* @description Pixel width, emitted only when the file is previewable. May be
|
|
6033
|
+
* float-spelled (`1024.0`) and nullable, like every other blob dimension —
|
|
6034
|
+
* see `RichTextAttachment.width` for the cross-SDK typing note.
|
|
6035
|
+
*/
|
|
6036
|
+
width?: number | null;
|
|
6037
|
+
/**
|
|
6038
|
+
* Format: int32
|
|
6039
|
+
* @description See `width` — same conditional emission and nullable/float-spelled
|
|
6040
|
+
* behavior.
|
|
6041
|
+
*/
|
|
6042
|
+
height?: number | null;
|
|
6043
|
+
/** @description Full-size preview URL of a file-attachment hit. */
|
|
6044
|
+
preview_url?: string;
|
|
6045
|
+
/** @description Thumbnail URL of a file-attachment hit. */
|
|
6046
|
+
thumbnail_url?: string;
|
|
6047
|
+
/** @description Authenticated download URL of a file-attachment hit. */
|
|
6048
|
+
download_url?: string;
|
|
6049
|
+
/** @description Web (app-host) download URL of a file-attachment hit. */
|
|
6050
|
+
app_download_url?: string;
|
|
6051
|
+
};
|
|
6052
|
+
/**
|
|
6053
|
+
* @description A file attached to a search result, in either of two wire shapes.
|
|
6054
|
+
*
|
|
6055
|
+
* This is an optional-field superset over the two variants the search
|
|
6056
|
+
* projection emits (the TimelineAttachment approach): the rich-text
|
|
6057
|
+
* attachment/blob shape rendered through `attachments/_attachment` +
|
|
6058
|
+
* `blobs/_blob` — the same emitters `RichTextAttachment` models — and the
|
|
6059
|
+
* bespoke six-key aggregate a chat upload line builds inline in
|
|
6060
|
+
* `chats/lines/_upload.json.jbuilder`. Only the four keys both variants
|
|
6061
|
+
* always emit are `@required`; the rest identify their variant.
|
|
6062
|
+
*/
|
|
6063
|
+
SearchResultAttachment: {
|
|
6064
|
+
/** @description Original filename (both variants). */
|
|
6065
|
+
filename: string;
|
|
6066
|
+
/** @description MIME type of the file (both variants). */
|
|
6067
|
+
content_type: string;
|
|
6068
|
+
/**
|
|
6069
|
+
* Format: int64
|
|
6070
|
+
* @description Size of the file in bytes (both variants).
|
|
6071
|
+
*/
|
|
6072
|
+
byte_size: number;
|
|
6073
|
+
/** @description Authenticated download URL for the file (both variants). */
|
|
6074
|
+
download_url: string;
|
|
6075
|
+
/**
|
|
6076
|
+
* Format: int64
|
|
6077
|
+
* @description Attachment id (rich-text variant).
|
|
6078
|
+
*/
|
|
6079
|
+
id?: number;
|
|
6080
|
+
/** @description Signed global id of the attachment (rich-text variant). */
|
|
6081
|
+
sgid?: string;
|
|
6082
|
+
/** @description Whether the blob can be previewed (rich-text variant). */
|
|
6083
|
+
previewable?: boolean;
|
|
6084
|
+
/** @description Full-size preview URL (rich-text variant). */
|
|
6085
|
+
preview_url?: string;
|
|
6086
|
+
/** @description Thumbnail URL (rich-text variant). */
|
|
6087
|
+
thumbnail_url?: string;
|
|
6088
|
+
/**
|
|
6089
|
+
* Format: int32
|
|
6090
|
+
* @description Pixel width (rich-text variant) — null for non-image blobs and may be
|
|
6091
|
+
* float-spelled (`1024.0`); see `RichTextAttachment.width`.
|
|
6092
|
+
*/
|
|
6093
|
+
width?: number | null;
|
|
6094
|
+
/**
|
|
6095
|
+
* Format: int32
|
|
6096
|
+
* @description See `width` (rich-text variant).
|
|
6097
|
+
*/
|
|
6098
|
+
height?: number | null;
|
|
6099
|
+
/** @description Title of the attachment recording (chat upload-line variant). */
|
|
6100
|
+
title?: string;
|
|
6101
|
+
/** @description Browser preview URL of the blob (chat upload-line variant). */
|
|
6102
|
+
url?: string;
|
|
5869
6103
|
};
|
|
5870
6104
|
/**
|
|
5871
6105
|
* @description A selectable search filter option. `key` is the value passed back as a
|
|
@@ -5896,6 +6130,17 @@ export interface components {
|
|
|
5896
6130
|
visible_to_clients: boolean;
|
|
5897
6131
|
};
|
|
5898
6132
|
SetClientVisibilityResponseContent: components["schemas"]["Recording"];
|
|
6133
|
+
/**
|
|
6134
|
+
* @description The account has reached its file storage limit.
|
|
6135
|
+
*
|
|
6136
|
+
* Raised by ResourceLimits#ensure_account_can_upload_files ahead of any operation
|
|
6137
|
+
* that stores new bytes. No retry can satisfy it: the account needs more storage,
|
|
6138
|
+
* so this maps to `limit_exceeded` rather than a retryable server error.
|
|
6139
|
+
*/
|
|
6140
|
+
StorageLimitErrorResponseContent: {
|
|
6141
|
+
error: string;
|
|
6142
|
+
message?: string;
|
|
6143
|
+
};
|
|
5899
6144
|
SubscribeResponseContent: components["schemas"]["Subscription"];
|
|
5900
6145
|
Subscription: {
|
|
5901
6146
|
subscribed: boolean;
|
|
@@ -6334,16 +6579,41 @@ export interface components {
|
|
|
6334
6579
|
/** Format: int64 */
|
|
6335
6580
|
id: number;
|
|
6336
6581
|
status?: string;
|
|
6582
|
+
visible_to_clients: boolean;
|
|
6337
6583
|
created_at: string;
|
|
6338
6584
|
updated_at: string;
|
|
6339
6585
|
title: string;
|
|
6340
|
-
|
|
6341
|
-
|
|
6342
|
-
|
|
6343
|
-
position?: number;
|
|
6586
|
+
inherits_status: boolean;
|
|
6587
|
+
/** @description The tool's recordable type, e.g. `Chat::Transcript`, `Todoset`, `Vault`. */
|
|
6588
|
+
type: string;
|
|
6344
6589
|
url?: string;
|
|
6345
6590
|
app_url?: string;
|
|
6591
|
+
bookmark_url?: string;
|
|
6592
|
+
/** @description Absent for tool types that are not subscribable. */
|
|
6593
|
+
subscription_url?: string;
|
|
6594
|
+
/**
|
|
6595
|
+
* Format: int32
|
|
6596
|
+
* @description Emitted only for a positioned recording. For a docked tool that makes an
|
|
6597
|
+
* absent position the disabled signal — disabling removes the tool from the
|
|
6598
|
+
* dock without deleting it. Positioning is independent of dockedness, so
|
|
6599
|
+
* this does not generalize: a nested vault is not docked and is positioned.
|
|
6600
|
+
*/
|
|
6601
|
+
position?: number;
|
|
6602
|
+
parent?: components["schemas"]["RecordingParent"];
|
|
6346
6603
|
bucket?: components["schemas"]["RecordingBucket"];
|
|
6604
|
+
creator: components["schemas"]["Person"];
|
|
6605
|
+
/**
|
|
6606
|
+
* @description Not emitted by this projection. The dock array on a project
|
|
6607
|
+
* (`DockItem$name`) carries the tool's slug; this key is absent from every
|
|
6608
|
+
* GetTool/CreateTool/UpdateTool response.
|
|
6609
|
+
*/
|
|
6610
|
+
name?: string;
|
|
6611
|
+
/**
|
|
6612
|
+
* @description Not emitted by this projection. The dock array on a project
|
|
6613
|
+
* (`DockItem$enabled`) is the authoritative enabled flag; on a docked tool's
|
|
6614
|
+
* own response, an absent `position` is the equivalent signal.
|
|
6615
|
+
*/
|
|
6616
|
+
enabled?: boolean;
|
|
6347
6617
|
};
|
|
6348
6618
|
UnauthorizedErrorResponseContent: {
|
|
6349
6619
|
error: string;
|
|
@@ -6796,6 +7066,59 @@ export interface components {
|
|
|
6796
7066
|
boosts_count?: number;
|
|
6797
7067
|
boosts_url?: string;
|
|
6798
7068
|
};
|
|
7069
|
+
/**
|
|
7070
|
+
* @description A version event for an upload, from GET /uploads/{id}/versions.json.
|
|
7071
|
+
*
|
|
7072
|
+
* `action` is one of `created`, `active` (the upload's publication) or `blob_changed`
|
|
7073
|
+
* (a file replacement). To list the file's PAST versions, select entries that carry
|
|
7074
|
+
* an `upload` whose `current` is false — the original file arrives as `created` or
|
|
7075
|
+
* `active`, never `blob_changed`, so filtering on that action drops the original
|
|
7076
|
+
* and keeps the current file instead. This is an Event plus the file it recorded, rendered by its own
|
|
7077
|
+
* partial rather than the shared event one, so upload fields don't leak onto todo,
|
|
7078
|
+
* message and card events.
|
|
7079
|
+
*/
|
|
7080
|
+
UploadVersion: {
|
|
7081
|
+
/** Format: int64 */
|
|
7082
|
+
id: number;
|
|
7083
|
+
/** Format: int64 */
|
|
7084
|
+
recording_id: number;
|
|
7085
|
+
action: string;
|
|
7086
|
+
details?: components["schemas"]["EventDetails"];
|
|
7087
|
+
created_at: string;
|
|
7088
|
+
creator: components["schemas"]["Person"];
|
|
7089
|
+
/** Format: int32 */
|
|
7090
|
+
boosts_count?: number;
|
|
7091
|
+
boosts_url?: string;
|
|
7092
|
+
upload?: components["schemas"]["UploadVersionFile"];
|
|
7093
|
+
};
|
|
7094
|
+
/** @description The file a version event recorded — a reduced projection, not an Upload. */
|
|
7095
|
+
UploadVersionFile: {
|
|
7096
|
+
content_type?: string;
|
|
7097
|
+
/** Format: int64 */
|
|
7098
|
+
byte_size?: number;
|
|
7099
|
+
filename: string;
|
|
7100
|
+
/**
|
|
7101
|
+
* @description Fetches THIS version's bytes. The upload's own download_url always serves the
|
|
7102
|
+
* latest, which is the whole point of the feature.
|
|
7103
|
+
*/
|
|
7104
|
+
download_url: string;
|
|
7105
|
+
app_download_url: string;
|
|
7106
|
+
/**
|
|
7107
|
+
* @description True for the newest version *event*, and for exactly one element of any
|
|
7108
|
+
* non-empty response. The renderer computes it positionally — `event ==
|
|
7109
|
+
* @events.first` over a reverse-chronological list — so it is a property of
|
|
7110
|
+
* ordering, not of what the upload currently points at, and it cannot be
|
|
7111
|
+
* zero or plural.
|
|
7112
|
+
*
|
|
7113
|
+
* That distinction is the whole caveat: `current` does NOT mean "this is the
|
|
7114
|
+
* file the upload's own download_url serves". A metadata-only PUT swaps in a
|
|
7115
|
+
* recordable carrying the same blob and emits no event, so afterwards no
|
|
7116
|
+
* event references the upload's current recordable — and this flag still
|
|
7117
|
+
* marks exactly one element, the newest event. bc3 pins that case by name in
|
|
7118
|
+
* "exactly one version is current after a metadata-only update".
|
|
7119
|
+
*/
|
|
7120
|
+
current: boolean;
|
|
7121
|
+
};
|
|
6799
7122
|
ValidationErrorResponseContent: {
|
|
6800
7123
|
error: string;
|
|
6801
7124
|
message?: string;
|
|
@@ -7259,6 +7582,15 @@ export interface operations {
|
|
|
7259
7582
|
"application/json": components["schemas"]["InternalServerErrorResponseContent"];
|
|
7260
7583
|
};
|
|
7261
7584
|
};
|
|
7585
|
+
/** @description StorageLimitError 507 response */
|
|
7586
|
+
507: {
|
|
7587
|
+
headers: {
|
|
7588
|
+
[name: string]: unknown;
|
|
7589
|
+
};
|
|
7590
|
+
content: {
|
|
7591
|
+
"application/json": components["schemas"]["StorageLimitErrorResponseContent"];
|
|
7592
|
+
};
|
|
7593
|
+
};
|
|
7262
7594
|
};
|
|
7263
7595
|
};
|
|
7264
7596
|
GetBoost: {
|
|
@@ -11362,6 +11694,15 @@ export interface operations {
|
|
|
11362
11694
|
"application/json": components["schemas"]["InternalServerErrorResponseContent"];
|
|
11363
11695
|
};
|
|
11364
11696
|
};
|
|
11697
|
+
/** @description StorageLimitError 507 response */
|
|
11698
|
+
507: {
|
|
11699
|
+
headers: {
|
|
11700
|
+
[name: string]: unknown;
|
|
11701
|
+
};
|
|
11702
|
+
content: {
|
|
11703
|
+
"application/json": components["schemas"]["StorageLimitErrorResponseContent"];
|
|
11704
|
+
};
|
|
11705
|
+
};
|
|
11365
11706
|
};
|
|
11366
11707
|
};
|
|
11367
11708
|
GetEverythingCheckins: {
|
|
@@ -22280,6 +22621,95 @@ export interface operations {
|
|
|
22280
22621
|
};
|
|
22281
22622
|
};
|
|
22282
22623
|
};
|
|
22624
|
+
CreateUploadVersion: {
|
|
22625
|
+
parameters: {
|
|
22626
|
+
query?: never;
|
|
22627
|
+
header?: never;
|
|
22628
|
+
path: {
|
|
22629
|
+
uploadId: number;
|
|
22630
|
+
};
|
|
22631
|
+
cookie?: never;
|
|
22632
|
+
};
|
|
22633
|
+
requestBody: {
|
|
22634
|
+
content: {
|
|
22635
|
+
"application/json": components["schemas"]["CreateUploadVersionRequestContent"];
|
|
22636
|
+
};
|
|
22637
|
+
};
|
|
22638
|
+
responses: {
|
|
22639
|
+
/** @description CreateUploadVersion 201 response */
|
|
22640
|
+
201: {
|
|
22641
|
+
headers: {
|
|
22642
|
+
[name: string]: unknown;
|
|
22643
|
+
};
|
|
22644
|
+
content: {
|
|
22645
|
+
"application/json": components["schemas"]["CreateUploadVersionResponseContent"];
|
|
22646
|
+
};
|
|
22647
|
+
};
|
|
22648
|
+
/** @description UnauthorizedError 401 response */
|
|
22649
|
+
401: {
|
|
22650
|
+
headers: {
|
|
22651
|
+
[name: string]: unknown;
|
|
22652
|
+
};
|
|
22653
|
+
content: {
|
|
22654
|
+
"application/json": components["schemas"]["UnauthorizedErrorResponseContent"];
|
|
22655
|
+
};
|
|
22656
|
+
};
|
|
22657
|
+
/** @description ForbiddenError 403 response */
|
|
22658
|
+
403: {
|
|
22659
|
+
headers: {
|
|
22660
|
+
[name: string]: unknown;
|
|
22661
|
+
};
|
|
22662
|
+
content: {
|
|
22663
|
+
"application/json": components["schemas"]["ForbiddenErrorResponseContent"];
|
|
22664
|
+
};
|
|
22665
|
+
};
|
|
22666
|
+
/** @description NotFoundError 404 response */
|
|
22667
|
+
404: {
|
|
22668
|
+
headers: {
|
|
22669
|
+
[name: string]: unknown;
|
|
22670
|
+
};
|
|
22671
|
+
content: {
|
|
22672
|
+
"application/json": components["schemas"]["NotFoundErrorResponseContent"];
|
|
22673
|
+
};
|
|
22674
|
+
};
|
|
22675
|
+
/** @description ValidationError 422 response */
|
|
22676
|
+
422: {
|
|
22677
|
+
headers: {
|
|
22678
|
+
[name: string]: unknown;
|
|
22679
|
+
};
|
|
22680
|
+
content: {
|
|
22681
|
+
"application/json": components["schemas"]["ValidationErrorResponseContent"];
|
|
22682
|
+
};
|
|
22683
|
+
};
|
|
22684
|
+
/** @description RateLimitError 429 response */
|
|
22685
|
+
429: {
|
|
22686
|
+
headers: {
|
|
22687
|
+
[name: string]: unknown;
|
|
22688
|
+
};
|
|
22689
|
+
content: {
|
|
22690
|
+
"application/json": components["schemas"]["RateLimitErrorResponseContent"];
|
|
22691
|
+
};
|
|
22692
|
+
};
|
|
22693
|
+
/** @description InternalServerError 500 response */
|
|
22694
|
+
500: {
|
|
22695
|
+
headers: {
|
|
22696
|
+
[name: string]: unknown;
|
|
22697
|
+
};
|
|
22698
|
+
content: {
|
|
22699
|
+
"application/json": components["schemas"]["InternalServerErrorResponseContent"];
|
|
22700
|
+
};
|
|
22701
|
+
};
|
|
22702
|
+
/** @description StorageLimitError 507 response */
|
|
22703
|
+
507: {
|
|
22704
|
+
headers: {
|
|
22705
|
+
[name: string]: unknown;
|
|
22706
|
+
};
|
|
22707
|
+
content: {
|
|
22708
|
+
"application/json": components["schemas"]["StorageLimitErrorResponseContent"];
|
|
22709
|
+
};
|
|
22710
|
+
};
|
|
22711
|
+
};
|
|
22712
|
+
};
|
|
22283
22713
|
GetVault: {
|
|
22284
22714
|
parameters: {
|
|
22285
22715
|
query?: never;
|
|
@@ -22671,6 +23101,15 @@ export interface operations {
|
|
|
22671
23101
|
"application/json": components["schemas"]["InternalServerErrorResponseContent"];
|
|
22672
23102
|
};
|
|
22673
23103
|
};
|
|
23104
|
+
/** @description StorageLimitError 507 response */
|
|
23105
|
+
507: {
|
|
23106
|
+
headers: {
|
|
23107
|
+
[name: string]: unknown;
|
|
23108
|
+
};
|
|
23109
|
+
content: {
|
|
23110
|
+
"application/json": components["schemas"]["StorageLimitErrorResponseContent"];
|
|
23111
|
+
};
|
|
23112
|
+
};
|
|
22674
23113
|
};
|
|
22675
23114
|
};
|
|
22676
23115
|
ListVaults: {
|
|
@@ -135,7 +135,7 @@ export class CheckinsService extends BaseService {
|
|
|
135
135
|
* const result = await client.checkins.reminders();
|
|
136
136
|
* ```
|
|
137
137
|
*/
|
|
138
|
-
async reminders(options?: RemindersCheckinOptions): Promise<components["schemas"]["
|
|
138
|
+
async reminders(options?: RemindersCheckinOptions): Promise<ListResult<components["schemas"]["QuestionReminder"]>> {
|
|
139
139
|
return this.requestPaginated(
|
|
140
140
|
{
|
|
141
141
|
service: "Checkins",
|
|
@@ -214,7 +214,7 @@ export class GaugesService extends BaseService {
|
|
|
214
214
|
* const filtered = await client.gauges.listGaugeNeedles(123, { page: 1 });
|
|
215
215
|
* ```
|
|
216
216
|
*/
|
|
217
|
-
async listGaugeNeedles(projectId: number, options?: ListGaugeNeedlesGaugeOptions): Promise<components["schemas"]["
|
|
217
|
+
async listGaugeNeedles(projectId: number, options?: ListGaugeNeedlesGaugeOptions): Promise<ListResult<components["schemas"]["GaugeNeedle"]>> {
|
|
218
218
|
return this.requestPaginated(
|
|
219
219
|
{
|
|
220
220
|
service: "Gauges",
|
|
@@ -286,7 +286,7 @@ export class GaugesService extends BaseService {
|
|
|
286
286
|
* const filtered = await client.gauges.listGauges({ bucketIds: "example" });
|
|
287
287
|
* ```
|
|
288
288
|
*/
|
|
289
|
-
async listGauges(options?: ListGaugesGaugeOptions): Promise<components["schemas"]["
|
|
289
|
+
async listGauges(options?: ListGaugesGaugeOptions): Promise<ListResult<components["schemas"]["Gauge"]>> {
|
|
290
290
|
return this.requestPaginated(
|
|
291
291
|
{
|
|
292
292
|
service: "Gauges",
|