Skip to content

Commit 60dd4a1

Browse files
authored
Add optional metadata object to AgentGeneratePayload [PIC-852] (#2864)
* feat: update AgentGeneratePayload to support custom metadata * fix: simplify AgentGeneratePayload type definition * fix: update AgentGeneratePayload type parameter for consistency
1 parent 5b82a37 commit 60dd4a1

2 files changed

Lines changed: 11 additions & 3 deletions

File tree

lib/entities/agent.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ export type AgentProps = {
3030

3131
type AgentMessageRole = 'system' | 'user' | 'assistant' | 'tool'
3232

33-
export type AgentGeneratePayload = {
33+
export type AgentGeneratePayload<TMetadata = Record<string, unknown>> = {
3434
messages: Array<{
3535
parts: Array<{
3636
type: 'text'
@@ -40,6 +40,7 @@ export type AgentGeneratePayload = {
4040
role: AgentMessageRole
4141
}>
4242
threadId?: string
43+
metadata?: TMetadata
4344
}
4445

4546
export interface Agent extends AgentProps, DefaultElements<AgentProps> {

test/unit/plain/agent.test.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { describe, expect, test } from 'vitest'
2-
import { createClient } from '../../../lib/contentful-management'
2+
import { AgentGeneratePayload, createClient } from '../../../lib/contentful-management'
33
import setupRestAdapter from '../adapters/REST/helpers/setupRestAdapter'
44

55
describe('Agent', () => {
@@ -75,8 +75,15 @@ describe('Agent', () => {
7575
const { httpMock, adapterMock } = setupRestAdapter(Promise.resolve({ data: mockResponse }))
7676
const plainClient = createClient({ apiAdapter: adapterMock }, { type: 'plain' })
7777

78-
const payload = {
78+
type CustomMetadata = {
79+
customData: string
80+
}
81+
82+
const payload: AgentGeneratePayload<CustomMetadata> = {
7983
messages: [{ parts: [{ type: 'text' as const, text: 'Hello' }], role: 'user' as const }],
84+
metadata: {
85+
customData: 'my-custom-data',
86+
},
8087
}
8188

8289
const response = await plainClient.agent.generate({ spaceId, environmentId, agentId }, payload)

0 commit comments

Comments
 (0)