| Components of contract assets and contract liabilities | The components of contract assets and contract liabilities consisted of the following: 
|  |  |  |  |  |  |  |  |  |  |  |  |  
|  | December 31, |  | December 31, |  
|  | 2023 |  | 2022 |  
|  | (in thousands) |  
| Contract assets - current: |  |  |  |  
| Unbilled revenue | $ | 15,213 |  |  | $ | 5,706 |  |  
|  |  |  |  |  
| Total contract assets - current | $ | 15,213 |  |  | $ | 5,706 |  |  
|  |  |  |  |  
| Contract assets - long-term: |  |  |  |  
| Unbilled revenue - long-term | $ | 8,150 |  |  | $ | 1,287 |  |  
| Contract assets - long-term | 610 |  |  | 681 |  |  
| 
Total contract assets - long-term(1)
 | $ | 8,760 |  |  | $ | 1,968 |  |  
|  |  |  |  |  
| Contract liabilities - current: |  |  |  |  
| Deferred revenue - current | $ | 3,670 |  |  | $ | 6,783 |  |  
|  |  |  |  |  
| Total contract liabilities - current | $ | 3,670 |  |  | $ | 6,783 |  |  
|  |  |  |  |  
| Contract liabilities - long-term: |  |  |  |  
|  |  |  |  |  
| Other contract liabilities - long-term | $ | 169 |  |  | $ | 109 |  |  
| Total contract liabilities - long-term | $ | 169 |  |  | $ | 109 |  | Changes in short-term and long-term contract assets and contract liabilities for the year ended December 31, 2023 were as follows: 
|  |  |  |  |  |  |  |  |  |  |  |  |  
|  | Contract Assets |  | Contract Liabilities |  
|  | (in thousands) |  
| Balance as of January 1, 2023 | $ | 7,674 |  |  | $ | 6,892 |  |  
| Billings or revenue recognized that was included in the beginning balance | (3,063) |  |  | (6,191) |  |  
| Changes in contract assets or contract liabilities, net of reclassification to receivables | 18,854 |  |  | 2,512 |  |  
| Cumulative catch-up adjustment arising from changes in estimates to complete | 595 |  |  | 225 |  |  
| Cumulative catch-up adjustment arising from contract modifications | (16) |  |  | 341 |  |  
| Changes in costs to fulfill and amortization of commission costs | (71) |  |  | — |  |  
| Changes in contract commission costs | — |  |  | 60 |  |  
| Balance as of December 31, 2023 | $ | 23,973 |  |  | $ | 3,839 |  |  |