| Components of contract assets and contract liabilities | The components of contract assets and contract liabilities consisted of the following: 
|  |  |  |  |  |  |  |  |  |  |  |  |  
|  | June 30, |  | December 31, |  
|  | 2024 |  | 2023 |  
|  | (in thousands) |  
| Contract assets - current: |  |  |  |  
| Unbilled revenue | $ | 28,166 |  |  | $ | 15,213 |  |  
|  |  |  |  |  
| Total contract assets - current | $ | 28,166 |  |  | $ | 15,213 |  |  
|  |  |  |  |  
| Contract assets - long-term: |  |  |  |  
| Unbilled revenue - long-term | $ | 1,332 |  |  | $ | 8,150 |  |  
| Other contract assets - long-term | 1,168 |  |  | 610 |  |  
| 
Total contract assets - long-term(1)
 | $ | 2,500 |  |  | $ | 8,760 |  |  
|  |  |  |  |  
| Contract liabilities - current: |  |  |  |  
| Deferred revenue - current | $ | 4,580 |  |  | $ | 3,670 |  |  
|  |  |  |  |  
| Total contract liabilities - current | $ | 4,580 |  |  | $ | 3,670 |  |  
|  |  |  |  |  
| Contract liabilities - long-term: |  |  |  |  
|  |  |  |  |  
| Other contract liabilities - long-term | $ | 1,217 |  |  | $ | 169 |  |  
| Total contract liabilities - long-term | $ | 1,217 |  |  | $ | 169 |  | Changes in short-term and long-term contract assets and contract liabilities for the six months ended June 30, 2024 were as follows: 
|  |  |  |  |  |  |  |  |  |  |  |  |  
|  | Contract Assets |  | Contract Liabilities |  
|  | (in thousands) |  
| Balance as of January 1, 2024 | $ | 23,973 |  |  | $ | 3,839 |  |  
| Billings or revenue recognized that was included in the beginning balance | (6,162) |  |  | (3,219) |  |  
| Changes in contract assets or contract liabilities, net of reclassification to receivables | 11,229 |  |  | 4,065 |  |  
| Cumulative catch-up adjustment arising from changes in estimates to complete | 1,068 |  |  | (11) |  |  
| Cumulative catch-up adjustment arising from contract modifications | — |  |  | 76 |  |  
| Changes in costs to fulfill and amortization of commission costs | 558 |  |  | — |  |  
| Changes in contract commission costs | — |  |  | 1,047 |  |  
| Balance as of June 30, 2024 | $ | 30,666 |  |  | $ | 5,797 |  |  |