@37signals/basecamp 0.7.3 → 0.9.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 (162) hide show
  1. package/README.md +82 -2
  2. package/dist/client.d.ts +7 -4
  3. package/dist/client.d.ts.map +1 -1
  4. package/dist/client.js +32 -23
  5. package/dist/client.js.map +1 -1
  6. package/dist/download.d.ts.map +1 -1
  7. package/dist/errors.d.ts +10 -0
  8. package/dist/errors.d.ts.map +1 -1
  9. package/dist/errors.js +7 -1
  10. package/dist/errors.js.map +1 -1
  11. package/dist/generated/metadata.d.ts +32 -0
  12. package/dist/generated/metadata.d.ts.map +1 -0
  13. package/dist/generated/metadata.js +2723 -0
  14. package/dist/generated/metadata.js.map +1 -0
  15. package/dist/generated/{metadata.json → metadata.ts} +141 -35
  16. package/dist/generated/openapi-stripped.json +1713 -478
  17. package/dist/generated/path-mapping.d.ts.map +1 -1
  18. package/dist/generated/path-mapping.js +10 -5
  19. package/dist/generated/path-mapping.js.map +1 -1
  20. package/dist/generated/path-mapping.ts +10 -5
  21. package/dist/generated/schema.d.ts +1027 -265
  22. package/dist/generated/services/campfires.d.ts +22 -1
  23. package/dist/generated/services/campfires.d.ts.map +1 -1
  24. package/dist/generated/services/campfires.js +33 -1
  25. package/dist/generated/services/campfires.js.map +1 -1
  26. package/dist/generated/services/campfires.ts +46 -1
  27. package/dist/generated/services/card-columns.d.ts +31 -28
  28. package/dist/generated/services/card-columns.d.ts.map +1 -1
  29. package/dist/generated/services/card-columns.js +57 -51
  30. package/dist/generated/services/card-columns.js.map +1 -1
  31. package/dist/generated/services/card-columns.ts +65 -59
  32. package/dist/generated/services/checkins.d.ts +3 -1
  33. package/dist/generated/services/checkins.d.ts.map +1 -1
  34. package/dist/generated/services/checkins.js +2 -1
  35. package/dist/generated/services/checkins.js.map +1 -1
  36. package/dist/generated/services/checkins.ts +4 -1
  37. package/dist/generated/services/documents.d.ts +2 -0
  38. package/dist/generated/services/documents.d.ts.map +1 -1
  39. package/dist/generated/services/documents.js +1 -0
  40. package/dist/generated/services/documents.js.map +1 -1
  41. package/dist/generated/services/documents.ts +3 -0
  42. package/dist/generated/services/gauges.d.ts +2 -2
  43. package/dist/generated/services/gauges.js +2 -2
  44. package/dist/generated/services/gauges.ts +2 -2
  45. package/dist/generated/services/index.d.ts +3 -2
  46. package/dist/generated/services/index.d.ts.map +1 -1
  47. package/dist/generated/services/index.js +3 -2
  48. package/dist/generated/services/index.js.map +1 -1
  49. package/dist/generated/services/index.ts +3 -2
  50. package/dist/generated/services/messages.d.ts +2 -0
  51. package/dist/generated/services/messages.d.ts.map +1 -1
  52. package/dist/generated/services/messages.js +1 -0
  53. package/dist/generated/services/messages.js.map +1 -1
  54. package/dist/generated/services/messages.ts +3 -0
  55. package/dist/generated/services/people.d.ts +2 -2
  56. package/dist/generated/services/people.js +2 -2
  57. package/dist/generated/services/people.ts +2 -2
  58. package/dist/generated/services/reports.d.ts +1 -1
  59. package/dist/generated/services/reports.js +1 -1
  60. package/dist/generated/services/reports.ts +1 -1
  61. package/dist/generated/services/schedules.d.ts +2 -0
  62. package/dist/generated/services/schedules.d.ts.map +1 -1
  63. package/dist/generated/services/schedules.js +1 -0
  64. package/dist/generated/services/schedules.js.map +1 -1
  65. package/dist/generated/services/schedules.ts +3 -0
  66. package/dist/generated/services/search.d.ts +30 -1
  67. package/dist/generated/services/search.d.ts.map +1 -1
  68. package/dist/generated/services/search.js +1 -1
  69. package/dist/generated/services/search.js.map +1 -1
  70. package/dist/generated/services/search.ts +31 -2
  71. package/dist/generated/services/templates.d.ts +3 -5
  72. package/dist/generated/services/templates.d.ts.map +1 -1
  73. package/dist/generated/services/templates.js +4 -5
  74. package/dist/generated/services/templates.js.map +1 -1
  75. package/dist/generated/services/templates.ts +6 -9
  76. package/dist/generated/services/todolists.d.ts +22 -0
  77. package/dist/generated/services/todolists.d.ts.map +1 -1
  78. package/dist/generated/services/todolists.js +31 -0
  79. package/dist/generated/services/todolists.js.map +1 -1
  80. package/dist/generated/services/todolists.ts +46 -0
  81. package/dist/generated/services/todos.d.ts +8 -8
  82. package/dist/generated/services/todos.d.ts.map +1 -1
  83. package/dist/generated/services/todos.js +9 -6
  84. package/dist/generated/services/todos.js.map +1 -1
  85. package/dist/generated/services/todos.ts +12 -9
  86. package/dist/generated/services/tools.d.ts +11 -10
  87. package/dist/generated/services/tools.d.ts.map +1 -1
  88. package/dist/generated/services/tools.js +16 -8
  89. package/dist/generated/services/tools.js.map +1 -1
  90. package/dist/generated/services/tools.ts +21 -13
  91. package/dist/generated/services/uploads.d.ts +2 -0
  92. package/dist/generated/services/uploads.d.ts.map +1 -1
  93. package/dist/generated/services/uploads.js +1 -0
  94. package/dist/generated/services/uploads.js.map +1 -1
  95. package/dist/generated/services/uploads.ts +3 -0
  96. package/dist/generated/services/webhooks.js +2 -2
  97. package/dist/generated/services/webhooks.js.map +1 -1
  98. package/dist/generated/services/webhooks.ts +2 -2
  99. package/dist/generated/services/wormholes.d.ts +70 -0
  100. package/dist/generated/services/wormholes.d.ts.map +1 -0
  101. package/dist/generated/services/wormholes.js +103 -0
  102. package/dist/generated/services/wormholes.js.map +1 -0
  103. package/dist/generated/services/wormholes.ts +145 -0
  104. package/dist/index.d.ts +8 -5
  105. package/dist/index.d.ts.map +1 -1
  106. package/dist/index.js +4 -3
  107. package/dist/index.js.map +1 -1
  108. package/dist/oauth/discovery.d.ts +105 -23
  109. package/dist/oauth/discovery.d.ts.map +1 -1
  110. package/dist/oauth/discovery.js +453 -61
  111. package/dist/oauth/discovery.js.map +1 -1
  112. package/dist/oauth/index.d.ts +2 -2
  113. package/dist/oauth/index.d.ts.map +1 -1
  114. package/dist/oauth/index.js +1 -1
  115. package/dist/oauth/index.js.map +1 -1
  116. package/dist/oauth/interactive-login.d.ts +20 -2
  117. package/dist/oauth/interactive-login.d.ts.map +1 -1
  118. package/dist/oauth/interactive-login.js +58 -4
  119. package/dist/oauth/interactive-login.js.map +1 -1
  120. package/dist/oauth/types.d.ts +54 -2
  121. package/dist/oauth/types.d.ts.map +1 -1
  122. package/dist/security.d.ts +22 -0
  123. package/dist/security.d.ts.map +1 -1
  124. package/dist/security.js +56 -1
  125. package/dist/security.js.map +1 -1
  126. package/dist/services/authorization.d.ts.map +1 -1
  127. package/dist/services/authorization.js +3 -0
  128. package/dist/services/authorization.js.map +1 -1
  129. package/dist/services/base.d.ts.map +1 -1
  130. package/dist/services/base.js +1 -3
  131. package/dist/services/base.js.map +1 -1
  132. package/dist/services/todos-extensions.d.ts +118 -0
  133. package/dist/services/todos-extensions.d.ts.map +1 -0
  134. package/dist/services/todos-extensions.js +113 -0
  135. package/dist/services/todos-extensions.js.map +1 -0
  136. package/dist/services/uploads-extensions.d.ts +33 -0
  137. package/dist/services/uploads-extensions.d.ts.map +1 -0
  138. package/dist/services/uploads-extensions.js +48 -0
  139. package/dist/services/uploads-extensions.js.map +1 -0
  140. package/package.json +7 -4
  141. package/src/generated/{metadata.json → metadata.ts} +141 -35
  142. package/src/generated/openapi-stripped.json +1713 -478
  143. package/src/generated/path-mapping.ts +10 -5
  144. package/src/generated/schema.d.ts +1027 -265
  145. package/src/generated/services/campfires.ts +46 -1
  146. package/src/generated/services/card-columns.ts +65 -59
  147. package/src/generated/services/checkins.ts +4 -1
  148. package/src/generated/services/documents.ts +3 -0
  149. package/src/generated/services/gauges.ts +2 -2
  150. package/src/generated/services/index.ts +3 -2
  151. package/src/generated/services/messages.ts +3 -0
  152. package/src/generated/services/people.ts +2 -2
  153. package/src/generated/services/reports.ts +1 -1
  154. package/src/generated/services/schedules.ts +3 -0
  155. package/src/generated/services/search.ts +31 -2
  156. package/src/generated/services/templates.ts +6 -9
  157. package/src/generated/services/todolists.ts +46 -0
  158. package/src/generated/services/todos.ts +12 -9
  159. package/src/generated/services/tools.ts +21 -13
  160. package/src/generated/services/uploads.ts +3 -0
  161. package/src/generated/services/webhooks.ts +2 -2
  162. package/src/generated/services/wormholes.ts +145 -0
@@ -0,0 +1,145 @@
1
+ /**
2
+ * Wormholes 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
+ /** Wormhole entity from the Basecamp API. */
15
+ export type Wormhole = components["schemas"]["Wormhole"];
16
+
17
+ /**
18
+ * Request parameters for update.
19
+ */
20
+ export interface UpdateWormholeRequest {
21
+ /** Id of the new destination column (on another accessible card table). */
22
+ destinationRecordingId: number;
23
+ }
24
+
25
+ /**
26
+ * Request parameters for create.
27
+ */
28
+ export interface CreateWormholeRequest {
29
+ /** Id of the destination column (on another accessible card table) to link to. */
30
+ destinationRecordingId: number;
31
+ }
32
+
33
+
34
+ // =============================================================================
35
+ // Service
36
+ // =============================================================================
37
+
38
+ /**
39
+ * Service for Wormholes operations.
40
+ */
41
+ export class WormholesService extends BaseService {
42
+
43
+ /**
44
+ * Update a wormhole's destination column
45
+ * @param bucketId - The bucket ID
46
+ * @param wormholeId - The wormhole ID
47
+ * @param req - Wormhole update parameters
48
+ * @returns The Wormhole
49
+ * @throws {BasecampError} If the resource is not found or fields are invalid
50
+ *
51
+ * @example
52
+ * ```ts
53
+ * const result = await client.wormholes.update(123, 123, { destinationRecordingId: 1 });
54
+ * ```
55
+ */
56
+ async update(bucketId: number, wormholeId: number, req: UpdateWormholeRequest): Promise<Wormhole> {
57
+ const response = await this.request(
58
+ {
59
+ service: "Wormholes",
60
+ operation: "UpdateWormhole",
61
+ resourceType: "wormhole",
62
+ isMutation: true,
63
+ projectId: bucketId,
64
+ resourceId: wormholeId,
65
+ },
66
+ () =>
67
+ this.client.PUT("/buckets/{bucketId}/card_tables/wormholes/{wormholeId}", {
68
+ params: {
69
+ path: { bucketId, wormholeId },
70
+ },
71
+ body: {
72
+ destination_recording_id: req.destinationRecordingId,
73
+ },
74
+ })
75
+ );
76
+ return response;
77
+ }
78
+
79
+ /**
80
+ * Delete a wormhole
81
+ * @param bucketId - The bucket ID
82
+ * @param wormholeId - The wormhole ID
83
+ * @returns void
84
+ * @throws {BasecampError} If the request fails
85
+ *
86
+ * @example
87
+ * ```ts
88
+ * await client.wormholes.delete(123, 123);
89
+ * ```
90
+ */
91
+ async delete(bucketId: number, wormholeId: number): Promise<void> {
92
+ await this.request(
93
+ {
94
+ service: "Wormholes",
95
+ operation: "DeleteWormhole",
96
+ resourceType: "wormhole",
97
+ isMutation: true,
98
+ projectId: bucketId,
99
+ resourceId: wormholeId,
100
+ },
101
+ () =>
102
+ this.client.DELETE("/buckets/{bucketId}/card_tables/wormholes/{wormholeId}", {
103
+ params: {
104
+ path: { bucketId, wormholeId },
105
+ },
106
+ })
107
+ );
108
+ }
109
+
110
+ /**
111
+ * Create a wormhole linking this card table to a column on another card table.
112
+ * @param bucketId - The bucket ID
113
+ * @param cardTableId - The card table ID
114
+ * @param req - Wormhole creation parameters
115
+ * @returns The Wormhole
116
+ * @throws {BasecampError} If required fields are missing or invalid
117
+ *
118
+ * @example
119
+ * ```ts
120
+ * const result = await client.wormholes.create(123, 123, { destinationRecordingId: 1 });
121
+ * ```
122
+ */
123
+ async create(bucketId: number, cardTableId: number, req: CreateWormholeRequest): Promise<Wormhole> {
124
+ const response = await this.request(
125
+ {
126
+ service: "Wormholes",
127
+ operation: "CreateWormhole",
128
+ resourceType: "wormhole",
129
+ isMutation: true,
130
+ projectId: bucketId,
131
+ resourceId: cardTableId,
132
+ },
133
+ () =>
134
+ this.client.POST("/buckets/{bucketId}/card_tables/{cardTableId}/wormholes.json", {
135
+ params: {
136
+ path: { bucketId, cardTableId },
137
+ },
138
+ body: {
139
+ destination_recording_id: req.destinationRecordingId,
140
+ },
141
+ })
142
+ );
143
+ return response;
144
+ }
145
+ }
package/dist/index.d.ts CHANGED
@@ -40,8 +40,9 @@ export { chainHooks, consoleHooks, noopHooks, safeInvoke, type BasecampHooks, ty
40
40
  export { BaseService, type FetchResponse } from "./services/base.js";
41
41
  export { AuthorizationService, type Identity, type AuthorizedAccount, type AuthorizationInfo, type GetAuthorizationInfoOptions, } from "./services/authorization.js";
42
42
  export { ProjectsService, type Project, type ListProjectOptions, type CreateProjectRequest, type UpdateProjectRequest, } from "./generated/services/projects.js";
43
- export { TodosService, type Todo, type ListTodoOptions, type CreateTodoRequest, type UpdateTodoRequest, type RepositionTodoRequest, } from "./generated/services/todos.js";
44
- export { TodolistsService, type Todolist, type ListTodolistOptions, type CreateTodolistRequest, type UpdateTodolistRequest, } from "./generated/services/todolists.js";
43
+ export { TodosService, type UpdateTodoRequest, type TodoFields, } from "./services/todos-extensions.js";
44
+ export { type Todo, type ListTodoOptions, type CreateTodoRequest, type ReplaceTodoRequest, type RepositionTodoRequest, } from "./generated/services/todos.js";
45
+ export { TodolistsService, type Todolist, type ListTodolistOptions, type CreateTodolistRequest, type UpdateTodolistRequest, type RepositionTodolistRequest, } from "./generated/services/todolists.js";
45
46
  export { TodosetsService, type Todoset, } from "./generated/services/todosets.js";
46
47
  export { HillChartsService, type UpdateSettingsHillChartRequest, } from "./generated/services/hill-charts.js";
47
48
  export { PeopleService, type Person, type UpdateProjectAccessPeopleRequest, } from "./generated/services/people.js";
@@ -52,6 +53,7 @@ export { CardTablesService, type CardTable, } from "./generated/services/card-ta
52
53
  export { CardsService, type Card, type CreateCardRequest, type UpdateCardRequest, type MoveCardRequest, } from "./generated/services/cards.js";
53
54
  export { CardColumnsService, type CardColumn, type CreateCardColumnRequest, type UpdateCardColumnRequest, type MoveCardColumnRequest, type SetColorCardColumnRequest, } from "./generated/services/card-columns.js";
54
55
  export { CardStepsService, type CardStep, type CreateCardStepRequest, type UpdateCardStepRequest, } from "./generated/services/card-steps.js";
56
+ export { WormholesService, type Wormhole, type CreateWormholeRequest, type UpdateWormholeRequest, } from "./generated/services/wormholes.js";
55
57
  export { MessageBoardsService, type MessageBoard, } from "./generated/services/message-boards.js";
56
58
  export { MessageTypesService, type MessageType, type CreateMessageTypeRequest, type UpdateMessageTypeRequest, } from "./generated/services/message-types.js";
57
59
  export { ForwardsService, type Inbox, type Forward, type ForwardReply, type CreateReplyForwardRequest, } from "./generated/services/forwards.js";
@@ -70,7 +72,8 @@ export { EventsService, type Event, } from "./generated/services/events.js";
70
72
  export { AttachmentsService, } from "./generated/services/attachments.js";
71
73
  export { VaultsService, type Vault, type CreateVaultRequest, type UpdateVaultRequest, } from "./generated/services/vaults.js";
72
74
  export { DocumentsService, type Document, type CreateDocumentRequest, type UpdateDocumentRequest, } from "./generated/services/documents.js";
73
- export { UploadsService, type Upload, type CreateUploadRequest, type UpdateUploadRequest, } from "./generated/services/uploads.js";
75
+ export { UploadsService } from "./services/uploads-extensions.js";
76
+ export { type Upload, type CreateUploadRequest, type UpdateUploadRequest, } from "./generated/services/uploads.js";
74
77
  export { SchedulesService, type Schedule, type ScheduleEntry, type CreateEntryScheduleRequest, type UpdateEntryScheduleRequest, type UpdateSettingsScheduleRequest, type ListEntriesScheduleOptions, } from "./generated/services/schedules.js";
75
78
  export { TimesheetsService, type ForRecordingTimesheetOptions, type ForProjectTimesheetOptions, type ReportTimesheetOptions, } from "./generated/services/timesheets.js";
76
79
  export { TimelineService, } from "./generated/services/timeline.js";
@@ -88,8 +91,8 @@ export { GaugesService, } from "./generated/services/gauges.js";
88
91
  export { MyAssignmentsService, } from "./generated/services/my-assignments.js";
89
92
  export { MyNotificationsService, } from "./generated/services/my-notifications.js";
90
93
  export { otelHooks, type OtelHooksOptions, } from "./hooks/otel.js";
91
- export type { OAuthConfig, OAuthToken, ExchangeRequest, RefreshRequest, RawTokenResponse, OAuthErrorResponse, } from "./oauth/types.js";
92
- export { discover, discoverLaunchpad, LAUNCHPAD_BASE_URL, type DiscoverOptions, } from "./oauth/discovery.js";
94
+ export type { OAuthConfig, OAuthToken, ExchangeRequest, RefreshRequest, RawTokenResponse, OAuthErrorResponse, ProtectedResourceMetadata, FallbackReason, DiscoverySelectionErrorReason, DiscoverFromResourceResult, } from "./oauth/types.js";
95
+ export { discover, discoverProtectedResource, discoverFromResource, discoverLaunchpad, requireOriginRoot, DiscoverySelectionError, LAUNCHPAD_BASE_URL, type DiscoverOptions, type DiscoverFromResourceOptions, } from "./oauth/discovery.js";
93
96
  export { exchangeCode, refreshToken, isTokenExpired, type TokenOptions, } from "./oauth/exchange.js";
94
97
  export { generatePKCE, generateState, type PKCE, } from "./oauth/pkce.js";
95
98
  export { redactHeaders, redactHeadersRecord, } from "./security.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -53,7 +53,7 @@ export { BaseService } from "./services/base.js";
53
53
  export { AuthorizationService, } from "./services/authorization.js";
54
54
  // Core services - generated
55
55
  export { ProjectsService, } from "./generated/services/projects.js";
56
- export { TodosService, } from "./generated/services/todos.js";
56
+ export { TodosService, } from "./services/todos-extensions.js";
57
57
  export { TodolistsService, } from "./generated/services/todolists.js";
58
58
  export { TodosetsService, } from "./generated/services/todosets.js";
59
59
  export { HillChartsService, } from "./generated/services/hill-charts.js";
@@ -67,6 +67,7 @@ export { CardTablesService, } from "./generated/services/card-tables.js";
67
67
  export { CardsService, } from "./generated/services/cards.js";
68
68
  export { CardColumnsService, } from "./generated/services/card-columns.js";
69
69
  export { CardStepsService, } from "./generated/services/card-steps.js";
70
+ export { WormholesService, } from "./generated/services/wormholes.js";
70
71
  // Message services - generated
71
72
  export { MessageBoardsService, } from "./generated/services/message-boards.js";
72
73
  export { MessageTypesService, } from "./generated/services/message-types.js";
@@ -92,7 +93,7 @@ export { EventsService, } from "./generated/services/events.js";
92
93
  export { AttachmentsService, } from "./generated/services/attachments.js";
93
94
  export { VaultsService, } from "./generated/services/vaults.js";
94
95
  export { DocumentsService, } from "./generated/services/documents.js";
95
- export { UploadsService, } from "./generated/services/uploads.js";
96
+ export { UploadsService } from "./services/uploads-extensions.js";
96
97
  // Schedule & Time services - generated
97
98
  export { SchedulesService, } from "./generated/services/schedules.js";
98
99
  export { TimesheetsService, } from "./generated/services/timesheets.js";
@@ -124,7 +125,7 @@ export { MyNotificationsService, } from "./generated/services/my-notifications.j
124
125
  // OpenTelemetry hooks
125
126
  export { otelHooks, } from "./hooks/otel.js";
126
127
  // OAuth functions
127
- export { discover, discoverLaunchpad, LAUNCHPAD_BASE_URL, } from "./oauth/discovery.js";
128
+ export { discover, discoverProtectedResource, discoverFromResource, discoverLaunchpad, requireOriginRoot, DiscoverySelectionError, LAUNCHPAD_BASE_URL, } from "./oauth/discovery.js";
128
129
  export { exchangeCode, refreshToken, isTokenExpired, } from "./oauth/exchange.js";
129
130
  // PKCE utilities
130
131
  export { generatePKCE, generateState, } from "./oauth/pkce.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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"}
@@ -1,9 +1,18 @@
1
1
  /**
2
2
  * OAuth 2.0 discovery for Basecamp SDK.
3
3
  *
4
- * Fetches OAuth server configuration from the well-known discovery endpoint.
4
+ * Two composable operations plus an orchestrator (SPEC.md §16, communique §2/§3):
5
+ * - discover(issuerURL) — RFC 8414 AS metadata + issuer binding
6
+ * - discoverProtectedResource(origin) — RFC 9728 resource metadata
7
+ * - discoverFromResource(origin, opts) — resource-first selection + fallback
8
+ *
9
+ * All fetches are SSRF-hardened: HTTPS-only origins (localhost exempt), origin
10
+ * parsed/validated with the platform URL parser before any socket opens,
11
+ * redirects suppressed, timeouts bounded, and bodies read under a genuine
12
+ * bounded cap that aborts before the whole oversized body is buffered.
5
13
  */
6
- import type { OAuthConfig } from "./types.js";
14
+ import { BasecampError } from "../errors.js";
15
+ import type { OAuthConfig, ProtectedResourceMetadata, DiscoverySelectionErrorReason, DiscoverFromResourceResult } from "./types.js";
7
16
  /**
8
17
  * Options for OAuth discovery.
9
18
  */
@@ -12,43 +21,116 @@ export interface DiscoverOptions {
12
21
  fetch?: typeof globalThis.fetch;
13
22
  /** Request timeout in milliseconds (default: 10000) */
14
23
  timeoutMs?: number;
24
+ /**
25
+ * Maximum discovery response body size in bytes (default: 1 MiB). Must be a
26
+ * finite, non-negative number; Infinity/NaN/negative values are ignored and
27
+ * the default cap applies (the bound cannot be disabled).
28
+ */
29
+ maxBodyBytes?: number;
15
30
  }
16
31
  /**
17
- * Discovers OAuth server configuration from the well-known endpoint.
32
+ * Options for {@link discoverFromResource}.
33
+ */
34
+ export interface DiscoverFromResourceOptions extends DiscoverOptions {
35
+ /**
36
+ * Explicit, authoritative issuer selection. When provided, the advertised
37
+ * member equal by code-point is selected; if none matches, discovery raises
38
+ * `expected_issuer_unavailable` (never falls back). Omit to use the
39
+ * Basecamp-profile exclusion heuristic.
40
+ */
41
+ expectedIssuer?: string;
42
+ }
43
+ /**
44
+ * Hard resource-first selection/validation failure. Thrown — never returned as a
45
+ * fallback — so no consumer can convert it into a Launchpad request.
46
+ */
47
+ export declare class DiscoverySelectionError extends BasecampError {
48
+ readonly reason: DiscoverySelectionErrorReason;
49
+ constructor(reason: DiscoverySelectionErrorReason, message: string, options?: {
50
+ cause?: Error;
51
+ httpStatus?: number;
52
+ });
53
+ }
54
+ /**
55
+ * Default Basecamp/Launchpad OAuth server URL.
56
+ */
57
+ export declare const LAUNCHPAD_BASE_URL = "https://launchpad.37signals.com";
58
+ /**
59
+ * Parses a caller- or metadata-supplied origin and enforces the origin-root
60
+ * profile: https (or http+localhost), host present, optional valid port, path
61
+ * empty or exactly "/", and no query/fragment/userinfo. Uses the platform URL
62
+ * parser (never a regex) so bracketed IPv6 and ports agree with the host the
63
+ * client actually dials.
64
+ *
65
+ * Throws `BasecampError("usage")` on violation — a bad *caller* origin is a
66
+ * usage error. Callers validating an *advertised* origin catch and reclassify.
67
+ *
68
+ * @returns the normalized origin (scheme://host[:port], no trailing slash)
69
+ */
70
+ export declare function requireOriginRoot(raw: string, label?: string): string;
71
+ /**
72
+ * True when an issuer string is a valid origin root equal to Launchpad's.
18
73
  *
19
- * Fetches the OAuth 2.0 Authorization Server Metadata from:
20
- * `{baseUrl}/.well-known/oauth-authorization-server`
74
+ * The comparison runs both sides through {@link requireOriginRoot}, so an
75
+ * advertised look-alike that is *not* a clean origin root — e.g.
76
+ * `https://launchpad.37signals.com/path` (path), userinfo, or a query — is not
77
+ * treated as Launchpad. It stays a non-Launchpad candidate and later fails hard
78
+ * (`ambiguous_issuers` / `invalid_issuer_origin`) rather than being silently
79
+ * excluded from selection. A trailing-slash-only origin root still matches
80
+ * because `requireOriginRoot` normalizes it away.
21
81
  *
22
- * @param baseUrl - The OAuth server's base URL (e.g., "https://launchpad.37signals.com")
23
- * @param options - Optional configuration
24
- * @returns The OAuth server configuration
25
- * @throws BasecampError on network or parsing errors
82
+ * Exported so the login orchestrator derives the legacy-token decision from the
83
+ * same predicate the selection heuristic uses.
84
+ */
85
+ export declare function isLaunchpadIssuer(issuer: string): boolean;
86
+ /**
87
+ * Reads a Response body under a bounded, streaming cap. Aborts (cancels the
88
+ * stream) the moment the accumulated size exceeds `maxBytes`, so an oversized
89
+ * body is never fully buffered — real memory bounding, not a post-hoc check.
90
+ *
91
+ * Exported for reuse by the device-flow transport (same bounding, different
92
+ * `label` in the error message); not re-exported from the package index.
93
+ */
94
+ export declare function readBodyBounded(response: Response, maxBytes: number, label?: string): Promise<string>;
95
+ /**
96
+ * Discovers OAuth 2.0 Authorization Server Metadata (RFC 8414) from
97
+ * `{issuerURL}/.well-known/oauth-authorization-server`, and binds it: the
98
+ * returned `issuer` must equal the requested issuer by code-point (no
99
+ * normalization beyond origin-root parsing). `token_endpoint` is required;
100
+ * `authorization_endpoint` is optional (device-only servers omit it).
101
+ *
102
+ * @param baseUrl - The OAuth server's issuer origin (e.g. "https://launchpad.37signals.com")
103
+ * @throws BasecampError("usage") on a malformed origin, api_error on invalid metadata
26
104
  *
27
105
  * @example
28
106
  * ```ts
29
107
  * const config = await discover("https://launchpad.37signals.com");
30
108
  * console.log(config.tokenEndpoint);
31
- * // => "https://launchpad.37signals.com/authorization/token"
32
109
  * ```
33
110
  */
34
111
  export declare function discover(baseUrl: string, options?: DiscoverOptions): Promise<OAuthConfig>;
35
112
  /**
36
- * Default Basecamp/Launchpad OAuth server URL.
113
+ * Discovers RFC 9728 protected-resource metadata from
114
+ * `{resourceOrigin}/.well-known/oauth-protected-resource`. `resource` is
115
+ * required and must equal the requested origin by code-point.
116
+ * `authorization_servers` is preserved distinctly as absent vs `[]`.
117
+ *
118
+ * @throws BasecampError("usage") on a malformed caller origin, api_error on
119
+ * invalid metadata
37
120
  */
38
- export declare const LAUNCHPAD_BASE_URL = "https://launchpad.37signals.com";
121
+ export declare function discoverProtectedResource(resourceOrigin: string, options?: DiscoverOptions): Promise<ProtectedResourceMetadata>;
39
122
  /**
40
- * Discovers OAuth configuration from Basecamp's Launchpad server.
123
+ * Resource-first discovery orchestrator (SPEC.md §16). Composes RFC 9728 + RFC
124
+ * 8414 and applies the stage-sensitive fallback state machine.
41
125
  *
42
- * Convenience function that calls discover() with the Launchpad base URL.
43
- *
44
- * @param options - Optional configuration
45
- * @returns The OAuth server configuration
46
- *
47
- * @example
48
- * ```ts
49
- * const config = await discoverLaunchpad();
50
- * // Use config.authorizationEndpoint to start OAuth flow
51
- * ```
126
+ * Returns `{ kind: "selected", config, issuer }` or `{ kind: "fallback", reason }`
127
+ * where `reason ∈ {resource_discovery_failed, no_as_advertised}`. Every hard
128
+ * failure throws {@link DiscoverySelectionError} callers MUST NOT convert a
129
+ * throw into a Launchpad request.
130
+ */
131
+ export declare function discoverFromResource(resourceOrigin: string, options?: DiscoverFromResourceOptions): Promise<DiscoverFromResourceResult>;
132
+ /**
133
+ * Discovers OAuth configuration from Basecamp's Launchpad server.
52
134
  */
53
135
  export declare function discoverLaunchpad(options?: DiscoverOptions): Promise<OAuthConfig>;
54
136
  //# sourceMappingURL=discovery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../src/oauth/discovery.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAc9C;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,gEAAgE;IAChE,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAChC,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,QAAQ,CAC5B,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,WAAW,CAAC,CAmFtB;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,oCAAoC,CAAC;AAEpE;;;;;;;;;;;;;GAaG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,WAAW,CAAC,CAEtB"}
1
+ {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../src/oauth/discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,aAAa,EAAwB,MAAM,cAAc,CAAC;AAEnE,OAAO,KAAK,EACV,WAAW,EACX,yBAAyB,EAEzB,6BAA6B,EAC7B,0BAA0B,EAC3B,MAAM,YAAY,CAAC;AAwCpB;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,gEAAgE;IAChE,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAChC,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,2BAA4B,SAAQ,eAAe;IAClE;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;GAGG;AACH,qBAAa,uBAAwB,SAAQ,aAAa;IACxD,QAAQ,CAAC,MAAM,EAAE,6BAA6B,CAAC;gBAG7C,MAAM,EAAE,6BAA6B,EACrC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,KAAK,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;CAcnD;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,oCAAoC,CAAC;AAEpE;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,SAAW,GAAG,MAAM,CA6EvE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAMzD;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,MAAM,EAChB,KAAK,SAAoB,GACxB,OAAO,CAAC,MAAM,CAAC,CA0CjB;AAuED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,QAAQ,CAC5B,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,WAAW,CAAC,CAKtB;AAmHD;;;;;;;;GAQG;AACH,wBAAsB,yBAAyB,CAC7C,cAAc,EAAE,MAAM,EACtB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,yBAAyB,CAAC,CA0CpC;AAED;;;;;;;;GAQG;AACH,wBAAsB,oBAAoB,CACxC,cAAc,EAAE,MAAM,EACtB,OAAO,GAAE,2BAAgC,GACxC,OAAO,CAAC,0BAA0B,CAAC,CA4ErC;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,WAAW,CAAC,CAEtB"}