28 lines
1.5 KiB
TypeScript
28 lines
1.5 KiB
TypeScript
import { pikkuAIAgent } from '#pikku/agent/pikku-agent-types.gen.js'
|
|
import { createFinanceRecord } from '../functions/finance/create-finance-record.function.js'
|
|
import { listFinanceRecords } from '../functions/finance/list-finance-records.function.js'
|
|
import { updateFinanceRecord } from '../functions/finance/update-finance-record.function.js'
|
|
import { linkFinanceRecord } from '../functions/finance/link-finance-record.function.js'
|
|
import { listFinanceLinks } from '../functions/finance/list-finance-links.function.js'
|
|
import { getFinanceSummary } from '../functions/finance/get-finance-summary.function.js'
|
|
import { fetchExchangeRates } from '../functions/finance/fetch-exchange-rates.function.js'
|
|
import { getExchangeRates } from '../functions/finance/get-exchange-rates.function.js'
|
|
|
|
export const financeAgent = pikkuAIAgent({
|
|
name: 'finance-agent',
|
|
description: 'Manages finances — expenses, income, exchange rates, and reporting',
|
|
goal:
|
|
'You manage finances for Per Auset village. You can create and track expenses, income, and ' +
|
|
'reimbursements. You can link finance records to stays, boats, retreats, and inventory. ' +
|
|
'You can view financial summaries and manage exchange rates (base currency is EGP). ' +
|
|
'Supported currencies: EUR, USD, GBP, EGP. All amounts are auto-converted to EGP.',
|
|
model: 'openai/gpt-5-nano',
|
|
tools: [
|
|
createFinanceRecord, listFinanceRecords, updateFinanceRecord,
|
|
linkFinanceRecord, listFinanceLinks, getFinanceSummary,
|
|
fetchExchangeRates, getExchangeRates,
|
|
],
|
|
maxSteps: 10,
|
|
toolChoice: 'auto',
|
|
})
|