import assert from 'node:assert/strict' import test from 'node:test' const load = async () => import('../src/api/error.js') test('accepts a bounded structured API message', async () => { const { getSafeApiErrorMessage } = await load() assert.equal( getSafeApiErrorMessage( { response: { data: { error_code: 'project_not_found', message: 'Project not found' } } }, 'Request failed', ), 'Project not found', ) }) test('rejects raw traceback and filesystem leakage', async () => { const { getSafeApiErrorMessage } = await load() const error = { response: { data: { error_code: 'internal_error', message: 'Traceback: File "/Users/secret/app.py" API_KEY=sk-live-secret', }, }, } assert.equal(getSafeApiErrorMessage(error, 'Request failed'), 'Request failed') }) test('rejects unstructured Chinese or oversized server text', async () => { const { getSafeApiErrorMessage } = await load() assert.equal( getSafeApiErrorMessage({ response: { data: { error: '项目不存在' } } }, 'Request failed'), 'Request failed', ) assert.equal( getSafeApiErrorMessage( { response: { data: { error_code: 'bad', message: 'x'.repeat(241) } } }, 'Request failed', ), 'Request failed', ) })