@bike4mind/cli 0.2.28 → 0.2.29-cache-mcp-tools-schema-and-refactor.18897
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/{artifactExtractor-36XHJYOZ.js → artifactExtractor-NO6YMWJN.js} +1 -1
- package/dist/{chunk-JJBDHUGY.js → chunk-7DZY5UWH.js} +2 -2
- package/dist/{chunk-ZEMWV6IR.js → chunk-AQMAXCNK.js} +2 -2
- package/dist/{chunk-UNOJBVD2.js → chunk-BAYMEX5W.js} +83 -5
- package/dist/{chunk-VGYTNJXN.js → chunk-BPXPHQXQ.js} +15 -15
- package/dist/{chunk-XJRPAAUS.js → chunk-E6AOHC4U.js} +30 -4
- package/dist/{chunk-23T2XGSZ.js → chunk-LBTTUQJM.js} +290 -33
- package/dist/commands/mcpCommand.js +1 -1
- package/dist/{create-NGI7IIQ4.js → create-AMD5NY5D.js} +3 -3
- package/dist/index.js +723 -626
- package/dist/{llmMarkdownGenerator-JDYKJUEC.js → llmMarkdownGenerator-KMLHDAZU.js} +1 -1
- package/dist/{markdownGenerator-QXBC2EW5.js → markdownGenerator-3SQD4T42.js} +1 -1
- package/dist/{mementoService-X35OMHVC.js → mementoService-RQHVW32J.js} +3 -3
- package/dist/{src-6NIYIWZD.js → src-YXJL5FLE.js} +3 -1
- package/dist/{src-CBU6EAO3.js → src-ZEBZX6IS.js} +4 -2
- package/dist/{subtractCredits-RL6JVDMI.js → subtractCredits-JX5MH4ES.js} +3 -3
- package/dist/treeSitterEngine-4SGFQDY3.js +330 -0
- package/package.json +13 -6
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
import {
|
|
3
3
|
findMostSimilarMemento,
|
|
4
4
|
getRelevantMementos
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-BPXPHQXQ.js";
|
|
6
|
+
import "./chunk-BAYMEX5W.js";
|
|
7
|
+
import "./chunk-E6AOHC4U.js";
|
|
8
8
|
import "./chunk-OCYRD7D6.js";
|
|
9
9
|
export {
|
|
10
10
|
findMostSimilarMemento,
|
|
@@ -112,6 +112,7 @@ import {
|
|
|
112
112
|
JIRA_MAX_ATTACHMENT_SIZE,
|
|
113
113
|
JiraApi,
|
|
114
114
|
KnowledgeType,
|
|
115
|
+
LEGACY_IMAGE_MODEL_MAP,
|
|
115
116
|
LIVEOPS_TRIAGE_VALIDATION_LIMITS,
|
|
116
117
|
LLMApiRequestBodySchema,
|
|
117
118
|
LLMEvents,
|
|
@@ -339,7 +340,7 @@ import {
|
|
|
339
340
|
validateReactArtifactV2,
|
|
340
341
|
validateSvgArtifactV2,
|
|
341
342
|
wikiMarkupToAdf
|
|
342
|
-
} from "./chunk-
|
|
343
|
+
} from "./chunk-E6AOHC4U.js";
|
|
343
344
|
export {
|
|
344
345
|
ALL_IMAGE_MODELS,
|
|
345
346
|
ALL_IMAGE_SIZES,
|
|
@@ -454,6 +455,7 @@ export {
|
|
|
454
455
|
JIRA_MAX_ATTACHMENT_SIZE,
|
|
455
456
|
JiraApi,
|
|
456
457
|
KnowledgeType,
|
|
458
|
+
LEGACY_IMAGE_MODEL_MAP,
|
|
457
459
|
LIVEOPS_TRIAGE_VALIDATION_LIMITS,
|
|
458
460
|
LLMApiRequestBodySchema,
|
|
459
461
|
LLMEvents,
|
|
@@ -47,6 +47,7 @@ import {
|
|
|
47
47
|
OpenAISoraVideoService,
|
|
48
48
|
OpenaiModerationsService,
|
|
49
49
|
Pagination,
|
|
50
|
+
PipelineTimer,
|
|
50
51
|
QuestMaster,
|
|
51
52
|
RapidReplyMappingsCache,
|
|
52
53
|
S3Storage,
|
|
@@ -133,8 +134,8 @@ import {
|
|
|
133
134
|
validateMermaidSyntax,
|
|
134
135
|
warmUpSettingsCache,
|
|
135
136
|
withRetry
|
|
136
|
-
} from "./chunk-
|
|
137
|
-
import "./chunk-
|
|
137
|
+
} from "./chunk-BAYMEX5W.js";
|
|
138
|
+
import "./chunk-E6AOHC4U.js";
|
|
138
139
|
import {
|
|
139
140
|
Logger,
|
|
140
141
|
NotificationDeduplicator,
|
|
@@ -193,6 +194,7 @@ export {
|
|
|
193
194
|
OpenAISoraVideoService,
|
|
194
195
|
OpenaiModerationsService,
|
|
195
196
|
Pagination,
|
|
197
|
+
PipelineTimer,
|
|
196
198
|
QuestMaster,
|
|
197
199
|
RapidReplyMappingsCache,
|
|
198
200
|
S3Storage,
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
import {
|
|
3
3
|
SubtractCreditsSchema,
|
|
4
4
|
subtractCredits
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-7DZY5UWH.js";
|
|
6
|
+
import "./chunk-BAYMEX5W.js";
|
|
7
|
+
import "./chunk-E6AOHC4U.js";
|
|
8
8
|
import "./chunk-OCYRD7D6.js";
|
|
9
9
|
export {
|
|
10
10
|
SubtractCreditsSchema,
|
|
@@ -0,0 +1,330 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
// src/tools/getFileStructure/treeSitterEngine.ts
|
|
4
|
+
import { createRequire } from "module";
|
|
5
|
+
import { readFileSync } from "fs";
|
|
6
|
+
|
|
7
|
+
// src/tools/getFileStructure/types.ts
|
|
8
|
+
var EXTENSION_TO_LANGUAGE = {
|
|
9
|
+
".ts": "typescript",
|
|
10
|
+
".tsx": "tsx",
|
|
11
|
+
".js": "javascript",
|
|
12
|
+
".jsx": "javascript",
|
|
13
|
+
".mjs": "javascript",
|
|
14
|
+
".cjs": "javascript",
|
|
15
|
+
".py": "python"
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
// src/tools/getFileStructure/queries/typescript.ts
|
|
19
|
+
var typescriptQueries = {
|
|
20
|
+
imports: `
|
|
21
|
+
(import_statement
|
|
22
|
+
source: (string) @source
|
|
23
|
+
) @import
|
|
24
|
+
`,
|
|
25
|
+
exports: `
|
|
26
|
+
(export_statement
|
|
27
|
+
declaration: (function_declaration
|
|
28
|
+
name: (identifier) @name)
|
|
29
|
+
) @export
|
|
30
|
+
|
|
31
|
+
(export_statement
|
|
32
|
+
declaration: (class_declaration
|
|
33
|
+
name: (type_identifier) @name)
|
|
34
|
+
) @export
|
|
35
|
+
|
|
36
|
+
(export_statement
|
|
37
|
+
declaration: (interface_declaration
|
|
38
|
+
name: (type_identifier) @name)
|
|
39
|
+
) @export
|
|
40
|
+
|
|
41
|
+
(export_statement
|
|
42
|
+
declaration: (type_alias_declaration
|
|
43
|
+
name: (type_identifier) @name)
|
|
44
|
+
) @export
|
|
45
|
+
|
|
46
|
+
(export_statement
|
|
47
|
+
declaration: (enum_declaration
|
|
48
|
+
name: (identifier) @name)
|
|
49
|
+
) @export
|
|
50
|
+
|
|
51
|
+
(export_statement
|
|
52
|
+
declaration: (lexical_declaration
|
|
53
|
+
(variable_declarator
|
|
54
|
+
name: (identifier) @name))
|
|
55
|
+
) @export
|
|
56
|
+
|
|
57
|
+
(export_statement
|
|
58
|
+
(export_clause
|
|
59
|
+
(export_specifier
|
|
60
|
+
name: (identifier) @name))
|
|
61
|
+
) @export
|
|
62
|
+
`,
|
|
63
|
+
functions: `
|
|
64
|
+
(function_declaration
|
|
65
|
+
name: (identifier) @name
|
|
66
|
+
) @function
|
|
67
|
+
|
|
68
|
+
(lexical_declaration
|
|
69
|
+
(variable_declarator
|
|
70
|
+
name: (identifier) @name
|
|
71
|
+
value: (arrow_function)
|
|
72
|
+
)
|
|
73
|
+
) @function
|
|
74
|
+
`,
|
|
75
|
+
classes: `
|
|
76
|
+
(class_declaration
|
|
77
|
+
name: (type_identifier) @name
|
|
78
|
+
) @class
|
|
79
|
+
`,
|
|
80
|
+
interfaces: `
|
|
81
|
+
(interface_declaration
|
|
82
|
+
name: (type_identifier) @name
|
|
83
|
+
) @interface
|
|
84
|
+
`,
|
|
85
|
+
types: `
|
|
86
|
+
(type_alias_declaration
|
|
87
|
+
name: (type_identifier) @name
|
|
88
|
+
) @type
|
|
89
|
+
|
|
90
|
+
(enum_declaration
|
|
91
|
+
name: (identifier) @name
|
|
92
|
+
) @enum
|
|
93
|
+
`
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
// src/tools/getFileStructure/queries/javascript.ts
|
|
97
|
+
var javascriptQueries = {
|
|
98
|
+
imports: `
|
|
99
|
+
(import_statement
|
|
100
|
+
source: (string) @source
|
|
101
|
+
) @import
|
|
102
|
+
`,
|
|
103
|
+
exports: `
|
|
104
|
+
(export_statement
|
|
105
|
+
declaration: (function_declaration
|
|
106
|
+
name: (identifier) @name)
|
|
107
|
+
) @export
|
|
108
|
+
|
|
109
|
+
(export_statement
|
|
110
|
+
declaration: (class_declaration
|
|
111
|
+
name: (identifier) @name)
|
|
112
|
+
) @export
|
|
113
|
+
|
|
114
|
+
(export_statement
|
|
115
|
+
declaration: (lexical_declaration
|
|
116
|
+
(variable_declarator
|
|
117
|
+
name: (identifier) @name))
|
|
118
|
+
) @export
|
|
119
|
+
|
|
120
|
+
(export_statement
|
|
121
|
+
(export_clause
|
|
122
|
+
(export_specifier
|
|
123
|
+
name: (identifier) @name))
|
|
124
|
+
) @export
|
|
125
|
+
`,
|
|
126
|
+
functions: `
|
|
127
|
+
(function_declaration
|
|
128
|
+
name: (identifier) @name
|
|
129
|
+
) @function
|
|
130
|
+
|
|
131
|
+
(lexical_declaration
|
|
132
|
+
(variable_declarator
|
|
133
|
+
name: (identifier) @name
|
|
134
|
+
value: (arrow_function)
|
|
135
|
+
)
|
|
136
|
+
) @function
|
|
137
|
+
`,
|
|
138
|
+
classes: `
|
|
139
|
+
(class_declaration
|
|
140
|
+
name: (identifier) @name
|
|
141
|
+
) @class
|
|
142
|
+
`,
|
|
143
|
+
// JavaScript has no interface keyword
|
|
144
|
+
interfaces: "",
|
|
145
|
+
// JavaScript has no type aliases or enums
|
|
146
|
+
types: ""
|
|
147
|
+
};
|
|
148
|
+
|
|
149
|
+
// src/tools/getFileStructure/queries/python.ts
|
|
150
|
+
var pythonQueries = {
|
|
151
|
+
imports: `
|
|
152
|
+
(import_statement
|
|
153
|
+
name: (dotted_name) @source
|
|
154
|
+
) @import
|
|
155
|
+
|
|
156
|
+
(import_from_statement
|
|
157
|
+
module_name: (dotted_name) @source
|
|
158
|
+
) @import_from
|
|
159
|
+
`,
|
|
160
|
+
// Python uses __all__ convention, not language-level exports
|
|
161
|
+
exports: "",
|
|
162
|
+
functions: `
|
|
163
|
+
(function_definition
|
|
164
|
+
name: (identifier) @name
|
|
165
|
+
) @function
|
|
166
|
+
`,
|
|
167
|
+
classes: `
|
|
168
|
+
(class_definition
|
|
169
|
+
name: (identifier) @name
|
|
170
|
+
) @class
|
|
171
|
+
`,
|
|
172
|
+
// Python has no interface keyword (Protocol is a runtime construct)
|
|
173
|
+
interfaces: "",
|
|
174
|
+
// Python has no type alias syntax at the grammar level
|
|
175
|
+
types: ""
|
|
176
|
+
};
|
|
177
|
+
|
|
178
|
+
// src/tools/getFileStructure/queries/index.ts
|
|
179
|
+
var LANGUAGE_QUERIES = {
|
|
180
|
+
typescript: typescriptQueries,
|
|
181
|
+
tsx: typescriptQueries,
|
|
182
|
+
javascript: javascriptQueries,
|
|
183
|
+
python: pythonQueries
|
|
184
|
+
};
|
|
185
|
+
|
|
186
|
+
// src/tools/getFileStructure/treeSitterEngine.ts
|
|
187
|
+
var require2 = createRequire(import.meta.url);
|
|
188
|
+
var TreeSitter;
|
|
189
|
+
var parserInitialized = false;
|
|
190
|
+
var languageCache = /* @__PURE__ */ new Map();
|
|
191
|
+
function locateTreeSitterWasm() {
|
|
192
|
+
return require2.resolve("web-tree-sitter/tree-sitter.wasm");
|
|
193
|
+
}
|
|
194
|
+
function locateLanguageWasm(language) {
|
|
195
|
+
return require2.resolve(`tree-sitter-wasms/out/tree-sitter-${language}.wasm`);
|
|
196
|
+
}
|
|
197
|
+
async function ensureInitialized() {
|
|
198
|
+
if (parserInitialized) return;
|
|
199
|
+
try {
|
|
200
|
+
const moduleName = "web-tree-sitter";
|
|
201
|
+
TreeSitter = await import(
|
|
202
|
+
/* webpackIgnore: true */
|
|
203
|
+
moduleName
|
|
204
|
+
);
|
|
205
|
+
} catch {
|
|
206
|
+
throw new Error(
|
|
207
|
+
"web-tree-sitter is not available. Install it with: pnpm add web-tree-sitter tree-sitter-wasms --filter @bike4mind/cli"
|
|
208
|
+
);
|
|
209
|
+
}
|
|
210
|
+
const wasmPath = locateTreeSitterWasm();
|
|
211
|
+
const wasmBinary = readFileSync(wasmPath);
|
|
212
|
+
await TreeSitter.Parser.init({
|
|
213
|
+
locateFile: (scriptName) => {
|
|
214
|
+
if (scriptName === "tree-sitter.wasm") {
|
|
215
|
+
return wasmPath;
|
|
216
|
+
}
|
|
217
|
+
return scriptName;
|
|
218
|
+
},
|
|
219
|
+
wasmBinary
|
|
220
|
+
});
|
|
221
|
+
parserInitialized = true;
|
|
222
|
+
}
|
|
223
|
+
async function loadLanguage(languageId) {
|
|
224
|
+
const cached = languageCache.get(languageId);
|
|
225
|
+
if (cached) return cached;
|
|
226
|
+
const wasmPath = locateLanguageWasm(languageId);
|
|
227
|
+
const language = await TreeSitter.Language.load(wasmPath);
|
|
228
|
+
languageCache.set(languageId, language);
|
|
229
|
+
return language;
|
|
230
|
+
}
|
|
231
|
+
function runQuery(language, rootNode, querySource, kind) {
|
|
232
|
+
if (!querySource.trim()) return [];
|
|
233
|
+
const items = [];
|
|
234
|
+
const query = new TreeSitter.Query(language, querySource);
|
|
235
|
+
try {
|
|
236
|
+
const matches = query.matches(rootNode);
|
|
237
|
+
for (const match of matches) {
|
|
238
|
+
const nameCapture = match.captures.find((c) => c.name === "name");
|
|
239
|
+
const sourceCapture = match.captures.find((c) => c.name === "source");
|
|
240
|
+
if (kind === "import") {
|
|
241
|
+
const importCapture = match.captures.find((c) => c.name === "import" || c.name === "import_from");
|
|
242
|
+
const node = importCapture?.node || sourceCapture?.node;
|
|
243
|
+
if (node) {
|
|
244
|
+
items.push({
|
|
245
|
+
kind: "import",
|
|
246
|
+
name: sourceCapture?.node.text.replace(/['"]/g, "") || "",
|
|
247
|
+
line: node.startPosition.row + 1,
|
|
248
|
+
details: node.text
|
|
249
|
+
});
|
|
250
|
+
}
|
|
251
|
+
} else if (nameCapture) {
|
|
252
|
+
items.push({
|
|
253
|
+
kind,
|
|
254
|
+
name: nameCapture.node.text,
|
|
255
|
+
line: nameCapture.node.startPosition.row + 1,
|
|
256
|
+
...kind === "export" && { exported: true }
|
|
257
|
+
});
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
} finally {
|
|
261
|
+
query.delete();
|
|
262
|
+
}
|
|
263
|
+
return items;
|
|
264
|
+
}
|
|
265
|
+
var QUERY_CATEGORIES = [
|
|
266
|
+
["imports", "import"],
|
|
267
|
+
["exports", "export"],
|
|
268
|
+
["functions", "function"],
|
|
269
|
+
["classes", "class"],
|
|
270
|
+
["interfaces", "interface"],
|
|
271
|
+
["types", "type"]
|
|
272
|
+
];
|
|
273
|
+
async function parseFileStructure(sourceCode, languageId) {
|
|
274
|
+
await ensureInitialized();
|
|
275
|
+
const queries = LANGUAGE_QUERIES[languageId];
|
|
276
|
+
if (!queries) {
|
|
277
|
+
throw new Error(
|
|
278
|
+
`No query definitions for language: ${languageId}. Supported: ${getSupportedLanguages().join(", ")}`
|
|
279
|
+
);
|
|
280
|
+
}
|
|
281
|
+
const language = await loadLanguage(languageId);
|
|
282
|
+
const parser = new TreeSitter.Parser();
|
|
283
|
+
let tree = null;
|
|
284
|
+
try {
|
|
285
|
+
parser.setLanguage(language);
|
|
286
|
+
tree = parser.parse(sourceCode);
|
|
287
|
+
if (!tree) {
|
|
288
|
+
throw new Error("Failed to parse source code");
|
|
289
|
+
}
|
|
290
|
+
const allItems = [];
|
|
291
|
+
for (const [queryKey, kind] of QUERY_CATEGORIES) {
|
|
292
|
+
allItems.push(...runQuery(language, tree.rootNode, queries[queryKey], kind));
|
|
293
|
+
}
|
|
294
|
+
return deduplicateItems(allItems);
|
|
295
|
+
} finally {
|
|
296
|
+
tree?.delete();
|
|
297
|
+
parser.delete();
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
function deduplicateItems(items) {
|
|
301
|
+
const exportNames = /* @__PURE__ */ new Set();
|
|
302
|
+
const definitionNames = /* @__PURE__ */ new Set();
|
|
303
|
+
for (const item of items) {
|
|
304
|
+
if (item.kind === "export") {
|
|
305
|
+
exportNames.add(item.name);
|
|
306
|
+
} else if (item.kind !== "import") {
|
|
307
|
+
definitionNames.add(item.name);
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
const result = [];
|
|
311
|
+
for (const item of items) {
|
|
312
|
+
if (item.kind === "export" && definitionNames.has(item.name)) continue;
|
|
313
|
+
if (item.kind !== "export" && item.kind !== "import" && exportNames.has(item.name)) {
|
|
314
|
+
item.exported = true;
|
|
315
|
+
}
|
|
316
|
+
result.push(item);
|
|
317
|
+
}
|
|
318
|
+
return result;
|
|
319
|
+
}
|
|
320
|
+
function getSupportedLanguages() {
|
|
321
|
+
return Object.keys(LANGUAGE_QUERIES);
|
|
322
|
+
}
|
|
323
|
+
function getLanguageForExtension(ext) {
|
|
324
|
+
return EXTENSION_TO_LANGUAGE[ext] || null;
|
|
325
|
+
}
|
|
326
|
+
export {
|
|
327
|
+
getLanguageForExtension,
|
|
328
|
+
getSupportedLanguages,
|
|
329
|
+
parseFileStructure
|
|
330
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bike4mind/cli",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.29-cache-mcp-tools-schema-and-refactor.18897+4545eccff",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Interactive CLI tool for Bike4Mind with ReAct agents",
|
|
6
6
|
"license": "UNLICENSED",
|
|
@@ -71,10 +71,13 @@
|
|
|
71
71
|
"diff": "^8.0.2",
|
|
72
72
|
"dotenv": "^16.3.1",
|
|
73
73
|
"eventsource-parser": "^3.0.6",
|
|
74
|
+
"fdir": "^6.5.0",
|
|
74
75
|
"file-type": "^18.7.0",
|
|
75
76
|
"fuse.js": "^7.1.0",
|
|
77
|
+
"fzf": "^0.5.2",
|
|
76
78
|
"glob": "^13.0.0",
|
|
77
79
|
"gray-matter": "^4.0.3",
|
|
80
|
+
"ignore": "^7.0.5",
|
|
78
81
|
"ink": "^6.5.1",
|
|
79
82
|
"ink-select-input": "^6.2.0",
|
|
80
83
|
"ink-spinner": "^5.0.0",
|
|
@@ -90,15 +93,18 @@
|
|
|
90
93
|
"open": "^11.0.0",
|
|
91
94
|
"openai": "^6.18.0",
|
|
92
95
|
"p-limit": "^6.2.0",
|
|
96
|
+
"picomatch": "^4.0.3",
|
|
93
97
|
"qrcode": "^1.5.4",
|
|
94
98
|
"react": "^19.2.3",
|
|
95
99
|
"sharp": "^0.34.5",
|
|
96
100
|
"speakeasy": "^2.0.0",
|
|
97
101
|
"tiktoken": "^1.0.16",
|
|
102
|
+
"tree-sitter-wasms": "^0.1.13",
|
|
98
103
|
"turndown": "^7.2.0",
|
|
99
104
|
"unpdf": "^0.10.0",
|
|
100
105
|
"uuid": "^9.0.1",
|
|
101
106
|
"voyageai": "^0.0.4",
|
|
107
|
+
"web-tree-sitter": "0.25.10",
|
|
102
108
|
"xlsx": "https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz",
|
|
103
109
|
"yargs": "^17.7.2",
|
|
104
110
|
"yauzl": "^3.1.3",
|
|
@@ -108,14 +114,15 @@
|
|
|
108
114
|
},
|
|
109
115
|
"devDependencies": {
|
|
110
116
|
"@bike4mind/agents": "0.1.0",
|
|
111
|
-
"@bike4mind/common": "2.50.
|
|
112
|
-
"@bike4mind/mcp": "1.29.
|
|
113
|
-
"@bike4mind/services": "2.48.
|
|
114
|
-
"@bike4mind/utils": "2.5.
|
|
117
|
+
"@bike4mind/common": "2.50.1-cache-mcp-tools-schema-and-refactor.18897+4545eccff",
|
|
118
|
+
"@bike4mind/mcp": "1.29.1-cache-mcp-tools-schema-and-refactor.18897+4545eccff",
|
|
119
|
+
"@bike4mind/services": "2.48.1-cache-mcp-tools-schema-and-refactor.18897+4545eccff",
|
|
120
|
+
"@bike4mind/utils": "2.5.1-cache-mcp-tools-schema-and-refactor.18897+4545eccff",
|
|
115
121
|
"@types/better-sqlite3": "^7.6.13",
|
|
116
122
|
"@types/diff": "^5.0.9",
|
|
117
123
|
"@types/jsonwebtoken": "^9.0.4",
|
|
118
124
|
"@types/node": "^22.9.0",
|
|
125
|
+
"@types/picomatch": "^4.0.2",
|
|
119
126
|
"@types/react": "^19.2.7",
|
|
120
127
|
"@types/uuid": "^9.0.7",
|
|
121
128
|
"@types/yargs": "^17.0.32",
|
|
@@ -128,5 +135,5 @@
|
|
|
128
135
|
"optionalDependencies": {
|
|
129
136
|
"@vscode/ripgrep": "^1.17.0"
|
|
130
137
|
},
|
|
131
|
-
"gitHead": "
|
|
138
|
+
"gitHead": "4545eccff3e4227edc2e97613d9d12607cac9530"
|
|
132
139
|
}
|