Skip to content

Commit 45d2593

Browse files
authored
Merge pull request #2 from palico-ai/context
FEAT: Added support for providing context with AgentAPI messages
2 parents 1508f7b + 86d0d10 commit 45d2593

File tree

3 files changed

+23
-10
lines changed

3 files changed

+23
-10
lines changed

rollup.config.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,11 @@ export default [
2626
resolve(),
2727
commonjs(),
2828
typescript({ tsconfig: './tsconfig.json' }),
29-
terser()
29+
terser({
30+
compress: {
31+
drop_console: true
32+
}
33+
})
3034
]
3135
},
3236
{

src/agent_api/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,14 @@ export interface AgentAPIParams {
2323
export interface NewConversationParams {
2424
deploymentId: number
2525
message: string
26+
context?: Record<string, unknown>
2627
}
2728

2829
export interface ReplyAsUserParams {
2930
deploymentId: number
3031
conversationId: number
3132
message: string
33+
context?: Record<string, unknown>
3234
}
3335

3436
export interface ToolExecutionMessage {

src/context/application_context.tsx

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ export interface PalicoContextProps {
1111
loading: boolean
1212
deploymentId: number
1313
conversationHistory: ChatMessage[]
14-
sendMessage: (message: string) => Promise<void>
14+
sendMessage: (message: string, context: Record<string, unknown>) => Promise<void>
1515
}
1616

1717
export const PalicoContext = React.createContext<PalicoContextProps>({
@@ -29,6 +29,11 @@ export interface PalicoContextProviderProps {
2929
children?: any
3030
}
3131

32+
export interface PendingMessagePayload {
33+
message: string
34+
context: Record<string, unknown>
35+
}
36+
3237
export const PalicoContextProvider: React.FC<PalicoContextProviderProps> = ({
3338
deploymentId,
3439
tools,
@@ -38,7 +43,7 @@ export const PalicoContextProvider: React.FC<PalicoContextProviderProps> = ({
3843
const [conversationId, setConversationId] = React.useState<number>()
3944
const [messageHistory, setMessageHistory] = React.useState<ChatMessage[]>([])
4045
// TODO: Convert to step-based pending message (create user reply -> handle user reply -> handle tool call -> end)
41-
const [pendingMessage, setPendingMessage] = React.useState<string>()
46+
const [pendingMessage, setPendingMessage] = React.useState<PendingMessagePayload>()
4247

4348
useEffect(() => {
4449
const callTool = async (tool: ChatCompletionMessageToolCall): Promise<ToolExecutionMessage> => {
@@ -81,27 +86,26 @@ export const PalicoContextProvider: React.FC<PalicoContextProviderProps> = ({
8186
}
8287

8388
const handlePendingMessage = async (): Promise<void> => {
84-
console.log('Handle pending message')
8589
if (!pendingMessage) return
8690
try {
8791
setPendingMessage(undefined)
8892
if (!conversationId) {
8993
const response = await AgentAPI.newConversation({
9094
deploymentId,
91-
message: pendingMessage
95+
message: pendingMessage.message,
96+
context: pendingMessage.context
9297
})
9398
setConversationId(response.conversationId)
9499
await handleAgentResponse(response, response.conversationId)
95100
} else {
96101
const response = await AgentAPI.replyAsUser({
97102
deploymentId,
98103
conversationId,
99-
message: pendingMessage
104+
message: pendingMessage.message,
105+
context: pendingMessage.context
100106
})
101107
await handleAgentResponse(response, conversationId)
102108
}
103-
} catch (e) {
104-
console.log(e)
105109
} finally {
106110
setLoading(false)
107111
}
@@ -110,9 +114,12 @@ export const PalicoContextProvider: React.FC<PalicoContextProviderProps> = ({
110114
void handlePendingMessage()
111115
}, [conversationId, deploymentId, messageHistory, pendingMessage, tools])
112116

113-
const sendMessage = async (message: string): Promise<void> => {
117+
const sendMessage = async (message: string, context: Record<string, unknown>): Promise<void> => {
114118
setLoading(true)
115-
setPendingMessage(message)
119+
setPendingMessage({
120+
message,
121+
context
122+
})
116123
setMessageHistory([
117124
...messageHistory,
118125
{

0 commit comments

Comments
 (0)