@agentuity/runtime 0.0.51 → 0.0.53
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/dist/_config.js +99 -0
- package/dist/_config.js.map +1 -0
- package/dist/_context.d.ts +11 -11
- package/dist/_context.d.ts.map +1 -1
- package/dist/_context.js +84 -0
- package/dist/_context.js.map +1 -0
- package/dist/_idle.js +24 -0
- package/dist/_idle.js.map +1 -0
- package/dist/_server.js +489 -0
- package/dist/_server.js.map +1 -0
- package/dist/_services.js +258 -0
- package/dist/_services.js.map +1 -0
- package/dist/_tokens.js +98 -0
- package/dist/_tokens.js.map +1 -0
- package/dist/_util.js +54 -0
- package/dist/_util.js.map +1 -0
- package/dist/_waituntil.js +87 -0
- package/dist/_waituntil.js.map +1 -0
- package/dist/agent.d.ts +24 -15
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +507 -0
- package/dist/agent.js.map +1 -0
- package/dist/app.d.ts +6 -1
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +72 -0
- package/dist/app.js.map +1 -0
- package/dist/eval.d.ts +1 -1
- package/dist/eval.d.ts.map +1 -1
- package/dist/eval.js +2 -0
- package/dist/eval.js.map +1 -0
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -0
- package/dist/io/email.js +154 -0
- package/dist/io/email.js.map +1 -0
- package/dist/logger/console.js +274 -0
- package/dist/logger/console.js.map +1 -0
- package/dist/logger/index.js +3 -0
- package/dist/logger/index.js.map +1 -0
- package/dist/logger/internal.js +133 -0
- package/dist/logger/internal.js.map +1 -0
- package/dist/logger/logger.js +2 -0
- package/dist/logger/logger.js.map +1 -0
- package/dist/logger/user.js +7 -0
- package/dist/logger/user.js.map +1 -0
- package/dist/logger/util.js +77 -0
- package/dist/logger/util.js.map +1 -0
- package/dist/otel/config.js +23 -0
- package/dist/otel/config.js.map +1 -0
- package/dist/otel/console.js +52 -0
- package/dist/otel/console.js.map +1 -0
- package/dist/otel/exporters/index.js +4 -0
- package/dist/otel/exporters/index.js.map +1 -0
- package/dist/otel/exporters/jsonl-log-exporter.js +103 -0
- package/dist/otel/exporters/jsonl-log-exporter.js.map +1 -0
- package/dist/otel/exporters/jsonl-metric-exporter.js +104 -0
- package/dist/otel/exporters/jsonl-metric-exporter.js.map +1 -0
- package/dist/otel/exporters/jsonl-trace-exporter.js +111 -0
- package/dist/otel/exporters/jsonl-trace-exporter.js.map +1 -0
- package/dist/otel/fetch.js +81 -0
- package/dist/otel/fetch.js.map +1 -0
- package/dist/otel/http.js +44 -0
- package/dist/otel/http.js.map +1 -0
- package/dist/otel/logger.js +278 -0
- package/dist/otel/logger.js.map +1 -0
- package/dist/otel/otel.js +233 -0
- package/dist/otel/otel.js.map +1 -0
- package/dist/router.js +350 -0
- package/dist/router.js.map +1 -0
- package/dist/services/evalrun/composite.js +26 -0
- package/dist/services/evalrun/composite.js.map +1 -0
- package/dist/services/evalrun/http.js +74 -0
- package/dist/services/evalrun/http.js.map +1 -0
- package/dist/services/evalrun/index.js +5 -0
- package/dist/services/evalrun/index.js.map +1 -0
- package/dist/services/evalrun/json.js +38 -0
- package/dist/services/evalrun/json.js.map +1 -0
- package/dist/services/evalrun/local.js +22 -0
- package/dist/services/evalrun/local.js.map +1 -0
- package/dist/services/local/_db.js +144 -0
- package/dist/services/local/_db.js.map +1 -0
- package/dist/services/local/_router.js +60 -0
- package/dist/services/local/_router.js.map +1 -0
- package/dist/services/local/_util.js +42 -0
- package/dist/services/local/_util.js.map +1 -0
- package/dist/services/local/index.js +8 -0
- package/dist/services/local/index.js.map +1 -0
- package/dist/services/local/keyvalue.js +114 -0
- package/dist/services/local/keyvalue.js.map +1 -0
- package/dist/services/local/objectstore.js +117 -0
- package/dist/services/local/objectstore.js.map +1 -0
- package/dist/services/local/stream.js +218 -0
- package/dist/services/local/stream.js.map +1 -0
- package/dist/services/local/vector.js +183 -0
- package/dist/services/local/vector.js.map +1 -0
- package/dist/services/session/composite.js +26 -0
- package/dist/services/session/composite.js.map +1 -0
- package/dist/services/session/http.js +42 -0
- package/dist/services/session/http.js.map +1 -0
- package/dist/services/session/index.js +5 -0
- package/dist/services/session/index.js.map +1 -0
- package/dist/services/session/json.js +35 -0
- package/dist/services/session/json.js.map +1 -0
- package/dist/services/session/local.js +22 -0
- package/dist/services/session/local.js.map +1 -0
- package/dist/session.js +199 -0
- package/dist/session.js.map +1 -0
- package/dist/workbench.js +38 -0
- package/dist/workbench.js.map +1 -0
- package/package.json +5 -5
- package/src/_context.ts +34 -13
- package/src/agent.ts +76 -40
- package/src/app.ts +6 -1
- package/src/eval.ts +1 -1
package/dist/app.js
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
+
/** biome-ignore-all lint/suspicious/noExplicitAny: any are ok */
|
|
3
|
+
import { Hono } from 'hono';
|
|
4
|
+
import { createServer, getLogger } from './_server';
|
|
5
|
+
export class App {
|
|
6
|
+
/**
|
|
7
|
+
* the router instance
|
|
8
|
+
*/
|
|
9
|
+
router;
|
|
10
|
+
/**
|
|
11
|
+
* the server instance
|
|
12
|
+
*/
|
|
13
|
+
server;
|
|
14
|
+
/**
|
|
15
|
+
* the logger instance
|
|
16
|
+
*/
|
|
17
|
+
logger;
|
|
18
|
+
eventListeners = new Map();
|
|
19
|
+
constructor(config) {
|
|
20
|
+
this.router = new Hono();
|
|
21
|
+
this.server = createServer(this.router, config);
|
|
22
|
+
this.logger = getLogger();
|
|
23
|
+
setGlobalApp(this);
|
|
24
|
+
}
|
|
25
|
+
addEventListener(eventName, callback) {
|
|
26
|
+
let callbacks = this.eventListeners.get(eventName);
|
|
27
|
+
if (!callbacks) {
|
|
28
|
+
callbacks = new Set();
|
|
29
|
+
this.eventListeners.set(eventName, callbacks);
|
|
30
|
+
}
|
|
31
|
+
callbacks.add(callback);
|
|
32
|
+
}
|
|
33
|
+
removeEventListener(eventName, callback) {
|
|
34
|
+
const callbacks = this.eventListeners.get(eventName);
|
|
35
|
+
if (!callbacks)
|
|
36
|
+
return;
|
|
37
|
+
callbacks.delete(callback);
|
|
38
|
+
}
|
|
39
|
+
async fireEvent(eventName, ...args) {
|
|
40
|
+
const callbacks = this.eventListeners.get(eventName);
|
|
41
|
+
if (!callbacks || callbacks.size === 0)
|
|
42
|
+
return;
|
|
43
|
+
for (const callback of callbacks) {
|
|
44
|
+
await callback(eventName, ...args);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
let globalApp = null;
|
|
49
|
+
function setGlobalApp(app) {
|
|
50
|
+
globalApp = app;
|
|
51
|
+
}
|
|
52
|
+
export function getApp() {
|
|
53
|
+
return globalApp;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* create a new app instance
|
|
57
|
+
*
|
|
58
|
+
* @returns App instance
|
|
59
|
+
*/
|
|
60
|
+
export function createApp(config) {
|
|
61
|
+
return new App(config);
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* fire a global event
|
|
65
|
+
*
|
|
66
|
+
* @param eventName
|
|
67
|
+
* @param args
|
|
68
|
+
*/
|
|
69
|
+
export async function fireEvent(eventName, ...args) {
|
|
70
|
+
await globalApp?.fireEvent(eventName, ...args);
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=app.js.map
|
package/dist/app.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,iEAAiE;AACjE,OAAO,EAAuB,IAAI,EAAE,MAAM,MAAM,CAAC;AAGjD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AA6GpD,MAAM,OAAO,GAAG;IACf;;OAEG;IACM,MAAM,CAAY;IAC3B;;OAEG;IACM,MAAM,CAAkC;IACjD;;OAEG;IACM,MAAM,CAAS;IAEhB,cAAc,GAAG,IAAI,GAAG,EAAiD,CAAC;IAElF,YAAY,MAAkB;QAC7B,IAAI,CAAC,MAAM,GAAG,IAAI,IAAI,EAAO,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM,GAAG,SAAS,EAAY,CAAC;QACpC,YAAY,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAED,gBAAgB,CACf,SAAY,EACZ,QAA6B;QAE7B,IAAI,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,CAAC,SAAS,EAAE,CAAC;YAChB,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC/C,CAAC;QACD,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;IAED,mBAAmB,CAClB,SAAY,EACZ,QAA6B;QAE7B,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACrD,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,SAAS,CACd,SAAY,EACZ,GAAG,IAAoB;QAEvB,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACrD,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO;QAE/C,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YAClC,MAAM,QAAQ,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;QACpC,CAAC;IACF,CAAC;CACD;AAED,IAAI,SAAS,GAAe,IAAI,CAAC;AAEjC,SAAS,YAAY,CAAC,GAAQ;IAC7B,SAAS,GAAG,GAAG,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,MAAM;IACrB,OAAO,SAAS,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,MAAkB;IAC3C,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC9B,SAAY,EACZ,GAAG,IAAoB;IAEvB,MAAM,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;AAChD,CAAC"}
|
package/dist/eval.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { StandardSchemaV1 } from '@agentuity/core';
|
|
2
2
|
import type { AgentContext } from './agent';
|
|
3
|
-
export type EvalContext = AgentContext
|
|
3
|
+
export type EvalContext = AgentContext<any, any, any>;
|
|
4
4
|
export type EvalRunResultMetadata = {
|
|
5
5
|
reason: string;
|
|
6
6
|
[key: string]: any;
|
package/dist/eval.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eval.d.ts","sourceRoot":"","sources":["../src/eval.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAG5C,MAAM,MAAM,WAAW,GAAG,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"eval.d.ts","sourceRoot":"","sources":["../src/eval.ts"],"names":[],"mappings":"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"}
|
package/dist/eval.js
ADDED
package/dist/eval.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eval.js","sourceRoot":"","sources":["../src/eval.ts"],"names":[],"mappings":""}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from './agent';
|
|
2
|
+
export * from './app';
|
|
3
|
+
export * from './router';
|
|
4
|
+
export * from './eval';
|
|
5
|
+
export * from './session';
|
|
6
|
+
export * from './workbench';
|
|
7
|
+
export { getRouter } from './_server';
|
|
8
|
+
export { Email, parseEmail } from './io/email';
|
|
9
|
+
export * from './services/evalrun';
|
|
10
|
+
export { getEvalRunEventProvider } from './_services';
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAE5B,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/io/email.js
ADDED
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import { simpleParser } from 'mailparser';
|
|
2
|
+
/**
|
|
3
|
+
* A class representing an email with common information for processing.
|
|
4
|
+
*
|
|
5
|
+
* This class wraps the parsed email message and provides convenient accessor methods
|
|
6
|
+
* for common email properties like subject, sender, recipient, body content, etc.
|
|
7
|
+
*/
|
|
8
|
+
export class Email {
|
|
9
|
+
_message;
|
|
10
|
+
constructor(data) {
|
|
11
|
+
this._message = data;
|
|
12
|
+
}
|
|
13
|
+
toString() {
|
|
14
|
+
return `[Email id=${this.messageId()},from=${this.fromEmail()},subject=${this.subject()}]`;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* The date of the email.
|
|
18
|
+
*/
|
|
19
|
+
date() {
|
|
20
|
+
return this._message.date ?? null;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* The message ID of the email.
|
|
24
|
+
*/
|
|
25
|
+
messageId() {
|
|
26
|
+
return this._message.messageId ?? null;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* The headers of the email.
|
|
30
|
+
*/
|
|
31
|
+
headers() {
|
|
32
|
+
return this._message.headers;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* The email address of the recipient or null if there is no recipient.
|
|
36
|
+
*
|
|
37
|
+
* If the email has multiple recipients, the email addresses are comma separated.
|
|
38
|
+
*/
|
|
39
|
+
to() {
|
|
40
|
+
if (!this._message.to) {
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
if (Array.isArray(this._message.to)) {
|
|
44
|
+
return this._message.to
|
|
45
|
+
.map((addr) => (addr.text ?? '').trim())
|
|
46
|
+
.filter((text) => text.length > 0)
|
|
47
|
+
.join(', ');
|
|
48
|
+
}
|
|
49
|
+
if (typeof this._message.to === 'object' && 'text' in this._message.to) {
|
|
50
|
+
return this._message.to.text ? this._message.to.text.trim() : null;
|
|
51
|
+
}
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* The email address of the sender or null if there is no sender.
|
|
56
|
+
*/
|
|
57
|
+
fromEmail() {
|
|
58
|
+
return this._message.from?.value[0]?.address ?? null;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* The name of the sender or null if there is no name.
|
|
62
|
+
*/
|
|
63
|
+
fromName() {
|
|
64
|
+
return this._message.from?.value[0]?.name ?? null;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* The email address of the first recipient or null if there is no recipient.
|
|
68
|
+
*/
|
|
69
|
+
toEmail() {
|
|
70
|
+
if (!this._message.to) {
|
|
71
|
+
return null;
|
|
72
|
+
}
|
|
73
|
+
if (Array.isArray(this._message.to)) {
|
|
74
|
+
return this._message.to[0]?.value[0]?.address ?? null;
|
|
75
|
+
}
|
|
76
|
+
if (typeof this._message.to === 'object' && 'value' in this._message.to) {
|
|
77
|
+
return this._message.to.value[0]?.address ?? null;
|
|
78
|
+
}
|
|
79
|
+
return null;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* The name of the first recipient or null if there is no name.
|
|
83
|
+
*/
|
|
84
|
+
toName() {
|
|
85
|
+
if (!this._message.to) {
|
|
86
|
+
return null;
|
|
87
|
+
}
|
|
88
|
+
if (Array.isArray(this._message.to)) {
|
|
89
|
+
return this._message.to[0]?.value[0]?.name ?? null;
|
|
90
|
+
}
|
|
91
|
+
if (typeof this._message.to === 'object' && 'value' in this._message.to) {
|
|
92
|
+
return this._message.to.value[0]?.name ?? null;
|
|
93
|
+
}
|
|
94
|
+
return null;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* The subject of the email or null if there is no subject.
|
|
98
|
+
*/
|
|
99
|
+
subject() {
|
|
100
|
+
return this._message.subject ?? null;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* The plain text body of the email or null if there is no plain text body.
|
|
104
|
+
*/
|
|
105
|
+
text() {
|
|
106
|
+
return this._message.text ?? null;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* The HTML body of the email or null if there is no HTML body.
|
|
110
|
+
*/
|
|
111
|
+
html() {
|
|
112
|
+
return this._message.html ? this._message.html : null;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* The attachments of the email or an empty array if there are no attachments.
|
|
116
|
+
*
|
|
117
|
+
* Note: Attachment handling is minimal in this implementation.
|
|
118
|
+
* For full attachment support with SSRF protection, see the sdk-js implementation.
|
|
119
|
+
*/
|
|
120
|
+
attachments() {
|
|
121
|
+
if (!this._message.attachments || this._message.attachments.length === 0) {
|
|
122
|
+
return [];
|
|
123
|
+
}
|
|
124
|
+
return this._message.attachments.map((att) => ({
|
|
125
|
+
filename: att.filename ?? 'unknown',
|
|
126
|
+
contentType: att.contentType ?? 'application/octet-stream',
|
|
127
|
+
}));
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Parse an email from a buffer and return an Email object.
|
|
132
|
+
*
|
|
133
|
+
* @param data - The raw RFC822 email message as a Buffer
|
|
134
|
+
* @returns A promise that resolves to an Email object
|
|
135
|
+
* @throws Error if the email cannot be parsed or if the input is not a valid RFC822 message
|
|
136
|
+
*/
|
|
137
|
+
export async function parseEmail(data) {
|
|
138
|
+
if (data.length === 0) {
|
|
139
|
+
throw new Error('Failed to parse email: empty buffer');
|
|
140
|
+
}
|
|
141
|
+
const first16KB = data.slice(0, 16384).toString('utf-8', 0, Math.min(data.length, 16384));
|
|
142
|
+
const hasHeaders = /(^|\r?\n)[!-9;-~]+:\s/.test(first16KB);
|
|
143
|
+
if (!hasHeaders) {
|
|
144
|
+
throw new Error('Failed to parse email: missing headers');
|
|
145
|
+
}
|
|
146
|
+
try {
|
|
147
|
+
const message = await simpleParser(data);
|
|
148
|
+
return new Email(message);
|
|
149
|
+
}
|
|
150
|
+
catch (error) {
|
|
151
|
+
throw new Error(`Failed to parse email: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
//# sourceMappingURL=email.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email.js","sourceRoot":"","sources":["../../src/io/email.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
import { __originalConsole } from '../otel/logger';
|
|
2
|
+
import { formatMessage } from './util';
|
|
3
|
+
const BOLD = '\x1b[1m';
|
|
4
|
+
const RESET = '\x1b[0m';
|
|
5
|
+
// Helper to convert hex color to ANSI 24-bit color code
|
|
6
|
+
function hexToAnsi(hex) {
|
|
7
|
+
const r = parseInt(hex.slice(1, 3), 16);
|
|
8
|
+
const g = parseInt(hex.slice(3, 5), 16);
|
|
9
|
+
const b = parseInt(hex.slice(5, 7), 16);
|
|
10
|
+
return `\x1b[38;2;${r};${g};${b}m`;
|
|
11
|
+
}
|
|
12
|
+
function shouldUseColors() {
|
|
13
|
+
// Check for NO_COLOR environment variable (any non-empty value disables colors)
|
|
14
|
+
if (process.env.NO_COLOR) {
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
17
|
+
// Check for TERM=dumb
|
|
18
|
+
if (process.env.TERM === 'dumb') {
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
// Check if stdout is a TTY
|
|
22
|
+
if (!process.stdout || typeof process.stdout.isTTY === 'undefined') {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
if (process.stdout && typeof process.stdout.isTTY !== 'undefined' && !process.stdout.isTTY) {
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
return true;
|
|
29
|
+
}
|
|
30
|
+
function getLogColors(scheme) {
|
|
31
|
+
if (scheme === 'light') {
|
|
32
|
+
// Darker, high-contrast colors for light backgrounds
|
|
33
|
+
return {
|
|
34
|
+
trace: {
|
|
35
|
+
level: hexToAnsi('#008B8B') + BOLD, // Dark cyan
|
|
36
|
+
message: hexToAnsi('#4B4B4B'), // Dark gray
|
|
37
|
+
},
|
|
38
|
+
debug: {
|
|
39
|
+
level: hexToAnsi('#0000CD') + BOLD, // Medium blue
|
|
40
|
+
message: hexToAnsi('#006400'), // Dark green
|
|
41
|
+
},
|
|
42
|
+
info: {
|
|
43
|
+
level: hexToAnsi('#FF8C00') + BOLD, // Dark orange
|
|
44
|
+
message: hexToAnsi('#0066CC') + BOLD, // Strong blue
|
|
45
|
+
},
|
|
46
|
+
warn: {
|
|
47
|
+
level: hexToAnsi('#9400D3') + BOLD, // Dark violet
|
|
48
|
+
message: hexToAnsi('#8B008B'), // Dark magenta
|
|
49
|
+
},
|
|
50
|
+
error: {
|
|
51
|
+
level: hexToAnsi('#DC143C') + BOLD, // Crimson
|
|
52
|
+
message: hexToAnsi('#8B0000') + BOLD, // Dark red
|
|
53
|
+
},
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
// Dark mode colors (brighter for dark backgrounds)
|
|
57
|
+
return {
|
|
58
|
+
trace: {
|
|
59
|
+
level: hexToAnsi('#00FFFF') + BOLD, // Cyan
|
|
60
|
+
message: hexToAnsi('#A0A0A0'), // Light gray
|
|
61
|
+
},
|
|
62
|
+
debug: {
|
|
63
|
+
level: hexToAnsi('#5C9CFF') + BOLD, // Blue
|
|
64
|
+
message: hexToAnsi('#90EE90'), // Light green
|
|
65
|
+
},
|
|
66
|
+
info: {
|
|
67
|
+
level: hexToAnsi('#FFD700') + BOLD, // Gold/Yellow
|
|
68
|
+
message: hexToAnsi('#FFFFFF') + BOLD, // White
|
|
69
|
+
},
|
|
70
|
+
warn: {
|
|
71
|
+
level: hexToAnsi('#FF00FF') + BOLD, // Magenta
|
|
72
|
+
message: hexToAnsi('#FF00FF'), // Magenta
|
|
73
|
+
},
|
|
74
|
+
error: {
|
|
75
|
+
level: hexToAnsi('#FF4444') + BOLD, // Red
|
|
76
|
+
message: hexToAnsi('#FF4444'), // Red
|
|
77
|
+
},
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
// Detect color scheme from environment
|
|
81
|
+
function detectColorScheme() {
|
|
82
|
+
const scheme = process.env.COLOR_SCHEME?.toLowerCase();
|
|
83
|
+
if (scheme === 'light' || scheme === 'dark') {
|
|
84
|
+
return scheme;
|
|
85
|
+
}
|
|
86
|
+
if (process.env.CI) {
|
|
87
|
+
return 'light';
|
|
88
|
+
}
|
|
89
|
+
return 'dark'; // Default to dark mode
|
|
90
|
+
}
|
|
91
|
+
const NOCOLORS = Object.freeze({ level: '', reset: '', message: '' });
|
|
92
|
+
/**
|
|
93
|
+
* Console implementation of the Logger interface
|
|
94
|
+
*/
|
|
95
|
+
export default class ConsoleLogger {
|
|
96
|
+
context;
|
|
97
|
+
formatContext;
|
|
98
|
+
logLevel;
|
|
99
|
+
colors;
|
|
100
|
+
detectedTraceLoopLog;
|
|
101
|
+
useColors;
|
|
102
|
+
/**
|
|
103
|
+
* Creates a new console logger
|
|
104
|
+
*
|
|
105
|
+
* @param context - Initial context for the logger
|
|
106
|
+
*/
|
|
107
|
+
constructor(context = {}, formatContext = true, logLevel = 'info') {
|
|
108
|
+
this.context = context;
|
|
109
|
+
this.formatContext = formatContext;
|
|
110
|
+
this.logLevel = logLevel;
|
|
111
|
+
this.useColors = shouldUseColors();
|
|
112
|
+
this.colors = this.useColors
|
|
113
|
+
? getLogColors(detectColorScheme())
|
|
114
|
+
: {};
|
|
115
|
+
}
|
|
116
|
+
shouldLog(level) {
|
|
117
|
+
switch (this.logLevel) {
|
|
118
|
+
case 'trace':
|
|
119
|
+
return true;
|
|
120
|
+
case 'debug':
|
|
121
|
+
return level === 'debug' || level === 'info' || level === 'warn' || level === 'error';
|
|
122
|
+
case 'info':
|
|
123
|
+
return level === 'info' || level === 'warn' || level === 'error';
|
|
124
|
+
case 'warn':
|
|
125
|
+
return level === 'warn' || level === 'error';
|
|
126
|
+
case 'error':
|
|
127
|
+
return level === 'error';
|
|
128
|
+
}
|
|
129
|
+
return false;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Log a trace message (most verbose)
|
|
133
|
+
*
|
|
134
|
+
* @param message - The message to log
|
|
135
|
+
* @param args - Additional arguments to log
|
|
136
|
+
*/
|
|
137
|
+
trace(message, ...args) {
|
|
138
|
+
if (!this.shouldLog('trace')) {
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
try {
|
|
142
|
+
const colors = this.useColors ? this.colors.trace : NOCOLORS;
|
|
143
|
+
const formattedMessage = formatMessage(this.formatContext, this.context, message, args);
|
|
144
|
+
__originalConsole.debug(`${colors.level}[TRACE]${RESET} ${colors.message}${formattedMessage}${RESET}`);
|
|
145
|
+
}
|
|
146
|
+
catch (err) {
|
|
147
|
+
// Fallback to direct logging if formatting fails
|
|
148
|
+
const colors = this.colors.trace;
|
|
149
|
+
__originalConsole.debug(`${colors.level}[TRACE]${RESET} ${message}`, ...args);
|
|
150
|
+
__originalConsole.error('Error formatting log message:', err);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Log a debug message
|
|
155
|
+
*
|
|
156
|
+
* @param message - The message to log
|
|
157
|
+
* @param args - Additional arguments to log
|
|
158
|
+
*/
|
|
159
|
+
debug(message, ...args) {
|
|
160
|
+
if (!this.shouldLog('debug')) {
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
try {
|
|
164
|
+
const colors = this.useColors ? this.colors.debug : NOCOLORS;
|
|
165
|
+
const formattedMessage = formatMessage(this.formatContext, this.context, message, args);
|
|
166
|
+
__originalConsole.debug(`${colors.level}[DEBUG]${RESET} ${colors.message}${formattedMessage}${RESET}`);
|
|
167
|
+
}
|
|
168
|
+
catch (err) {
|
|
169
|
+
// Fallback to direct logging if formatting fails
|
|
170
|
+
const colors = this.colors.debug;
|
|
171
|
+
__originalConsole.debug(`${colors.level}[DEBUG]${RESET} ${message}`, ...args);
|
|
172
|
+
__originalConsole.error('Error formatting log message:', err);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Log an info message
|
|
177
|
+
*
|
|
178
|
+
* @param message - The message to log
|
|
179
|
+
* @param args - Additional arguments to log
|
|
180
|
+
*/
|
|
181
|
+
info(message, ...args) {
|
|
182
|
+
if (!this.shouldLog('info')) {
|
|
183
|
+
return;
|
|
184
|
+
}
|
|
185
|
+
// suppress the default traceloop message at info level
|
|
186
|
+
if (!this.detectedTraceLoopLog &&
|
|
187
|
+
typeof message === 'string' &&
|
|
188
|
+
message.includes('Traceloop exporting traces to')) {
|
|
189
|
+
this.detectedTraceLoopLog = true;
|
|
190
|
+
if (this.shouldLog('debug')) {
|
|
191
|
+
this.debug(message, ...args);
|
|
192
|
+
}
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
try {
|
|
196
|
+
const colors = this.useColors ? this.colors.info : NOCOLORS;
|
|
197
|
+
const formattedMessage = formatMessage(this.formatContext, this.context, message, args);
|
|
198
|
+
__originalConsole.info(`${colors.level}[INFO]${RESET} ${colors.message}${formattedMessage}${RESET}`);
|
|
199
|
+
}
|
|
200
|
+
catch (err) {
|
|
201
|
+
// Fallback to direct logging if formatting fails
|
|
202
|
+
const colors = this.colors.info;
|
|
203
|
+
__originalConsole.info(`${colors.level}[INFO]${RESET} ${message}`, ...args);
|
|
204
|
+
__originalConsole.error('Error formatting log message:', err);
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Log a warning message
|
|
209
|
+
*
|
|
210
|
+
* @param message - The message to log
|
|
211
|
+
* @param args - Additional arguments to log
|
|
212
|
+
*/
|
|
213
|
+
warn(message, ...args) {
|
|
214
|
+
if (!this.shouldLog('warn')) {
|
|
215
|
+
return;
|
|
216
|
+
}
|
|
217
|
+
try {
|
|
218
|
+
const colors = this.useColors ? this.colors.warn : NOCOLORS;
|
|
219
|
+
const formattedMessage = formatMessage(this.formatContext, this.context, message, args);
|
|
220
|
+
__originalConsole.warn(`${colors.level}[WARN]${RESET} ${colors.message}${formattedMessage}${RESET}`);
|
|
221
|
+
}
|
|
222
|
+
catch (err) {
|
|
223
|
+
// Fallback to direct logging if formatting fails
|
|
224
|
+
const colors = this.colors.warn;
|
|
225
|
+
__originalConsole.warn(`${colors.level}[WARN]${RESET} ${message}`, ...args);
|
|
226
|
+
__originalConsole.error('Error formatting log message:', err);
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Log an error message
|
|
231
|
+
*
|
|
232
|
+
* @param message - The message to log
|
|
233
|
+
* @param args - Additional arguments to log
|
|
234
|
+
*/
|
|
235
|
+
error(message, ...args) {
|
|
236
|
+
if (!this.shouldLog('error')) {
|
|
237
|
+
return;
|
|
238
|
+
}
|
|
239
|
+
try {
|
|
240
|
+
const colors = this.useColors ? this.colors.error : NOCOLORS;
|
|
241
|
+
const formattedMessage = formatMessage(this.formatContext, this.context, message, args);
|
|
242
|
+
__originalConsole.error(`${colors.level}[ERROR]${RESET} ${colors.message}${formattedMessage}${RESET}`);
|
|
243
|
+
}
|
|
244
|
+
catch (err) {
|
|
245
|
+
// Fallback to direct logging if formatting fails
|
|
246
|
+
const colors = this.colors.error;
|
|
247
|
+
__originalConsole.error(`${colors.level}[ERROR]${RESET} ${message}`, ...args);
|
|
248
|
+
__originalConsole.error('Error formatting log message:', err);
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Log a fatal error message and exit the process
|
|
253
|
+
*
|
|
254
|
+
* @param message - The message to log
|
|
255
|
+
* @param args - Additional arguments to log
|
|
256
|
+
*/
|
|
257
|
+
fatal(message, ...args) {
|
|
258
|
+
this.error(message, ...args);
|
|
259
|
+
process.exit(1);
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Create a child logger with additional context
|
|
263
|
+
*
|
|
264
|
+
* @param opts - Additional context for the child logger
|
|
265
|
+
* @returns A new logger instance with the additional context
|
|
266
|
+
*/
|
|
267
|
+
child(opts) {
|
|
268
|
+
return new ConsoleLogger({
|
|
269
|
+
...this.context,
|
|
270
|
+
...opts,
|
|
271
|
+
}, this.formatContext, this.logLevel);
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
//# sourceMappingURL=console.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"console.js","sourceRoot":"","sources":["../../src/logger/console.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/logger/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAe,MAAM,EAAE,MAAM,QAAQ,CAAC"}
|