@vybestack/llxprt-code-core 0.8.0-nightly.260116.53b3fef08 → 0.8.0-nightly.260117.da45000b5

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.
@@ -21,10 +21,77 @@ export function formatToolResponseText(params) {
21
21
  return blocks.join('\n');
22
22
  }
23
23
  export const EMPTY_TOOL_RESULT_PLACEHOLDER = '[no tool result]';
24
- function coerceToString(value) {
24
+ export function humanizeJsonForDisplay(value) {
25
+ if (!value || typeof value !== 'object') {
26
+ return undefined;
27
+ }
28
+ const obj = value;
29
+ // Prefer common text fields to avoid JSON-stringifying multi-line output.
30
+ for (const key of [
31
+ 'error',
32
+ 'error_text',
33
+ 'message',
34
+ 'llmContent',
35
+ 'returnDisplay',
36
+ ]) {
37
+ const v = obj[key];
38
+ if (typeof v === 'string' && v.trim()) {
39
+ return v;
40
+ }
41
+ }
42
+ // Common shell-like result shape.
43
+ const stdout = obj.stdout;
44
+ const stderr = obj.stderr;
45
+ const exitCode = obj.exitCode;
46
+ const hasStdout = typeof stdout === 'string' && stdout.trim();
47
+ const hasStderr = typeof stderr === 'string' && stderr.trim();
48
+ const hasExitCode = typeof exitCode === 'number';
49
+ if (hasStdout || hasStderr || hasExitCode) {
50
+ const out = [];
51
+ if (hasExitCode) {
52
+ out.push('exitCode:');
53
+ out.push(String(exitCode));
54
+ out.push('');
55
+ }
56
+ if (hasStdout) {
57
+ out.push('stdout:');
58
+ out.push(String(stdout)
59
+ .replace(/[\r\n]+$/, '')
60
+ .trimEnd());
61
+ out.push('');
62
+ }
63
+ if (hasStderr) {
64
+ out.push('stderr:');
65
+ out.push(String(stderr)
66
+ .replace(/[\r\n]+$/, '')
67
+ .trimEnd());
68
+ out.push('');
69
+ }
70
+ return out.join('\n').trimEnd();
71
+ }
72
+ return undefined;
73
+ }
74
+ function coerceToString(value, humanizeJson) {
25
75
  if (typeof value === 'string') {
26
76
  return value;
27
77
  }
78
+ // Default behavior is JSON.stringify for non-strings. For OpenAI tool output we may prefer
79
+ // a human-readable multi-line rendering to preserve newlines.
80
+ if (humanizeJson) {
81
+ const human = humanizeJsonForDisplay(value);
82
+ if (typeof human === 'string' && human.trim()) {
83
+ return human;
84
+ }
85
+ // Fallback: pretty JSON (multi-line) instead of a single-line blob.
86
+ if (value && typeof value === 'object') {
87
+ try {
88
+ return JSON.stringify(value, null, 2);
89
+ }
90
+ catch {
91
+ // no-op
92
+ }
93
+ }
94
+ }
28
95
  try {
29
96
  return JSON.stringify(value);
30
97
  }
@@ -43,7 +110,7 @@ function sanitizeUnicode(result) {
43
110
  function formatToolResultValue(text) {
44
111
  return { value: text, originalLength: text.length };
45
112
  }
46
- function formatToolResult(result) {
113
+ function formatToolResult(result, humanizeJson) {
47
114
  if (result === undefined || result === null) {
48
115
  return {};
49
116
  }
@@ -58,7 +125,7 @@ function formatToolResult(result) {
58
125
  return { ...formatted, raw: output };
59
126
  }
60
127
  }
61
- const coerced = coerceToString(result);
128
+ const coerced = coerceToString(result, humanizeJson);
62
129
  return { value: coerced, raw: coerced };
63
130
  }
64
131
  function limitToolPayload(serializedResult, block, config) {
@@ -87,13 +154,13 @@ function limitToolPayload(serializedResult, block, config) {
87
154
  limitMessage: limited.wasTruncated ? limited.message : undefined,
88
155
  };
89
156
  }
90
- export function buildToolResponsePayload(block, config) {
157
+ export function buildToolResponsePayload(block, config, humanizeJson) {
91
158
  const payload = {
92
159
  status: block.error ? 'error' : 'success',
93
160
  toolName: block.toolName,
94
161
  result: EMPTY_TOOL_RESULT_PLACEHOLDER,
95
162
  };
96
- const formatted = formatToolResult(block.result);
163
+ const formatted = formatToolResult(block.result, humanizeJson);
97
164
  const serializedResult = config && formatted.raw ? formatted.raw : formatted.value;
98
165
  if (serializedResult) {
99
166
  const limited = limitToolPayload(serializedResult, block, config);
@@ -107,7 +174,7 @@ export function buildToolResponsePayload(block, config) {
107
174
  }
108
175
  }
109
176
  if (block.error) {
110
- payload.error = coerceToString(block.error);
177
+ payload.error = coerceToString(block.error, humanizeJson);
111
178
  }
112
179
  return payload;
113
180
  }
@@ -1 +1 @@
1
- {"version":3,"file":"toolResponsePayload.js","sourceRoot":"","sources":["../../../../src/providers/utils/toolResponsePayload.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toolResponsePayload.js","sourceRoot":"","sources":["../../../../src/providers/utils/toolResponsePayload.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,8 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import * as Diff from 'diff';
6
+ import type { CreatePatchOptionsNonabortable, StructuredPatchOptionsNonabortable } from 'diff';
7
7
  import { type DiffStat } from './tools.js';
8
- export declare const DEFAULT_DIFF_OPTIONS: Diff.PatchOptions;
8
+ export declare const DEFAULT_STRUCTURED_PATCH_OPTIONS: StructuredPatchOptionsNonabortable;
9
+ export declare const DEFAULT_DIFF_OPTIONS: CreatePatchOptionsNonabortable;
9
10
  export declare function getDiffStat(fileName: string, oldStr: string, aiStr: string, userStr: string): DiffStat;
@@ -4,6 +4,10 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import * as Diff from 'diff';
7
+ export const DEFAULT_STRUCTURED_PATCH_OPTIONS = {
8
+ context: 3,
9
+ ignoreWhitespace: true,
10
+ };
7
11
  export const DEFAULT_DIFF_OPTIONS = {
8
12
  context: 3,
9
13
  ignoreWhitespace: true,
@@ -24,9 +28,9 @@ export function getDiffStat(fileName, oldStr, aiStr, userStr) {
24
28
  });
25
29
  return { added, removed };
26
30
  };
27
- const patch = Diff.structuredPatch(fileName, fileName, oldStr, aiStr, 'Current', 'Proposed', DEFAULT_DIFF_OPTIONS);
31
+ const patch = Diff.structuredPatch(fileName, fileName, oldStr, aiStr, 'Current', 'Proposed', DEFAULT_STRUCTURED_PATCH_OPTIONS);
28
32
  const { added: aiAddedLines, removed: aiRemovedLines } = countLines(patch);
29
- const userPatch = Diff.structuredPatch(fileName, fileName, aiStr, userStr, 'Proposed', 'User', DEFAULT_DIFF_OPTIONS);
33
+ const userPatch = Diff.structuredPatch(fileName, fileName, aiStr, userStr, 'Proposed', 'User', DEFAULT_STRUCTURED_PATCH_OPTIONS);
30
34
  const { added: userAddedLines, removed: userRemovedLines } = countLines(userPatch);
31
35
  return {
32
36
  ai_added_lines: aiAddedLines,
@@ -1 +1 @@
1
- {"version":3,"file":"diffOptions.js","sourceRoot":"","sources":["../../../src/tools/diffOptions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAG7B,MAAM,CAAC,MAAM,oBAAoB,GAAsB;IACrD,OAAO,EAAE,CAAC;IACV,gBAAgB,EAAE,IAAI;CACvB,CAAC;AAEF,MAAM,UAAU,WAAW,CACzB,QAAgB,EAChB,MAAc,EACd,KAAa,EACb,OAAe;IAEf,MAAM,UAAU,GAAG,CAAC,KAAsB,EAAE,EAAE;QAC5C,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAe,EAAE,EAAE;YACtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAY,EAAE,EAAE;gBAClC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACzB,KAAK,EAAE,CAAC;gBACV,CAAC;qBAAM,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBAChC,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IAC5B,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAChC,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,KAAK,EACL,SAAS,EACT,UAAU,EACV,oBAAoB,CACrB,CAAC;IACF,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAE3E,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CACpC,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,OAAO,EACP,UAAU,EACV,MAAM,EACN,oBAAoB,CACrB,CAAC;IACF,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,gBAAgB,EAAE,GACxD,UAAU,CAAC,SAAS,CAAC,CAAC;IAExB,OAAO;QACL,cAAc,EAAE,YAAY;QAC5B,gBAAgB,EAAE,cAAc;QAChC,gBAAgB,EAAE,cAAc;QAChC,kBAAkB,EAAE,gBAAgB;KACrC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"diffOptions.js","sourceRoot":"","sources":["../../../src/tools/diffOptions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAG7B,MAAM,CAAC,MAAM,gCAAgC,GAC3C;IACE,OAAO,EAAE,CAAC;IACV,gBAAgB,EAAE,IAAI;CACvB,CAAC;AAEJ,MAAM,CAAC,MAAM,oBAAoB,GAAmC;IAClE,OAAO,EAAE,CAAC;IACV,gBAAgB,EAAE,IAAI;CACvB,CAAC;AAEF,MAAM,UAAU,WAAW,CACzB,QAAgB,EAChB,MAAc,EACd,KAAa,EACb,OAAe;IAEf,MAAM,UAAU,GAAG,CAAC,KAAsB,EAAE,EAAE;QAC5C,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAyB,EAAE,EAAE;YAChD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAY,EAAE,EAAE;gBAClC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACzB,KAAK,EAAE,CAAC;gBACV,CAAC;qBAAM,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBAChC,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IAC5B,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAChC,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,KAAK,EACL,SAAS,EACT,UAAU,EACV,gCAAgC,CACjC,CAAC;IACF,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAE3E,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CACpC,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,OAAO,EACP,UAAU,EACV,MAAM,EACN,gCAAgC,CACjC,CAAC;IACF,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,gBAAgB,EAAE,GACxD,UAAU,CAAC,SAAS,CAAC,CAAC;IAExB,OAAO;QACL,cAAc,EAAE,YAAY;QAC5B,gBAAgB,EAAE,cAAc;QAChC,gBAAgB,EAAE,cAAc;QAChC,kBAAkB,EAAE,gBAAgB;KACrC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Vybestack LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * Coerce tool parameters to match expected schema types.
8
+ *
9
+ * This function handles common LLM mistakes:
10
+ * - String numbers → actual numbers (e.g., "50" → 50)
11
+ * - String booleans → actual booleans (e.g., "true" → true)
12
+ * - Single values → arrays when schema expects array
13
+ * - JSON strings → objects when schema expects object
14
+ *
15
+ * @param params - The raw parameters from the LLM
16
+ * @param schema - The JSON schema for the tool parameters
17
+ * @returns Coerced parameters matching expected types
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * const schema = {
22
+ * type: 'object',
23
+ * properties: {
24
+ * offset: { type: 'number' },
25
+ * limit: { type: 'number' },
26
+ * },
27
+ * };
28
+ * const params = { offset: '50', limit: '100' };
29
+ * const result = coerceParametersToSchema(params, schema);
30
+ * // result: { offset: 50, limit: 100 }
31
+ * ```
32
+ */
33
+ export declare function coerceParametersToSchema(params: unknown, schema: unknown): unknown;
@@ -0,0 +1,195 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Vybestack LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * Normalize type string to lowercase for comparison.
8
+ * Handles Gemini's uppercase Type enum (e.g., "ARRAY" → "array", "OBJECT" → "object").
9
+ */
10
+ function normalizeType(type) {
11
+ if (typeof type === 'string') {
12
+ return type.toLowerCase();
13
+ }
14
+ return undefined;
15
+ }
16
+ /**
17
+ * Coerce a single value to match the expected type from schema.
18
+ */
19
+ function coerceValue(value, propertySchema) {
20
+ if (value === null || value === undefined) {
21
+ return value;
22
+ }
23
+ const expectedType = normalizeType(propertySchema.type);
24
+ if (!expectedType) {
25
+ return value;
26
+ }
27
+ // String → Number coercion
28
+ if ((expectedType === 'number' || expectedType === 'integer') &&
29
+ typeof value === 'string') {
30
+ const trimmed = value.trim();
31
+ if (/^-?(?:\d+|\d*\.\d+)(?:[eE][+-]?\d+)?$/.test(trimmed)) {
32
+ const num = Number(trimmed);
33
+ if (!Number.isFinite(num)) {
34
+ return value;
35
+ }
36
+ // For integer type, only coerce if the value is actually an integer
37
+ if (expectedType === 'integer' && !Number.isInteger(num)) {
38
+ return value;
39
+ }
40
+ return num;
41
+ }
42
+ return value;
43
+ }
44
+ // String → Boolean coercion
45
+ if (expectedType === 'boolean' && typeof value === 'string') {
46
+ const lower = value.toLowerCase().trim();
47
+ if (lower === 'true') {
48
+ return true;
49
+ }
50
+ if (lower === 'false') {
51
+ return false;
52
+ }
53
+ return value;
54
+ }
55
+ // String → Array coercion (JSON string representing an array)
56
+ if (expectedType === 'array' && typeof value === 'string') {
57
+ const trimmed = value.trim();
58
+ if (trimmed.startsWith('[') && trimmed.endsWith(']')) {
59
+ try {
60
+ const parsed = JSON.parse(trimmed);
61
+ if (Array.isArray(parsed)) {
62
+ // Recursively coerce the parsed array items
63
+ const itemSchema = propertySchema.items;
64
+ if (itemSchema) {
65
+ return parsed.map((item) => coerceValue(item, itemSchema));
66
+ }
67
+ return parsed;
68
+ }
69
+ }
70
+ catch {
71
+ // Not valid JSON array, fall through to single value wrapping
72
+ }
73
+ }
74
+ // Single string value → wrap in array
75
+ const itemSchema = propertySchema.items;
76
+ if (itemSchema) {
77
+ return [coerceValue(value, itemSchema)];
78
+ }
79
+ return [value];
80
+ }
81
+ // Single non-string value → Array coercion
82
+ if (expectedType === 'array' && !Array.isArray(value)) {
83
+ const itemSchema = propertySchema.items;
84
+ if (itemSchema) {
85
+ return [coerceValue(value, itemSchema)];
86
+ }
87
+ return [value];
88
+ }
89
+ // Coerce items within arrays
90
+ if (expectedType === 'array' && Array.isArray(value)) {
91
+ const itemSchema = propertySchema.items;
92
+ if (itemSchema) {
93
+ return value.map((item) => coerceValue(item, itemSchema));
94
+ }
95
+ return value;
96
+ }
97
+ // String → Object coercion (JSON string)
98
+ if (expectedType === 'object' && typeof value === 'string') {
99
+ const trimmed = value.trim();
100
+ if (trimmed.startsWith('{') && trimmed.endsWith('}')) {
101
+ try {
102
+ const parsed = JSON.parse(trimmed);
103
+ if (typeof parsed === 'object' && parsed !== null) {
104
+ // Recursively coerce the parsed object if we have nested schema
105
+ if (propertySchema.properties) {
106
+ return coerceObjectProperties(parsed, propertySchema);
107
+ }
108
+ return parsed;
109
+ }
110
+ }
111
+ catch {
112
+ // Not valid JSON, return original
113
+ }
114
+ }
115
+ return value;
116
+ }
117
+ // Nested object coercion
118
+ if (expectedType === 'object' &&
119
+ typeof value === 'object' &&
120
+ value !== null &&
121
+ !Array.isArray(value) &&
122
+ propertySchema.properties) {
123
+ return coerceObjectProperties(value, propertySchema);
124
+ }
125
+ return value;
126
+ }
127
+ /**
128
+ * Coerce object properties according to schema.
129
+ */
130
+ function coerceObjectProperties(obj, schema) {
131
+ const properties = schema.properties;
132
+ if (!properties) {
133
+ return obj;
134
+ }
135
+ const result = {};
136
+ for (const [key, value] of Object.entries(obj)) {
137
+ const propertySchema = properties[key];
138
+ if (propertySchema) {
139
+ result[key] = coerceValue(value, propertySchema);
140
+ }
141
+ else {
142
+ // Property not in schema, pass through unchanged
143
+ result[key] = value;
144
+ }
145
+ }
146
+ return result;
147
+ }
148
+ /**
149
+ * Coerce tool parameters to match expected schema types.
150
+ *
151
+ * This function handles common LLM mistakes:
152
+ * - String numbers → actual numbers (e.g., "50" → 50)
153
+ * - String booleans → actual booleans (e.g., "true" → true)
154
+ * - Single values → arrays when schema expects array
155
+ * - JSON strings → objects when schema expects object
156
+ *
157
+ * @param params - The raw parameters from the LLM
158
+ * @param schema - The JSON schema for the tool parameters
159
+ * @returns Coerced parameters matching expected types
160
+ *
161
+ * @example
162
+ * ```typescript
163
+ * const schema = {
164
+ * type: 'object',
165
+ * properties: {
166
+ * offset: { type: 'number' },
167
+ * limit: { type: 'number' },
168
+ * },
169
+ * };
170
+ * const params = { offset: '50', limit: '100' };
171
+ * const result = coerceParametersToSchema(params, schema);
172
+ * // result: { offset: 50, limit: 100 }
173
+ * ```
174
+ */
175
+ export function coerceParametersToSchema(params, schema) {
176
+ // Handle null/undefined params
177
+ if (params === null || params === undefined) {
178
+ return params;
179
+ }
180
+ // Handle null/undefined schema - return params unchanged
181
+ if (!schema || typeof schema !== 'object') {
182
+ return params;
183
+ }
184
+ const typedSchema = schema;
185
+ // Only process object params
186
+ if (typeof params !== 'object' || Array.isArray(params)) {
187
+ return params;
188
+ }
189
+ // If schema doesn't have properties, return unchanged
190
+ if (!typedSchema.properties) {
191
+ return params;
192
+ }
193
+ return coerceObjectProperties(params, typedSchema);
194
+ }
195
+ //# sourceMappingURL=parameterCoercion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parameterCoercion.js","sourceRoot":"","sources":["../../../src/utils/parameterCoercion.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vybestack/llxprt-code-core",
3
- "version": "0.8.0-nightly.260116.53b3fef08",
3
+ "version": "0.8.0-nightly.260117.da45000b5",
4
4
  "description": "LLxprt Code Core",
5
5
  "repository": {
6
6
  "type": "git",
@@ -27,7 +27,7 @@
27
27
  "@google/genai": "1.16.0",
28
28
  "@iarna/toml": "^2.2.5",
29
29
  "@lvce-editor/ripgrep": "^1.6.0",
30
- "@modelcontextprotocol/sdk": "^1.11.0",
30
+ "@modelcontextprotocol/sdk": "^1.25.2",
31
31
  "@opentelemetry/api": "^1.9.0",
32
32
  "@opentelemetry/exporter-logs-otlp-grpc": "^0.203.0",
33
33
  "@opentelemetry/exporter-logs-otlp-http": "^0.203.0",
@@ -46,7 +46,7 @@
46
46
  "chardet": "^2.1.0",
47
47
  "cheerio": "^1.1.2",
48
48
  "debug": "^4.3.4",
49
- "diff": "^7.0.0",
49
+ "diff": "^8.0.3",
50
50
  "dotenv": "^17.1.0",
51
51
  "execa": "^9.6.0",
52
52
  "fast-levenshtein": "^2.0.6",
@@ -71,7 +71,7 @@
71
71
  "strip-ansi": "^7.1.0",
72
72
  "tree-sitter-bash": "^0.25.0",
73
73
  "turndown": "^7.2.2",
74
- "undici": "^7.10.0",
74
+ "undici": "^7.18.2",
75
75
  "web-tree-sitter": "^0.25.10",
76
76
  "ws": "^8.18.0",
77
77
  "zod": "^3.25.76"
@@ -88,7 +88,6 @@
88
88
  },
89
89
  "devDependencies": {
90
90
  "@types/debug": "^4.1.12",
91
- "@types/diff": "^7.0.2",
92
91
  "@types/dotenv": "^6.1.1",
93
92
  "@types/fast-levenshtein": "^0.0.4",
94
93
  "@types/minimatch": "^5.1.2",