plugin-inventory
Beta@fayz-ai/plugin-inventory
Inventory is the universal organ — a salon counts product, a restaurant counts ingredients, a clinic counts supplies. plugin-inventory is that organ as a plugin: a product catalog, stock entry/exit/history, optional recipes (bill of materials), and a dashboard that surfaces stock value and what's running low. It's scope: universal, so it snaps into any vertical.
Visão geral
Estoque e catálogo: entradas e saídas, histórico, saldo por local e fichas técnicas (receitas). Monta a página /inventory e widgets de dashboard. Os módulos recipes, stockLocations e batchTracking (opt-in) são ligáveis por config; os tipos de produto padrão são insumo, para venda, intermediário e ativo.
Sobre dados, os produtos são o arquétipo saas_core.products; o plugin acrescenta tabelas de extensão em public — stock_locations, stock_movements, stock_positions, recipes, recipe_ingredients, measurement_units e product_categories — em quatro migrations (renomeação de prefixo, base, receitas, unidades de medida). Provider Supabase com fallback mock.
Para IA, expõe getLowStock (produtos abaixo do mínimo). Status beta / capability parcial.
Quando usar
- Controlar entradas, saídas e saldo de estoque por local.
- Modelar receitas ou fichas técnicas que consomem insumos.
- Receber alertas de estoque baixo, inclusive via IA.
Ficha técnica
| Pacote | @fayz-ai/plugin-inventory |
|---|---|
| Versão | 0.1.7 |
| Status | beta |
| Capability | Capability parcial |
| Canal stable | ^0.1.7 |
| Migrations | 4 migration(s) |
| Factory | createInventoryPlugin() |
Modelo de dados
| Tabela | Colunas-chave |
|---|---|
plg_inventory_product_categories | name, parent_id, is_active |
plg_inventory_stock_locations | name, description, is_active, unit_id |
plg_inventory_stock_movements | product_id, quantity, movement_type, unit_cost, total_cost, stock_location_id |
plg_inventory_stock_positions | product_id, quantity, unit_cost, stock_location_id, batch_number, expiration_date |
plg_inventory_recipes | name, description, product_id, yield_quantity, yield_unit_id, preparation_time_minutes |
plg_inventory_recipe_ingredients | recipe_id, product_id, quantity, unit_id, display_order, notes |
plg_inventory_measurement_units | name, abbreviation, is_active |
Convenção plg_ + tenant_id + RLS. Modelo de dados.
Tools de IA
| id | modo | descrição |
|---|---|---|
inventory.low-stock | read | Lists products with stock below minimum threshold. |
Ferramentas que um agente pode chamar contra o seu app. Seu app como camada de dados.
Integrações
Sem conector hospedado — provedores externos entram via connector spine. Veja o catálogo de integrações.
.md desta ficha (em plugins/plugin-inventory.md) é o contrato agent-consumable — modelo de dados, tools e integrações num só arquivo que uma IA lê direto. Preview O comando fayz skill add plugin-inventory chega em breve para instalar isso como skill. Veja Skills.Integrar
Adicione o plugin em surfaces.admin.plugins do app.manifest.json do seu app e rode o doctor para validar:
{
"surfaces": {
"admin": {
"plugins": [
{ "id": "inventory", "enabled": true }
]
}
}
}npx fayz doctorO fayz doctor confere o manifesto contra o catálogo do SDK. Veja Configuração para o passo a passo completo.
