@37signals/basecamp 0.5.0 → 0.6.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.
Files changed (75) hide show
  1. package/dist/client.d.ts +7 -1
  2. package/dist/client.d.ts.map +1 -1
  3. package/dist/client.js +13 -1
  4. package/dist/client.js.map +1 -1
  5. package/dist/download.d.ts +40 -0
  6. package/dist/download.d.ts.map +1 -0
  7. package/dist/download.js +182 -0
  8. package/dist/download.js.map +1 -0
  9. package/dist/generated/metadata.json +12 -1
  10. package/dist/generated/openapi-stripped.json +201 -2
  11. package/dist/generated/path-mapping.d.ts.map +1 -1
  12. package/dist/generated/path-mapping.js +2 -0
  13. package/dist/generated/path-mapping.js.map +1 -1
  14. package/dist/generated/path-mapping.ts +2 -0
  15. package/dist/generated/schema.d.ts +130 -3
  16. package/dist/generated/services/automation.d.ts +25 -0
  17. package/dist/generated/services/automation.d.ts.map +1 -0
  18. package/dist/generated/services/automation.js +33 -0
  19. package/dist/generated/services/automation.js.map +1 -0
  20. package/dist/generated/services/automation.ts +49 -0
  21. package/dist/generated/services/boosts.js +2 -2
  22. package/dist/generated/services/boosts.js.map +1 -1
  23. package/dist/generated/services/boosts.ts +2 -2
  24. package/dist/generated/services/campfires.js +5 -5
  25. package/dist/generated/services/campfires.js.map +1 -1
  26. package/dist/generated/services/campfires.ts +5 -5
  27. package/dist/generated/services/card-steps.d.ts +12 -0
  28. package/dist/generated/services/card-steps.d.ts.map +1 -1
  29. package/dist/generated/services/card-steps.js +25 -0
  30. package/dist/generated/services/card-steps.js.map +1 -1
  31. package/dist/generated/services/card-steps.ts +30 -0
  32. package/dist/generated/services/checkins.js +1 -1
  33. package/dist/generated/services/checkins.js.map +1 -1
  34. package/dist/generated/services/checkins.ts +1 -1
  35. package/dist/generated/services/client-replies.js +1 -1
  36. package/dist/generated/services/client-replies.js.map +1 -1
  37. package/dist/generated/services/client-replies.ts +1 -1
  38. package/dist/generated/services/forwards.js +1 -1
  39. package/dist/generated/services/forwards.js.map +1 -1
  40. package/dist/generated/services/forwards.ts +1 -1
  41. package/dist/generated/services/index.d.ts +1 -0
  42. package/dist/generated/services/index.d.ts.map +1 -1
  43. package/dist/generated/services/index.js +1 -0
  44. package/dist/generated/services/index.js.map +1 -1
  45. package/dist/generated/services/index.ts +1 -0
  46. package/dist/generated/services/search.d.ts +1 -1
  47. package/dist/generated/services/search.ts +1 -1
  48. package/dist/generated/services/templates.js +1 -1
  49. package/dist/generated/services/templates.js.map +1 -1
  50. package/dist/generated/services/templates.ts +1 -1
  51. package/dist/generated/services/tools.d.ts +2 -0
  52. package/dist/generated/services/tools.d.ts.map +1 -1
  53. package/dist/generated/services/tools.js +1 -0
  54. package/dist/generated/services/tools.js.map +1 -1
  55. package/dist/generated/services/tools.ts +3 -0
  56. package/dist/index.d.ts +2 -0
  57. package/dist/index.d.ts.map +1 -1
  58. package/dist/index.js +4 -0
  59. package/dist/index.js.map +1 -1
  60. package/package.json +1 -1
  61. package/src/generated/metadata.json +12 -1
  62. package/src/generated/openapi-stripped.json +201 -2
  63. package/src/generated/path-mapping.ts +2 -0
  64. package/src/generated/schema.d.ts +130 -3
  65. package/src/generated/services/automation.ts +49 -0
  66. package/src/generated/services/boosts.ts +2 -2
  67. package/src/generated/services/campfires.ts +5 -5
  68. package/src/generated/services/card-steps.ts +30 -0
  69. package/src/generated/services/checkins.ts +1 -1
  70. package/src/generated/services/client-replies.ts +1 -1
  71. package/src/generated/services/forwards.ts +1 -1
  72. package/src/generated/services/index.ts +1 -0
  73. package/src/generated/services/search.ts +1 -1
  74. package/src/generated/services/templates.ts +1 -1
  75. package/src/generated/services/tools.ts +3 -0
package/dist/index.js CHANGED
@@ -38,6 +38,8 @@ export { fetchAllPages, paginateAll } from "./client.js";
38
38
  // Pagination types and utilities
39
39
  export { ListResult, parseTotalCount } from "./pagination.js";
40
40
  export { parseNextLink, resolveURL, isSameOrigin } from "./pagination-utils.js";
41
+ // Download
42
+ export { filenameFromURL } from "./download.js";
41
43
  // Errors
42
44
  export { BasecampError, Errors, errorFromResponse, isBasecampError, isErrorCode, } from "./errors.js";
43
45
  // Hooks
@@ -103,6 +105,8 @@ export { RecordingsService, } from "./generated/services/recordings.js";
103
105
  export { TemplatesService, } from "./generated/services/templates.js";
104
106
  // Lineup service - generated
105
107
  export { LineupService, } from "./generated/services/lineup.js";
108
+ // Automation service - generated
109
+ export { AutomationService, } from "./generated/services/automation.js";
106
110
  // Organization services - generated
107
111
  export { TodolistGroupsService, } from "./generated/services/todolist-groups.js";
108
112
  export { ToolsService, } from "./generated/services/tools.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@37signals/basecamp",
3
- "version": "0.5.0",
3
+ "version": "0.6.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-12T01:04:25.932Z",
4
+ "generated": "2026-03-16T01:24:20.293Z",
5
5
  "operations": {
6
6
  "CreateAttachment": {
7
7
  "retry": {
@@ -243,6 +243,17 @@
243
243
  "natural": true
244
244
  }
245
245
  },
246
+ "GetCardStep": {
247
+ "retry": {
248
+ "maxAttempts": 3,
249
+ "baseDelayMs": 1000,
250
+ "backoff": "exponential",
251
+ "retryOn": [
252
+ 429,
253
+ 503
254
+ ]
255
+ }
256
+ },
246
257
  "UpdateCardStep": {
247
258
  "retry": {
248
259
  "maxAttempts": 3,
@@ -1737,6 +1737,85 @@
1737
1737
  }
1738
1738
  },
1739
1739
  "/card_tables/steps/{stepId}": {
1740
+ "get": {
1741
+ "description": "Get a step by ID",
1742
+ "operationId": "GetCardStep",
1743
+ "parameters": [
1744
+ {
1745
+ "name": "stepId",
1746
+ "in": "path",
1747
+ "schema": {
1748
+ "type": "integer",
1749
+ "format": "int64"
1750
+ },
1751
+ "required": true
1752
+ }
1753
+ ],
1754
+ "responses": {
1755
+ "200": {
1756
+ "description": "GetCardStep 200 response",
1757
+ "content": {
1758
+ "application/json": {
1759
+ "schema": {
1760
+ "$ref": "#/components/schemas/GetCardStepResponseContent"
1761
+ }
1762
+ }
1763
+ }
1764
+ },
1765
+ "401": {
1766
+ "description": "UnauthorizedError 401 response",
1767
+ "content": {
1768
+ "application/json": {
1769
+ "schema": {
1770
+ "$ref": "#/components/schemas/UnauthorizedErrorResponseContent"
1771
+ }
1772
+ }
1773
+ }
1774
+ },
1775
+ "403": {
1776
+ "description": "ForbiddenError 403 response",
1777
+ "content": {
1778
+ "application/json": {
1779
+ "schema": {
1780
+ "$ref": "#/components/schemas/ForbiddenErrorResponseContent"
1781
+ }
1782
+ }
1783
+ }
1784
+ },
1785
+ "404": {
1786
+ "description": "NotFoundError 404 response",
1787
+ "content": {
1788
+ "application/json": {
1789
+ "schema": {
1790
+ "$ref": "#/components/schemas/NotFoundErrorResponseContent"
1791
+ }
1792
+ }
1793
+ }
1794
+ },
1795
+ "500": {
1796
+ "description": "InternalServerError 500 response",
1797
+ "content": {
1798
+ "application/json": {
1799
+ "schema": {
1800
+ "$ref": "#/components/schemas/InternalServerErrorResponseContent"
1801
+ }
1802
+ }
1803
+ }
1804
+ }
1805
+ },
1806
+ "tags": [
1807
+ "Card Tables"
1808
+ ],
1809
+ "x-basecamp-retry": {
1810
+ "maxAttempts": 3,
1811
+ "baseDelayMs": 1000,
1812
+ "backoff": "exponential",
1813
+ "retryOn": [
1814
+ 429,
1815
+ 503
1816
+ ]
1817
+ }
1818
+ },
1740
1819
  "put": {
1741
1820
  "description": "Update an existing step",
1742
1821
  "operationId": "UpdateCardStep",
@@ -5626,6 +5705,75 @@
5626
5705
  }
5627
5706
  },
5628
5707
  "/lineup/markers.json": {
5708
+ "get": {
5709
+ "description": "List all lineup markers for the account",
5710
+ "operationId": "ListLineupMarkers",
5711
+ "parameters": [],
5712
+ "responses": {
5713
+ "200": {
5714
+ "description": "ListLineupMarkers 200 response",
5715
+ "content": {
5716
+ "application/json": {
5717
+ "schema": {
5718
+ "$ref": "#/components/schemas/ListLineupMarkersResponseContent"
5719
+ }
5720
+ }
5721
+ }
5722
+ },
5723
+ "401": {
5724
+ "description": "UnauthorizedError 401 response",
5725
+ "content": {
5726
+ "application/json": {
5727
+ "schema": {
5728
+ "$ref": "#/components/schemas/UnauthorizedErrorResponseContent"
5729
+ }
5730
+ }
5731
+ }
5732
+ },
5733
+ "403": {
5734
+ "description": "ForbiddenError 403 response",
5735
+ "content": {
5736
+ "application/json": {
5737
+ "schema": {
5738
+ "$ref": "#/components/schemas/ForbiddenErrorResponseContent"
5739
+ }
5740
+ }
5741
+ }
5742
+ },
5743
+ "429": {
5744
+ "description": "RateLimitError 429 response",
5745
+ "content": {
5746
+ "application/json": {
5747
+ "schema": {
5748
+ "$ref": "#/components/schemas/RateLimitErrorResponseContent"
5749
+ }
5750
+ }
5751
+ }
5752
+ },
5753
+ "500": {
5754
+ "description": "InternalServerError 500 response",
5755
+ "content": {
5756
+ "application/json": {
5757
+ "schema": {
5758
+ "$ref": "#/components/schemas/InternalServerErrorResponseContent"
5759
+ }
5760
+ }
5761
+ }
5762
+ }
5763
+ },
5764
+ "tags": [
5765
+ "Automation"
5766
+ ],
5767
+ "x-basecamp-retry": {
5768
+ "maxAttempts": 3,
5769
+ "baseDelayMs": 1000,
5770
+ "backoff": "exponential",
5771
+ "retryOn": [
5772
+ 429,
5773
+ 503
5774
+ ]
5775
+ }
5776
+ },
5629
5777
  "post": {
5630
5778
  "description": "Create a new lineup marker",
5631
5779
  "operationId": "CreateLineupMarker",
@@ -12339,10 +12487,10 @@
12339
12487
  {
12340
12488
  "name": "sort",
12341
12489
  "in": "query",
12342
- "description": "created_at|updated_at",
12490
+ "description": "best_match|created_at",
12343
12491
  "schema": {
12344
12492
  "type": "string",
12345
- "description": "created_at|updated_at"
12493
+ "description": "best_match|created_at"
12346
12494
  }
12347
12495
  }
12348
12496
  ],
@@ -17272,6 +17420,9 @@
17272
17420
  "type": "integer",
17273
17421
  "format": "int64",
17274
17422
  "x-go-type-skip-optional-pointer": false
17423
+ },
17424
+ "title": {
17425
+ "type": "string"
17275
17426
  }
17276
17427
  },
17277
17428
  "required": [
@@ -18426,6 +18577,9 @@
18426
18577
  "GetCardResponseContent": {
18427
18578
  "$ref": "#/components/schemas/Card"
18428
18579
  },
18580
+ "GetCardStepResponseContent": {
18581
+ "$ref": "#/components/schemas/CardStep"
18582
+ },
18429
18583
  "GetCardTableResponseContent": {
18430
18584
  "$ref": "#/components/schemas/CardTable"
18431
18585
  },
@@ -18725,6 +18879,45 @@
18725
18879
  "error"
18726
18880
  ]
18727
18881
  },
18882
+ "LineupMarker": {
18883
+ "type": "object",
18884
+ "properties": {
18885
+ "id": {
18886
+ "type": "integer",
18887
+ "format": "int64",
18888
+ "x-go-type-skip-optional-pointer": false
18889
+ },
18890
+ "name": {
18891
+ "type": "string"
18892
+ },
18893
+ "date": {
18894
+ "type": "string"
18895
+ },
18896
+ "created_at": {
18897
+ "type": "string",
18898
+ "x-go-type": "time.Time",
18899
+ "x-go-type-import": {
18900
+ "path": "time"
18901
+ },
18902
+ "x-go-type-skip-optional-pointer": true
18903
+ },
18904
+ "updated_at": {
18905
+ "type": "string",
18906
+ "x-go-type": "time.Time",
18907
+ "x-go-type-import": {
18908
+ "path": "time"
18909
+ },
18910
+ "x-go-type-skip-optional-pointer": true
18911
+ }
18912
+ },
18913
+ "required": [
18914
+ "created_at",
18915
+ "date",
18916
+ "id",
18917
+ "name",
18918
+ "updated_at"
18919
+ ]
18920
+ },
18728
18921
  "ListAnswersResponseContent": {
18729
18922
  "type": "array",
18730
18923
  "items": {
@@ -18821,6 +19014,12 @@
18821
19014
  "$ref": "#/components/schemas/Forward"
18822
19015
  }
18823
19016
  },
19017
+ "ListLineupMarkersResponseContent": {
19018
+ "type": "array",
19019
+ "items": {
19020
+ "$ref": "#/components/schemas/LineupMarker"
19021
+ }
19022
+ },
18824
19023
  "ListMessageTypesResponseContent": {
18825
19024
  "type": "array",
18826
19025
  "items": {
@@ -31,6 +31,7 @@ export const PATH_TO_OPERATION: Record<string, string> = {
31
31
  "POST:/{accountId}/card_tables/lists/{columnId}/cards.json": "CreateCard",
32
32
  "DELETE:/{accountId}/card_tables/lists/{columnId}/subscription.json": "UnsubscribeFromCardColumn",
33
33
  "POST:/{accountId}/card_tables/lists/{columnId}/subscription.json": "SubscribeToCardColumn",
34
+ "GET:/{accountId}/card_tables/steps/{stepId}": "GetCardStep",
34
35
  "PUT:/{accountId}/card_tables/steps/{stepId}": "UpdateCardStep",
35
36
  "PUT:/{accountId}/card_tables/steps/{stepId}/completions.json": "SetCardStepCompletion",
36
37
  "GET:/{accountId}/categories.json": "ListMessageTypes",
@@ -71,6 +72,7 @@ export const PATH_TO_OPERATION: Record<string, string> = {
71
72
  "GET:/{accountId}/inbox_forwards/{forwardId}/replies/{replyId}": "GetForwardReply",
72
73
  "GET:/{accountId}/inboxes/{inboxId}": "GetInbox",
73
74
  "GET:/{accountId}/inboxes/{inboxId}/forwards.json": "ListForwards",
75
+ "GET:/{accountId}/lineup/markers.json": "ListLineupMarkers",
74
76
  "POST:/{accountId}/lineup/markers.json": "CreateLineupMarker",
75
77
  "DELETE:/{accountId}/lineup/markers/{markerId}": "DeleteLineupMarker",
76
78
  "PUT:/{accountId}/lineup/markers/{markerId}": "UpdateLineupMarker",
@@ -232,7 +232,8 @@ export interface paths {
232
232
  path?: never;
233
233
  cookie?: never;
234
234
  };
235
- get?: never;
235
+ /** @description Get a step by ID */
236
+ get: operations["GetCardStep"];
236
237
  /** @description Update an existing step */
237
238
  put: operations["UpdateCardStep"];
238
239
  post?: never;
@@ -811,7 +812,8 @@ export interface paths {
811
812
  path?: never;
812
813
  cookie?: never;
813
814
  };
814
- get?: never;
815
+ /** @description List all lineup markers for the account */
816
+ get: operations["ListLineupMarkers"];
815
817
  put?: never;
816
818
  /** @description Create a new lineup marker */
817
819
  post: operations["CreateLineupMarker"];
@@ -2505,6 +2507,7 @@ export interface components {
2505
2507
  CloneToolRequestContent: {
2506
2508
  /** Format: int64 */
2507
2509
  source_recording_id: number;
2510
+ title?: string;
2508
2511
  };
2509
2512
  CloneToolResponseContent: components["schemas"]["Tool"];
2510
2513
  Comment: {
@@ -2814,6 +2817,7 @@ export interface components {
2814
2817
  GetCampfireResponseContent: components["schemas"]["Campfire"];
2815
2818
  GetCardColumnResponseContent: components["schemas"]["CardColumn"];
2816
2819
  GetCardResponseContent: components["schemas"]["Card"];
2820
+ GetCardStepResponseContent: components["schemas"]["CardStep"];
2817
2821
  GetCardTableResponseContent: components["schemas"]["CardTable"];
2818
2822
  GetChatbotResponseContent: components["schemas"]["Chatbot"];
2819
2823
  GetClientApprovalResponseContent: components["schemas"]["ClientApproval"];
@@ -2894,6 +2898,14 @@ export interface components {
2894
2898
  error: string;
2895
2899
  message?: string;
2896
2900
  };
2901
+ LineupMarker: {
2902
+ /** Format: int64 */
2903
+ id: number;
2904
+ name: string;
2905
+ date: string;
2906
+ created_at: string;
2907
+ updated_at: string;
2908
+ };
2897
2909
  ListAnswersResponseContent: components["schemas"]["QuestionAnswer"][];
2898
2910
  ListAssignablePeopleResponseContent: components["schemas"]["Person"][];
2899
2911
  ListCampfireLinesResponseContent: components["schemas"]["CampfireLine"][];
@@ -2910,6 +2922,7 @@ export interface components {
2910
2922
  ListEventsResponseContent: components["schemas"]["Event"][];
2911
2923
  ListForwardRepliesResponseContent: components["schemas"]["ForwardReply"][];
2912
2924
  ListForwardsResponseContent: components["schemas"]["Forward"][];
2925
+ ListLineupMarkersResponseContent: components["schemas"]["LineupMarker"][];
2913
2926
  ListMessageTypesResponseContent: components["schemas"]["MessageType"][];
2914
2927
  ListMessagesResponseContent: components["schemas"]["Message"][];
2915
2928
  ListPeopleResponseContent: components["schemas"]["Person"][];
@@ -5090,6 +5103,64 @@ export interface operations {
5090
5103
  };
5091
5104
  };
5092
5105
  };
5106
+ GetCardStep: {
5107
+ parameters: {
5108
+ query?: never;
5109
+ header?: never;
5110
+ path: {
5111
+ stepId: number;
5112
+ };
5113
+ cookie?: never;
5114
+ };
5115
+ requestBody?: never;
5116
+ responses: {
5117
+ /** @description GetCardStep 200 response */
5118
+ 200: {
5119
+ headers: {
5120
+ [name: string]: unknown;
5121
+ };
5122
+ content: {
5123
+ "application/json": components["schemas"]["GetCardStepResponseContent"];
5124
+ };
5125
+ };
5126
+ /** @description UnauthorizedError 401 response */
5127
+ 401: {
5128
+ headers: {
5129
+ [name: string]: unknown;
5130
+ };
5131
+ content: {
5132
+ "application/json": components["schemas"]["UnauthorizedErrorResponseContent"];
5133
+ };
5134
+ };
5135
+ /** @description ForbiddenError 403 response */
5136
+ 403: {
5137
+ headers: {
5138
+ [name: string]: unknown;
5139
+ };
5140
+ content: {
5141
+ "application/json": components["schemas"]["ForbiddenErrorResponseContent"];
5142
+ };
5143
+ };
5144
+ /** @description NotFoundError 404 response */
5145
+ 404: {
5146
+ headers: {
5147
+ [name: string]: unknown;
5148
+ };
5149
+ content: {
5150
+ "application/json": components["schemas"]["NotFoundErrorResponseContent"];
5151
+ };
5152
+ };
5153
+ /** @description InternalServerError 500 response */
5154
+ 500: {
5155
+ headers: {
5156
+ [name: string]: unknown;
5157
+ };
5158
+ content: {
5159
+ "application/json": components["schemas"]["InternalServerErrorResponseContent"];
5160
+ };
5161
+ };
5162
+ };
5163
+ };
5093
5164
  UpdateCardStep: {
5094
5165
  parameters: {
5095
5166
  query?: never;
@@ -7823,6 +7894,62 @@ export interface operations {
7823
7894
  };
7824
7895
  };
7825
7896
  };
7897
+ ListLineupMarkers: {
7898
+ parameters: {
7899
+ query?: never;
7900
+ header?: never;
7901
+ path?: never;
7902
+ cookie?: never;
7903
+ };
7904
+ requestBody?: never;
7905
+ responses: {
7906
+ /** @description ListLineupMarkers 200 response */
7907
+ 200: {
7908
+ headers: {
7909
+ [name: string]: unknown;
7910
+ };
7911
+ content: {
7912
+ "application/json": components["schemas"]["ListLineupMarkersResponseContent"];
7913
+ };
7914
+ };
7915
+ /** @description UnauthorizedError 401 response */
7916
+ 401: {
7917
+ headers: {
7918
+ [name: string]: unknown;
7919
+ };
7920
+ content: {
7921
+ "application/json": components["schemas"]["UnauthorizedErrorResponseContent"];
7922
+ };
7923
+ };
7924
+ /** @description ForbiddenError 403 response */
7925
+ 403: {
7926
+ headers: {
7927
+ [name: string]: unknown;
7928
+ };
7929
+ content: {
7930
+ "application/json": components["schemas"]["ForbiddenErrorResponseContent"];
7931
+ };
7932
+ };
7933
+ /** @description RateLimitError 429 response */
7934
+ 429: {
7935
+ headers: {
7936
+ [name: string]: unknown;
7937
+ };
7938
+ content: {
7939
+ "application/json": components["schemas"]["RateLimitErrorResponseContent"];
7940
+ };
7941
+ };
7942
+ /** @description InternalServerError 500 response */
7943
+ 500: {
7944
+ headers: {
7945
+ [name: string]: unknown;
7946
+ };
7947
+ content: {
7948
+ "application/json": components["schemas"]["InternalServerErrorResponseContent"];
7949
+ };
7950
+ };
7951
+ };
7952
+ };
7826
7953
  CreateLineupMarker: {
7827
7954
  parameters: {
7828
7955
  query?: never;
@@ -12455,7 +12582,7 @@ export interface operations {
12455
12582
  parameters: {
12456
12583
  query: {
12457
12584
  q: string;
12458
- /** @description created_at|updated_at */
12585
+ /** @description best_match|created_at */
12459
12586
  sort?: string;
12460
12587
  };
12461
12588
  header?: never;
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Automation service for the Basecamp API.
3
+ *
4
+ * @generated from OpenAPI spec - do not edit directly
5
+ */
6
+
7
+ import { BaseService } from "../../services/base.js";
8
+ import type { components } from "../schema.js";
9
+
10
+ // =============================================================================
11
+ // Types
12
+ // =============================================================================
13
+
14
+ /** LineupMarker entity from the Basecamp API. */
15
+ export type LineupMarker = components["schemas"]["LineupMarker"];
16
+
17
+ // =============================================================================
18
+ // Service
19
+ // =============================================================================
20
+
21
+ /**
22
+ * Service for Automation operations.
23
+ */
24
+ export class AutomationService extends BaseService {
25
+
26
+ /**
27
+ * List all lineup markers for the account
28
+ * @returns Array of LineupMarker
29
+ *
30
+ * @example
31
+ * ```ts
32
+ * const result = await client.automation.listLineupMarkers();
33
+ * ```
34
+ */
35
+ async listLineupMarkers(): Promise<LineupMarker[]> {
36
+ const response = await this.request(
37
+ {
38
+ service: "Automation",
39
+ operation: "ListLineupMarkers",
40
+ resourceType: "lineup_marker",
41
+ isMutation: false,
42
+ },
43
+ () =>
44
+ this.client.GET("/lineup/markers.json", {
45
+ })
46
+ );
47
+ return response ?? [];
48
+ }
49
+ }
@@ -198,7 +198,7 @@ export class BoostsService extends BaseService {
198
198
  operation: "ListEventBoosts",
199
199
  resourceType: "event_boost",
200
200
  isMutation: false,
201
- resourceId: recordingId,
201
+ resourceId: eventId,
202
202
  },
203
203
  () =>
204
204
  this.client.GET("/recordings/{recordingId}/events/{eventId}/boosts.json", {
@@ -233,7 +233,7 @@ export class BoostsService extends BaseService {
233
233
  operation: "CreateEventBoost",
234
234
  resourceType: "event_boost",
235
235
  isMutation: true,
236
- resourceId: recordingId,
236
+ resourceId: eventId,
237
237
  },
238
238
  () =>
239
239
  this.client.POST("/recordings/{recordingId}/events/{eventId}/boosts.json", {
@@ -227,7 +227,7 @@ export class CampfiresService extends BaseService {
227
227
  operation: "GetChatbot",
228
228
  resourceType: "chatbot",
229
229
  isMutation: false,
230
- resourceId: campfireId,
230
+ resourceId: chatbotId,
231
231
  },
232
232
  () =>
233
233
  this.client.GET("/chats/{campfireId}/integrations/{chatbotId}", {
@@ -262,7 +262,7 @@ export class CampfiresService extends BaseService {
262
262
  operation: "UpdateChatbot",
263
263
  resourceType: "chatbot",
264
264
  isMutation: true,
265
- resourceId: campfireId,
265
+ resourceId: chatbotId,
266
266
  },
267
267
  () =>
268
268
  this.client.PUT("/chats/{campfireId}/integrations/{chatbotId}", {
@@ -297,7 +297,7 @@ export class CampfiresService extends BaseService {
297
297
  operation: "DeleteChatbot",
298
298
  resourceType: "chatbot",
299
299
  isMutation: true,
300
- resourceId: campfireId,
300
+ resourceId: chatbotId,
301
301
  },
302
302
  () =>
303
303
  this.client.DELETE("/chats/{campfireId}/integrations/{chatbotId}", {
@@ -395,7 +395,7 @@ export class CampfiresService extends BaseService {
395
395
  operation: "GetCampfireLine",
396
396
  resourceType: "campfire_line",
397
397
  isMutation: false,
398
- resourceId: campfireId,
398
+ resourceId: lineId,
399
399
  },
400
400
  () =>
401
401
  this.client.GET("/chats/{campfireId}/lines/{lineId}", {
@@ -426,7 +426,7 @@ export class CampfiresService extends BaseService {
426
426
  operation: "DeleteCampfireLine",
427
427
  resourceType: "campfire_line",
428
428
  isMutation: true,
429
- resourceId: campfireId,
429
+ resourceId: lineId,
430
430
  },
431
431
  () =>
432
432
  this.client.DELETE("/chats/{campfireId}/lines/{lineId}", {
@@ -143,6 +143,36 @@ export class CardStepsService extends BaseService {
143
143
  return response;
144
144
  }
145
145
 
146
+ /**
147
+ * Get a step by ID
148
+ * @param stepId - The step ID
149
+ * @returns The CardStep
150
+ * @throws {BasecampError} If the resource is not found
151
+ *
152
+ * @example
153
+ * ```ts
154
+ * const result = await client.cardSteps.get(123);
155
+ * ```
156
+ */
157
+ async get(stepId: number): Promise<CardStep> {
158
+ const response = await this.request(
159
+ {
160
+ service: "CardSteps",
161
+ operation: "GetCardStep",
162
+ resourceType: "card_step",
163
+ isMutation: false,
164
+ resourceId: stepId,
165
+ },
166
+ () =>
167
+ this.client.GET("/card_tables/steps/{stepId}", {
168
+ params: {
169
+ path: { stepId },
170
+ },
171
+ })
172
+ );
173
+ return response;
174
+ }
175
+
146
176
  /**
147
177
  * Update an existing step
148
178
  * @param stepId - The step ID