fix(companion): accept view:null in turn schema (rail sends null when no active entity)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -43,7 +43,8 @@ spacesScopedRouter.get('/', asyncWrap(async (req, res) => {
|
||||
|
||||
const turnSchema = z.object({
|
||||
text: z.string().min(1),
|
||||
view: z.object({ entityType: z.string(), entityId: z.string() }).partial().optional()
|
||||
// nullish: the rail sends `view: null` when not on a specific entity.
|
||||
view: z.object({ entityType: z.string(), entityId: z.string() }).partial().nullish()
|
||||
});
|
||||
|
||||
spacesScopedRouter.post('/turn',
|
||||
|
||||
@@ -45,7 +45,7 @@ describe('companion API', () => {
|
||||
|
||||
it('POST /turn streams SSE events and persists messages', async () => {
|
||||
const res = await auth(request(app).post(`/api/spaces/${spaceId}/companion/turn`))
|
||||
.send({ text: 'make a task to validate the CSV' });
|
||||
.send({ text: 'make a task to validate the CSV', view: null }); // rail sends view:null
|
||||
|
||||
expect(res.status).toBe(200);
|
||||
expect(res.headers['content-type']).toMatch(/text\/event-stream/);
|
||||
|
||||
Reference in New Issue
Block a user