@digipair/skill-logger 0.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.cjs.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from "./src/index";
package/index.cjs.js ADDED
@@ -0,0 +1,141 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var fs = require('fs');
6
+
7
+ var _process_env_DIGIPAIR_FACTORY_PATH;
8
+ let LoggerService = class LoggerService {
9
+ async initialize(path = (_process_env_DIGIPAIR_FACTORY_PATH = process.env['DIGIPAIR_FACTORY_PATH']) != null ? _process_env_DIGIPAIR_FACTORY_PATH : './factory/digipairs') {
10
+ // create logs directory if it doesn't exist
11
+ await fs.promises.mkdir(`${path}/logs/factory`, {
12
+ recursive: true
13
+ });
14
+ // create consumption-daily directory if it doesn't exist
15
+ await fs.promises.mkdir(`${path}/logs/consumption-daily`, {
16
+ recursive: true
17
+ });
18
+ // create consumption-monthly directory if it doesn't exist
19
+ await fs.promises.mkdir(`${path}/logs/consumption-monthly`, {
20
+ recursive: true
21
+ });
22
+ }
23
+ async addConsumption(context, service, model, promptTokens, completionTokens) {
24
+ var _context_DIGIPAIR_FACTORY_PATH, _ref;
25
+ const DIGIPAIR_FACTORY_PATH = (_ref = (_context_DIGIPAIR_FACTORY_PATH = context.DIGIPAIR_FACTORY_PATH) != null ? _context_DIGIPAIR_FACTORY_PATH : process.env['DIGIPAIR_FACTORY_PATH']) != null ? _ref : './factory/digipairs';
26
+ const current = new Date();
27
+ const line = {
28
+ date: current.getTime(),
29
+ digipair: context.request.digipair,
30
+ reasoning: context.request.reasoning,
31
+ service,
32
+ model,
33
+ promptTokens,
34
+ completionTokens
35
+ };
36
+ await fs.promises.appendFile(`${DIGIPAIR_FACTORY_PATH}/logs/consumption-daily/${current.toISOString().split('T')[0]}.jsonl`, '\n' + JSON.stringify(line), 'utf8');
37
+ }
38
+ async computeDailyConsumption(params, _pinsSettingsList, context) {
39
+ var _context_DIGIPAIR_FACTORY_PATH, _ref;
40
+ const { date, path = (_ref = (_context_DIGIPAIR_FACTORY_PATH = context.DIGIPAIR_FACTORY_PATH) != null ? _context_DIGIPAIR_FACTORY_PATH : process.env['DIGIPAIR_FACTORY_PATH']) != null ? _ref : './factory/digipairs' } = params;
41
+ const text = await fs.promises.readFile(`${path}/logs/consumption-daily/${date}.jsonl`, 'utf8');
42
+ const lines = text.split('\n').filter((line)=>line !== '');
43
+ const result = lines.map((line)=>JSON.parse(line));
44
+ const dayLines = result.reduce((acc, curr)=>{
45
+ let line = acc.find((line)=>line.digipair === curr.digipair && line.reasoning === curr.reasoning && line.service === curr.service && line.model === curr.model);
46
+ if (!line) {
47
+ line = {
48
+ digipair: curr.digipair,
49
+ reasoning: curr.reasoning,
50
+ service: curr.service,
51
+ model: curr.model,
52
+ promptTokens: 0,
53
+ completionTokens: 0
54
+ };
55
+ acc.push(line);
56
+ }
57
+ line.promptTokens += curr.promptTokens;
58
+ line.completionTokens += curr.completionTokens;
59
+ }, []);
60
+ await fs.promises.appendFile(`${path}/logs/consumption-monthly/${date.substring(0, 7)}.jsonl`, '\n' + dayLines.map((line)=>JSON.stringify(line)).join('\n'), 'utf8');
61
+ }
62
+ async consumptions(params, _pinsSettingsList, context) {
63
+ var _context_DIGIPAIR_FACTORY_PATH, _ref;
64
+ const { date, path = (_ref = (_context_DIGIPAIR_FACTORY_PATH = context.DIGIPAIR_FACTORY_PATH) != null ? _context_DIGIPAIR_FACTORY_PATH : process.env['DIGIPAIR_FACTORY_PATH']) != null ? _ref : './factory/digipairs' } = params;
65
+ const text = await fs.promises.readFile(`${path}/logs/consumption-daily/${date}.jsonl`, 'utf8');
66
+ const lines = text.split('\n').filter((line)=>line !== '');
67
+ const result = lines.map((line)=>JSON.parse(line));
68
+ return result;
69
+ }
70
+ async dailyConsumptions(params, _pinsSettingsList, context) {
71
+ var _context_DIGIPAIR_FACTORY_PATH, _ref;
72
+ const { path = (_ref = (_context_DIGIPAIR_FACTORY_PATH = context.DIGIPAIR_FACTORY_PATH) != null ? _context_DIGIPAIR_FACTORY_PATH : process.env['DIGIPAIR_FACTORY_PATH']) != null ? _ref : './factory/digipairs' } = params;
73
+ const files = (await fs.promises.readdir(`${path}/logs/consumption-daily`)).map((file)=>file.split('.')[0]);
74
+ return files;
75
+ }
76
+ async monthlyConsumptions(params, _pinsSettingsList, context) {
77
+ var _context_DIGIPAIR_FACTORY_PATH, _ref;
78
+ const { path = (_ref = (_context_DIGIPAIR_FACTORY_PATH = context.DIGIPAIR_FACTORY_PATH) != null ? _context_DIGIPAIR_FACTORY_PATH : process.env['DIGIPAIR_FACTORY_PATH']) != null ? _ref : './factory/digipairs' } = params;
79
+ const files = (await fs.promises.readdir(`${path}/logs/consumption-monthly`)).map((file)=>file.split('.')[0]);
80
+ return files;
81
+ }
82
+ async addLog(context, type, message) {
83
+ var _context_DIGIPAIR_FACTORY_PATH, _ref;
84
+ const DIGIPAIR_FACTORY_PATH = (_ref = (_context_DIGIPAIR_FACTORY_PATH = context.DIGIPAIR_FACTORY_PATH) != null ? _context_DIGIPAIR_FACTORY_PATH : process.env['DIGIPAIR_FACTORY_PATH']) != null ? _ref : './factory/digipairs';
85
+ const current = new Date();
86
+ const line = {
87
+ date: current.getTime(),
88
+ digipair: context.request.digipair,
89
+ reasoning: context.request.reasoning,
90
+ type,
91
+ message
92
+ };
93
+ await fs.promises.appendFile(`${DIGIPAIR_FACTORY_PATH}/logs/${current.toISOString().split('T')[0]}.jsonl`, '\n' + JSON.stringify(line), 'utf8');
94
+ }
95
+ async logs(params, _pinsSettingsList, context) {
96
+ var _context_DIGIPAIR_FACTORY_PATH, _ref;
97
+ const { date, path = (_ref = (_context_DIGIPAIR_FACTORY_PATH = context.DIGIPAIR_FACTORY_PATH) != null ? _context_DIGIPAIR_FACTORY_PATH : process.env['DIGIPAIR_FACTORY_PATH']) != null ? _ref : './factory/digipairs' } = params;
98
+ const text = await fs.promises.readFile(`${path}/logs/factory/${date}.jsonl`, 'utf8');
99
+ const lines = text.split('\n').filter((line)=>line !== '');
100
+ const result = lines.map((line)=>JSON.parse(line));
101
+ return result;
102
+ }
103
+ async dailyLogs(params, _pinsSettingsList, context) {
104
+ var _context_DIGIPAIR_FACTORY_PATH, _ref;
105
+ const { path = (_ref = (_context_DIGIPAIR_FACTORY_PATH = context.DIGIPAIR_FACTORY_PATH) != null ? _context_DIGIPAIR_FACTORY_PATH : process.env['DIGIPAIR_FACTORY_PATH']) != null ? _ref : './factory/digipairs' } = params;
106
+ const files = (await fs.promises.readdir(`${path}/logs/factory`)).filter((file)=>/\.jsonl$/g.test(file)).map((file)=>file.split('.')[0]);
107
+ return files;
108
+ }
109
+ async clearOldLogs(params, _pinsSettingsList, context) {
110
+ var _context_DIGIPAIR_FACTORY_PATH, _ref;
111
+ const { type, to, path = (_ref = (_context_DIGIPAIR_FACTORY_PATH = context.DIGIPAIR_FACTORY_PATH) != null ? _context_DIGIPAIR_FACTORY_PATH : process.env['DIGIPAIR_FACTORY_PATH']) != null ? _ref : './factory/digipairs' } = params;
112
+ const files = await fs.promises.readdir(`${path}/logs/${type}`);
113
+ for (const file of files){
114
+ const stats = await fs.promises.stat(`${path}/${file}`);
115
+ if (stats.mtime.getTime() < to) {
116
+ fs.promises.unlink(`${path}/${file}`);
117
+ }
118
+ }
119
+ }
120
+ };
121
+ const initialize = (path)=>new LoggerService().initialize(path);
122
+ const addConsumption = (context, service, model, promptTokens, completionTokens)=>new LoggerService().addConsumption(context, service, model, promptTokens, completionTokens);
123
+ const computeDailyConsumption = (params, pinsSettingsList, context)=>new LoggerService().computeDailyConsumption(params, pinsSettingsList, context);
124
+ const consumptions = (params, pinsSettingsList, context)=>new LoggerService().consumptions(params, pinsSettingsList, context);
125
+ const dailyConsumptions = (params, pinsSettingsList, context)=>new LoggerService().dailyConsumptions(params, pinsSettingsList, context);
126
+ const monthlyConsumptions = (params, pinsSettingsList, context)=>new LoggerService().monthlyConsumptions(params, pinsSettingsList, context);
127
+ const addLog = (context, type, message)=>new LoggerService().addLog(context, type, message);
128
+ const logs = (params, pinsSettingsList, context)=>new LoggerService().logs(params, pinsSettingsList, context);
129
+ const dailyLogs = (params, pinsSettingsList, context)=>new LoggerService().dailyLogs(params, pinsSettingsList, context);
130
+ const clearOldLogs = (params, pinsSettingsList, context)=>new LoggerService().clearOldLogs(params, pinsSettingsList, context);
131
+
132
+ exports.addConsumption = addConsumption;
133
+ exports.addLog = addLog;
134
+ exports.clearOldLogs = clearOldLogs;
135
+ exports.computeDailyConsumption = computeDailyConsumption;
136
+ exports.consumptions = consumptions;
137
+ exports.dailyConsumptions = dailyConsumptions;
138
+ exports.dailyLogs = dailyLogs;
139
+ exports.initialize = initialize;
140
+ exports.logs = logs;
141
+ exports.monthlyConsumptions = monthlyConsumptions;
package/index.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from './libs/skill-logger/src/index';
package/index.esm.js ADDED
@@ -0,0 +1,128 @@
1
+ import { promises } from 'fs';
2
+
3
+ var _process_env_DIGIPAIR_FACTORY_PATH;
4
+ let LoggerService = class LoggerService {
5
+ async initialize(path = (_process_env_DIGIPAIR_FACTORY_PATH = process.env['DIGIPAIR_FACTORY_PATH']) != null ? _process_env_DIGIPAIR_FACTORY_PATH : './factory/digipairs') {
6
+ // create logs directory if it doesn't exist
7
+ await promises.mkdir(`${path}/logs/factory`, {
8
+ recursive: true
9
+ });
10
+ // create consumption-daily directory if it doesn't exist
11
+ await promises.mkdir(`${path}/logs/consumption-daily`, {
12
+ recursive: true
13
+ });
14
+ // create consumption-monthly directory if it doesn't exist
15
+ await promises.mkdir(`${path}/logs/consumption-monthly`, {
16
+ recursive: true
17
+ });
18
+ }
19
+ async addConsumption(context, service, model, promptTokens, completionTokens) {
20
+ var _context_DIGIPAIR_FACTORY_PATH, _ref;
21
+ const DIGIPAIR_FACTORY_PATH = (_ref = (_context_DIGIPAIR_FACTORY_PATH = context.DIGIPAIR_FACTORY_PATH) != null ? _context_DIGIPAIR_FACTORY_PATH : process.env['DIGIPAIR_FACTORY_PATH']) != null ? _ref : './factory/digipairs';
22
+ const current = new Date();
23
+ const line = {
24
+ date: current.getTime(),
25
+ digipair: context.request.digipair,
26
+ reasoning: context.request.reasoning,
27
+ service,
28
+ model,
29
+ promptTokens,
30
+ completionTokens
31
+ };
32
+ await promises.appendFile(`${DIGIPAIR_FACTORY_PATH}/logs/consumption-daily/${current.toISOString().split('T')[0]}.jsonl`, '\n' + JSON.stringify(line), 'utf8');
33
+ }
34
+ async computeDailyConsumption(params, _pinsSettingsList, context) {
35
+ var _context_DIGIPAIR_FACTORY_PATH, _ref;
36
+ const { date, path = (_ref = (_context_DIGIPAIR_FACTORY_PATH = context.DIGIPAIR_FACTORY_PATH) != null ? _context_DIGIPAIR_FACTORY_PATH : process.env['DIGIPAIR_FACTORY_PATH']) != null ? _ref : './factory/digipairs' } = params;
37
+ const text = await promises.readFile(`${path}/logs/consumption-daily/${date}.jsonl`, 'utf8');
38
+ const lines = text.split('\n').filter((line)=>line !== '');
39
+ const result = lines.map((line)=>JSON.parse(line));
40
+ const dayLines = result.reduce((acc, curr)=>{
41
+ let line = acc.find((line)=>line.digipair === curr.digipair && line.reasoning === curr.reasoning && line.service === curr.service && line.model === curr.model);
42
+ if (!line) {
43
+ line = {
44
+ digipair: curr.digipair,
45
+ reasoning: curr.reasoning,
46
+ service: curr.service,
47
+ model: curr.model,
48
+ promptTokens: 0,
49
+ completionTokens: 0
50
+ };
51
+ acc.push(line);
52
+ }
53
+ line.promptTokens += curr.promptTokens;
54
+ line.completionTokens += curr.completionTokens;
55
+ }, []);
56
+ await promises.appendFile(`${path}/logs/consumption-monthly/${date.substring(0, 7)}.jsonl`, '\n' + dayLines.map((line)=>JSON.stringify(line)).join('\n'), 'utf8');
57
+ }
58
+ async consumptions(params, _pinsSettingsList, context) {
59
+ var _context_DIGIPAIR_FACTORY_PATH, _ref;
60
+ const { date, path = (_ref = (_context_DIGIPAIR_FACTORY_PATH = context.DIGIPAIR_FACTORY_PATH) != null ? _context_DIGIPAIR_FACTORY_PATH : process.env['DIGIPAIR_FACTORY_PATH']) != null ? _ref : './factory/digipairs' } = params;
61
+ const text = await promises.readFile(`${path}/logs/consumption-daily/${date}.jsonl`, 'utf8');
62
+ const lines = text.split('\n').filter((line)=>line !== '');
63
+ const result = lines.map((line)=>JSON.parse(line));
64
+ return result;
65
+ }
66
+ async dailyConsumptions(params, _pinsSettingsList, context) {
67
+ var _context_DIGIPAIR_FACTORY_PATH, _ref;
68
+ const { path = (_ref = (_context_DIGIPAIR_FACTORY_PATH = context.DIGIPAIR_FACTORY_PATH) != null ? _context_DIGIPAIR_FACTORY_PATH : process.env['DIGIPAIR_FACTORY_PATH']) != null ? _ref : './factory/digipairs' } = params;
69
+ const files = (await promises.readdir(`${path}/logs/consumption-daily`)).map((file)=>file.split('.')[0]);
70
+ return files;
71
+ }
72
+ async monthlyConsumptions(params, _pinsSettingsList, context) {
73
+ var _context_DIGIPAIR_FACTORY_PATH, _ref;
74
+ const { path = (_ref = (_context_DIGIPAIR_FACTORY_PATH = context.DIGIPAIR_FACTORY_PATH) != null ? _context_DIGIPAIR_FACTORY_PATH : process.env['DIGIPAIR_FACTORY_PATH']) != null ? _ref : './factory/digipairs' } = params;
75
+ const files = (await promises.readdir(`${path}/logs/consumption-monthly`)).map((file)=>file.split('.')[0]);
76
+ return files;
77
+ }
78
+ async addLog(context, type, message) {
79
+ var _context_DIGIPAIR_FACTORY_PATH, _ref;
80
+ const DIGIPAIR_FACTORY_PATH = (_ref = (_context_DIGIPAIR_FACTORY_PATH = context.DIGIPAIR_FACTORY_PATH) != null ? _context_DIGIPAIR_FACTORY_PATH : process.env['DIGIPAIR_FACTORY_PATH']) != null ? _ref : './factory/digipairs';
81
+ const current = new Date();
82
+ const line = {
83
+ date: current.getTime(),
84
+ digipair: context.request.digipair,
85
+ reasoning: context.request.reasoning,
86
+ type,
87
+ message
88
+ };
89
+ await promises.appendFile(`${DIGIPAIR_FACTORY_PATH}/logs/${current.toISOString().split('T')[0]}.jsonl`, '\n' + JSON.stringify(line), 'utf8');
90
+ }
91
+ async logs(params, _pinsSettingsList, context) {
92
+ var _context_DIGIPAIR_FACTORY_PATH, _ref;
93
+ const { date, path = (_ref = (_context_DIGIPAIR_FACTORY_PATH = context.DIGIPAIR_FACTORY_PATH) != null ? _context_DIGIPAIR_FACTORY_PATH : process.env['DIGIPAIR_FACTORY_PATH']) != null ? _ref : './factory/digipairs' } = params;
94
+ const text = await promises.readFile(`${path}/logs/factory/${date}.jsonl`, 'utf8');
95
+ const lines = text.split('\n').filter((line)=>line !== '');
96
+ const result = lines.map((line)=>JSON.parse(line));
97
+ return result;
98
+ }
99
+ async dailyLogs(params, _pinsSettingsList, context) {
100
+ var _context_DIGIPAIR_FACTORY_PATH, _ref;
101
+ const { path = (_ref = (_context_DIGIPAIR_FACTORY_PATH = context.DIGIPAIR_FACTORY_PATH) != null ? _context_DIGIPAIR_FACTORY_PATH : process.env['DIGIPAIR_FACTORY_PATH']) != null ? _ref : './factory/digipairs' } = params;
102
+ const files = (await promises.readdir(`${path}/logs/factory`)).filter((file)=>/\.jsonl$/g.test(file)).map((file)=>file.split('.')[0]);
103
+ return files;
104
+ }
105
+ async clearOldLogs(params, _pinsSettingsList, context) {
106
+ var _context_DIGIPAIR_FACTORY_PATH, _ref;
107
+ const { type, to, path = (_ref = (_context_DIGIPAIR_FACTORY_PATH = context.DIGIPAIR_FACTORY_PATH) != null ? _context_DIGIPAIR_FACTORY_PATH : process.env['DIGIPAIR_FACTORY_PATH']) != null ? _ref : './factory/digipairs' } = params;
108
+ const files = await promises.readdir(`${path}/logs/${type}`);
109
+ for (const file of files){
110
+ const stats = await promises.stat(`${path}/${file}`);
111
+ if (stats.mtime.getTime() < to) {
112
+ promises.unlink(`${path}/${file}`);
113
+ }
114
+ }
115
+ }
116
+ };
117
+ const initialize = (path)=>new LoggerService().initialize(path);
118
+ const addConsumption = (context, service, model, promptTokens, completionTokens)=>new LoggerService().addConsumption(context, service, model, promptTokens, completionTokens);
119
+ const computeDailyConsumption = (params, pinsSettingsList, context)=>new LoggerService().computeDailyConsumption(params, pinsSettingsList, context);
120
+ const consumptions = (params, pinsSettingsList, context)=>new LoggerService().consumptions(params, pinsSettingsList, context);
121
+ const dailyConsumptions = (params, pinsSettingsList, context)=>new LoggerService().dailyConsumptions(params, pinsSettingsList, context);
122
+ const monthlyConsumptions = (params, pinsSettingsList, context)=>new LoggerService().monthlyConsumptions(params, pinsSettingsList, context);
123
+ const addLog = (context, type, message)=>new LoggerService().addLog(context, type, message);
124
+ const logs = (params, pinsSettingsList, context)=>new LoggerService().logs(params, pinsSettingsList, context);
125
+ const dailyLogs = (params, pinsSettingsList, context)=>new LoggerService().dailyLogs(params, pinsSettingsList, context);
126
+ const clearOldLogs = (params, pinsSettingsList, context)=>new LoggerService().clearOldLogs(params, pinsSettingsList, context);
127
+
128
+ export { addConsumption, addLog, clearOldLogs, computeDailyConsumption, consumptions, dailyConsumptions, dailyLogs, initialize, logs, monthlyConsumptions };
@@ -0,0 +1 @@
1
+ export * from './lib/skill-logger';
@@ -0,0 +1,11 @@
1
+ import { PinsSettings } from '@digipair/engine';
2
+ export declare const initialize: (path?: string) => Promise<void>;
3
+ export declare const addConsumption: (context: any, service: string, model: string, promptTokens: number, completionTokens: number) => Promise<void>;
4
+ export declare const computeDailyConsumption: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<void>;
5
+ export declare const consumptions: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<any[]>;
6
+ export declare const dailyConsumptions: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<string[]>;
7
+ export declare const monthlyConsumptions: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<string[]>;
8
+ export declare const addLog: (context: any, type: string, message: string) => Promise<void>;
9
+ export declare const logs: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<any[]>;
10
+ export declare const dailyLogs: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<string[]>;
11
+ export declare const clearOldLogs: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<void>;
package/package.json ADDED
@@ -0,0 +1,7 @@
1
+ {
2
+ "name": "@digipair/skill-logger",
3
+ "version": "0.27.0",
4
+ "dependencies": {},
5
+ "main": "./index.cjs.js",
6
+ "module": "./index.esm.js"
7
+ }
package/schema.fr.json ADDED
@@ -0,0 +1,193 @@
1
+ {
2
+ "openapi": "3.0.0",
3
+ "info": {
4
+ "title": "@digipair/skill-logger",
5
+ "summary": "Gestion des logs et de la consommations LLM",
6
+ "description": "Gestion des logs et de la consommations LLM",
7
+ "version": "0.1.0",
8
+ "x-icon": "🔢"
9
+ },
10
+ "paths": {
11
+ "/consumptions": {
12
+ "post": {
13
+ "tags": ["service"],
14
+ "summary": "Consommations LLM",
15
+ "description": "Lecture des consommations LLM d'un mois ou d'un jour donné",
16
+ "parameters": [
17
+ {
18
+ "name": "date",
19
+ "summary": "Date",
20
+ "required": true,
21
+ "description": "Date de la consommation LLM (mois ou jour)",
22
+ "schema": {
23
+ "type": "string"
24
+ }
25
+ },
26
+ {
27
+ "name": "path",
28
+ "summary": "Chemin d'accès",
29
+ "required": false,
30
+ "description": "Chemins d'accès du répertoire Digipair",
31
+ "schema": {
32
+ "type": "string"
33
+ }
34
+ }
35
+ ],
36
+ "x-events": []
37
+ }
38
+ },
39
+ "/dailyConsumptions": {
40
+ "post": {
41
+ "tags": ["service"],
42
+ "summary": "Liste des jours de consommation LLM",
43
+ "description": "Liste les jours de consommation LLM",
44
+ "parameters": [
45
+ {
46
+ "name": "path",
47
+ "summary": "Chemin d'accès",
48
+ "required": false,
49
+ "description": "Chemins d'accès du répertoire Digipair",
50
+ "schema": {
51
+ "type": "string"
52
+ }
53
+ }
54
+ ],
55
+ "x-events": []
56
+ }
57
+ },
58
+ "/monthlyConsumptions": {
59
+ "post": {
60
+ "tags": ["service"],
61
+ "summary": "Liste des mois de consommation LLM",
62
+ "description": "Liste les mois de consommation LLM",
63
+ "parameters": [
64
+ {
65
+ "name": "path",
66
+ "summary": "Chemin d'accès",
67
+ "required": false,
68
+ "description": "Chemins d'accès du répertoire Digipair",
69
+ "schema": {
70
+ "type": "string"
71
+ }
72
+ }
73
+ ],
74
+ "x-events": []
75
+ }
76
+ },
77
+ "/logs": {
78
+ "post": {
79
+ "tags": ["service"],
80
+ "summary": "Logs",
81
+ "description": "Lecture des logs d'un jour donné",
82
+ "parameters": [
83
+ {
84
+ "name": "date",
85
+ "summary": "Date",
86
+ "required": true,
87
+ "description": "Date des logs",
88
+ "schema": {
89
+ "type": "string"
90
+ }
91
+ },
92
+ {
93
+ "name": "path",
94
+ "summary": "Chemin d'accès",
95
+ "required": false,
96
+ "description": "Chemins d'accès du répertoire Digipair",
97
+ "schema": {
98
+ "type": "string"
99
+ }
100
+ }
101
+ ],
102
+ "x-events": []
103
+ }
104
+ },
105
+ "/dailyLogs": {
106
+ "post": {
107
+ "tags": ["service"],
108
+ "summary": "Liste des jours de logs",
109
+ "description": "Liste les jours logs",
110
+ "parameters": [
111
+ {
112
+ "name": "path",
113
+ "summary": "Chemin d'accès",
114
+ "required": false,
115
+ "description": "Chemins d'accès du répertoire Digipair",
116
+ "schema": {
117
+ "type": "string"
118
+ }
119
+ }
120
+ ],
121
+ "x-events": []
122
+ }
123
+ },
124
+ "/computeDailyConsumption": {
125
+ "post": {
126
+ "tags": ["service"],
127
+ "summary": "Calcul et sauvegarde de la consommation journalière",
128
+ "description": "Calcul et sauvegarde de la consommation journalière dans le fichier de consommation mensuelle LLM",
129
+ "parameters": [
130
+ {
131
+ "name": "date",
132
+ "summary": "Date",
133
+ "required": true,
134
+ "description": "Date du jour de la consommation LLM à ajouter dans le fichier de consommation mensuelle",
135
+ "schema": {
136
+ "type": "string"
137
+ }
138
+ },
139
+ {
140
+ "name": "path",
141
+ "summary": "Chemin d'accès",
142
+ "required": false,
143
+ "description": "Chemins d'accès du répertoire Digipair",
144
+ "schema": {
145
+ "type": "string"
146
+ }
147
+ }
148
+ ],
149
+ "x-events": []
150
+ }
151
+ },
152
+ "/clearOldLogs": {
153
+ "post": {
154
+ "tags": ["service"],
155
+ "summary": "Efface les anciens logs",
156
+ "description": "Efface les anciens fichiers de logs",
157
+ "parameters": [
158
+ {
159
+ "name": "type",
160
+ "summary": "Type de logs",
161
+ "required": true,
162
+ "description": "Type de logs à effacer (factory, consumption-daily, consumption-monthly)",
163
+ "schema": {
164
+ "type": "string"
165
+ }
166
+ },
167
+ {
168
+ "name": "to",
169
+ "summary": "Jusqu'à",
170
+ "required": true,
171
+ "description": "Date jusqu'à laquelle les logs doivent être conservés",
172
+ "schema": {
173
+ "type": "number"
174
+ }
175
+ },
176
+ {
177
+ "name": "path",
178
+ "summary": "Chemin d'accès",
179
+ "required": false,
180
+ "description": "Chemins d'accès du répertoire Digipair",
181
+ "schema": {
182
+ "type": "string"
183
+ }
184
+ }
185
+ ],
186
+ "x-events": []
187
+ }
188
+ }
189
+ },
190
+ "components": {
191
+ "schemas": {}
192
+ }
193
+ }
package/schema.json ADDED
@@ -0,0 +1,193 @@
1
+ {
2
+ "openapi": "3.0.0",
3
+ "info": {
4
+ "title": "@digipair/skill-logger",
5
+ "summary": "Log and LLM consumption management",
6
+ "description": "Log and LLM consumption management",
7
+ "version": "0.1.0",
8
+ "x-icon": "🔢"
9
+ },
10
+ "paths": {
11
+ "/consumptions": {
12
+ "post": {
13
+ "tags": ["service"],
14
+ "summary": "LLM Consumptions",
15
+ "description": "Read LLM consumptions for a given month or day",
16
+ "parameters": [
17
+ {
18
+ "name": "date",
19
+ "summary": "Date",
20
+ "required": true,
21
+ "description": "Date of LLM consumption (month or day)",
22
+ "schema": {
23
+ "type": "string"
24
+ }
25
+ },
26
+ {
27
+ "name": "path",
28
+ "summary": "Access Path",
29
+ "required": false,
30
+ "description": "Access paths of the Digipair directory",
31
+ "schema": {
32
+ "type": "string"
33
+ }
34
+ }
35
+ ],
36
+ "x-events": []
37
+ }
38
+ },
39
+ "/dailyConsumptions": {
40
+ "post": {
41
+ "tags": ["service"],
42
+ "summary": "List of LLM consumption days",
43
+ "description": "List the days of LLM consumption",
44
+ "parameters": [
45
+ {
46
+ "name": "path",
47
+ "summary": "Access Path",
48
+ "required": false,
49
+ "description": "Access paths of the Digipair directory",
50
+ "schema": {
51
+ "type": "string"
52
+ }
53
+ }
54
+ ],
55
+ "x-events": []
56
+ }
57
+ },
58
+ "/monthlyConsumptions": {
59
+ "post": {
60
+ "tags": ["service"],
61
+ "summary": "List of LLM consumption months",
62
+ "description": "List the months of LLM consumption",
63
+ "parameters": [
64
+ {
65
+ "name": "path",
66
+ "summary": "Access Path",
67
+ "required": false,
68
+ "description": "Access paths of the Digipair directory",
69
+ "schema": {
70
+ "type": "string"
71
+ }
72
+ }
73
+ ],
74
+ "x-events": []
75
+ }
76
+ },
77
+ "/logs": {
78
+ "post": {
79
+ "tags": ["service"],
80
+ "summary": "Logs",
81
+ "description": "Read logs for a given day",
82
+ "parameters": [
83
+ {
84
+ "name": "date",
85
+ "summary": "Date",
86
+ "required": true,
87
+ "description": "Date of the logs",
88
+ "schema": {
89
+ "type": "string"
90
+ }
91
+ },
92
+ {
93
+ "name": "path",
94
+ "summary": "Access Path",
95
+ "required": false,
96
+ "description": "Access paths of the Digipair directory",
97
+ "schema": {
98
+ "type": "string"
99
+ }
100
+ }
101
+ ],
102
+ "x-events": []
103
+ }
104
+ },
105
+ "/dailyLogs": {
106
+ "post": {
107
+ "tags": ["service"],
108
+ "summary": "List of log days",
109
+ "description": "List the log days",
110
+ "parameters": [
111
+ {
112
+ "name": "path",
113
+ "summary": "Access Path",
114
+ "required": false,
115
+ "description": "Access paths of the Digipair directory",
116
+ "schema": {
117
+ "type": "string"
118
+ }
119
+ }
120
+ ],
121
+ "x-events": []
122
+ }
123
+ },
124
+ "/computeDailyConsumption": {
125
+ "post": {
126
+ "tags": ["service"],
127
+ "summary": "Calculate and save daily consumption",
128
+ "description": "Calculate and save daily consumption in the monthly LLM consumption file",
129
+ "parameters": [
130
+ {
131
+ "name": "date",
132
+ "summary": "Date",
133
+ "required": true,
134
+ "description": "Date of the LLM consumption day to be added to the monthly consumption file",
135
+ "schema": {
136
+ "type": "string"
137
+ }
138
+ },
139
+ {
140
+ "name": "path",
141
+ "summary": "Access Path",
142
+ "required": false,
143
+ "description": "Access paths of the Digipair directory",
144
+ "schema": {
145
+ "type": "string"
146
+ }
147
+ }
148
+ ],
149
+ "x-events": []
150
+ }
151
+ },
152
+ "/clearOldLogs": {
153
+ "post": {
154
+ "tags": ["service"],
155
+ "summary": "Delete old logs",
156
+ "description": "Delete old log files",
157
+ "parameters": [
158
+ {
159
+ "name": "type",
160
+ "summary": "Log Type",
161
+ "required": true,
162
+ "description": "Type of logs to delete (factory, consumption-daily, consumption-monthly)",
163
+ "schema": {
164
+ "type": "string"
165
+ }
166
+ },
167
+ {
168
+ "name": "to",
169
+ "summary": "Up To",
170
+ "required": true,
171
+ "description": "Date up to which the logs should be kept",
172
+ "schema": {
173
+ "type": "number"
174
+ }
175
+ },
176
+ {
177
+ "name": "path",
178
+ "summary": "Access Path",
179
+ "required": false,
180
+ "description": "Access paths of the Digipair directory",
181
+ "schema": {
182
+ "type": "string"
183
+ }
184
+ }
185
+ ],
186
+ "x-events": []
187
+ }
188
+ }
189
+ },
190
+ "components": {
191
+ "schemas": {}
192
+ }
193
+ }