@ugm/desiagent 0.1.21
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/README.md +251 -0
- package/dist/__tests__/test-utils.d.ts +24 -0
- package/dist/__tests__/test-utils.d.ts.map +1 -0
- package/dist/__tests__/test-utils.js +32 -0
- package/dist/__tests__/test-utils.js.map +1 -0
- package/dist/core/execution/agents.d.ts +60 -0
- package/dist/core/execution/agents.d.ts.map +1 -0
- package/dist/core/execution/agents.js +249 -0
- package/dist/core/execution/agents.js.map +1 -0
- package/dist/core/execution/artifacts.d.ts +27 -0
- package/dist/core/execution/artifacts.d.ts.map +1 -0
- package/dist/core/execution/artifacts.js +93 -0
- package/dist/core/execution/artifacts.js.map +1 -0
- package/dist/core/execution/costs.d.ts +160 -0
- package/dist/core/execution/costs.d.ts.map +1 -0
- package/dist/core/execution/costs.js +196 -0
- package/dist/core/execution/costs.js.map +1 -0
- package/dist/core/execution/dagExecutor.d.ts +112 -0
- package/dist/core/execution/dagExecutor.d.ts.map +1 -0
- package/dist/core/execution/dagExecutor.js +647 -0
- package/dist/core/execution/dagExecutor.js.map +1 -0
- package/dist/core/execution/dags.d.ts +167 -0
- package/dist/core/execution/dags.d.ts.map +1 -0
- package/dist/core/execution/dags.js +713 -0
- package/dist/core/execution/dags.js.map +1 -0
- package/dist/core/execution/executions.d.ts +158 -0
- package/dist/core/execution/executions.d.ts.map +1 -0
- package/dist/core/execution/executions.js +258 -0
- package/dist/core/execution/executions.js.map +1 -0
- package/dist/core/execution/goals.d.ts +62 -0
- package/dist/core/execution/goals.d.ts.map +1 -0
- package/dist/core/execution/goals.js +245 -0
- package/dist/core/execution/goals.js.map +1 -0
- package/dist/core/execution/runs.d.ts +65 -0
- package/dist/core/execution/runs.d.ts.map +1 -0
- package/dist/core/execution/runs.js +219 -0
- package/dist/core/execution/runs.js.map +1 -0
- package/dist/core/execution/tools.d.ts +24 -0
- package/dist/core/execution/tools.d.ts.map +1 -0
- package/dist/core/execution/tools.js +33 -0
- package/dist/core/execution/tools.js.map +1 -0
- package/dist/core/orchestration/index.d.ts +7 -0
- package/dist/core/orchestration/index.d.ts.map +1 -0
- package/dist/core/orchestration/index.js +7 -0
- package/dist/core/orchestration/index.js.map +1 -0
- package/dist/core/orchestration/orchestrator.d.ts +39 -0
- package/dist/core/orchestration/orchestrator.d.ts.map +1 -0
- package/dist/core/orchestration/orchestrator.js +141 -0
- package/dist/core/orchestration/orchestrator.js.map +1 -0
- package/dist/core/orchestration/planner.d.ts +63 -0
- package/dist/core/orchestration/planner.d.ts.map +1 -0
- package/dist/core/orchestration/planner.js +99 -0
- package/dist/core/orchestration/planner.js.map +1 -0
- package/dist/core/providers/factory.d.ts +25 -0
- package/dist/core/providers/factory.d.ts.map +1 -0
- package/dist/core/providers/factory.js +86 -0
- package/dist/core/providers/factory.js.map +1 -0
- package/dist/core/providers/index.d.ts +11 -0
- package/dist/core/providers/index.d.ts.map +1 -0
- package/dist/core/providers/index.js +10 -0
- package/dist/core/providers/index.js.map +1 -0
- package/dist/core/providers/ollama.d.ts +36 -0
- package/dist/core/providers/ollama.d.ts.map +1 -0
- package/dist/core/providers/ollama.js +123 -0
- package/dist/core/providers/ollama.js.map +1 -0
- package/dist/core/providers/openai.d.ts +33 -0
- package/dist/core/providers/openai.d.ts.map +1 -0
- package/dist/core/providers/openai.js +114 -0
- package/dist/core/providers/openai.js.map +1 -0
- package/dist/core/providers/openrouter.d.ts +38 -0
- package/dist/core/providers/openrouter.d.ts.map +1 -0
- package/dist/core/providers/openrouter.js +269 -0
- package/dist/core/providers/openrouter.js.map +1 -0
- package/dist/core/providers/types.d.ts +101 -0
- package/dist/core/providers/types.d.ts.map +1 -0
- package/dist/core/providers/types.js +7 -0
- package/dist/core/providers/types.js.map +1 -0
- package/dist/core/tools/base.d.ts +56 -0
- package/dist/core/tools/base.d.ts.map +1 -0
- package/dist/core/tools/base.js +60 -0
- package/dist/core/tools/base.js.map +1 -0
- package/dist/core/tools/bash.d.ts +50 -0
- package/dist/core/tools/bash.d.ts.map +1 -0
- package/dist/core/tools/bash.js +179 -0
- package/dist/core/tools/bash.js.map +1 -0
- package/dist/core/tools/edit.d.ts +39 -0
- package/dist/core/tools/edit.d.ts.map +1 -0
- package/dist/core/tools/edit.js +67 -0
- package/dist/core/tools/edit.js.map +1 -0
- package/dist/core/tools/executor.d.ts +33 -0
- package/dist/core/tools/executor.d.ts.map +1 -0
- package/dist/core/tools/executor.js +105 -0
- package/dist/core/tools/executor.js.map +1 -0
- package/dist/core/tools/fetchPage.d.ts +46 -0
- package/dist/core/tools/fetchPage.d.ts.map +1 -0
- package/dist/core/tools/fetchPage.js +87 -0
- package/dist/core/tools/fetchPage.js.map +1 -0
- package/dist/core/tools/fetchURLs.d.ts +39 -0
- package/dist/core/tools/fetchURLs.d.ts.map +1 -0
- package/dist/core/tools/fetchURLs.js +67 -0
- package/dist/core/tools/fetchURLs.js.map +1 -0
- package/dist/core/tools/glob.d.ts +36 -0
- package/dist/core/tools/glob.d.ts.map +1 -0
- package/dist/core/tools/glob.js +78 -0
- package/dist/core/tools/glob.js.map +1 -0
- package/dist/core/tools/grep.d.ts +51 -0
- package/dist/core/tools/grep.d.ts.map +1 -0
- package/dist/core/tools/grep.js +152 -0
- package/dist/core/tools/grep.js.map +1 -0
- package/dist/core/tools/index.d.ts +22 -0
- package/dist/core/tools/index.d.ts.map +1 -0
- package/dist/core/tools/index.js +22 -0
- package/dist/core/tools/index.js.map +1 -0
- package/dist/core/tools/llmExecute.d.ts +153 -0
- package/dist/core/tools/llmExecute.d.ts.map +1 -0
- package/dist/core/tools/llmExecute.js +105 -0
- package/dist/core/tools/llmExecute.js.map +1 -0
- package/dist/core/tools/readEmail.d.ts +68 -0
- package/dist/core/tools/readEmail.d.ts.map +1 -0
- package/dist/core/tools/readEmail.js +182 -0
- package/dist/core/tools/readEmail.js.map +1 -0
- package/dist/core/tools/readFile.d.ts +42 -0
- package/dist/core/tools/readFile.d.ts.map +1 -0
- package/dist/core/tools/readFile.js +79 -0
- package/dist/core/tools/readFile.js.map +1 -0
- package/dist/core/tools/registry.d.ts +53 -0
- package/dist/core/tools/registry.d.ts.map +1 -0
- package/dist/core/tools/registry.js +112 -0
- package/dist/core/tools/registry.js.map +1 -0
- package/dist/core/tools/sendEmail.d.ts +83 -0
- package/dist/core/tools/sendEmail.d.ts.map +1 -0
- package/dist/core/tools/sendEmail.js +132 -0
- package/dist/core/tools/sendEmail.js.map +1 -0
- package/dist/core/tools/sendWebhook.d.ts +48 -0
- package/dist/core/tools/sendWebhook.d.ts.map +1 -0
- package/dist/core/tools/sendWebhook.js +61 -0
- package/dist/core/tools/sendWebhook.js.map +1 -0
- package/dist/core/tools/webSearch.d.ts +34 -0
- package/dist/core/tools/webSearch.d.ts.map +1 -0
- package/dist/core/tools/webSearch.js +104 -0
- package/dist/core/tools/webSearch.js.map +1 -0
- package/dist/core/tools/writeFile.d.ts +49 -0
- package/dist/core/tools/writeFile.d.ts.map +1 -0
- package/dist/core/tools/writeFile.js +120 -0
- package/dist/core/tools/writeFile.js.map +1 -0
- package/dist/db/client.d.ts +22 -0
- package/dist/db/client.d.ts.map +1 -0
- package/dist/db/client.js +178 -0
- package/dist/db/client.js.map +1 -0
- package/dist/db/schema.d.ts +1846 -0
- package/dist/db/schema.d.ts.map +1 -0
- package/dist/db/schema.js +175 -0
- package/dist/db/schema.js.map +1 -0
- package/dist/errors/index.d.ts +80 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +135 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/index.d.ts +52 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +172 -0
- package/dist/index.js.map +1 -0
- package/dist/services/initDB.d.ts +17 -0
- package/dist/services/initDB.d.ts.map +1 -0
- package/dist/services/initDB.js +212 -0
- package/dist/services/initDB.js.map +1 -0
- package/dist/types/agent.d.ts +354 -0
- package/dist/types/agent.d.ts.map +1 -0
- package/dist/types/agent.js +63 -0
- package/dist/types/agent.js.map +1 -0
- package/dist/types/client.d.ts +309 -0
- package/dist/types/client.d.ts.map +1 -0
- package/dist/types/client.js +2 -0
- package/dist/types/client.js.map +1 -0
- package/dist/types/config.d.ts +96 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +33 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/dag.d.ts +253 -0
- package/dist/types/dag.d.ts.map +1 -0
- package/dist/types/dag.js +46 -0
- package/dist/types/dag.js.map +1 -0
- package/dist/types/execution.d.ts +171 -0
- package/dist/types/execution.d.ts.map +1 -0
- package/dist/types/execution.js +41 -0
- package/dist/types/execution.js.map +1 -0
- package/dist/types/index.d.ts +12 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +11 -0
- package/dist/types/index.js.map +1 -0
- package/dist/util/cron-validator.d.ts +16 -0
- package/dist/util/cron-validator.d.ts.map +1 -0
- package/dist/util/cron-validator.js +31 -0
- package/dist/util/cron-validator.js.map +1 -0
- package/dist/util/dag-utils.d.ts +54 -0
- package/dist/util/dag-utils.d.ts.map +1 -0
- package/dist/util/dag-utils.js +167 -0
- package/dist/util/dag-utils.js.map +1 -0
- package/dist/util/logger.d.ts +21 -0
- package/dist/util/logger.d.ts.map +1 -0
- package/dist/util/logger.js +87 -0
- package/dist/util/logger.js.map +1 -0
- package/package.json +82 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dag-utils.d.ts","sourceRoot":"","sources":["../../src/util/dag-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAM9D;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CA2D1D;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,SAAO,GAAG,MAAM,CAG7D;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,WAAW,EAAE,IAAI,GAAG,IAAI,CAmB9E;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAYvF;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,aAAa,CAwBnE"}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utility functions for DAG operations
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Extracts and parses JSON content from a markdown code block.
|
|
6
|
+
* @param response - The markdown string containing a JSON code block
|
|
7
|
+
* @returns The parsed JSON object
|
|
8
|
+
* @throws Error if no JSON code block is found or parsing fails
|
|
9
|
+
*/
|
|
10
|
+
export function extractJsonCodeBlock(response) {
|
|
11
|
+
const jsonMatch = response.match(/```json\s*([\s\S]*?)\s*```/);
|
|
12
|
+
if (!jsonMatch || !jsonMatch[1]) {
|
|
13
|
+
throw new Error('No JSON code block found in response');
|
|
14
|
+
}
|
|
15
|
+
return JSON.parse(jsonMatch[1].trim());
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Extracts and parses JSON content from a markdown code block with detailed diagnostics.
|
|
19
|
+
* Provides specific error locations and context for large JSON objects.
|
|
20
|
+
* @param response - The markdown string containing a JSON code block
|
|
21
|
+
* @returns The parsed JSON object
|
|
22
|
+
* @throws Error with detailed diagnostics if extraction or parsing fails
|
|
23
|
+
*/
|
|
24
|
+
export function extractCodeBlock(response) {
|
|
25
|
+
const jsonMatch = response.match(/```json\s*([\s\S]*?)\s*```/);
|
|
26
|
+
if (!jsonMatch || !jsonMatch[1]) {
|
|
27
|
+
const anyMatch = response.match(/```\s*([\s\S]*?)\s*```/);
|
|
28
|
+
if (!anyMatch || !anyMatch[1]) {
|
|
29
|
+
throw new Error('No JSON code block found in response');
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
const jsonContent = (jsonMatch?.[1] || response).trim();
|
|
33
|
+
try {
|
|
34
|
+
return JSON.parse(jsonContent);
|
|
35
|
+
}
|
|
36
|
+
catch (parseError) {
|
|
37
|
+
const error = parseError;
|
|
38
|
+
const errorMessage = error.message;
|
|
39
|
+
const positionMatch = errorMessage.match(/position (\d+)/);
|
|
40
|
+
const position = positionMatch ? parseInt(positionMatch[1], 10) : null;
|
|
41
|
+
let lineNumber = 1;
|
|
42
|
+
let columnNumber = 1;
|
|
43
|
+
let currentPos = 0;
|
|
44
|
+
if (position !== null) {
|
|
45
|
+
const lines = jsonContent.split('\n');
|
|
46
|
+
for (let i = 0; i < lines.length; i++) {
|
|
47
|
+
const lineLength = lines[i].length + 1;
|
|
48
|
+
if (currentPos + lineLength > position) {
|
|
49
|
+
lineNumber = i + 1;
|
|
50
|
+
columnNumber = position - currentPos + 1;
|
|
51
|
+
break;
|
|
52
|
+
}
|
|
53
|
+
currentPos += lineLength;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
const lines = jsonContent.split('\n');
|
|
57
|
+
const contextStart = Math.max(0, lineNumber - 3);
|
|
58
|
+
const contextEnd = Math.min(lines.length, lineNumber + 2);
|
|
59
|
+
const context = lines
|
|
60
|
+
.slice(contextStart, contextEnd)
|
|
61
|
+
.map((line, idx) => {
|
|
62
|
+
const actualLineNum = contextStart + idx + 1;
|
|
63
|
+
const marker = actualLineNum === lineNumber ? '>>> ' : ' ';
|
|
64
|
+
return `${marker}${String(actualLineNum).padStart(4, ' ')}: ${line}`;
|
|
65
|
+
})
|
|
66
|
+
.join('\n');
|
|
67
|
+
const diagnosticMessage = [
|
|
68
|
+
`JSON Parse Error: ${errorMessage}`,
|
|
69
|
+
`Location: Line ${lineNumber}, Column ${columnNumber}`,
|
|
70
|
+
`Content Preview (lines ${contextStart + 1}-${contextEnd}):`,
|
|
71
|
+
context,
|
|
72
|
+
`Total size: ${jsonContent.length} characters, ${lines.length} lines`,
|
|
73
|
+
].join('\n');
|
|
74
|
+
throw new Error(diagnosticMessage);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Truncates a string to a specified length.
|
|
79
|
+
* @param str - The string to truncate
|
|
80
|
+
* @param numChars - Maximum number of characters (default: 2000)
|
|
81
|
+
* @returns The truncated string
|
|
82
|
+
*/
|
|
83
|
+
export function truncate(str, numChars = 2000) {
|
|
84
|
+
if (str.length <= numChars)
|
|
85
|
+
return str;
|
|
86
|
+
return str.slice(0, numChars);
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Truncates goal text for logging purposes.
|
|
90
|
+
* @param goalText - The goal text to truncate
|
|
91
|
+
* @returns Truncated text with ellipsis if needed
|
|
92
|
+
*/
|
|
93
|
+
export function truncateForLog(goalText) {
|
|
94
|
+
return goalText.length > 50 ? `${goalText.slice(0, 50)}...` : goalText;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Parses a date string or relative date expression.
|
|
98
|
+
* @param dateStr - Date string (ISO format or relative like "7d", "2w", "1m")
|
|
99
|
+
* @param defaultDate - Default date to use if dateStr is undefined
|
|
100
|
+
* @returns Parsed Date object
|
|
101
|
+
*/
|
|
102
|
+
export function parseDate(dateStr, defaultDate) {
|
|
103
|
+
if (!dateStr)
|
|
104
|
+
return defaultDate;
|
|
105
|
+
const relativeMatch = dateStr.match(/^(\d+)([dwm])$/);
|
|
106
|
+
if (relativeMatch) {
|
|
107
|
+
const amount = parseInt(relativeMatch[1], 10);
|
|
108
|
+
const unit = relativeMatch[2];
|
|
109
|
+
const now = new Date();
|
|
110
|
+
switch (unit) {
|
|
111
|
+
case 'd':
|
|
112
|
+
return new Date(now.getTime() - amount * 24 * 60 * 60 * 1000);
|
|
113
|
+
case 'w':
|
|
114
|
+
return new Date(now.getTime() - amount * 7 * 24 * 60 * 60 * 1000);
|
|
115
|
+
case 'm':
|
|
116
|
+
return new Date(now.getFullYear(), now.getMonth() - amount, now.getDate());
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
return new Date(dateStr);
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Formats a date according to the specified grouping.
|
|
123
|
+
* @param date - The date to format
|
|
124
|
+
* @param groupBy - Grouping type ('day', 'week', 'month')
|
|
125
|
+
* @returns Formatted date string
|
|
126
|
+
*/
|
|
127
|
+
export function formatDateByGroup(date, groupBy) {
|
|
128
|
+
switch (groupBy) {
|
|
129
|
+
case 'week': {
|
|
130
|
+
const d = new Date(date);
|
|
131
|
+
d.setDate(d.getDate() - d.getDay());
|
|
132
|
+
return d.toISOString().split('T')[0];
|
|
133
|
+
}
|
|
134
|
+
case 'month':
|
|
135
|
+
return `${date.getFullYear()}-${String(date.getMonth() + 1).padStart(2, '0')}`;
|
|
136
|
+
default:
|
|
137
|
+
return date.toISOString().split('T')[0];
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Renumbers sub_tasks IDs to sequential "001", "002", etc. format
|
|
142
|
+
* and updates all dependency references accordingly.
|
|
143
|
+
* @param data - The decomposer job containing sub_tasks
|
|
144
|
+
* @returns The same decomposer job with renumbered task IDs
|
|
145
|
+
*/
|
|
146
|
+
export function renumberSubTasks(data) {
|
|
147
|
+
const idOrder = [];
|
|
148
|
+
const seen = new Set();
|
|
149
|
+
for (const task of data.sub_tasks) {
|
|
150
|
+
if (!seen.has(task.id)) {
|
|
151
|
+
seen.add(task.id);
|
|
152
|
+
idOrder.push(task.id);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
const mapping = {};
|
|
156
|
+
idOrder.forEach((oldId, index) => {
|
|
157
|
+
mapping[oldId] = String(index + 1).padStart(3, '0');
|
|
158
|
+
});
|
|
159
|
+
for (const task of data.sub_tasks) {
|
|
160
|
+
task.dependencies = task.dependencies.map((dep) => {
|
|
161
|
+
return Object.prototype.hasOwnProperty.call(mapping, dep) ? mapping[dep] : dep;
|
|
162
|
+
});
|
|
163
|
+
task.id = mapping[task.id];
|
|
164
|
+
}
|
|
165
|
+
return data;
|
|
166
|
+
}
|
|
167
|
+
//# sourceMappingURL=dag-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dag-utils.js","sourceRoot":"","sources":["../../src/util/dag-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Logger } from 'pino';
|
|
2
|
+
import type { LogLevel } from '../types/config.js';
|
|
3
|
+
/**
|
|
4
|
+
* Initialize the global logger with the specified level
|
|
5
|
+
*/
|
|
6
|
+
export declare function initializeLogger(level?: LogLevel): Logger;
|
|
7
|
+
/**
|
|
8
|
+
* Get the global logger instance
|
|
9
|
+
*/
|
|
10
|
+
export declare function getLogger(): Logger;
|
|
11
|
+
/**
|
|
12
|
+
* Convenience function for logging
|
|
13
|
+
*/
|
|
14
|
+
export declare const log: {
|
|
15
|
+
debug: (msg: string, data?: any) => void;
|
|
16
|
+
info: (msg: string, data?: any) => void;
|
|
17
|
+
warn: (msg: string, data?: any) => void;
|
|
18
|
+
error: (msg: string, data?: any) => void;
|
|
19
|
+
};
|
|
20
|
+
export default getLogger;
|
|
21
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/util/logger.ts"],"names":[],"mappings":"AAAA,OAAa,EAAE,MAAM,EAAiB,MAAM,MAAM,CAAC;AAInD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AA+CnD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,GAAE,QAAiB,GAAG,MAAM,CAuBjE;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAKlC;AAED;;GAEG;AACH,eAAO,MAAM,GAAG;iBACD,MAAM,SAAS,GAAG;gBACnB,MAAM,SAAS,GAAG;gBAClB,MAAM,SAAS,GAAG;iBACjB,MAAM,SAAS,GAAG;CAChC,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import pino from 'pino';
|
|
2
|
+
import { join } from 'path';
|
|
3
|
+
import { mkdirSync, existsSync } from 'fs';
|
|
4
|
+
import { homedir } from 'os';
|
|
5
|
+
let logger = null;
|
|
6
|
+
function getLogDest() {
|
|
7
|
+
const dest = process.env.LOG_DEST?.toLowerCase();
|
|
8
|
+
if (dest === 'file' || dest === 'both') {
|
|
9
|
+
return dest;
|
|
10
|
+
}
|
|
11
|
+
return 'console';
|
|
12
|
+
}
|
|
13
|
+
function getLogDir() {
|
|
14
|
+
return process.env.LOG_DIR || join(homedir(), '.desiAgent', 'logs');
|
|
15
|
+
}
|
|
16
|
+
function ensureLogDir(dir) {
|
|
17
|
+
if (!existsSync(dir)) {
|
|
18
|
+
mkdirSync(dir, { recursive: true });
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
function createFileTransport(logDir) {
|
|
22
|
+
return {
|
|
23
|
+
target: 'pino-roll',
|
|
24
|
+
options: {
|
|
25
|
+
file: join(logDir, 'app'),
|
|
26
|
+
frequency: 'daily',
|
|
27
|
+
mkdir: true,
|
|
28
|
+
extension: '.log',
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
function createConsoleTransport() {
|
|
33
|
+
return {
|
|
34
|
+
target: 'pino-pretty',
|
|
35
|
+
options: {
|
|
36
|
+
colorize: true,
|
|
37
|
+
translateTime: 'SYS:standard',
|
|
38
|
+
ignore: 'pid,hostname',
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Initialize the global logger with the specified level
|
|
44
|
+
*/
|
|
45
|
+
export function initializeLogger(level = 'info') {
|
|
46
|
+
const logDest = getLogDest();
|
|
47
|
+
const logDir = getLogDir();
|
|
48
|
+
const options = { level };
|
|
49
|
+
if (logDest === 'console') {
|
|
50
|
+
options.transport = createConsoleTransport();
|
|
51
|
+
}
|
|
52
|
+
else if (logDest === 'file') {
|
|
53
|
+
ensureLogDir(logDir);
|
|
54
|
+
options.transport = createFileTransport(logDir);
|
|
55
|
+
}
|
|
56
|
+
else if (logDest === 'both') {
|
|
57
|
+
ensureLogDir(logDir);
|
|
58
|
+
options.transport = {
|
|
59
|
+
targets: [
|
|
60
|
+
createConsoleTransport(),
|
|
61
|
+
createFileTransport(logDir),
|
|
62
|
+
],
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
logger = pino(options);
|
|
66
|
+
return logger;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Get the global logger instance
|
|
70
|
+
*/
|
|
71
|
+
export function getLogger() {
|
|
72
|
+
if (!logger) {
|
|
73
|
+
logger = initializeLogger('info');
|
|
74
|
+
}
|
|
75
|
+
return logger;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Convenience function for logging
|
|
79
|
+
*/
|
|
80
|
+
export const log = {
|
|
81
|
+
debug: (msg, data) => getLogger().debug(data, msg),
|
|
82
|
+
info: (msg, data) => getLogger().info(data, msg),
|
|
83
|
+
warn: (msg, data) => getLogger().warn(data, msg),
|
|
84
|
+
error: (msg, data) => getLogger().error(data, msg),
|
|
85
|
+
};
|
|
86
|
+
export default getLogger;
|
|
87
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/util/logger.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@ugm/desiagent",
|
|
3
|
+
"version": "0.1.21",
|
|
4
|
+
"description": "A library-first async agent system for building autonomous workflows",
|
|
5
|
+
"homepage": "https://github.com/ugmurthy/desiAgent",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"type": "module",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"import": "./dist/index.js",
|
|
12
|
+
"types": "./dist/index.d.ts"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"files": [
|
|
16
|
+
"dist",
|
|
17
|
+
"README.md",
|
|
18
|
+
"LICENSE"
|
|
19
|
+
],
|
|
20
|
+
"scripts": {
|
|
21
|
+
"build": "tsc",
|
|
22
|
+
"dev": "bun run --hot src/index.ts",
|
|
23
|
+
"test": "vitest",
|
|
24
|
+
"test:ui": "vitest --ui",
|
|
25
|
+
"test:coverage": "vitest --coverage",
|
|
26
|
+
"test:watch": "vitest --watch",
|
|
27
|
+
"type-check": "tsc --noEmit",
|
|
28
|
+
"lint": "eslint src --ext .ts",
|
|
29
|
+
"clean": "rm -rf dist",
|
|
30
|
+
"db:generate": "drizzle-kit generate:sqlite --schema=src/db/schema.ts --out=src/db/migrations",
|
|
31
|
+
"db:push": "drizzle-kit push:sqlite --schema=src/db/schema.ts --config=drizzle.config.ts",
|
|
32
|
+
"db:studio": "drizzle-kit studio --schema=src/db/schema.ts --config=drizzle.config.ts",
|
|
33
|
+
"prepublishOnly": "npm run build"
|
|
34
|
+
},
|
|
35
|
+
"keywords": [
|
|
36
|
+
"agent",
|
|
37
|
+
"async",
|
|
38
|
+
"workflow",
|
|
39
|
+
"automation",
|
|
40
|
+
"llm",
|
|
41
|
+
"bun"
|
|
42
|
+
],
|
|
43
|
+
"author": "U G Murthy <ugmurthy@gmail.com>",
|
|
44
|
+
"license": "MIT",
|
|
45
|
+
"engines": {
|
|
46
|
+
"bun": ">=1.3.5"
|
|
47
|
+
},
|
|
48
|
+
"dependencies": {
|
|
49
|
+
"cheerio": "^1.1.2",
|
|
50
|
+
"cron-parser": "^5.4.0",
|
|
51
|
+
"cronstrue": "^3.9.0",
|
|
52
|
+
"drizzle-orm": "^0.45.1",
|
|
53
|
+
"glob": "^13.0.0",
|
|
54
|
+
"imapflow": "^1.2.7",
|
|
55
|
+
"lodash": "^4.17.21",
|
|
56
|
+
"mailparser": "^3.9.1",
|
|
57
|
+
"nanoid": "^5.0.4",
|
|
58
|
+
"node-cron": "^3.0.3",
|
|
59
|
+
"nodemailer": "^7.0.12",
|
|
60
|
+
"ollama": "^0.5.0",
|
|
61
|
+
"openai": "^4.24.1",
|
|
62
|
+
"pdf-parse": "^2.4.5",
|
|
63
|
+
"pino": "^8.17.2",
|
|
64
|
+
"pino-pretty": "^13.1.3",
|
|
65
|
+
"pino-roll": "^4.0.0",
|
|
66
|
+
"zod": "^3.22.4",
|
|
67
|
+
"zod-to-json-schema": "^3.25.1"
|
|
68
|
+
},
|
|
69
|
+
"devDependencies": {
|
|
70
|
+
"@types/bun": "^latest",
|
|
71
|
+
"@types/lodash": "^4.14.202",
|
|
72
|
+
"@types/mailparser": "^3.4.6",
|
|
73
|
+
"@types/node": "^20.10.6",
|
|
74
|
+
"@types/nodemailer": "^7.0.5",
|
|
75
|
+
"@vitest/coverage-v8": "^1.1.0",
|
|
76
|
+
"@vitest/ui": "^1.1.0",
|
|
77
|
+
"drizzle-kit": "^0.31.8",
|
|
78
|
+
"tsx": "^4.7.0",
|
|
79
|
+
"typescript": "^5.3.3",
|
|
80
|
+
"vitest": "^1.1.0"
|
|
81
|
+
}
|
|
82
|
+
}
|