@voltagent/internal 0.0.1

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.
@@ -0,0 +1,132 @@
1
+ interface DevLoggerOptions {
2
+ dev: boolean | (() => boolean);
3
+ }
4
+ /**
5
+ * A logger for development purposes, that will not pollute the production logs (aka if process.env.NODE_ENV is not "development").
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * devLogger.info("Hello, world!");
10
+ * ```
11
+ */
12
+ declare function createDevLogger(options?: DevLoggerOptions): {
13
+ /**
14
+ * Log a message to the console if the environment is development. This will NOT be logged if process.env.NODE_ENV is not "development".
15
+ *
16
+ * @example
17
+ * ```typescript
18
+ * devLogger.info("Hello, world!");
19
+ *
20
+ * // output: [VoltAgent] [2021-01-01T00:00:00.000Z] INFO: Hello, world!
21
+ * ```
22
+ *
23
+ * @param message - The message to log.
24
+ * @param args - The arguments to log.
25
+ */
26
+ info: (message?: any, ...args: any[]) => void;
27
+ /**
28
+ * Log a warning message to the console if the environment is development. This will NOT be logged if process.env.NODE_ENV is not "development".
29
+ *
30
+ * @example
31
+ * ```typescript
32
+ * devLogger.warn("Hello, world!");
33
+ *
34
+ * // output: [VoltAgent] [2021-01-01T00:00:00.000Z] WARN: Hello, world!
35
+ * ```
36
+ *
37
+ * @param message - The message to log.
38
+ * @param args - The arguments to log.
39
+ */
40
+ warn: (message?: any, ...args: any[]) => void;
41
+ /**
42
+ * Log a warning message to the console if the environment is development.
43
+ *
44
+ * @example
45
+ * ```typescript
46
+ * devLogger.error("Hello, world!");
47
+ *
48
+ * // output: [VoltAgent] [2021-01-01T00:00:00.000Z] ERROR: Hello, world!
49
+ * ```
50
+ *
51
+ * @param message - The message to log.
52
+ * @param args - The arguments to log.
53
+ */
54
+ error: (message?: any, ...args: any[]) => void;
55
+ };
56
+ declare const _default: {
57
+ /**
58
+ * Log a message to the console if the environment is development. This will NOT be logged if process.env.NODE_ENV is not "development".
59
+ *
60
+ * @example
61
+ * ```typescript
62
+ * devLogger.info("Hello, world!");
63
+ *
64
+ * // output: [VoltAgent] [2021-01-01T00:00:00.000Z] INFO: Hello, world!
65
+ * ```
66
+ *
67
+ * @param message - The message to log.
68
+ * @param args - The arguments to log.
69
+ */
70
+ info: (message?: any, ...args: any[]) => void;
71
+ /**
72
+ * Log a warning message to the console if the environment is development. This will NOT be logged if process.env.NODE_ENV is not "development".
73
+ *
74
+ * @example
75
+ * ```typescript
76
+ * devLogger.warn("Hello, world!");
77
+ *
78
+ * // output: [VoltAgent] [2021-01-01T00:00:00.000Z] WARN: Hello, world!
79
+ * ```
80
+ *
81
+ * @param message - The message to log.
82
+ * @param args - The arguments to log.
83
+ */
84
+ warn: (message?: any, ...args: any[]) => void;
85
+ /**
86
+ * Log a warning message to the console if the environment is development.
87
+ *
88
+ * @example
89
+ * ```typescript
90
+ * devLogger.error("Hello, world!");
91
+ *
92
+ * // output: [VoltAgent] [2021-01-01T00:00:00.000Z] ERROR: Hello, world!
93
+ * ```
94
+ *
95
+ * @param message - The message to log.
96
+ * @param args - The arguments to log.
97
+ */
98
+ error: (message?: any, ...args: any[]) => void;
99
+ };
100
+
101
+ /**
102
+ * Convert a readable stream to an array
103
+ * @param stream - The readable stream to convert
104
+ * @returns The array of values
105
+ */
106
+ declare function convertReadableStreamToArray<T>(stream: ReadableStream<T>): Promise<T[]>;
107
+ /**
108
+ * Convert an array to an async iterable
109
+ * @param values - The array to convert
110
+ * @returns The async iterable
111
+ */
112
+ declare function convertArrayToAsyncIterable<T>(values: T[]): AsyncIterable<T>;
113
+ /**
114
+ * Convert an async iterable to an array
115
+ * @param iterable - The async iterable to convert
116
+ * @returns The array of values
117
+ */
118
+ declare function convertAsyncIterableToArray<T>(iterable: AsyncIterable<T>): Promise<T[]>;
119
+ /**
120
+ * Convert an array to a readable stream
121
+ * @param values - The array to convert
122
+ * @returns The readable stream
123
+ */
124
+ declare function convertArrayToReadableStream<T>(values: T[]): ReadableStream<T>;
125
+ /**
126
+ * Convert a response stream to an array
127
+ * @param response - The response to convert
128
+ * @returns The array of values
129
+ */
130
+ declare function convertResponseStreamToArray(response: Response): Promise<string[]>;
131
+
132
+ export { type DevLoggerOptions, convertArrayToAsyncIterable, convertArrayToReadableStream, convertAsyncIterableToArray, convertReadableStreamToArray, convertResponseStreamToArray, createDevLogger, _default as devLogger };
@@ -0,0 +1,227 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
7
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
21
+ var __async = (__this, __arguments, generator) => {
22
+ return new Promise((resolve, reject) => {
23
+ var fulfilled = (value) => {
24
+ try {
25
+ step(generator.next(value));
26
+ } catch (e) {
27
+ reject(e);
28
+ }
29
+ };
30
+ var rejected = (value) => {
31
+ try {
32
+ step(generator.throw(value));
33
+ } catch (e) {
34
+ reject(e);
35
+ }
36
+ };
37
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
38
+ step((generator = generator.apply(__this, __arguments)).next());
39
+ });
40
+ };
41
+ var __await = function(promise, isYieldStar) {
42
+ this[0] = promise;
43
+ this[1] = isYieldStar;
44
+ };
45
+ var __asyncGenerator = (__this, __arguments, generator) => {
46
+ var resume = (k, v, yes, no) => {
47
+ try {
48
+ var x = generator[k](v), isAwait = (v = x.value) instanceof __await, done = x.done;
49
+ Promise.resolve(isAwait ? v[0] : v).then((y) => isAwait ? resume(k === "return" ? k : "next", v[1] ? { done: y.done, value: y.value } : y, yes, no) : yes({ value: y, done })).catch((e) => resume("throw", e, yes, no));
50
+ } catch (e) {
51
+ no(e);
52
+ }
53
+ }, method = (k) => it[k] = (x) => new Promise((yes, no) => resume(k, x, yes, no)), it = {};
54
+ return generator = generator.apply(__this, __arguments), it[__knownSymbol("asyncIterator")] = () => it, method("next"), method("throw"), method("return"), it;
55
+ };
56
+ var __forAwait = (obj, it, method) => (it = obj[__knownSymbol("asyncIterator")]) ? it.call(obj) : (obj = obj[__knownSymbol("iterator")](), it = {}, method = (key, fn) => (fn = obj[key]) && (it[key] = (arg) => new Promise((yes, no, done) => (arg = fn.call(obj, arg), done = arg.done, Promise.resolve(arg.value).then((value) => yes({ value, done }), no)))), method("next"), method("return"), it);
57
+
58
+ // src/index.ts
59
+ var index_exports = {};
60
+ __export(index_exports, {
61
+ convertArrayToAsyncIterable: () => convertArrayToAsyncIterable,
62
+ convertArrayToReadableStream: () => convertArrayToReadableStream,
63
+ convertAsyncIterableToArray: () => convertAsyncIterableToArray,
64
+ convertReadableStreamToArray: () => convertReadableStreamToArray,
65
+ convertResponseStreamToArray: () => convertResponseStreamToArray,
66
+ createDevLogger: () => createDevLogger,
67
+ devLogger: () => logger_default
68
+ });
69
+ module.exports = __toCommonJS(index_exports);
70
+
71
+ // src/dev/logger.ts
72
+ function createDevLogger(options) {
73
+ const isDev = typeof (options == null ? void 0 : options.dev) === "function" ? options.dev : () => {
74
+ var _a;
75
+ return (_a = options == null ? void 0 : options.dev) != null ? _a : isDevNodeEnv();
76
+ };
77
+ return {
78
+ /**
79
+ * Log a message to the console if the environment is development. This will NOT be logged if process.env.NODE_ENV is not "development".
80
+ *
81
+ * @example
82
+ * ```typescript
83
+ * devLogger.info("Hello, world!");
84
+ *
85
+ * // output: [VoltAgent] [2021-01-01T00:00:00.000Z] INFO: Hello, world!
86
+ * ```
87
+ *
88
+ * @param message - The message to log.
89
+ * @param args - The arguments to log.
90
+ */
91
+ info: /* @__PURE__ */ __name((message, ...args) => {
92
+ if (isDev()) {
93
+ console.info(formatLogPrefix("INFO"), message, ...args);
94
+ }
95
+ }, "info"),
96
+ /**
97
+ * Log a warning message to the console if the environment is development. This will NOT be logged if process.env.NODE_ENV is not "development".
98
+ *
99
+ * @example
100
+ * ```typescript
101
+ * devLogger.warn("Hello, world!");
102
+ *
103
+ * // output: [VoltAgent] [2021-01-01T00:00:00.000Z] WARN: Hello, world!
104
+ * ```
105
+ *
106
+ * @param message - The message to log.
107
+ * @param args - The arguments to log.
108
+ */
109
+ warn: /* @__PURE__ */ __name((message, ...args) => {
110
+ if (isDev()) {
111
+ console.warn(formatLogPrefix("WARN"), message, ...args);
112
+ }
113
+ }, "warn"),
114
+ /**
115
+ * Log a warning message to the console if the environment is development.
116
+ *
117
+ * @example
118
+ * ```typescript
119
+ * devLogger.error("Hello, world!");
120
+ *
121
+ * // output: [VoltAgent] [2021-01-01T00:00:00.000Z] ERROR: Hello, world!
122
+ * ```
123
+ *
124
+ * @param message - The message to log.
125
+ * @param args - The arguments to log.
126
+ */
127
+ error: /* @__PURE__ */ __name((message, ...args) => {
128
+ if (isDev()) {
129
+ console.error(formatLogPrefix("ERROR"), message, ...args);
130
+ }
131
+ }, "error")
132
+ };
133
+ }
134
+ __name(createDevLogger, "createDevLogger");
135
+ var logger_default = createDevLogger();
136
+ function isDevNodeEnv() {
137
+ return process.env.NODE_ENV === "development";
138
+ }
139
+ __name(isDevNodeEnv, "isDevNodeEnv");
140
+ function formatLogPrefix(level) {
141
+ return `[VoltAgent] [${timestamp()}] ${level}: `;
142
+ }
143
+ __name(formatLogPrefix, "formatLogPrefix");
144
+ function timestamp() {
145
+ return (/* @__PURE__ */ new Date()).toISOString().replace("T", " ").slice(0, -1);
146
+ }
147
+ __name(timestamp, "timestamp");
148
+
149
+ // src/test/conversions.ts
150
+ function convertReadableStreamToArray(stream) {
151
+ return __async(this, null, function* () {
152
+ const reader = stream.getReader();
153
+ const result = [];
154
+ while (true) {
155
+ const { done, value } = yield reader.read();
156
+ if (done) break;
157
+ result.push(value);
158
+ }
159
+ return result;
160
+ });
161
+ }
162
+ __name(convertReadableStreamToArray, "convertReadableStreamToArray");
163
+ function convertArrayToAsyncIterable(values) {
164
+ return {
165
+ [Symbol.asyncIterator]() {
166
+ return __asyncGenerator(this, null, function* () {
167
+ for (const value of values) {
168
+ yield value;
169
+ }
170
+ });
171
+ }
172
+ };
173
+ }
174
+ __name(convertArrayToAsyncIterable, "convertArrayToAsyncIterable");
175
+ function convertAsyncIterableToArray(iterable) {
176
+ return __async(this, null, function* () {
177
+ const result = [];
178
+ try {
179
+ for (var iter = __forAwait(iterable), more, temp, error; more = !(temp = yield iter.next()).done; more = false) {
180
+ const item = temp.value;
181
+ result.push(item);
182
+ }
183
+ } catch (temp) {
184
+ error = [temp];
185
+ } finally {
186
+ try {
187
+ more && (temp = iter.return) && (yield temp.call(iter));
188
+ } finally {
189
+ if (error)
190
+ throw error[0];
191
+ }
192
+ }
193
+ return result;
194
+ });
195
+ }
196
+ __name(convertAsyncIterableToArray, "convertAsyncIterableToArray");
197
+ function convertArrayToReadableStream(values) {
198
+ return new ReadableStream({
199
+ start(controller) {
200
+ try {
201
+ for (const value of values) {
202
+ controller.enqueue(value);
203
+ }
204
+ } finally {
205
+ controller.close();
206
+ }
207
+ }
208
+ });
209
+ }
210
+ __name(convertArrayToReadableStream, "convertArrayToReadableStream");
211
+ function convertResponseStreamToArray(response) {
212
+ return __async(this, null, function* () {
213
+ return convertReadableStreamToArray(response.body.pipeThrough(new TextDecoderStream()));
214
+ });
215
+ }
216
+ __name(convertResponseStreamToArray, "convertResponseStreamToArray");
217
+ // Annotate the CommonJS export names for ESM import in node:
218
+ 0 && (module.exports = {
219
+ convertArrayToAsyncIterable,
220
+ convertArrayToReadableStream,
221
+ convertAsyncIterableToArray,
222
+ convertReadableStreamToArray,
223
+ convertResponseStreamToArray,
224
+ createDevLogger,
225
+ devLogger
226
+ });
227
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/index.ts","../../src/dev/logger.ts","../../src/test/conversions.ts"],"sourcesContent":["export * from \"./dev\";\nexport * from \"./test\";\n","export interface DevLoggerOptions {\n dev: boolean | (() => boolean);\n}\n\n/**\n * A logger for development purposes, that will not pollute the production logs (aka if process.env.NODE_ENV is not \"development\").\n *\n * @example\n * ```typescript\n * devLogger.info(\"Hello, world!\");\n * ```\n */\nexport function createDevLogger(options?: DevLoggerOptions) {\n const isDev =\n typeof options?.dev === \"function\" ? options.dev : () => options?.dev ?? isDevNodeEnv();\n\n return {\n /**\n * Log a message to the console if the environment is development. This will NOT be logged if process.env.NODE_ENV is not \"development\".\n *\n * @example\n * ```typescript\n * devLogger.info(\"Hello, world!\");\n *\n * // output: [VoltAgent] [2021-01-01T00:00:00.000Z] INFO: Hello, world!\n * ```\n *\n * @param message - The message to log.\n * @param args - The arguments to log.\n */\n info: (message?: any, ...args: any[]) => {\n if (isDev()) {\n console.info(formatLogPrefix(\"INFO\"), message, ...args);\n }\n },\n /**\n * Log a warning message to the console if the environment is development. This will NOT be logged if process.env.NODE_ENV is not \"development\".\n *\n * @example\n * ```typescript\n * devLogger.warn(\"Hello, world!\");\n *\n * // output: [VoltAgent] [2021-01-01T00:00:00.000Z] WARN: Hello, world!\n * ```\n *\n * @param message - The message to log.\n * @param args - The arguments to log.\n */\n warn: (message?: any, ...args: any[]) => {\n if (isDev()) {\n console.warn(formatLogPrefix(\"WARN\"), message, ...args);\n }\n },\n /**\n * Log a warning message to the console if the environment is development.\n *\n * @example\n * ```typescript\n * devLogger.error(\"Hello, world!\");\n *\n * // output: [VoltAgent] [2021-01-01T00:00:00.000Z] ERROR: Hello, world!\n * ```\n *\n * @param message - The message to log.\n * @param args - The arguments to log.\n */\n error: (message?: any, ...args: any[]) => {\n if (isDev()) {\n console.error(formatLogPrefix(\"ERROR\"), message, ...args);\n }\n },\n };\n}\n\nexport default createDevLogger();\n\nfunction isDevNodeEnv() {\n return process.env.NODE_ENV === \"development\";\n}\n\nfunction formatLogPrefix(level: \"INFO\" | \"WARN\" | \"ERROR\"): string {\n return `[VoltAgent] [${timestamp()}] ${level}: `;\n}\n\nfunction timestamp(): string {\n return new Date().toISOString().replace(\"T\", \" \").slice(0, -1);\n}\n","/**\n * Convert a readable stream to an array\n * @param stream - The readable stream to convert\n * @returns The array of values\n */\nexport async function convertReadableStreamToArray<T>(stream: ReadableStream<T>): Promise<T[]> {\n const reader = stream.getReader();\n const result: T[] = [];\n\n while (true) {\n const { done, value } = await reader.read();\n if (done) break;\n result.push(value);\n }\n\n return result;\n}\n\n/**\n * Convert an array to an async iterable\n * @param values - The array to convert\n * @returns The async iterable\n */\nexport function convertArrayToAsyncIterable<T>(values: T[]): AsyncIterable<T> {\n return {\n async *[Symbol.asyncIterator]() {\n for (const value of values) {\n yield value;\n }\n },\n };\n}\n\n/**\n * Convert an async iterable to an array\n * @param iterable - The async iterable to convert\n * @returns The array of values\n */\nexport async function convertAsyncIterableToArray<T>(iterable: AsyncIterable<T>): Promise<T[]> {\n const result: T[] = [];\n for await (const item of iterable) {\n result.push(item);\n }\n return result;\n}\n\n/**\n * Convert an array to a readable stream\n * @param values - The array to convert\n * @returns The readable stream\n */\nexport function convertArrayToReadableStream<T>(values: T[]): ReadableStream<T> {\n return new ReadableStream({\n start(controller) {\n try {\n for (const value of values) {\n controller.enqueue(value);\n }\n } finally {\n controller.close();\n }\n },\n });\n}\n\n/**\n * Convert a response stream to an array\n * @param response - The response to convert\n * @returns The array of values\n */\nexport async function convertResponseStreamToArray(response: Response): Promise<string[]> {\n // biome-ignore lint/style/noNonNullAssertion: ignore this\n return convertReadableStreamToArray(response.body!.pipeThrough(new TextDecoderStream()));\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACYO,SAAS,gBAAgB,SAA4B;AAC1D,QAAM,QACJ,QAAO,mCAAS,SAAQ,aAAa,QAAQ,MAAM,MAAG;AAd1D;AAc6D,oDAAS,QAAT,YAAgB,aAAa;AAAA;AAExF,SAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAcL,MAAM,wBAAC,YAAkB,SAAgB;AACvC,UAAI,MAAM,GAAG;AACX,gBAAQ,KAAK,gBAAgB,MAAM,GAAG,SAAS,GAAG,IAAI;AAAA,MACxD;AAAA,IACF,GAJM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAkBN,MAAM,wBAAC,YAAkB,SAAgB;AACvC,UAAI,MAAM,GAAG;AACX,gBAAQ,KAAK,gBAAgB,MAAM,GAAG,SAAS,GAAG,IAAI;AAAA,MACxD;AAAA,IACF,GAJM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAkBN,OAAO,wBAAC,YAAkB,SAAgB;AACxC,UAAI,MAAM,GAAG;AACX,gBAAQ,MAAM,gBAAgB,OAAO,GAAG,SAAS,GAAG,IAAI;AAAA,MAC1D;AAAA,IACF,GAJO;AAAA,EAKT;AACF;AA5DgB;AA8DhB,IAAO,iBAAQ,gBAAgB;AAE/B,SAAS,eAAe;AACtB,SAAO,QAAQ,IAAI,aAAa;AAClC;AAFS;AAIT,SAAS,gBAAgB,OAA0C;AACjE,SAAO,gBAAgB,UAAU,CAAC,KAAK,KAAK;AAC9C;AAFS;AAIT,SAAS,YAAoB;AAC3B,UAAO,oBAAI,KAAK,GAAE,YAAY,EAAE,QAAQ,KAAK,GAAG,EAAE,MAAM,GAAG,EAAE;AAC/D;AAFS;;;AC/ET,SAAsB,6BAAgC,QAAyC;AAAA;AAC7F,UAAM,SAAS,OAAO,UAAU;AAChC,UAAM,SAAc,CAAC;AAErB,WAAO,MAAM;AACX,YAAM,EAAE,MAAM,MAAM,IAAI,MAAM,OAAO,KAAK;AAC1C,UAAI,KAAM;AACV,aAAO,KAAK,KAAK;AAAA,IACnB;AAEA,WAAO;AAAA,EACT;AAAA;AAXsB;AAkBf,SAAS,4BAA+B,QAA+B;AAC5E,SAAO;AAAA,IACL,CAAQ,OAAO,aAAa,IAAI;AAAA;AAC9B,mBAAW,SAAS,QAAQ;AAC1B,gBAAM;AAAA,QACR;AAAA,MACF;AAAA;AAAA,EACF;AACF;AARgB;AAehB,SAAsB,4BAA+B,UAA0C;AAAA;AAC7F,UAAM,SAAc,CAAC;AACrB;AAAA,iCAAyB,WAAzB,0EAAmC;AAAxB,cAAM,OAAjB;AACE,eAAO,KAAK,IAAI;AAAA,MAClB;AAAA,aAFA,MAxCF;AAwCE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,WAAO;AAAA,EACT;AAAA;AANsB;AAaf,SAAS,6BAAgC,QAAgC;AAC9E,SAAO,IAAI,eAAe;AAAA,IACxB,MAAM,YAAY;AAChB,UAAI;AACF,mBAAW,SAAS,QAAQ;AAC1B,qBAAW,QAAQ,KAAK;AAAA,QAC1B;AAAA,MACF,UAAE;AACA,mBAAW,MAAM;AAAA,MACnB;AAAA,IACF;AAAA,EACF,CAAC;AACH;AAZgB;AAmBhB,SAAsB,6BAA6B,UAAuC;AAAA;AAExF,WAAO,6BAA6B,SAAS,KAAM,YAAY,IAAI,kBAAkB,CAAC,CAAC;AAAA,EACzF;AAAA;AAHsB;","names":[]}
@@ -0,0 +1,196 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
3
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
4
+ var __async = (__this, __arguments, generator) => {
5
+ return new Promise((resolve, reject) => {
6
+ var fulfilled = (value) => {
7
+ try {
8
+ step(generator.next(value));
9
+ } catch (e) {
10
+ reject(e);
11
+ }
12
+ };
13
+ var rejected = (value) => {
14
+ try {
15
+ step(generator.throw(value));
16
+ } catch (e) {
17
+ reject(e);
18
+ }
19
+ };
20
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
21
+ step((generator = generator.apply(__this, __arguments)).next());
22
+ });
23
+ };
24
+ var __await = function(promise, isYieldStar) {
25
+ this[0] = promise;
26
+ this[1] = isYieldStar;
27
+ };
28
+ var __asyncGenerator = (__this, __arguments, generator) => {
29
+ var resume = (k, v, yes, no) => {
30
+ try {
31
+ var x = generator[k](v), isAwait = (v = x.value) instanceof __await, done = x.done;
32
+ Promise.resolve(isAwait ? v[0] : v).then((y) => isAwait ? resume(k === "return" ? k : "next", v[1] ? { done: y.done, value: y.value } : y, yes, no) : yes({ value: y, done })).catch((e) => resume("throw", e, yes, no));
33
+ } catch (e) {
34
+ no(e);
35
+ }
36
+ }, method = (k) => it[k] = (x) => new Promise((yes, no) => resume(k, x, yes, no)), it = {};
37
+ return generator = generator.apply(__this, __arguments), it[__knownSymbol("asyncIterator")] = () => it, method("next"), method("throw"), method("return"), it;
38
+ };
39
+ var __forAwait = (obj, it, method) => (it = obj[__knownSymbol("asyncIterator")]) ? it.call(obj) : (obj = obj[__knownSymbol("iterator")](), it = {}, method = (key, fn) => (fn = obj[key]) && (it[key] = (arg) => new Promise((yes, no, done) => (arg = fn.call(obj, arg), done = arg.done, Promise.resolve(arg.value).then((value) => yes({ value, done }), no)))), method("next"), method("return"), it);
40
+
41
+ // src/dev/logger.ts
42
+ function createDevLogger(options) {
43
+ const isDev = typeof (options == null ? void 0 : options.dev) === "function" ? options.dev : () => {
44
+ var _a;
45
+ return (_a = options == null ? void 0 : options.dev) != null ? _a : isDevNodeEnv();
46
+ };
47
+ return {
48
+ /**
49
+ * Log a message to the console if the environment is development. This will NOT be logged if process.env.NODE_ENV is not "development".
50
+ *
51
+ * @example
52
+ * ```typescript
53
+ * devLogger.info("Hello, world!");
54
+ *
55
+ * // output: [VoltAgent] [2021-01-01T00:00:00.000Z] INFO: Hello, world!
56
+ * ```
57
+ *
58
+ * @param message - The message to log.
59
+ * @param args - The arguments to log.
60
+ */
61
+ info: /* @__PURE__ */ __name((message, ...args) => {
62
+ if (isDev()) {
63
+ console.info(formatLogPrefix("INFO"), message, ...args);
64
+ }
65
+ }, "info"),
66
+ /**
67
+ * Log a warning message to the console if the environment is development. This will NOT be logged if process.env.NODE_ENV is not "development".
68
+ *
69
+ * @example
70
+ * ```typescript
71
+ * devLogger.warn("Hello, world!");
72
+ *
73
+ * // output: [VoltAgent] [2021-01-01T00:00:00.000Z] WARN: Hello, world!
74
+ * ```
75
+ *
76
+ * @param message - The message to log.
77
+ * @param args - The arguments to log.
78
+ */
79
+ warn: /* @__PURE__ */ __name((message, ...args) => {
80
+ if (isDev()) {
81
+ console.warn(formatLogPrefix("WARN"), message, ...args);
82
+ }
83
+ }, "warn"),
84
+ /**
85
+ * Log a warning message to the console if the environment is development.
86
+ *
87
+ * @example
88
+ * ```typescript
89
+ * devLogger.error("Hello, world!");
90
+ *
91
+ * // output: [VoltAgent] [2021-01-01T00:00:00.000Z] ERROR: Hello, world!
92
+ * ```
93
+ *
94
+ * @param message - The message to log.
95
+ * @param args - The arguments to log.
96
+ */
97
+ error: /* @__PURE__ */ __name((message, ...args) => {
98
+ if (isDev()) {
99
+ console.error(formatLogPrefix("ERROR"), message, ...args);
100
+ }
101
+ }, "error")
102
+ };
103
+ }
104
+ __name(createDevLogger, "createDevLogger");
105
+ var logger_default = createDevLogger();
106
+ function isDevNodeEnv() {
107
+ return process.env.NODE_ENV === "development";
108
+ }
109
+ __name(isDevNodeEnv, "isDevNodeEnv");
110
+ function formatLogPrefix(level) {
111
+ return `[VoltAgent] [${timestamp()}] ${level}: `;
112
+ }
113
+ __name(formatLogPrefix, "formatLogPrefix");
114
+ function timestamp() {
115
+ return (/* @__PURE__ */ new Date()).toISOString().replace("T", " ").slice(0, -1);
116
+ }
117
+ __name(timestamp, "timestamp");
118
+
119
+ // src/test/conversions.ts
120
+ function convertReadableStreamToArray(stream) {
121
+ return __async(this, null, function* () {
122
+ const reader = stream.getReader();
123
+ const result = [];
124
+ while (true) {
125
+ const { done, value } = yield reader.read();
126
+ if (done) break;
127
+ result.push(value);
128
+ }
129
+ return result;
130
+ });
131
+ }
132
+ __name(convertReadableStreamToArray, "convertReadableStreamToArray");
133
+ function convertArrayToAsyncIterable(values) {
134
+ return {
135
+ [Symbol.asyncIterator]() {
136
+ return __asyncGenerator(this, null, function* () {
137
+ for (const value of values) {
138
+ yield value;
139
+ }
140
+ });
141
+ }
142
+ };
143
+ }
144
+ __name(convertArrayToAsyncIterable, "convertArrayToAsyncIterable");
145
+ function convertAsyncIterableToArray(iterable) {
146
+ return __async(this, null, function* () {
147
+ const result = [];
148
+ try {
149
+ for (var iter = __forAwait(iterable), more, temp, error; more = !(temp = yield iter.next()).done; more = false) {
150
+ const item = temp.value;
151
+ result.push(item);
152
+ }
153
+ } catch (temp) {
154
+ error = [temp];
155
+ } finally {
156
+ try {
157
+ more && (temp = iter.return) && (yield temp.call(iter));
158
+ } finally {
159
+ if (error)
160
+ throw error[0];
161
+ }
162
+ }
163
+ return result;
164
+ });
165
+ }
166
+ __name(convertAsyncIterableToArray, "convertAsyncIterableToArray");
167
+ function convertArrayToReadableStream(values) {
168
+ return new ReadableStream({
169
+ start(controller) {
170
+ try {
171
+ for (const value of values) {
172
+ controller.enqueue(value);
173
+ }
174
+ } finally {
175
+ controller.close();
176
+ }
177
+ }
178
+ });
179
+ }
180
+ __name(convertArrayToReadableStream, "convertArrayToReadableStream");
181
+ function convertResponseStreamToArray(response) {
182
+ return __async(this, null, function* () {
183
+ return convertReadableStreamToArray(response.body.pipeThrough(new TextDecoderStream()));
184
+ });
185
+ }
186
+ __name(convertResponseStreamToArray, "convertResponseStreamToArray");
187
+ export {
188
+ convertArrayToAsyncIterable,
189
+ convertArrayToReadableStream,
190
+ convertAsyncIterableToArray,
191
+ convertReadableStreamToArray,
192
+ convertResponseStreamToArray,
193
+ createDevLogger,
194
+ logger_default as devLogger
195
+ };
196
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/dev/logger.ts","../../src/test/conversions.ts"],"sourcesContent":["export interface DevLoggerOptions {\n dev: boolean | (() => boolean);\n}\n\n/**\n * A logger for development purposes, that will not pollute the production logs (aka if process.env.NODE_ENV is not \"development\").\n *\n * @example\n * ```typescript\n * devLogger.info(\"Hello, world!\");\n * ```\n */\nexport function createDevLogger(options?: DevLoggerOptions) {\n const isDev =\n typeof options?.dev === \"function\" ? options.dev : () => options?.dev ?? isDevNodeEnv();\n\n return {\n /**\n * Log a message to the console if the environment is development. This will NOT be logged if process.env.NODE_ENV is not \"development\".\n *\n * @example\n * ```typescript\n * devLogger.info(\"Hello, world!\");\n *\n * // output: [VoltAgent] [2021-01-01T00:00:00.000Z] INFO: Hello, world!\n * ```\n *\n * @param message - The message to log.\n * @param args - The arguments to log.\n */\n info: (message?: any, ...args: any[]) => {\n if (isDev()) {\n console.info(formatLogPrefix(\"INFO\"), message, ...args);\n }\n },\n /**\n * Log a warning message to the console if the environment is development. This will NOT be logged if process.env.NODE_ENV is not \"development\".\n *\n * @example\n * ```typescript\n * devLogger.warn(\"Hello, world!\");\n *\n * // output: [VoltAgent] [2021-01-01T00:00:00.000Z] WARN: Hello, world!\n * ```\n *\n * @param message - The message to log.\n * @param args - The arguments to log.\n */\n warn: (message?: any, ...args: any[]) => {\n if (isDev()) {\n console.warn(formatLogPrefix(\"WARN\"), message, ...args);\n }\n },\n /**\n * Log a warning message to the console if the environment is development.\n *\n * @example\n * ```typescript\n * devLogger.error(\"Hello, world!\");\n *\n * // output: [VoltAgent] [2021-01-01T00:00:00.000Z] ERROR: Hello, world!\n * ```\n *\n * @param message - The message to log.\n * @param args - The arguments to log.\n */\n error: (message?: any, ...args: any[]) => {\n if (isDev()) {\n console.error(formatLogPrefix(\"ERROR\"), message, ...args);\n }\n },\n };\n}\n\nexport default createDevLogger();\n\nfunction isDevNodeEnv() {\n return process.env.NODE_ENV === \"development\";\n}\n\nfunction formatLogPrefix(level: \"INFO\" | \"WARN\" | \"ERROR\"): string {\n return `[VoltAgent] [${timestamp()}] ${level}: `;\n}\n\nfunction timestamp(): string {\n return new Date().toISOString().replace(\"T\", \" \").slice(0, -1);\n}\n","/**\n * Convert a readable stream to an array\n * @param stream - The readable stream to convert\n * @returns The array of values\n */\nexport async function convertReadableStreamToArray<T>(stream: ReadableStream<T>): Promise<T[]> {\n const reader = stream.getReader();\n const result: T[] = [];\n\n while (true) {\n const { done, value } = await reader.read();\n if (done) break;\n result.push(value);\n }\n\n return result;\n}\n\n/**\n * Convert an array to an async iterable\n * @param values - The array to convert\n * @returns The async iterable\n */\nexport function convertArrayToAsyncIterable<T>(values: T[]): AsyncIterable<T> {\n return {\n async *[Symbol.asyncIterator]() {\n for (const value of values) {\n yield value;\n }\n },\n };\n}\n\n/**\n * Convert an async iterable to an array\n * @param iterable - The async iterable to convert\n * @returns The array of values\n */\nexport async function convertAsyncIterableToArray<T>(iterable: AsyncIterable<T>): Promise<T[]> {\n const result: T[] = [];\n for await (const item of iterable) {\n result.push(item);\n }\n return result;\n}\n\n/**\n * Convert an array to a readable stream\n * @param values - The array to convert\n * @returns The readable stream\n */\nexport function convertArrayToReadableStream<T>(values: T[]): ReadableStream<T> {\n return new ReadableStream({\n start(controller) {\n try {\n for (const value of values) {\n controller.enqueue(value);\n }\n } finally {\n controller.close();\n }\n },\n });\n}\n\n/**\n * Convert a response stream to an array\n * @param response - The response to convert\n * @returns The array of values\n */\nexport async function convertResponseStreamToArray(response: Response): Promise<string[]> {\n // biome-ignore lint/style/noNonNullAssertion: ignore this\n return convertReadableStreamToArray(response.body!.pipeThrough(new TextDecoderStream()));\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYO,SAAS,gBAAgB,SAA4B;AAC1D,QAAM,QACJ,QAAO,mCAAS,SAAQ,aAAa,QAAQ,MAAM,MAAG;AAd1D;AAc6D,oDAAS,QAAT,YAAgB,aAAa;AAAA;AAExF,SAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAcL,MAAM,wBAAC,YAAkB,SAAgB;AACvC,UAAI,MAAM,GAAG;AACX,gBAAQ,KAAK,gBAAgB,MAAM,GAAG,SAAS,GAAG,IAAI;AAAA,MACxD;AAAA,IACF,GAJM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAkBN,MAAM,wBAAC,YAAkB,SAAgB;AACvC,UAAI,MAAM,GAAG;AACX,gBAAQ,KAAK,gBAAgB,MAAM,GAAG,SAAS,GAAG,IAAI;AAAA,MACxD;AAAA,IACF,GAJM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAkBN,OAAO,wBAAC,YAAkB,SAAgB;AACxC,UAAI,MAAM,GAAG;AACX,gBAAQ,MAAM,gBAAgB,OAAO,GAAG,SAAS,GAAG,IAAI;AAAA,MAC1D;AAAA,IACF,GAJO;AAAA,EAKT;AACF;AA5DgB;AA8DhB,IAAO,iBAAQ,gBAAgB;AAE/B,SAAS,eAAe;AACtB,SAAO,QAAQ,IAAI,aAAa;AAClC;AAFS;AAIT,SAAS,gBAAgB,OAA0C;AACjE,SAAO,gBAAgB,UAAU,CAAC,KAAK,KAAK;AAC9C;AAFS;AAIT,SAAS,YAAoB;AAC3B,UAAO,oBAAI,KAAK,GAAE,YAAY,EAAE,QAAQ,KAAK,GAAG,EAAE,MAAM,GAAG,EAAE;AAC/D;AAFS;;;AC/ET,SAAsB,6BAAgC,QAAyC;AAAA;AAC7F,UAAM,SAAS,OAAO,UAAU;AAChC,UAAM,SAAc,CAAC;AAErB,WAAO,MAAM;AACX,YAAM,EAAE,MAAM,MAAM,IAAI,MAAM,OAAO,KAAK;AAC1C,UAAI,KAAM;AACV,aAAO,KAAK,KAAK;AAAA,IACnB;AAEA,WAAO;AAAA,EACT;AAAA;AAXsB;AAkBf,SAAS,4BAA+B,QAA+B;AAC5E,SAAO;AAAA,IACL,CAAQ,OAAO,aAAa,IAAI;AAAA;AAC9B,mBAAW,SAAS,QAAQ;AAC1B,gBAAM;AAAA,QACR;AAAA,MACF;AAAA;AAAA,EACF;AACF;AARgB;AAehB,SAAsB,4BAA+B,UAA0C;AAAA;AAC7F,UAAM,SAAc,CAAC;AACrB;AAAA,iCAAyB,WAAzB,0EAAmC;AAAxB,cAAM,OAAjB;AACE,eAAO,KAAK,IAAI;AAAA,MAClB;AAAA,aAFA,MAxCF;AAwCE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,WAAO;AAAA,EACT;AAAA;AANsB;AAaf,SAAS,6BAAgC,QAAgC;AAC9E,SAAO,IAAI,eAAe;AAAA,IACxB,MAAM,YAAY;AAChB,UAAI;AACF,mBAAW,SAAS,QAAQ;AAC1B,qBAAW,QAAQ,KAAK;AAAA,QAC1B;AAAA,MACF,UAAE;AACA,mBAAW,MAAM;AAAA,MACnB;AAAA,IACF;AAAA,EACF,CAAC;AACH;AAZgB;AAmBhB,SAAsB,6BAA6B,UAAuC;AAAA;AAExF,WAAO,6BAA6B,SAAS,KAAM,YAAY,IAAI,kBAAkB,CAAC,CAAC;AAAA,EACzF;AAAA;AAHsB;","names":[]}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Convert a readable stream to an array
3
+ * @param stream - The readable stream to convert
4
+ * @returns The array of values
5
+ */
6
+ declare function convertReadableStreamToArray<T>(stream: ReadableStream<T>): Promise<T[]>;
7
+ /**
8
+ * Convert an array to an async iterable
9
+ * @param values - The array to convert
10
+ * @returns The async iterable
11
+ */
12
+ declare function convertArrayToAsyncIterable<T>(values: T[]): AsyncIterable<T>;
13
+ /**
14
+ * Convert an async iterable to an array
15
+ * @param iterable - The async iterable to convert
16
+ * @returns The array of values
17
+ */
18
+ declare function convertAsyncIterableToArray<T>(iterable: AsyncIterable<T>): Promise<T[]>;
19
+ /**
20
+ * Convert an array to a readable stream
21
+ * @param values - The array to convert
22
+ * @returns The readable stream
23
+ */
24
+ declare function convertArrayToReadableStream<T>(values: T[]): ReadableStream<T>;
25
+ /**
26
+ * Convert a response stream to an array
27
+ * @param response - The response to convert
28
+ * @returns The array of values
29
+ */
30
+ declare function convertResponseStreamToArray(response: Response): Promise<string[]>;
31
+
32
+ export { convertArrayToAsyncIterable, convertArrayToReadableStream, convertAsyncIterableToArray, convertReadableStreamToArray, convertResponseStreamToArray };
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Convert a readable stream to an array
3
+ * @param stream - The readable stream to convert
4
+ * @returns The array of values
5
+ */
6
+ declare function convertReadableStreamToArray<T>(stream: ReadableStream<T>): Promise<T[]>;
7
+ /**
8
+ * Convert an array to an async iterable
9
+ * @param values - The array to convert
10
+ * @returns The async iterable
11
+ */
12
+ declare function convertArrayToAsyncIterable<T>(values: T[]): AsyncIterable<T>;
13
+ /**
14
+ * Convert an async iterable to an array
15
+ * @param iterable - The async iterable to convert
16
+ * @returns The array of values
17
+ */
18
+ declare function convertAsyncIterableToArray<T>(iterable: AsyncIterable<T>): Promise<T[]>;
19
+ /**
20
+ * Convert an array to a readable stream
21
+ * @param values - The array to convert
22
+ * @returns The readable stream
23
+ */
24
+ declare function convertArrayToReadableStream<T>(values: T[]): ReadableStream<T>;
25
+ /**
26
+ * Convert a response stream to an array
27
+ * @param response - The response to convert
28
+ * @returns The array of values
29
+ */
30
+ declare function convertResponseStreamToArray(response: Response): Promise<string[]>;
31
+
32
+ export { convertArrayToAsyncIterable, convertArrayToReadableStream, convertAsyncIterableToArray, convertReadableStreamToArray, convertResponseStreamToArray };