@37signals/basecamp 0.2.3 → 0.3.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/dist/client.d.ts CHANGED
@@ -173,7 +173,7 @@ export interface BasecampClientOptions {
173
173
  /** Maximum pages to follow during auto-pagination (defaults to 10,000) */
174
174
  maxPages?: number;
175
175
  }
176
- export declare const VERSION = "0.2.3";
176
+ export declare const VERSION = "0.3.0";
177
177
  export declare const API_VERSION = "2026-01-26";
178
178
  /**
179
179
  * Creates a type-safe Basecamp API client with built-in middleware for:
package/dist/client.js CHANGED
@@ -60,7 +60,7 @@ import { BoostsService } from "./generated/services/boosts.js";
60
60
  // Services - Hand-written (not spec-driven, e.g., OAuth flows)
61
61
  // ============================================================================
62
62
  import { AuthorizationService } from "./services/authorization.js";
63
- export const VERSION = "0.2.3";
63
+ export const VERSION = "0.3.0";
64
64
  export const API_VERSION = "2026-01-26";
65
65
  const DEFAULT_USER_AGENT = `basecamp-sdk-ts/${VERSION} (api:${API_VERSION})`;
66
66
  /**
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://basecamp.com/schemas/sdk-metadata.json",
3
3
  "version": "1.0.0",
4
- "generated": "2026-03-09T20:39:56.784Z",
4
+ "generated": "2026-03-09T21:06:09.879Z",
5
5
  "operations": {
6
6
  "CreateAttachment": {
7
7
  "retry": {
@@ -12295,7 +12295,7 @@
12295
12295
  "operationId": "Search",
12296
12296
  "parameters": [
12297
12297
  {
12298
- "name": "query",
12298
+ "name": "q",
12299
12299
  "in": "query",
12300
12300
  "schema": {
12301
12301
  "type": "string"
@@ -12310,14 +12310,6 @@
12310
12310
  "type": "string",
12311
12311
  "description": "created_at|updated_at"
12312
12312
  }
12313
- },
12314
- {
12315
- "name": "page",
12316
- "in": "query",
12317
- "schema": {
12318
- "type": "integer",
12319
- "format": "int32"
12320
- }
12321
12313
  }
12322
12314
  ],
12323
12315
  "responses": {
@@ -12449,10 +12449,9 @@ export interface operations {
12449
12449
  Search: {
12450
12450
  parameters: {
12451
12451
  query: {
12452
- query: string;
12452
+ q: string;
12453
12453
  /** @description created_at|updated_at */
12454
12454
  sort?: string;
12455
- page?: number;
12456
12455
  };
12457
12456
  header?: never;
12458
12457
  path?: never;
@@ -12,8 +12,6 @@ import type { PaginationOptions } from "../../pagination.js";
12
12
  export interface SearchSearchOptions extends PaginationOptions {
13
13
  /** Filter by sort */
14
14
  sort?: "created_at" | "updated_at";
15
- /** Page */
16
- page?: number;
17
15
  }
18
16
  /**
19
17
  * Service for Search operations.
@@ -21,16 +19,16 @@ export interface SearchSearchOptions extends PaginationOptions {
21
19
  export declare class SearchService extends BaseService {
22
20
  /**
23
21
  * Search for content across the account
24
- * @param query - query
22
+ * @param q - q
25
23
  * @param options - Optional query parameters
26
24
  * @returns All results across all pages, with .meta.totalCount
27
25
  *
28
26
  * @example
29
27
  * ```ts
30
- * const result = await client.search.search("query");
28
+ * const result = await client.search.search("q");
31
29
  * ```
32
30
  */
33
- search(query: string, options?: SearchSearchOptions): Promise<components["schemas"]["SearchResponseContent"]>;
31
+ search(q: string, options?: SearchSearchOptions): Promise<components["schemas"]["SearchResponseContent"]>;
34
32
  /**
35
33
  * Get search metadata (available filter options)
36
34
  * @returns The search_metadata
@@ -1 +1 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/generated/services/search.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAO7D;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;IAC5D,qBAAqB;IACrB,IAAI,CAAC,EAAE,YAAY,GAAG,YAAY,CAAC;IACnC,WAAW;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAOD;;GAEG;AACH,qBAAa,aAAc,SAAQ,WAAW;IAE5C;;;;;;;;;;OAUG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,uBAAuB,CAAC,CAAC;IAkBnH;;;;;;;;OAQG;IACG,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,kCAAkC,CAAC,CAAC;CAcrF"}
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/generated/services/search.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAO7D;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;IAC5D,qBAAqB;IACrB,IAAI,CAAC,EAAE,YAAY,GAAG,YAAY,CAAC;CACpC;AAOD;;GAEG;AACH,qBAAa,aAAc,SAAQ,WAAW;IAE5C;;;;;;;;;;OAUG;IACG,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,uBAAuB,CAAC,CAAC;IAkB/G;;;;;;;;OAQG;IACG,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,kCAAkC,CAAC,CAAC;CAcrF"}
@@ -13,16 +13,16 @@ import { BaseService } from "../../services/base.js";
13
13
  export class SearchService extends BaseService {
14
14
  /**
15
15
  * Search for content across the account
16
- * @param query - query
16
+ * @param q - q
17
17
  * @param options - Optional query parameters
18
18
  * @returns All results across all pages, with .meta.totalCount
19
19
  *
20
20
  * @example
21
21
  * ```ts
22
- * const result = await client.search.search("query");
22
+ * const result = await client.search.search("q");
23
23
  * ```
24
24
  */
25
- async search(query, options) {
25
+ async search(q, options) {
26
26
  return this.requestPaginated({
27
27
  service: "Search",
28
28
  operation: "Search",
@@ -30,7 +30,7 @@ export class SearchService extends BaseService {
30
30
  isMutation: false,
31
31
  }, () => this.client.GET("/search.json", {
32
32
  params: {
33
- query: { query: query, sort: options?.sort, page: options?.page },
33
+ query: { q: q, sort: options?.sort },
34
34
  },
35
35
  }), options);
36
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/generated/services/search.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAqBrD,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,WAAW;IAE5C;;;;;;;;;;OAUG;IACH,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,OAA6B;QACvD,OAAO,IAAI,CAAC,gBAAgB,CAC1B;YACE,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,QAAQ;YACnB,YAAY,EAAE,UAAU;YACxB,UAAU,EAAE,KAAK;SAClB,EACD,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE;YAC9B,MAAM,EAAE;gBACN,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;aAClE;SACF,CAAC,EACF,OAAO,CACV,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,QAAQ;QACZ,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC;YACE,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,mBAAmB;YAC9B,YAAY,EAAE,iBAAiB;YAC/B,UAAU,EAAE,KAAK;SAClB,EACD,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,yBAAyB,EAAE,EAC1C,CAAC,CACL,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/generated/services/search.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAmBrD,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,WAAW;IAE5C;;;;;;;;;;OAUG;IACH,KAAK,CAAC,MAAM,CAAC,CAAS,EAAE,OAA6B;QACnD,OAAO,IAAI,CAAC,gBAAgB,CAC1B;YACE,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,QAAQ;YACnB,YAAY,EAAE,UAAU;YACxB,UAAU,EAAE,KAAK;SAClB,EACD,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE;YAC9B,MAAM,EAAE;gBACN,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;aACrC;SACF,CAAC,EACF,OAAO,CACV,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,QAAQ;QACZ,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC;YACE,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,mBAAmB;YAC9B,YAAY,EAAE,iBAAiB;YAC/B,UAAU,EAAE,KAAK;SAClB,EACD,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,yBAAyB,EAAE,EAC1C,CAAC,CACL,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF"}
@@ -20,8 +20,6 @@ import type { PaginationOptions } from "../../pagination.js";
20
20
  export interface SearchSearchOptions extends PaginationOptions {
21
21
  /** Filter by sort */
22
22
  sort?: "created_at" | "updated_at";
23
- /** Page */
24
- page?: number;
25
23
  }
26
24
 
27
25
 
@@ -36,16 +34,16 @@ export class SearchService extends BaseService {
36
34
 
37
35
  /**
38
36
  * Search for content across the account
39
- * @param query - query
37
+ * @param q - q
40
38
  * @param options - Optional query parameters
41
39
  * @returns All results across all pages, with .meta.totalCount
42
40
  *
43
41
  * @example
44
42
  * ```ts
45
- * const result = await client.search.search("query");
43
+ * const result = await client.search.search("q");
46
44
  * ```
47
45
  */
48
- async search(query: string, options?: SearchSearchOptions): Promise<components["schemas"]["SearchResponseContent"]> {
46
+ async search(q: string, options?: SearchSearchOptions): Promise<components["schemas"]["SearchResponseContent"]> {
49
47
  return this.requestPaginated(
50
48
  {
51
49
  service: "Search",
@@ -56,7 +54,7 @@ export class SearchService extends BaseService {
56
54
  () =>
57
55
  this.client.GET("/search.json", {
58
56
  params: {
59
- query: { query: query, sort: options?.sort, page: options?.page },
57
+ query: { q: q, sort: options?.sort },
60
58
  },
61
59
  })
62
60
  , options
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@37signals/basecamp",
3
- "version": "0.2.3",
3
+ "version": "0.3.0",
4
4
  "description": "TypeScript SDK for the Basecamp API",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://basecamp.com/schemas/sdk-metadata.json",
3
3
  "version": "1.0.0",
4
- "generated": "2026-03-09T20:39:56.784Z",
4
+ "generated": "2026-03-09T21:06:09.879Z",
5
5
  "operations": {
6
6
  "CreateAttachment": {
7
7
  "retry": {
@@ -12295,7 +12295,7 @@
12295
12295
  "operationId": "Search",
12296
12296
  "parameters": [
12297
12297
  {
12298
- "name": "query",
12298
+ "name": "q",
12299
12299
  "in": "query",
12300
12300
  "schema": {
12301
12301
  "type": "string"
@@ -12310,14 +12310,6 @@
12310
12310
  "type": "string",
12311
12311
  "description": "created_at|updated_at"
12312
12312
  }
12313
- },
12314
- {
12315
- "name": "page",
12316
- "in": "query",
12317
- "schema": {
12318
- "type": "integer",
12319
- "format": "int32"
12320
- }
12321
12313
  }
12322
12314
  ],
12323
12315
  "responses": {
@@ -12449,10 +12449,9 @@ export interface operations {
12449
12449
  Search: {
12450
12450
  parameters: {
12451
12451
  query: {
12452
- query: string;
12452
+ q: string;
12453
12453
  /** @description created_at|updated_at */
12454
12454
  sort?: string;
12455
- page?: number;
12456
12455
  };
12457
12456
  header?: never;
12458
12457
  path?: never;
@@ -20,8 +20,6 @@ import type { PaginationOptions } from "../../pagination.js";
20
20
  export interface SearchSearchOptions extends PaginationOptions {
21
21
  /** Filter by sort */
22
22
  sort?: "created_at" | "updated_at";
23
- /** Page */
24
- page?: number;
25
23
  }
26
24
 
27
25
 
@@ -36,16 +34,16 @@ export class SearchService extends BaseService {
36
34
 
37
35
  /**
38
36
  * Search for content across the account
39
- * @param query - query
37
+ * @param q - q
40
38
  * @param options - Optional query parameters
41
39
  * @returns All results across all pages, with .meta.totalCount
42
40
  *
43
41
  * @example
44
42
  * ```ts
45
- * const result = await client.search.search("query");
43
+ * const result = await client.search.search("q");
46
44
  * ```
47
45
  */
48
- async search(query: string, options?: SearchSearchOptions): Promise<components["schemas"]["SearchResponseContent"]> {
46
+ async search(q: string, options?: SearchSearchOptions): Promise<components["schemas"]["SearchResponseContent"]> {
49
47
  return this.requestPaginated(
50
48
  {
51
49
  service: "Search",
@@ -56,7 +54,7 @@ export class SearchService extends BaseService {
56
54
  () =>
57
55
  this.client.GET("/search.json", {
58
56
  params: {
59
- query: { query: query, sort: options?.sort, page: options?.page },
57
+ query: { q: q, sort: options?.sort },
60
58
  },
61
59
  })
62
60
  , options