@37signals/basecamp 0.2.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 +600 -0
- package/dist/auth-strategy.d.ts +36 -0
- package/dist/auth-strategy.d.ts.map +1 -0
- package/dist/auth-strategy.js +33 -0
- package/dist/auth-strategy.js.map +1 -0
- package/dist/client.d.ts +224 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +715 -0
- package/dist/client.js.map +1 -0
- package/dist/errors.d.ts +137 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +269 -0
- package/dist/errors.js.map +1 -0
- package/dist/generated/metadata.json +2281 -0
- package/dist/generated/openapi-stripped.json +21268 -0
- package/dist/generated/path-mapping.d.ts +8 -0
- package/dist/generated/path-mapping.d.ts.map +1 -0
- package/dist/generated/path-mapping.js +192 -0
- package/dist/generated/path-mapping.js.map +1 -0
- package/dist/generated/path-mapping.ts +199 -0
- package/dist/generated/schema.d.ts +14883 -0
- package/dist/generated/services/attachments.d.ts +27 -0
- package/dist/generated/services/attachments.d.ts.map +1 -0
- package/dist/generated/services/attachments.js +49 -0
- package/dist/generated/services/attachments.js.map +1 -0
- package/dist/generated/services/attachments.ts +59 -0
- package/dist/generated/services/boosts.d.ts +114 -0
- package/dist/generated/services/boosts.d.ts.map +1 -0
- package/dist/generated/services/boosts.js +179 -0
- package/dist/generated/services/boosts.js.map +1 -0
- package/dist/generated/services/boosts.ts +250 -0
- package/dist/generated/services/campfires.d.ts +202 -0
- package/dist/generated/services/campfires.d.ts.map +1 -0
- package/dist/generated/services/campfires.js +309 -0
- package/dist/generated/services/campfires.js.map +1 -0
- package/dist/generated/services/campfires.ts +433 -0
- package/dist/generated/services/card-columns.d.ts +163 -0
- package/dist/generated/services/card-columns.d.ts.map +1 -0
- package/dist/generated/services/card-columns.js +264 -0
- package/dist/generated/services/card-columns.js.map +1 -0
- package/dist/generated/services/card-columns.ts +360 -0
- package/dist/generated/services/card-steps.d.ts +105 -0
- package/dist/generated/services/card-steps.d.ts.map +1 -0
- package/dist/generated/services/card-steps.js +148 -0
- package/dist/generated/services/card-steps.js.map +1 -0
- package/dist/generated/services/card-steps.ts +221 -0
- package/dist/generated/services/card-tables.d.ts +27 -0
- package/dist/generated/services/card-tables.d.ts.map +1 -0
- package/dist/generated/services/card-tables.js +40 -0
- package/dist/generated/services/card-tables.js.map +1 -0
- package/dist/generated/services/card-tables.ts +55 -0
- package/dist/generated/services/cards.d.ts +118 -0
- package/dist/generated/services/cards.d.ts.map +1 -0
- package/dist/generated/services/cards.js +166 -0
- package/dist/generated/services/cards.js.map +1 -0
- package/dist/generated/services/cards.ts +247 -0
- package/dist/generated/services/checkins.d.ts +278 -0
- package/dist/generated/services/checkins.d.ts.map +1 -0
- package/dist/generated/services/checkins.js +420 -0
- package/dist/generated/services/checkins.js.map +1 -0
- package/dist/generated/services/checkins.ts +600 -0
- package/dist/generated/services/client-approvals.d.ts +45 -0
- package/dist/generated/services/client-approvals.d.ts.map +1 -0
- package/dist/generated/services/client-approvals.js +58 -0
- package/dist/generated/services/client-approvals.js.map +1 -0
- package/dist/generated/services/client-approvals.ts +89 -0
- package/dist/generated/services/client-correspondences.d.ts +45 -0
- package/dist/generated/services/client-correspondences.d.ts.map +1 -0
- package/dist/generated/services/client-correspondences.js +58 -0
- package/dist/generated/services/client-correspondences.js.map +1 -0
- package/dist/generated/services/client-correspondences.ts +89 -0
- package/dist/generated/services/client-replies.d.ts +47 -0
- package/dist/generated/services/client-replies.d.ts.map +1 -0
- package/dist/generated/services/client-replies.js +65 -0
- package/dist/generated/services/client-replies.js.map +1 -0
- package/dist/generated/services/client-replies.ts +95 -0
- package/dist/generated/services/client-visibility.d.ts +35 -0
- package/dist/generated/services/client-visibility.d.ts.map +1 -0
- package/dist/generated/services/client-visibility.js +44 -0
- package/dist/generated/services/client-visibility.js.map +1 -0
- package/dist/generated/services/client-visibility.ts +68 -0
- package/dist/generated/services/comments.d.ts +86 -0
- package/dist/generated/services/comments.d.ts.map +1 -0
- package/dist/generated/services/comments.js +129 -0
- package/dist/generated/services/comments.js.map +1 -0
- package/dist/generated/services/comments.ts +185 -0
- package/dist/generated/services/documents.d.ts +92 -0
- package/dist/generated/services/documents.d.ts.map +1 -0
- package/dist/generated/services/documents.js +129 -0
- package/dist/generated/services/documents.js.map +1 -0
- package/dist/generated/services/documents.ts +191 -0
- package/dist/generated/services/events.d.ts +34 -0
- package/dist/generated/services/events.d.ts.map +1 -0
- package/dist/generated/services/events.js +39 -0
- package/dist/generated/services/events.js.map +1 -0
- package/dist/generated/services/events.ts +64 -0
- package/dist/generated/services/forwards.d.ts +112 -0
- package/dist/generated/services/forwards.d.ts.map +1 -0
- package/dist/generated/services/forwards.js +172 -0
- package/dist/generated/services/forwards.js.map +1 -0
- package/dist/generated/services/forwards.ts +241 -0
- package/dist/generated/services/index.d.ts +39 -0
- package/dist/generated/services/index.d.ts.map +1 -0
- package/dist/generated/services/index.js +39 -0
- package/dist/generated/services/index.js.map +1 -0
- package/dist/generated/services/index.ts +38 -0
- package/dist/generated/services/lineup.d.ts +67 -0
- package/dist/generated/services/lineup.d.ts.map +1 -0
- package/dist/generated/services/lineup.js +99 -0
- package/dist/generated/services/lineup.js.map +1 -0
- package/dist/generated/services/lineup.ts +143 -0
- package/dist/generated/services/message-boards.d.ts +27 -0
- package/dist/generated/services/message-boards.d.ts.map +1 -0
- package/dist/generated/services/message-boards.js +40 -0
- package/dist/generated/services/message-boards.js.map +1 -0
- package/dist/generated/services/message-boards.ts +55 -0
- package/dist/generated/services/message-types.d.ts +100 -0
- package/dist/generated/services/message-types.d.ts.map +1 -0
- package/dist/generated/services/message-types.js +144 -0
- package/dist/generated/services/message-types.js.map +1 -0
- package/dist/generated/services/message-types.ts +210 -0
- package/dist/generated/services/messages.d.ts +122 -0
- package/dist/generated/services/messages.d.ts.map +1 -0
- package/dist/generated/services/messages.js +180 -0
- package/dist/generated/services/messages.js.map +1 -0
- package/dist/generated/services/messages.ts +258 -0
- package/dist/generated/services/people.d.ts +122 -0
- package/dist/generated/services/people.d.ts.map +1 -0
- package/dist/generated/services/people.js +167 -0
- package/dist/generated/services/people.js.map +1 -0
- package/dist/generated/services/people.ts +252 -0
- package/dist/generated/services/projects.d.ts +109 -0
- package/dist/generated/services/projects.d.ts.map +1 -0
- package/dist/generated/services/projects.js +153 -0
- package/dist/generated/services/projects.js.map +1 -0
- package/dist/generated/services/projects.ts +224 -0
- package/dist/generated/services/recordings.d.ts +93 -0
- package/dist/generated/services/recordings.d.ts.map +1 -0
- package/dist/generated/services/recordings.js +138 -0
- package/dist/generated/services/recordings.js.map +1 -0
- package/dist/generated/services/recordings.ts +191 -0
- package/dist/generated/services/reports.d.ts +90 -0
- package/dist/generated/services/reports.d.ts.map +1 -0
- package/dist/generated/services/reports.js +124 -0
- package/dist/generated/services/reports.js.map +1 -0
- package/dist/generated/services/reports.ts +187 -0
- package/dist/generated/services/schedules.d.ts +162 -0
- package/dist/generated/services/schedules.d.ts.map +1 -0
- package/dist/generated/services/schedules.js +228 -0
- package/dist/generated/services/schedules.js.map +1 -0
- package/dist/generated/services/schedules.ts +335 -0
- package/dist/generated/services/search.d.ts +45 -0
- package/dist/generated/services/search.d.ts.map +1 -0
- package/dist/generated/services/search.js +56 -0
- package/dist/generated/services/search.js.map +1 -0
- package/dist/generated/services/search.ts +89 -0
- package/dist/generated/services/subscriptions.d.ts +73 -0
- package/dist/generated/services/subscriptions.d.ts.map +1 -0
- package/dist/generated/services/subscriptions.js +119 -0
- package/dist/generated/services/subscriptions.js.map +1 -0
- package/dist/generated/services/subscriptions.ts +160 -0
- package/dist/generated/services/templates.d.ts +140 -0
- package/dist/generated/services/templates.d.ts.map +1 -0
- package/dist/generated/services/templates.js +207 -0
- package/dist/generated/services/templates.js.map +1 -0
- package/dist/generated/services/templates.ts +294 -0
- package/dist/generated/services/timeline.d.ts +31 -0
- package/dist/generated/services/timeline.d.ts.map +1 -0
- package/dist/generated/services/timeline.js +39 -0
- package/dist/generated/services/timeline.js.map +1 -0
- package/dist/generated/services/timeline.ts +62 -0
- package/dist/generated/services/timesheets.d.ts +145 -0
- package/dist/generated/services/timesheets.d.ts.map +1 -0
- package/dist/generated/services/timesheets.js +186 -0
- package/dist/generated/services/timesheets.js.map +1 -0
- package/dist/generated/services/timesheets.ts +289 -0
- package/dist/generated/services/todolist-groups.d.ts +74 -0
- package/dist/generated/services/todolist-groups.d.ts.map +1 -0
- package/dist/generated/services/todolist-groups.js +100 -0
- package/dist/generated/services/todolist-groups.js.map +1 -0
- package/dist/generated/services/todolist-groups.ts +151 -0
- package/dist/generated/services/todolists.d.ts +95 -0
- package/dist/generated/services/todolists.d.ts.map +1 -0
- package/dist/generated/services/todolists.js +130 -0
- package/dist/generated/services/todolists.js.map +1 -0
- package/dist/generated/services/todolists.ts +192 -0
- package/dist/generated/services/todos.d.ts +175 -0
- package/dist/generated/services/todos.d.ts.map +1 -0
- package/dist/generated/services/todos.js +255 -0
- package/dist/generated/services/todos.js.map +1 -0
- package/dist/generated/services/todos.ts +369 -0
- package/dist/generated/services/todosets.d.ts +27 -0
- package/dist/generated/services/todosets.d.ts.map +1 -0
- package/dist/generated/services/todosets.js +40 -0
- package/dist/generated/services/todosets.js.map +1 -0
- package/dist/generated/services/todosets.ts +55 -0
- package/dist/generated/services/tools.d.ts +122 -0
- package/dist/generated/services/tools.d.ts.map +1 -0
- package/dist/generated/services/tools.js +197 -0
- package/dist/generated/services/tools.js.map +1 -0
- package/dist/generated/services/tools.ts +267 -0
- package/dist/generated/services/uploads.d.ts +109 -0
- package/dist/generated/services/uploads.d.ts.map +1 -0
- package/dist/generated/services/uploads.js +153 -0
- package/dist/generated/services/uploads.js.map +1 -0
- package/dist/generated/services/uploads.ts +227 -0
- package/dist/generated/services/vaults.d.ts +86 -0
- package/dist/generated/services/vaults.d.ts.map +1 -0
- package/dist/generated/services/vaults.js +126 -0
- package/dist/generated/services/vaults.js.map +1 -0
- package/dist/generated/services/vaults.ts +182 -0
- package/dist/generated/services/webhooks.d.ts +106 -0
- package/dist/generated/services/webhooks.d.ts.map +1 -0
- package/dist/generated/services/webhooks.js +157 -0
- package/dist/generated/services/webhooks.js.map +1 -0
- package/dist/generated/services/webhooks.ts +226 -0
- package/dist/hooks/otel.d.ts +136 -0
- package/dist/hooks/otel.d.ts.map +1 -0
- package/dist/hooks/otel.js +240 -0
- package/dist/hooks/otel.js.map +1 -0
- package/dist/hooks.d.ts +171 -0
- package/dist/hooks.d.ts.map +1 -0
- package/dist/hooks.js +196 -0
- package/dist/hooks.js.map +1 -0
- package/dist/index.d.ts +90 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +122 -0
- package/dist/index.js.map +1 -0
- package/dist/oauth/authorize.d.ts +48 -0
- package/dist/oauth/authorize.d.ts.map +1 -0
- package/dist/oauth/authorize.js +56 -0
- package/dist/oauth/authorize.js.map +1 -0
- package/dist/oauth/callback-server.d.ts +56 -0
- package/dist/oauth/callback-server.d.ts.map +1 -0
- package/dist/oauth/callback-server.js +150 -0
- package/dist/oauth/callback-server.js.map +1 -0
- package/dist/oauth/discovery.d.ts +54 -0
- package/dist/oauth/discovery.d.ts.map +1 -0
- package/dist/oauth/discovery.js +116 -0
- package/dist/oauth/discovery.js.map +1 -0
- package/dist/oauth/exchange.d.ts +96 -0
- package/dist/oauth/exchange.d.ts.map +1 -0
- package/dist/oauth/exchange.js +324 -0
- package/dist/oauth/exchange.js.map +1 -0
- package/dist/oauth/identity.d.ts +30 -0
- package/dist/oauth/identity.d.ts.map +1 -0
- package/dist/oauth/identity.js +82 -0
- package/dist/oauth/identity.js.map +1 -0
- package/dist/oauth/index.d.ts +50 -0
- package/dist/oauth/index.d.ts.map +1 -0
- package/dist/oauth/index.js +58 -0
- package/dist/oauth/index.js.map +1 -0
- package/dist/oauth/interactive-login.d.ts +62 -0
- package/dist/oauth/interactive-login.d.ts.map +1 -0
- package/dist/oauth/interactive-login.js +106 -0
- package/dist/oauth/interactive-login.js.map +1 -0
- package/dist/oauth/pkce.d.ts +68 -0
- package/dist/oauth/pkce.d.ts.map +1 -0
- package/dist/oauth/pkce.js +80 -0
- package/dist/oauth/pkce.js.map +1 -0
- package/dist/oauth/token-manager.d.ts +92 -0
- package/dist/oauth/token-manager.d.ts.map +1 -0
- package/dist/oauth/token-manager.js +126 -0
- package/dist/oauth/token-manager.js.map +1 -0
- package/dist/oauth/token-store.d.ts +45 -0
- package/dist/oauth/token-store.d.ts.map +1 -0
- package/dist/oauth/token-store.js +105 -0
- package/dist/oauth/token-store.js.map +1 -0
- package/dist/oauth/types.d.ts +98 -0
- package/dist/oauth/types.d.ts.map +1 -0
- package/dist/oauth/types.js +8 -0
- package/dist/oauth/types.js.map +1 -0
- package/dist/pagination-utils.d.ts +27 -0
- package/dist/pagination-utils.d.ts.map +1 -0
- package/dist/pagination-utils.js +54 -0
- package/dist/pagination-utils.js.map +1 -0
- package/dist/pagination.d.ts +56 -0
- package/dist/pagination.d.ts.map +1 -0
- package/dist/pagination.js +57 -0
- package/dist/pagination.js.map +1 -0
- package/dist/security.d.ts +68 -0
- package/dist/security.d.ts.map +1 -0
- package/dist/security.js +107 -0
- package/dist/security.js.map +1 -0
- package/dist/services/authorization.d.ts +124 -0
- package/dist/services/authorization.d.ts.map +1 -0
- package/dist/services/authorization.js +117 -0
- package/dist/services/authorization.js.map +1 -0
- package/dist/services/base.d.ts +102 -0
- package/dist/services/base.d.ts.map +1 -0
- package/dist/services/base.js +230 -0
- package/dist/services/base.js.map +1 -0
- package/dist/webhooks/adapters/node-http.d.ts +14 -0
- package/dist/webhooks/adapters/node-http.d.ts.map +1 -0
- package/dist/webhooks/adapters/node-http.js +60 -0
- package/dist/webhooks/adapters/node-http.js.map +1 -0
- package/dist/webhooks/events.d.ts +52 -0
- package/dist/webhooks/events.d.ts.map +1 -0
- package/dist/webhooks/events.js +52 -0
- package/dist/webhooks/events.js.map +1 -0
- package/dist/webhooks/handler.d.ts +62 -0
- package/dist/webhooks/handler.d.ts.map +1 -0
- package/dist/webhooks/handler.js +226 -0
- package/dist/webhooks/handler.js.map +1 -0
- package/dist/webhooks/index.d.ts +5 -0
- package/dist/webhooks/index.d.ts.map +1 -0
- package/dist/webhooks/index.js +5 -0
- package/dist/webhooks/index.js.map +1 -0
- package/dist/webhooks/verify.d.ts +11 -0
- package/dist/webhooks/verify.d.ts.map +1 -0
- package/dist/webhooks/verify.js +25 -0
- package/dist/webhooks/verify.js.map +1 -0
- package/package.json +70 -0
- package/src/generated/metadata.json +2281 -0
- package/src/generated/openapi-stripped.json +21268 -0
- package/src/generated/path-mapping.ts +199 -0
- package/src/generated/schema.d.ts +14883 -0
- package/src/generated/services/attachments.ts +59 -0
- package/src/generated/services/boosts.ts +250 -0
- package/src/generated/services/campfires.ts +433 -0
- package/src/generated/services/card-columns.ts +360 -0
- package/src/generated/services/card-steps.ts +221 -0
- package/src/generated/services/card-tables.ts +55 -0
- package/src/generated/services/cards.ts +247 -0
- package/src/generated/services/checkins.ts +600 -0
- package/src/generated/services/client-approvals.ts +89 -0
- package/src/generated/services/client-correspondences.ts +89 -0
- package/src/generated/services/client-replies.ts +95 -0
- package/src/generated/services/client-visibility.ts +68 -0
- package/src/generated/services/comments.ts +185 -0
- package/src/generated/services/documents.ts +191 -0
- package/src/generated/services/events.ts +64 -0
- package/src/generated/services/forwards.ts +241 -0
- package/src/generated/services/index.ts +38 -0
- package/src/generated/services/lineup.ts +143 -0
- package/src/generated/services/message-boards.ts +55 -0
- package/src/generated/services/message-types.ts +210 -0
- package/src/generated/services/messages.ts +258 -0
- package/src/generated/services/people.ts +252 -0
- package/src/generated/services/projects.ts +224 -0
- package/src/generated/services/recordings.ts +191 -0
- package/src/generated/services/reports.ts +187 -0
- package/src/generated/services/schedules.ts +335 -0
- package/src/generated/services/search.ts +89 -0
- package/src/generated/services/subscriptions.ts +160 -0
- package/src/generated/services/templates.ts +294 -0
- package/src/generated/services/timeline.ts +62 -0
- package/src/generated/services/timesheets.ts +289 -0
- package/src/generated/services/todolist-groups.ts +151 -0
- package/src/generated/services/todolists.ts +192 -0
- package/src/generated/services/todos.ts +369 -0
- package/src/generated/services/todosets.ts +55 -0
- package/src/generated/services/tools.ts +267 -0
- package/src/generated/services/uploads.ts +227 -0
- package/src/generated/services/vaults.ts +182 -0
- package/src/generated/services/webhooks.ts +226 -0
package/dist/client.d.ts
ADDED
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Basecamp TypeScript SDK Client
|
|
3
|
+
*
|
|
4
|
+
* Creates a type-safe client for the Basecamp 3 API using openapi-fetch.
|
|
5
|
+
* Includes middleware for authentication, retry with exponential backoff,
|
|
6
|
+
* and ETag-based caching.
|
|
7
|
+
*/
|
|
8
|
+
import createClient from "openapi-fetch";
|
|
9
|
+
import type { paths } from "./generated/schema.js";
|
|
10
|
+
import type { BasecampHooks } from "./hooks.js";
|
|
11
|
+
import { parseNextLink, resolveURL, isSameOrigin } from "./pagination-utils.js";
|
|
12
|
+
import { type AuthStrategy } from "./auth-strategy.js";
|
|
13
|
+
import { ProjectsService } from "./generated/services/projects.js";
|
|
14
|
+
import { TodosService } from "./generated/services/todos.js";
|
|
15
|
+
import { TodolistsService } from "./generated/services/todolists.js";
|
|
16
|
+
import { TodosetsService } from "./generated/services/todosets.js";
|
|
17
|
+
import { PeopleService } from "./generated/services/people.js";
|
|
18
|
+
import { MessagesService } from "./generated/services/messages.js";
|
|
19
|
+
import { CommentsService } from "./generated/services/comments.js";
|
|
20
|
+
import { CampfiresService } from "./generated/services/campfires.js";
|
|
21
|
+
import { CardTablesService } from "./generated/services/card-tables.js";
|
|
22
|
+
import { CardsService } from "./generated/services/cards.js";
|
|
23
|
+
import { CardColumnsService } from "./generated/services/card-columns.js";
|
|
24
|
+
import { CardStepsService } from "./generated/services/card-steps.js";
|
|
25
|
+
import { MessageBoardsService } from "./generated/services/message-boards.js";
|
|
26
|
+
import { MessageTypesService } from "./generated/services/message-types.js";
|
|
27
|
+
import { ForwardsService } from "./generated/services/forwards.js";
|
|
28
|
+
import { CheckinsService } from "./generated/services/checkins.js";
|
|
29
|
+
import { ClientApprovalsService } from "./generated/services/client-approvals.js";
|
|
30
|
+
import { ClientCorrespondencesService } from "./generated/services/client-correspondences.js";
|
|
31
|
+
import { ClientRepliesService } from "./generated/services/client-replies.js";
|
|
32
|
+
import { WebhooksService } from "./generated/services/webhooks.js";
|
|
33
|
+
import { SubscriptionsService } from "./generated/services/subscriptions.js";
|
|
34
|
+
import { AttachmentsService } from "./generated/services/attachments.js";
|
|
35
|
+
import { VaultsService } from "./generated/services/vaults.js";
|
|
36
|
+
import { DocumentsService } from "./generated/services/documents.js";
|
|
37
|
+
import { UploadsService } from "./generated/services/uploads.js";
|
|
38
|
+
import { SchedulesService } from "./generated/services/schedules.js";
|
|
39
|
+
import { EventsService } from "./generated/services/events.js";
|
|
40
|
+
import { RecordingsService } from "./generated/services/recordings.js";
|
|
41
|
+
import { SearchService } from "./generated/services/search.js";
|
|
42
|
+
import { ReportsService } from "./generated/services/reports.js";
|
|
43
|
+
import { TemplatesService } from "./generated/services/templates.js";
|
|
44
|
+
import { LineupService } from "./generated/services/lineup.js";
|
|
45
|
+
import { TodolistGroupsService } from "./generated/services/todolist-groups.js";
|
|
46
|
+
import { ToolsService } from "./generated/services/tools.js";
|
|
47
|
+
import { TimesheetsService } from "./generated/services/timesheets.js";
|
|
48
|
+
import { TimelineService } from "./generated/services/timeline.js";
|
|
49
|
+
import { ClientVisibilityService } from "./generated/services/client-visibility.js";
|
|
50
|
+
import { BoostsService } from "./generated/services/boosts.js";
|
|
51
|
+
import { AuthorizationService } from "./services/authorization.js";
|
|
52
|
+
export type { paths };
|
|
53
|
+
/**
|
|
54
|
+
* Raw client type from openapi-fetch.
|
|
55
|
+
* Use this when you need direct access to GET/POST/PUT/DELETE methods.
|
|
56
|
+
*/
|
|
57
|
+
export type RawClient = ReturnType<typeof createClient<paths>>;
|
|
58
|
+
/**
|
|
59
|
+
* Enhanced Basecamp client with hooks support and service accessors.
|
|
60
|
+
* Wraps the raw openapi-fetch client with observability features.
|
|
61
|
+
*/
|
|
62
|
+
export interface BasecampClient extends RawClient {
|
|
63
|
+
/** The underlying raw client (for advanced use cases) */
|
|
64
|
+
readonly raw: RawClient;
|
|
65
|
+
/** Hooks for observability (if configured) */
|
|
66
|
+
readonly hooks?: BasecampHooks;
|
|
67
|
+
/** Projects service - list, get, create, update, and trash projects */
|
|
68
|
+
readonly projects: ProjectsService;
|
|
69
|
+
/** Todos service - list, get, create, update, complete, and manage todos */
|
|
70
|
+
readonly todos: TodosService;
|
|
71
|
+
/** Todolists service - list, get, create, and update todo lists */
|
|
72
|
+
readonly todolists: TodolistsService;
|
|
73
|
+
/** Todosets service - get todo sets (container for todo lists) */
|
|
74
|
+
readonly todosets: TodosetsService;
|
|
75
|
+
/** People service - list, get, and manage people in your account */
|
|
76
|
+
readonly people: PeopleService;
|
|
77
|
+
/** Authorization service - get authorization info and identity */
|
|
78
|
+
readonly authorization: AuthorizationService;
|
|
79
|
+
/** Messages service - list, get, create, update, pin/unpin messages */
|
|
80
|
+
readonly messages: MessagesService;
|
|
81
|
+
/** Comments service - list, get, create, and update comments */
|
|
82
|
+
readonly comments: CommentsService;
|
|
83
|
+
/** Campfires service - list, get campfires and manage lines */
|
|
84
|
+
readonly campfires: CampfiresService;
|
|
85
|
+
/** Card tables service - get card tables (kanban boards) */
|
|
86
|
+
readonly cardTables: CardTablesService;
|
|
87
|
+
/** Cards service - list, get, create, update, and move cards */
|
|
88
|
+
readonly cards: CardsService;
|
|
89
|
+
/** Card columns service - get, create, update, and manage columns */
|
|
90
|
+
readonly cardColumns: CardColumnsService;
|
|
91
|
+
/** Card steps service - create, update, complete, and manage card steps */
|
|
92
|
+
readonly cardSteps: CardStepsService;
|
|
93
|
+
/** Message boards service - get message boards */
|
|
94
|
+
readonly messageBoards: MessageBoardsService;
|
|
95
|
+
/** Message types service - list, get, create, update, delete message types */
|
|
96
|
+
readonly messageTypes: MessageTypesService;
|
|
97
|
+
/** Forwards service - manage email forwards and replies */
|
|
98
|
+
readonly forwards: ForwardsService;
|
|
99
|
+
/** Checkins service - manage questionnaires, questions, and answers */
|
|
100
|
+
readonly checkins: CheckinsService;
|
|
101
|
+
/** Client approvals service - list and get client approvals */
|
|
102
|
+
readonly clientApprovals: ClientApprovalsService;
|
|
103
|
+
/** Client correspondences service - list and get client correspondences */
|
|
104
|
+
readonly clientCorrespondences: ClientCorrespondencesService;
|
|
105
|
+
/** Client replies service - list and get client replies */
|
|
106
|
+
readonly clientReplies: ClientRepliesService;
|
|
107
|
+
/** Webhooks service - create, update, delete webhooks */
|
|
108
|
+
readonly webhooks: WebhooksService;
|
|
109
|
+
/** Subscriptions service - manage notification subscriptions */
|
|
110
|
+
readonly subscriptions: SubscriptionsService;
|
|
111
|
+
/** Attachments service - upload files for embedding in rich text */
|
|
112
|
+
readonly attachments: AttachmentsService;
|
|
113
|
+
/** Vaults service - manage folders in the Files tool */
|
|
114
|
+
readonly vaults: VaultsService;
|
|
115
|
+
/** Documents service - manage documents in vaults */
|
|
116
|
+
readonly documents: DocumentsService;
|
|
117
|
+
/** Uploads service - manage files in vaults */
|
|
118
|
+
readonly uploads: UploadsService;
|
|
119
|
+
/** Schedules service - manage schedules and calendar entries */
|
|
120
|
+
readonly schedules: SchedulesService;
|
|
121
|
+
/** Events service - view recording change events */
|
|
122
|
+
readonly events: EventsService;
|
|
123
|
+
/** Recordings service - manage recordings (base type for most content) */
|
|
124
|
+
readonly recordings: RecordingsService;
|
|
125
|
+
/** Search service - full-text search across all content */
|
|
126
|
+
readonly search: SearchService;
|
|
127
|
+
/** Reports service - timesheet and other reports */
|
|
128
|
+
readonly reports: ReportsService;
|
|
129
|
+
/** Templates service - manage project templates */
|
|
130
|
+
readonly templates: TemplatesService;
|
|
131
|
+
/** Lineup service - manage timeline markers */
|
|
132
|
+
readonly lineup: LineupService;
|
|
133
|
+
/** Todolist groups service - manage groups within todolists */
|
|
134
|
+
readonly todolistGroups: TodolistGroupsService;
|
|
135
|
+
/** Tools service - manage project dock tools */
|
|
136
|
+
readonly tools: ToolsService;
|
|
137
|
+
/** Timesheets service - get timesheet data */
|
|
138
|
+
readonly timesheets: TimesheetsService;
|
|
139
|
+
/** Timeline service - get project timeline */
|
|
140
|
+
readonly timeline: TimelineService;
|
|
141
|
+
/** Client visibility service - manage client visibility */
|
|
142
|
+
readonly clientVisibility: ClientVisibilityService;
|
|
143
|
+
/** Boosts service - manage recording boosts */
|
|
144
|
+
readonly boosts: BoostsService;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Token provider - either a static token string or an async function that returns a token.
|
|
148
|
+
* Use an async function for token refresh scenarios.
|
|
149
|
+
*/
|
|
150
|
+
export type TokenProvider = string | (() => Promise<string>);
|
|
151
|
+
/**
|
|
152
|
+
* Configuration options for creating a Basecamp client.
|
|
153
|
+
*/
|
|
154
|
+
export interface BasecampClientOptions {
|
|
155
|
+
/** Basecamp account ID (found in your Basecamp URL) */
|
|
156
|
+
accountId: string;
|
|
157
|
+
/** OAuth access token or async function that returns one */
|
|
158
|
+
accessToken?: TokenProvider;
|
|
159
|
+
/** Authentication strategy (alternative to accessToken for custom auth schemes) */
|
|
160
|
+
auth?: AuthStrategy;
|
|
161
|
+
/** Base URL override (defaults to https://3.basecampapi.com/{accountId}) */
|
|
162
|
+
baseUrl?: string;
|
|
163
|
+
/** User-Agent header (defaults to basecamp-sdk-ts/VERSION) */
|
|
164
|
+
userAgent?: string;
|
|
165
|
+
/** Enable ETag-based caching (defaults to false) */
|
|
166
|
+
enableCache?: boolean;
|
|
167
|
+
/** Enable automatic retry on 429/503 (defaults to true) */
|
|
168
|
+
enableRetry?: boolean;
|
|
169
|
+
/** Hooks for observability (logging, metrics, tracing) */
|
|
170
|
+
hooks?: BasecampHooks;
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Creates a type-safe Basecamp API client with built-in middleware for:
|
|
174
|
+
* - Authentication (Bearer token)
|
|
175
|
+
* - Retry with exponential backoff (respects Retry-After header)
|
|
176
|
+
* - ETag-based HTTP caching
|
|
177
|
+
*
|
|
178
|
+
* @example
|
|
179
|
+
* ```ts
|
|
180
|
+
* import { createBasecampClient } from "@37signals/basecamp";
|
|
181
|
+
*
|
|
182
|
+
* const client = createBasecampClient({
|
|
183
|
+
* accountId: "12345",
|
|
184
|
+
* accessToken: process.env.BASECAMP_TOKEN!,
|
|
185
|
+
* });
|
|
186
|
+
*
|
|
187
|
+
* const { data, error } = await client.GET("/projects.json");
|
|
188
|
+
* ```
|
|
189
|
+
*/
|
|
190
|
+
export declare function createBasecampClient(options: BasecampClientOptions): BasecampClient;
|
|
191
|
+
/**
|
|
192
|
+
* Normalizes a URL path by replacing numeric IDs with placeholder tokens.
|
|
193
|
+
* For example: /12345/todos/456 → /{accountId}/todos/{todoId}
|
|
194
|
+
*/
|
|
195
|
+
export declare function normalizeUrlPath(url: string): string;
|
|
196
|
+
/**
|
|
197
|
+
* Fetches all pages of a paginated resource using Link header pagination.
|
|
198
|
+
* Automatically follows rel="next" links until no more pages exist.
|
|
199
|
+
*
|
|
200
|
+
* @example
|
|
201
|
+
* ```ts
|
|
202
|
+
* const response = await client.GET("/projects.json");
|
|
203
|
+
*
|
|
204
|
+
* const allProjects = await fetchAllPages(
|
|
205
|
+
* response.response,
|
|
206
|
+
* (r) => r.json()
|
|
207
|
+
* );
|
|
208
|
+
* ```
|
|
209
|
+
*/
|
|
210
|
+
export declare function fetchAllPages<T>(initialResponse: Response, parse: (response: Response) => Promise<T[]>, authHeader?: string): Promise<T[]>;
|
|
211
|
+
/**
|
|
212
|
+
* Async generator that yields pages of results one at a time.
|
|
213
|
+
* Useful for processing large datasets without loading everything into memory.
|
|
214
|
+
*
|
|
215
|
+
* @example
|
|
216
|
+
* ```ts
|
|
217
|
+
* for await (const page of paginateAll(response.response, (r) => r.json())) {
|
|
218
|
+
* console.log(`Processing ${page.length} items`);
|
|
219
|
+
* }
|
|
220
|
+
* ```
|
|
221
|
+
*/
|
|
222
|
+
export declare function paginateAll<T>(initialResponse: Response, parse: (response: Response) => Promise<T[]>, authHeader?: string): AsyncGenerator<T[], void, unknown>;
|
|
223
|
+
export { parseNextLink, resolveURL, isSameOrigin };
|
|
224
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|