@falai/agent 3.4.3 → 3.4.5
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/cjs/adapters/MemoryAdapter.d.ts +47 -0
- package/dist/cjs/adapters/MemoryAdapter.d.ts.map +1 -0
- package/dist/cjs/adapters/MemoryAdapter.js +208 -0
- package/dist/cjs/adapters/MemoryAdapter.js.map +1 -0
- package/dist/cjs/adapters/MongoAdapter.d.ts +97 -0
- package/dist/cjs/adapters/MongoAdapter.d.ts.map +1 -0
- package/dist/cjs/adapters/MongoAdapter.js +200 -0
- package/dist/cjs/adapters/MongoAdapter.js.map +1 -0
- package/dist/cjs/adapters/OpenSearchAdapter.d.ts +169 -0
- package/dist/cjs/adapters/OpenSearchAdapter.d.ts.map +1 -0
- package/dist/cjs/adapters/OpenSearchAdapter.js +475 -0
- package/dist/cjs/adapters/OpenSearchAdapter.js.map +1 -0
- package/dist/cjs/adapters/PostgreSQLAdapter.d.ts +85 -0
- package/dist/cjs/adapters/PostgreSQLAdapter.d.ts.map +1 -0
- package/dist/cjs/adapters/PostgreSQLAdapter.js +312 -0
- package/dist/cjs/adapters/PostgreSQLAdapter.js.map +1 -0
- package/dist/cjs/adapters/PrismaAdapter.d.ts +115 -0
- package/dist/cjs/adapters/PrismaAdapter.d.ts.map +1 -0
- package/dist/cjs/adapters/PrismaAdapter.js +410 -0
- package/dist/cjs/adapters/PrismaAdapter.js.map +1 -0
- package/dist/cjs/adapters/RedisAdapter.d.ts +72 -0
- package/dist/cjs/adapters/RedisAdapter.d.ts.map +1 -0
- package/dist/cjs/adapters/RedisAdapter.js +290 -0
- package/dist/cjs/adapters/RedisAdapter.js.map +1 -0
- package/dist/cjs/adapters/SQLiteAdapter.d.ts +86 -0
- package/dist/cjs/adapters/SQLiteAdapter.d.ts.map +1 -0
- package/dist/cjs/adapters/SQLiteAdapter.js +341 -0
- package/dist/cjs/adapters/SQLiteAdapter.js.map +1 -0
- package/dist/cjs/adapters/index.d.ts +17 -0
- package/dist/cjs/adapters/index.d.ts.map +1 -0
- package/dist/cjs/adapters/index.js +21 -0
- package/dist/cjs/adapters/index.js.map +1 -0
- package/dist/cjs/adapters/sessionRow.d.ts +22 -0
- package/dist/cjs/adapters/sessionRow.d.ts.map +1 -0
- package/dist/cjs/adapters/sessionRow.js +52 -0
- package/dist/cjs/adapters/sessionRow.js.map +1 -0
- package/dist/cjs/constants/index.d.ts +1 -0
- package/dist/cjs/constants/index.d.ts.map +1 -0
- package/dist/cjs/constants/index.js +4 -0
- package/dist/cjs/constants/index.js.map +1 -0
- package/dist/cjs/core/Agent.d.ts +382 -0
- package/dist/cjs/core/Agent.d.ts.map +1 -0
- package/dist/cjs/core/Agent.js +1198 -0
- package/dist/cjs/core/Agent.js.map +1 -0
- package/dist/cjs/core/ResponseModal.d.ts +305 -0
- package/dist/cjs/core/ResponseModal.d.ts.map +1 -0
- package/dist/cjs/core/ResponseModal.js +1414 -0
- package/dist/cjs/core/ResponseModal.js.map +1 -0
- package/dist/cjs/core/ToolLoopExecutor.d.ts +133 -0
- package/dist/cjs/core/ToolLoopExecutor.d.ts.map +1 -0
- package/dist/cjs/core/ToolLoopExecutor.js +568 -0
- package/dist/cjs/core/ToolLoopExecutor.js.map +1 -0
- package/dist/cjs/core/createAgent.d.ts +35 -0
- package/dist/cjs/core/createAgent.d.ts.map +1 -0
- package/dist/cjs/core/createAgent.js +39 -0
- package/dist/cjs/core/createAgent.js.map +1 -0
- package/dist/cjs/index.d.ts +61 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +113 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/providers/AnthropicProvider.d.ts +46 -0
- package/dist/cjs/providers/AnthropicProvider.d.ts.map +1 -0
- package/dist/cjs/providers/AnthropicProvider.js +50 -0
- package/dist/cjs/providers/AnthropicProvider.js.map +1 -0
- package/dist/cjs/providers/DeepSeekProvider.d.ts +47 -0
- package/dist/cjs/providers/DeepSeekProvider.d.ts.map +1 -0
- package/dist/cjs/providers/DeepSeekProvider.js +42 -0
- package/dist/cjs/providers/DeepSeekProvider.js.map +1 -0
- package/dist/cjs/providers/FallbackAiProvider.d.ts +26 -0
- package/dist/cjs/providers/FallbackAiProvider.d.ts.map +1 -0
- package/dist/cjs/providers/FallbackAiProvider.js +54 -0
- package/dist/cjs/providers/FallbackAiProvider.js.map +1 -0
- package/dist/cjs/providers/GeminiProvider.d.ts +51 -0
- package/dist/cjs/providers/GeminiProvider.d.ts.map +1 -0
- package/dist/cjs/providers/GeminiProvider.js +53 -0
- package/dist/cjs/providers/GeminiProvider.js.map +1 -0
- package/dist/cjs/providers/GenericOpenAICompatibleProvider.d.ts +80 -0
- package/dist/cjs/providers/GenericOpenAICompatibleProvider.d.ts.map +1 -0
- package/dist/cjs/providers/GenericOpenAICompatibleProvider.js +89 -0
- package/dist/cjs/providers/GenericOpenAICompatibleProvider.js.map +1 -0
- package/dist/cjs/providers/OpenAICompatibleProvider.d.ts +61 -0
- package/dist/cjs/providers/OpenAICompatibleProvider.d.ts.map +1 -0
- package/dist/cjs/providers/OpenAICompatibleProvider.js +58 -0
- package/dist/cjs/providers/OpenAICompatibleProvider.js.map +1 -0
- package/dist/cjs/providers/OpenAIProvider.d.ts +40 -0
- package/dist/cjs/providers/OpenAIProvider.d.ts.map +1 -0
- package/dist/cjs/providers/OpenAIProvider.js +42 -0
- package/dist/cjs/providers/OpenAIProvider.js.map +1 -0
- package/dist/cjs/providers/OpenRouterProvider.d.ts +56 -0
- package/dist/cjs/providers/OpenRouterProvider.d.ts.map +1 -0
- package/dist/cjs/providers/OpenRouterProvider.js +45 -0
- package/dist/cjs/providers/OpenRouterProvider.js.map +1 -0
- package/dist/cjs/providers/ProviderAdapter.d.ts +126 -0
- package/dist/cjs/providers/ProviderAdapter.d.ts.map +1 -0
- package/dist/cjs/providers/ProviderAdapter.js +313 -0
- package/dist/cjs/providers/ProviderAdapter.js.map +1 -0
- package/dist/cjs/providers/ZaiProvider.d.ts +45 -0
- package/dist/cjs/providers/ZaiProvider.d.ts.map +1 -0
- package/dist/cjs/providers/ZaiProvider.js +51 -0
- package/dist/cjs/providers/ZaiProvider.js.map +1 -0
- package/dist/cjs/providers/index.d.ts +26 -0
- package/dist/cjs/providers/index.d.ts.map +1 -0
- package/dist/cjs/providers/index.js +30 -0
- package/dist/cjs/providers/index.js.map +1 -0
- package/dist/cjs/utils/streamingMessage.d.ts +48 -0
- package/dist/cjs/utils/streamingMessage.d.ts.map +1 -0
- package/dist/cjs/utils/streamingMessage.js +210 -0
- package/dist/cjs/utils/streamingMessage.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Incremental extraction of the `message` field from a streamed structured
|
|
3
|
+
* JSON response.
|
|
4
|
+
*
|
|
5
|
+
* Providers that enforce a JSON schema stream the raw wrapper object
|
|
6
|
+
* (`{"message":"Hel` → `{"message":"Hello"}`), not the message text. Without
|
|
7
|
+
* this, every streaming consumer has to re-implement partial-JSON unwrapping to
|
|
8
|
+
* recover the user-facing tokens. These helpers do it once, at the framework
|
|
9
|
+
* boundary, so `delta`/`accumulated` carry clean message text and the parsed
|
|
10
|
+
* object is surfaced only when complete.
|
|
11
|
+
*
|
|
12
|
+
* The extractor targets the top-level `message` string field specifically
|
|
13
|
+
* (tracking object depth and string context, so a nested decoy `"message"` key
|
|
14
|
+
* or a `"message"` substring inside another value is never mistaken for it),
|
|
15
|
+
* and is tolerant of truncation at any byte — a dangling escape sequence is
|
|
16
|
+
* held back rather than emitted half-decoded. Input that is not a JSON object
|
|
17
|
+
* (e.g. a provider streaming plain text) is passed through verbatim.
|
|
18
|
+
*/
|
|
19
|
+
/**
|
|
20
|
+
* Extract the decoded value of the top-level `message` string field from a
|
|
21
|
+
* (possibly partial) JSON object string, returning the text available so far.
|
|
22
|
+
*
|
|
23
|
+
* Returns `""` while the `message` value has not begun streaming, and passes
|
|
24
|
+
* `accumulated` through unchanged when it is not a JSON object.
|
|
25
|
+
*/
|
|
26
|
+
export declare function extractMessageSoFar(accumulated: string): string;
|
|
27
|
+
/**
|
|
28
|
+
* Stateful wrapper over {@link extractMessageSoFar} for a single stream: feed
|
|
29
|
+
* each chunk's accumulated JSON and get back the clean message-so-far plus the
|
|
30
|
+
* newly revealed delta.
|
|
31
|
+
*
|
|
32
|
+
* Each push re-scans the full accumulated buffer (O(n) per chunk, O(n²) over a
|
|
33
|
+
* stream) — deliberately kept simple and stateless: at LLM response sizes (KBs)
|
|
34
|
+
* the cost is negligible, and it avoids carrying cross-chunk parser/escape state.
|
|
35
|
+
*/
|
|
36
|
+
export declare class StreamingMessageDecoder {
|
|
37
|
+
private previous;
|
|
38
|
+
/**
|
|
39
|
+
* @param accumulated The provider chunk's full accumulated output so far.
|
|
40
|
+
* @returns `message` (clean text so far) and `delta` (the new text since the
|
|
41
|
+
* previous push).
|
|
42
|
+
*/
|
|
43
|
+
push(accumulated: string): {
|
|
44
|
+
message: string;
|
|
45
|
+
delta: string;
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=streamingMessage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streamingMessage.d.ts","sourceRoot":"","sources":["../../../src/utils/streamingMessage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AA6HH;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAyC/D;AAED;;;;;;;;GAQG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAM;IAEtB;;;;OAIG;IACH,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;CAU9D"}
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Incremental extraction of the `message` field from a streamed structured
|
|
4
|
+
* JSON response.
|
|
5
|
+
*
|
|
6
|
+
* Providers that enforce a JSON schema stream the raw wrapper object
|
|
7
|
+
* (`{"message":"Hel` → `{"message":"Hello"}`), not the message text. Without
|
|
8
|
+
* this, every streaming consumer has to re-implement partial-JSON unwrapping to
|
|
9
|
+
* recover the user-facing tokens. These helpers do it once, at the framework
|
|
10
|
+
* boundary, so `delta`/`accumulated` carry clean message text and the parsed
|
|
11
|
+
* object is surfaced only when complete.
|
|
12
|
+
*
|
|
13
|
+
* The extractor targets the top-level `message` string field specifically
|
|
14
|
+
* (tracking object depth and string context, so a nested decoy `"message"` key
|
|
15
|
+
* or a `"message"` substring inside another value is never mistaken for it),
|
|
16
|
+
* and is tolerant of truncation at any byte — a dangling escape sequence is
|
|
17
|
+
* held back rather than emitted half-decoded. Input that is not a JSON object
|
|
18
|
+
* (e.g. a provider streaming plain text) is passed through verbatim.
|
|
19
|
+
*/
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
exports.StreamingMessageDecoder = void 0;
|
|
22
|
+
exports.extractMessageSoFar = extractMessageSoFar;
|
|
23
|
+
const WHITESPACE = " \t\n\r";
|
|
24
|
+
const ESCAPE_CHARS = {
|
|
25
|
+
'"': '"',
|
|
26
|
+
"\\": "\\",
|
|
27
|
+
"/": "/",
|
|
28
|
+
b: "\b",
|
|
29
|
+
f: "\f",
|
|
30
|
+
n: "\n",
|
|
31
|
+
r: "\r",
|
|
32
|
+
t: "\t",
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Read a JSON string token whose opening quote is at `s[start]`. Decodes
|
|
36
|
+
* escapes. When the closing quote has not arrived, returns the decoded prefix
|
|
37
|
+
* with any trailing incomplete escape (`\` or a partial `\uXXXX`) held back, so
|
|
38
|
+
* a half-decoded character is never produced.
|
|
39
|
+
*/
|
|
40
|
+
function readJsonString(s, start) {
|
|
41
|
+
let out = "";
|
|
42
|
+
const n = s.length;
|
|
43
|
+
let i = start + 1; // skip opening quote
|
|
44
|
+
while (i < n) {
|
|
45
|
+
const ch = s[i];
|
|
46
|
+
if (ch === '"') {
|
|
47
|
+
return { value: out, end: i + 1, complete: true };
|
|
48
|
+
}
|
|
49
|
+
if (ch === "\\") {
|
|
50
|
+
const esc = s[i + 1];
|
|
51
|
+
if (esc === undefined) {
|
|
52
|
+
// Dangling backslash — wait for the rest of the escape.
|
|
53
|
+
return { value: out, end: n, complete: false };
|
|
54
|
+
}
|
|
55
|
+
if (esc === "u") {
|
|
56
|
+
if (i + 6 > n) {
|
|
57
|
+
// Incomplete \uXXXX — hold it back.
|
|
58
|
+
return { value: out, end: n, complete: false };
|
|
59
|
+
}
|
|
60
|
+
const code = parseInt(s.slice(i + 2, i + 6), 16);
|
|
61
|
+
if (Number.isNaN(code)) {
|
|
62
|
+
return { value: out, end: n, complete: false };
|
|
63
|
+
}
|
|
64
|
+
out += String.fromCharCode(code);
|
|
65
|
+
i += 6;
|
|
66
|
+
}
|
|
67
|
+
else if (esc in ESCAPE_CHARS) {
|
|
68
|
+
out += ESCAPE_CHARS[esc];
|
|
69
|
+
i += 2;
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
// Not a valid JSON escape; pass the character through leniently.
|
|
73
|
+
out += esc;
|
|
74
|
+
i += 2;
|
|
75
|
+
}
|
|
76
|
+
continue;
|
|
77
|
+
}
|
|
78
|
+
out += ch;
|
|
79
|
+
i++;
|
|
80
|
+
}
|
|
81
|
+
return { value: out, end: n, complete: false };
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Skip one JSON value (string, object, array, or primitive) starting at `s[i]`.
|
|
85
|
+
* Tolerant of truncation: an unfinished value reports `complete: false`.
|
|
86
|
+
*/
|
|
87
|
+
function skipJsonValue(s, i) {
|
|
88
|
+
const n = s.length;
|
|
89
|
+
if (i >= n)
|
|
90
|
+
return { end: n, complete: false };
|
|
91
|
+
const ch = s[i];
|
|
92
|
+
if (ch === '"') {
|
|
93
|
+
const r = readJsonString(s, i);
|
|
94
|
+
return { end: r.end, complete: r.complete };
|
|
95
|
+
}
|
|
96
|
+
if (ch === "{" || ch === "[") {
|
|
97
|
+
let depth = 0;
|
|
98
|
+
let j = i;
|
|
99
|
+
while (j < n) {
|
|
100
|
+
const c = s[j];
|
|
101
|
+
if (c === '"') {
|
|
102
|
+
const r = readJsonString(s, j);
|
|
103
|
+
if (!r.complete)
|
|
104
|
+
return { end: n, complete: false };
|
|
105
|
+
j = r.end;
|
|
106
|
+
continue;
|
|
107
|
+
}
|
|
108
|
+
if (c === "{" || c === "[")
|
|
109
|
+
depth++;
|
|
110
|
+
else if (c === "}" || c === "]") {
|
|
111
|
+
depth--;
|
|
112
|
+
if (depth === 0)
|
|
113
|
+
return { end: j + 1, complete: true };
|
|
114
|
+
}
|
|
115
|
+
j++;
|
|
116
|
+
}
|
|
117
|
+
return { end: n, complete: false };
|
|
118
|
+
}
|
|
119
|
+
// Primitive (number, true, false, null): runs until a structural delimiter.
|
|
120
|
+
// Hitting end-of-input first means it may still be streaming.
|
|
121
|
+
let j = i;
|
|
122
|
+
while (j < n && !`,}]${WHITESPACE}`.includes(s[j]))
|
|
123
|
+
j++;
|
|
124
|
+
return j < n ? { end: j, complete: true } : { end: n, complete: false };
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Extract the decoded value of the top-level `message` string field from a
|
|
128
|
+
* (possibly partial) JSON object string, returning the text available so far.
|
|
129
|
+
*
|
|
130
|
+
* Returns `""` while the `message` value has not begun streaming, and passes
|
|
131
|
+
* `accumulated` through unchanged when it is not a JSON object.
|
|
132
|
+
*/
|
|
133
|
+
function extractMessageSoFar(accumulated) {
|
|
134
|
+
const s = accumulated;
|
|
135
|
+
const n = s.length;
|
|
136
|
+
let i = 0;
|
|
137
|
+
while (i < n && WHITESPACE.includes(s[i]))
|
|
138
|
+
i++;
|
|
139
|
+
// Not a JSON object — a plain-text stream; emit verbatim.
|
|
140
|
+
if (i >= n || s[i] !== "{")
|
|
141
|
+
return accumulated;
|
|
142
|
+
i++; // skip '{'
|
|
143
|
+
while (i < n) {
|
|
144
|
+
while (i < n && (WHITESPACE.includes(s[i]) || s[i] === ","))
|
|
145
|
+
i++;
|
|
146
|
+
if (i >= n)
|
|
147
|
+
return "";
|
|
148
|
+
if (s[i] === "}")
|
|
149
|
+
return ""; // object closed without a message
|
|
150
|
+
if (s[i] !== '"')
|
|
151
|
+
return ""; // key not (fully) arrived
|
|
152
|
+
const key = readJsonString(s, i);
|
|
153
|
+
if (!key.complete)
|
|
154
|
+
return ""; // key still streaming
|
|
155
|
+
i = key.end;
|
|
156
|
+
while (i < n && WHITESPACE.includes(s[i]))
|
|
157
|
+
i++;
|
|
158
|
+
if (i >= n || s[i] !== ":")
|
|
159
|
+
return ""; // colon not arrived
|
|
160
|
+
i++;
|
|
161
|
+
while (i < n && WHITESPACE.includes(s[i]))
|
|
162
|
+
i++;
|
|
163
|
+
if (i >= n)
|
|
164
|
+
return "";
|
|
165
|
+
if (key.value === "message") {
|
|
166
|
+
// Found it. Only a string value yields text; null/other → no message yet.
|
|
167
|
+
if (s[i] !== '"')
|
|
168
|
+
return "";
|
|
169
|
+
return readJsonString(s, i).value;
|
|
170
|
+
}
|
|
171
|
+
// A field before `message`: skip its value. If it is still streaming we
|
|
172
|
+
// cannot have reached `message` yet.
|
|
173
|
+
const skipped = skipJsonValue(s, i);
|
|
174
|
+
if (!skipped.complete)
|
|
175
|
+
return "";
|
|
176
|
+
i = skipped.end;
|
|
177
|
+
}
|
|
178
|
+
return "";
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Stateful wrapper over {@link extractMessageSoFar} for a single stream: feed
|
|
182
|
+
* each chunk's accumulated JSON and get back the clean message-so-far plus the
|
|
183
|
+
* newly revealed delta.
|
|
184
|
+
*
|
|
185
|
+
* Each push re-scans the full accumulated buffer (O(n) per chunk, O(n²) over a
|
|
186
|
+
* stream) — deliberately kept simple and stateless: at LLM response sizes (KBs)
|
|
187
|
+
* the cost is negligible, and it avoids carrying cross-chunk parser/escape state.
|
|
188
|
+
*/
|
|
189
|
+
class StreamingMessageDecoder {
|
|
190
|
+
constructor() {
|
|
191
|
+
this.previous = "";
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* @param accumulated The provider chunk's full accumulated output so far.
|
|
195
|
+
* @returns `message` (clean text so far) and `delta` (the new text since the
|
|
196
|
+
* previous push).
|
|
197
|
+
*/
|
|
198
|
+
push(accumulated) {
|
|
199
|
+
const message = extractMessageSoFar(accumulated);
|
|
200
|
+
// Decoding is monotonic (each push extends the prefix); the guard is a
|
|
201
|
+
// belt-and-braces reset for any non-prefix anomaly.
|
|
202
|
+
const delta = message.startsWith(this.previous)
|
|
203
|
+
? message.slice(this.previous.length)
|
|
204
|
+
: message;
|
|
205
|
+
this.previous = message;
|
|
206
|
+
return { message, delta };
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
exports.StreamingMessageDecoder = StreamingMessageDecoder;
|
|
210
|
+
//# sourceMappingURL=streamingMessage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streamingMessage.js","sourceRoot":"","sources":["../../../src/utils/streamingMessage.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@falai/agent",
|
|
3
|
-
"version": "3.4.
|
|
3
|
+
"version": "3.4.5",
|
|
4
4
|
"description": "Conversational state engine for TypeScript where the AI understands, but the code is in control",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/cjs/index.js",
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
"typescript-eslint": "^8.18.2"
|
|
93
93
|
},
|
|
94
94
|
"dependencies": {
|
|
95
|
-
"@providerkit/core": "^0.10.
|
|
95
|
+
"@providerkit/core": "^0.10.1",
|
|
96
96
|
"loglevel": "^1.9.2"
|
|
97
97
|
},
|
|
98
98
|
"peerDependencies": {
|