@@ -9,18 +9,23 @@ import {
99 type SeamHttpOptionsWithApiKey ,
1010 type SeamHttpOptionsWithClientSessionToken ,
1111} from './client-options.js'
12+ import { LegacyWorkspaces } from './legacy/workspaces.js'
1213import { Workspaces } from './routes/workspaces.js'
1314
1415export class SeamHttp {
1516 client : Axios
1617
18+ #legacy: boolean
19+
1720 constructor ( apiKeyOrOptions : string | SeamHttpOptions ) {
1821 const options = parseOptions (
1922 typeof apiKeyOrOptions === 'string'
2023 ? { apiKey : apiKeyOrOptions }
2124 : apiKeyOrOptions ,
2225 )
2326
27+ this . #legacy = options . enableLegacyMethodBehaivor
28+
2429 // TODO: axiosRetry? Allow options to configure this if so
2530 this . client = axios . create ( {
2631 baseURL : options . endpoint ,
@@ -67,7 +72,9 @@ export class SeamHttp {
6772 // makeRequest
6873
6974 get workspaces ( ) : Workspaces {
70- return new Workspaces ( this . client )
75+ const workspaces = new Workspaces ( this . client )
76+ if ( this . #legacy) return new LegacyWorkspaces ( this . client )
77+ return workspaces
7178 }
7279}
7380
@@ -88,5 +95,6 @@ const parseOptions = (options: SeamHttpOptions): Required<SeamHttpOptions> => {
8895 ...( apiKey != null ? { apiKey } : { } ) ,
8996 endpoint,
9097 axiosOptions : options . axiosOptions ?? { } ,
98+ enableLegacyMethodBehaivor : false ,
9199 }
92100}
0 commit comments