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({
|
const turnSchema = z.object({
|
||||||
text: z.string().min(1),
|
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',
|
spacesScopedRouter.post('/turn',
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ describe('companion API', () => {
|
|||||||
|
|
||||||
it('POST /turn streams SSE events and persists messages', async () => {
|
it('POST /turn streams SSE events and persists messages', async () => {
|
||||||
const res = await auth(request(app).post(`/api/spaces/${spaceId}/companion/turn`))
|
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.status).toBe(200);
|
||||||
expect(res.headers['content-type']).toMatch(/text\/event-stream/);
|
expect(res.headers['content-type']).toMatch(/text\/event-stream/);
|
||||||
|
|||||||
Reference in New Issue
Block a user