@37signals/basecamp 0.2.0 → 0.2.2
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 +5 -4
- package/dist/client.d.ts +6 -2
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +28 -9
- package/dist/client.js.map +1 -1
- package/dist/errors.d.ts +6 -2
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +15 -5
- package/dist/errors.js.map +1 -1
- package/dist/generated/metadata.json +1 -1
- package/dist/generated/openapi-stripped.json +37 -1
- package/dist/generated/schema.d.ts +4 -0
- package/dist/generated/services/documents.d.ts +2 -0
- package/dist/generated/services/documents.d.ts.map +1 -1
- package/dist/generated/services/documents.js +1 -0
- package/dist/generated/services/documents.js.map +1 -1
- package/dist/generated/services/documents.ts +3 -0
- package/dist/generated/services/messages.d.ts +2 -0
- package/dist/generated/services/messages.d.ts.map +1 -1
- package/dist/generated/services/messages.js +1 -0
- package/dist/generated/services/messages.js.map +1 -1
- package/dist/generated/services/messages.ts +3 -0
- package/dist/generated/services/schedules.d.ts +2 -0
- package/dist/generated/services/schedules.d.ts.map +1 -1
- package/dist/generated/services/schedules.js +1 -0
- package/dist/generated/services/schedules.js.map +1 -1
- package/dist/generated/services/schedules.ts +3 -0
- package/dist/generated/services/uploads.d.ts +2 -0
- package/dist/generated/services/uploads.d.ts.map +1 -1
- package/dist/generated/services/uploads.js +1 -0
- package/dist/generated/services/uploads.js.map +1 -1
- package/dist/generated/services/uploads.ts +3 -0
- package/dist/hooks/otel.d.ts.map +1 -1
- package/dist/hooks/otel.js +43 -32
- package/dist/hooks/otel.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/oauth/callback-server.js +4 -4
- package/dist/oauth/callback-server.js.map +1 -1
- package/dist/oauth/exchange.js +1 -1
- package/dist/oauth/exchange.js.map +1 -1
- package/dist/oauth/identity.js +1 -1
- package/dist/oauth/identity.js.map +1 -1
- package/dist/oauth/index.d.ts +1 -1
- package/dist/oauth/index.js +1 -1
- package/dist/oauth/interactive-login.js +1 -1
- package/dist/oauth/interactive-login.js.map +1 -1
- package/dist/oauth/token-store.d.ts.map +1 -1
- package/dist/oauth/token-store.js +10 -1
- package/dist/oauth/token-store.js.map +1 -1
- package/dist/services/authorization.d.ts +2 -2
- package/dist/services/authorization.js +1 -1
- package/package.json +5 -4
- package/src/generated/metadata.json +1 -1
- package/src/generated/openapi-stripped.json +37 -1
- package/src/generated/schema.d.ts +4 -0
- package/src/generated/services/documents.ts +3 -0
- package/src/generated/services/messages.ts +3 -0
- package/src/generated/services/schedules.ts +3 -0
- package/src/generated/services/uploads.ts +3 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-store.d.ts","sourceRoot":"","sources":["../../src/oauth/token-store.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"token-store.d.ts","sourceRoot":"","sources":["../../src/oauth/token-store.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG7C;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,4DAA4D;IAC5D,IAAI,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IACnC,uCAAuC;IACvC,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,8BAA8B;IAC9B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AA2BD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,cAAe,YAAW,UAAU;IAC/C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBAEtB,QAAQ,EAAE,MAAM;IAItB,IAAI,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IA8BlC,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BtC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAU7B"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
import { readFile, writeFile, rename, unlink, mkdir } from "node:fs/promises";
|
|
7
7
|
import { dirname } from "node:path";
|
|
8
8
|
import { homedir } from "node:os";
|
|
9
|
+
import { BasecampError } from "../errors.js";
|
|
9
10
|
/**
|
|
10
11
|
* Resolves ~ to the user's home directory.
|
|
11
12
|
*/
|
|
@@ -54,7 +55,15 @@ export class FileTokenStore {
|
|
|
54
55
|
}
|
|
55
56
|
throw err;
|
|
56
57
|
}
|
|
57
|
-
|
|
58
|
+
let data;
|
|
59
|
+
try {
|
|
60
|
+
data = JSON.parse(raw);
|
|
61
|
+
}
|
|
62
|
+
catch (err) {
|
|
63
|
+
throw new BasecampError("usage", `Failed to parse token file: ${this.filePath}`, {
|
|
64
|
+
cause: err instanceof Error ? err : undefined,
|
|
65
|
+
});
|
|
66
|
+
}
|
|
58
67
|
return {
|
|
59
68
|
accessToken: data.accessToken,
|
|
60
69
|
refreshToken: data.refreshToken,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-store.js","sourceRoot":"","sources":["../../src/oauth/token-store.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"token-store.js","sourceRoot":"","sources":["../../src/oauth/token-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -63,7 +63,7 @@ export interface GetAuthorizationInfoOptions {
|
|
|
63
63
|
endpoint?: string;
|
|
64
64
|
/**
|
|
65
65
|
* Filter accounts by product type.
|
|
66
|
-
* Common values: "bc3" (Basecamp
|
|
66
|
+
* Common values: "bc3" (Basecamp), "bcx" (Basecamp 2), "hey" (HEY)
|
|
67
67
|
*/
|
|
68
68
|
filterProduct?: string;
|
|
69
69
|
}
|
|
@@ -86,7 +86,7 @@ export interface GetAuthorizationInfoOptions {
|
|
|
86
86
|
* const info = await client.authorization.getInfo();
|
|
87
87
|
* console.log(`Logged in as ${info.identity.firstName}`);
|
|
88
88
|
*
|
|
89
|
-
* // Filter to only Basecamp
|
|
89
|
+
* // Filter to only Basecamp accounts
|
|
90
90
|
* const bc3Info = await client.authorization.getInfo({ filterProduct: "bc3" });
|
|
91
91
|
* for (const account of bc3Info.accounts) {
|
|
92
92
|
* console.log(account.name);
|
|
@@ -25,7 +25,7 @@ const DEFAULT_AUTHORIZATION_ENDPOINT = "https://launchpad.37signals.com/authoriz
|
|
|
25
25
|
* const info = await client.authorization.getInfo();
|
|
26
26
|
* console.log(`Logged in as ${info.identity.firstName}`);
|
|
27
27
|
*
|
|
28
|
-
* // Filter to only Basecamp
|
|
28
|
+
* // Filter to only Basecamp accounts
|
|
29
29
|
* const bc3Info = await client.authorization.getInfo({ filterProduct: "bc3" });
|
|
30
30
|
* for (const account of bc3Info.accounts) {
|
|
31
31
|
* console.log(account.name);
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@37signals/basecamp",
|
|
3
|
-
"version": "0.2.
|
|
4
|
-
"description": "TypeScript SDK for the Basecamp
|
|
3
|
+
"version": "0.2.2",
|
|
4
|
+
"description": "TypeScript SDK for the Basecamp API",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
],
|
|
22
22
|
"scripts": {
|
|
23
23
|
"generate": "tsx scripts/strip-account-id.ts ../spec/build/smithy/openapi/openapi/Basecamp.openapi.json src/generated/openapi-stripped.json && openapi-typescript src/generated/openapi-stripped.json -o src/generated/schema.d.ts && tsx scripts/extract-metadata.ts src/generated/openapi-stripped.json > src/generated/metadata.json && tsx scripts/generate-path-mapping.ts",
|
|
24
|
-
"build": "tsc
|
|
24
|
+
"build": "tsc",
|
|
25
25
|
"postbuild": "node -e \"fs=require('fs');fs.cpSync('src/generated','dist/generated',{recursive:true});\"",
|
|
26
26
|
"prepublishOnly": "npm run build",
|
|
27
27
|
"test": "vitest run",
|
|
@@ -53,7 +53,8 @@
|
|
|
53
53
|
"openapi-fetch": "^0.17.0"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
|
-
"@types/node": "^25.3.
|
|
56
|
+
"@types/node": "^25.3.2",
|
|
57
|
+
"@vitest/coverage-v8": "^4.0.18",
|
|
57
58
|
"msw": "^2.12.10",
|
|
58
59
|
"openapi-typescript": "^7.13.0",
|
|
59
60
|
"oxlint": "^1.50.0",
|
|
@@ -3,7 +3,15 @@
|
|
|
3
3
|
"info": {
|
|
4
4
|
"title": "Basecamp",
|
|
5
5
|
"version": "2026-01-26",
|
|
6
|
-
"description": "Basecamp API"
|
|
6
|
+
"description": "Basecamp API",
|
|
7
|
+
"contact": {
|
|
8
|
+
"name": "Basecamp",
|
|
9
|
+
"url": "https://github.com/basecamp/basecamp-sdk"
|
|
10
|
+
},
|
|
11
|
+
"license": {
|
|
12
|
+
"name": "MIT",
|
|
13
|
+
"url": "https://github.com/basecamp/basecamp-sdk/blob/main/LICENSE"
|
|
14
|
+
}
|
|
7
15
|
},
|
|
8
16
|
"paths": {
|
|
9
17
|
"/attachments.json": {
|
|
@@ -17068,6 +17076,13 @@
|
|
|
17068
17076
|
"status": {
|
|
17069
17077
|
"type": "string",
|
|
17070
17078
|
"description": "active|drafted"
|
|
17079
|
+
},
|
|
17080
|
+
"subscriptions": {
|
|
17081
|
+
"type": "array",
|
|
17082
|
+
"items": {
|
|
17083
|
+
"type": "integer",
|
|
17084
|
+
"format": "int64"
|
|
17085
|
+
}
|
|
17071
17086
|
}
|
|
17072
17087
|
},
|
|
17073
17088
|
"required": [
|
|
@@ -17136,6 +17151,13 @@
|
|
|
17136
17151
|
"category_id": {
|
|
17137
17152
|
"type": "integer",
|
|
17138
17153
|
"format": "int64"
|
|
17154
|
+
},
|
|
17155
|
+
"subscriptions": {
|
|
17156
|
+
"type": "array",
|
|
17157
|
+
"items": {
|
|
17158
|
+
"type": "integer",
|
|
17159
|
+
"format": "int64"
|
|
17160
|
+
}
|
|
17139
17161
|
}
|
|
17140
17162
|
},
|
|
17141
17163
|
"required": [
|
|
@@ -17281,6 +17303,13 @@
|
|
|
17281
17303
|
},
|
|
17282
17304
|
"notify": {
|
|
17283
17305
|
"type": "boolean"
|
|
17306
|
+
},
|
|
17307
|
+
"subscriptions": {
|
|
17308
|
+
"type": "array",
|
|
17309
|
+
"items": {
|
|
17310
|
+
"type": "integer",
|
|
17311
|
+
"format": "int64"
|
|
17312
|
+
}
|
|
17284
17313
|
}
|
|
17285
17314
|
},
|
|
17286
17315
|
"required": [
|
|
@@ -17416,6 +17445,13 @@
|
|
|
17416
17445
|
},
|
|
17417
17446
|
"base_name": {
|
|
17418
17447
|
"type": "string"
|
|
17448
|
+
},
|
|
17449
|
+
"subscriptions": {
|
|
17450
|
+
"type": "array",
|
|
17451
|
+
"items": {
|
|
17452
|
+
"type": "integer",
|
|
17453
|
+
"format": "int64"
|
|
17454
|
+
}
|
|
17419
17455
|
}
|
|
17420
17456
|
},
|
|
17421
17457
|
"required": [
|
|
@@ -2536,6 +2536,7 @@ export interface components {
|
|
|
2536
2536
|
content?: string;
|
|
2537
2537
|
/** @description active|drafted */
|
|
2538
2538
|
status?: string;
|
|
2539
|
+
subscriptions?: number[];
|
|
2539
2540
|
};
|
|
2540
2541
|
CreateDocumentResponseContent: components["schemas"]["Document"];
|
|
2541
2542
|
CreateEventBoostRequestContent: {
|
|
@@ -2557,6 +2558,7 @@ export interface components {
|
|
|
2557
2558
|
status?: string;
|
|
2558
2559
|
/** Format: int64 */
|
|
2559
2560
|
category_id?: number;
|
|
2561
|
+
subscriptions?: number[];
|
|
2560
2562
|
};
|
|
2561
2563
|
CreateMessageResponseContent: components["schemas"]["Message"];
|
|
2562
2564
|
CreateMessageTypeRequestContent: {
|
|
@@ -2601,6 +2603,7 @@ export interface components {
|
|
|
2601
2603
|
participant_ids?: number[];
|
|
2602
2604
|
all_day?: boolean;
|
|
2603
2605
|
notify?: boolean;
|
|
2606
|
+
subscriptions?: number[];
|
|
2604
2607
|
};
|
|
2605
2608
|
CreateScheduleEntryResponseContent: components["schemas"]["ScheduleEntry"];
|
|
2606
2609
|
CreateTemplateRequestContent: {
|
|
@@ -2639,6 +2642,7 @@ export interface components {
|
|
|
2639
2642
|
attachable_sgid: string;
|
|
2640
2643
|
description?: string;
|
|
2641
2644
|
base_name?: string;
|
|
2645
|
+
subscriptions?: number[];
|
|
2642
2646
|
};
|
|
2643
2647
|
CreateUploadResponseContent: components["schemas"]["Upload"];
|
|
2644
2648
|
CreateVaultRequestContent: {
|
|
@@ -43,6 +43,8 @@ export interface CreateDocumentRequest {
|
|
|
43
43
|
content?: string;
|
|
44
44
|
/** Status */
|
|
45
45
|
status?: "active" | "drafted";
|
|
46
|
+
/** Subscriptions */
|
|
47
|
+
subscriptions?: number[];
|
|
46
48
|
}
|
|
47
49
|
|
|
48
50
|
|
|
@@ -183,6 +185,7 @@ export class DocumentsService extends BaseService {
|
|
|
183
185
|
title: req.title,
|
|
184
186
|
content: req.content,
|
|
185
187
|
status: req.status,
|
|
188
|
+
subscriptions: req.subscriptions,
|
|
186
189
|
},
|
|
187
190
|
})
|
|
188
191
|
);
|
|
@@ -35,6 +35,8 @@ export interface CreateMessageRequest {
|
|
|
35
35
|
status?: "active" | "drafted";
|
|
36
36
|
/** Category id */
|
|
37
37
|
categoryId?: number;
|
|
38
|
+
/** Subscriptions */
|
|
39
|
+
subscriptions?: number[];
|
|
38
40
|
}
|
|
39
41
|
|
|
40
42
|
/**
|
|
@@ -125,6 +127,7 @@ export class MessagesService extends BaseService {
|
|
|
125
127
|
content: req.content,
|
|
126
128
|
status: req.status,
|
|
127
129
|
category_id: req.categoryId,
|
|
130
|
+
subscriptions: req.subscriptions,
|
|
128
131
|
},
|
|
129
132
|
})
|
|
130
133
|
);
|
|
@@ -73,6 +73,8 @@ export interface CreateEntryScheduleRequest {
|
|
|
73
73
|
allDay?: boolean;
|
|
74
74
|
/** Whether to send notifications to relevant people */
|
|
75
75
|
notify?: boolean;
|
|
76
|
+
/** Subscriptions */
|
|
77
|
+
subscriptions?: number[];
|
|
76
78
|
}
|
|
77
79
|
|
|
78
80
|
|
|
@@ -327,6 +329,7 @@ export class SchedulesService extends BaseService {
|
|
|
327
329
|
participant_ids: req.participantIds,
|
|
328
330
|
all_day: req.allDay,
|
|
329
331
|
notify: req.notify,
|
|
332
|
+
subscriptions: req.subscriptions,
|
|
330
333
|
},
|
|
331
334
|
})
|
|
332
335
|
);
|
|
@@ -49,6 +49,8 @@ export interface CreateUploadRequest {
|
|
|
49
49
|
description?: string;
|
|
50
50
|
/** Base name */
|
|
51
51
|
baseName?: string;
|
|
52
|
+
/** Subscriptions */
|
|
53
|
+
subscriptions?: number[];
|
|
52
54
|
}
|
|
53
55
|
|
|
54
56
|
|
|
@@ -219,6 +221,7 @@ export class UploadsService extends BaseService {
|
|
|
219
221
|
attachable_sgid: req.attachableSgid,
|
|
220
222
|
description: req.description,
|
|
221
223
|
base_name: req.baseName,
|
|
224
|
+
subscriptions: req.subscriptions,
|
|
222
225
|
},
|
|
223
226
|
})
|
|
224
227
|
);
|