27 lines
1.5 KiB
TypeScript
27 lines
1.5 KiB
TypeScript
import { pikkuAIAgent } from '#pikku/agent/pikku-agent-types.gen.js'
|
|
import { createInventoryItem } from '../functions/inventory/create-inventory-item.function.js'
|
|
import { updateInventoryItem } from '../functions/inventory/update-inventory-item.function.js'
|
|
import { listInventory } from '../functions/inventory/list-inventory.function.js'
|
|
import { adjustInventory } from '../functions/inventory/adjust-inventory.function.js'
|
|
import { submitStocktake } from '../functions/inventory/submit-stocktake.function.js'
|
|
import { listInventoryTransactions } from '../functions/inventory/list-inventory-transactions.function.js'
|
|
import { requestInventory } from '../functions/inventory/request-inventory.function.js'
|
|
import { checkLowStock } from '../functions/inventory/check-low-stock.function.js'
|
|
|
|
export const inventoryAgent = pikkuAIAgent({
|
|
name: 'inventory-agent',
|
|
description: 'Manages inventory — items, stock levels, requests, and stocktakes',
|
|
goal:
|
|
'You manage inventory for Per Auset village. You can create and update items, adjust quantities, ' +
|
|
'run stocktakes, check for low stock, request items, and view transaction history. ' +
|
|
'Categories are kitchen, rooms, equipment, garden, and other. Always warn about low stock items.',
|
|
model: 'openai/gpt-5-nano',
|
|
tools: [
|
|
createInventoryItem, updateInventoryItem, listInventory,
|
|
adjustInventory, submitStocktake, listInventoryTransactions,
|
|
requestInventory, checkLowStock,
|
|
],
|
|
maxSteps: 10,
|
|
toolChoice: 'auto',
|
|
})
|