@mostajs/sourcing
v0.2.0
Published
Agent de sourcing / procurement réutilisable : découverte d'offres sur le marché (web + places de marché + fournisseurs connus), normalisation, scoring multi-critères, RFQ hybride. Connecteurs pluggables ; LLM/web injectés (DI). Composé par @mostajs/chatb
Maintainers
Readme
@mostajs/sourcing
Auteur : Dr Hamid MADANI [email protected] · Licence : AGPL-3.0-or-later
Agent de sourcing / procurement réutilisable pour les apps @mostajs/*. À partir d'une demande
(produit, quantité, contraintes), il découvre des offres sur le marché (fournisseurs connus + web +
places de marché), les normalise, les classe par un scoring multi-critères transparent, et — en
hybride (jalon 0.2) — lance des RFQ et agrège les réponses. Connecteurs pluggables ; LLM/web/fournisseurs
injectés (DI). Composé par @mostajs/chatbot (preset « sourcing agent »), utilisable aussi seul.
Statut : 0.0.1 (scaffold). Livrables DEVRULES #1-#3 dans
docs/. API : voirllms.txt.
Usage
import { source, makeMarketSourcingTool } from "@mostajs/sourcing";
// 1) Directement
const offers = await source({ product: "industrial widget ABC-12", qty: 100, constraints: { country: "CN" } }, {
internalOffers: async (q) => /* dépôts fournisseurs → Offer[] */ [],
});
// 2) Comme outil du chatbot (preset sourcing agent)
import { registerTool } from "@mostajs/chatbot";
registerTool(makeMarketSourcingTool({ internalOffers, search, extract }, { permission: "order.read" }));Config (.env)
SOURCING_CONNECTORS=internal,web
SOURCING_TOPN=5
SOURCING_WEIGHTS=price:0.5,lead:0.2,moq:0.1,reliability:0.2Le module ne ship ni base, ni client LLM, ni mailer : il les compose (DI / peers). Le vrai « optimal » vient du RFQ hybride (0.2) — le web public ne contient pas tous les prix B2B.
