Implementation de la notion d'espace d'investissement

This commit is contained in:
ocroguennec committed 2026-09-17 18:25:42 +02:00
1 parent 6b6cad7cd6
commit 4b7df66862
54 files changed
+6782 -288

No files matched your search

+15 -8
View File
@@ -152,8 +152,9 @@ export function registerDataTools(server, { apiGet, withLabel = (t) => t, withSo
title: withLabel('Liste des remboursements'),
description: withSource(
"Liste les remboursements réels perçus (toutes plateformes confondues), " +
"avec le nom du projet et de la plateforme. Filtrable par période. " +
"Chaque ligne inclut frais_ttc (montant de frais saisi sur ce " +
"avec le nom du projet et de la plateforme. Filtrable par période et par " +
"workspace (paramètre workspace ; sans ce paramètre, tous workspaces " +
"confondus). Chaque ligne inclut frais_ttc (montant de frais saisi sur ce " +
"remboursement) et frais_mode_reglement : le frais ne réduit " +
"interets_nets/net_recu que si frais_mode_reglement vaut " +
"\"remboursement\" — avec \"portefeuille\" ou \"compte_courant\", le frais " +
@@ -164,11 +165,13 @@ export function registerDataTools(server, { apiGet, withLabel = (t) => t, withSo
.describe('Date de début au format YYYY-MM-DD (incluse)'),
date_fin: z.string().regex(/^\d{4}-\d{2}-\d{2}$/).optional()
.describe('Date de fin au format YYYY-MM-DD (incluse)'),
workspace: z.string().optional()
.describe('Slug du workspace à filtrer (ex. "crowdlending"). Absent : tous workspaces confondus.'),
},
annotations: READ_ONLY_ANNOTATIONS,
},
async ({ date_debut, date_fin }) => {
try { return toolResult(await apiGet('/remboursements', { date_debut, date_fin })); }
async ({ date_debut, date_fin, workspace }) => {
try { return toolResult(await apiGet('/remboursements', { date_debut, date_fin, workspace })); }
catch (e) { return toolError(e); }
},
);
@@ -214,12 +217,16 @@ export function registerDataTools(server, { apiGet, withLabel = (t) => t, withSo
title: withLabel('Liste des dépôts / retraits'),
description: withSource(
"Liste les mouvements de cash (dépôts et retraits) sur les plateformes " +
"de crowdlending, du plus récent au plus ancien."),
inputSchema: {},
"de crowdlending, du plus récent au plus ancien. Filtrable par workspace " +
"(paramètre workspace) ; sans ce paramètre, tous workspaces confondus."),
inputSchema: {
workspace: z.string().optional()
.describe('Slug du workspace à filtrer (ex. "crowdlending"). Absent : tous workspaces confondus.'),
},
annotations: READ_ONLY_ANNOTATIONS,
},
async () => {
try { return toolResult(await apiGet('/depots-retraits')); }
async ({ workspace }) => {
try { return toolResult(await apiGet('/depots-retraits', { workspace })); }
catch (e) { return toolError(e); }
},
);