@nomad-e/bluma-cli 0.0.103 → 0.0.104
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/bluma-mcp.json +2 -1
- package/dist/config/native_tools.json +299 -0
- package/dist/main.js +2861 -789
- package/package.json +3 -18
|
@@ -227,6 +227,305 @@
|
|
|
227
227
|
}
|
|
228
228
|
}
|
|
229
229
|
},
|
|
230
|
+
{
|
|
231
|
+
"type": "function",
|
|
232
|
+
"function": {
|
|
233
|
+
"name": "find_by_name",
|
|
234
|
+
"description": "Search for files and directories by name using glob patterns. Automatically ignores common directories like node_modules, .git, etc. Use this to quickly locate files in a project.",
|
|
235
|
+
"parameters": {
|
|
236
|
+
"type": "object",
|
|
237
|
+
"properties": {
|
|
238
|
+
"pattern": {
|
|
239
|
+
"type": "string",
|
|
240
|
+
"description": "Glob pattern to search for. Supports: * (wildcard), ? (single char), ** (recursive). Examples: '*.ts', 'test_*.py', 'README*'"
|
|
241
|
+
},
|
|
242
|
+
"directory": {
|
|
243
|
+
"type": "string",
|
|
244
|
+
"description": "Directory to search in. Defaults to current working directory.",
|
|
245
|
+
"default": "."
|
|
246
|
+
},
|
|
247
|
+
"extensions": {
|
|
248
|
+
"type": "array",
|
|
249
|
+
"items": {
|
|
250
|
+
"type": "string"
|
|
251
|
+
},
|
|
252
|
+
"description": "File extensions to filter (e.g., ['.ts', '.js']). If not provided, matches all."
|
|
253
|
+
},
|
|
254
|
+
"max_depth": {
|
|
255
|
+
"type": "integer",
|
|
256
|
+
"description": "Maximum directory depth to search. Default is 10.",
|
|
257
|
+
"default": 10
|
|
258
|
+
},
|
|
259
|
+
"include_hidden": {
|
|
260
|
+
"type": "boolean",
|
|
261
|
+
"description": "Include hidden files/directories (starting with .).",
|
|
262
|
+
"default": false
|
|
263
|
+
},
|
|
264
|
+
"exclude_patterns": {
|
|
265
|
+
"type": "array",
|
|
266
|
+
"items": {
|
|
267
|
+
"type": "string"
|
|
268
|
+
},
|
|
269
|
+
"description": "Additional patterns to exclude beyond defaults."
|
|
270
|
+
}
|
|
271
|
+
},
|
|
272
|
+
"required": [
|
|
273
|
+
"pattern"
|
|
274
|
+
]
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
"type": "function",
|
|
280
|
+
"function": {
|
|
281
|
+
"name": "grep_search",
|
|
282
|
+
"description": "Search for text patterns within files. Supports regex, case sensitivity, and context lines. Automatically skips binary files and common non-source directories. Use this to find code, strings, or patterns across a project.",
|
|
283
|
+
"parameters": {
|
|
284
|
+
"type": "object",
|
|
285
|
+
"properties": {
|
|
286
|
+
"query": {
|
|
287
|
+
"type": "string",
|
|
288
|
+
"description": "Text or regex pattern to search for."
|
|
289
|
+
},
|
|
290
|
+
"path": {
|
|
291
|
+
"type": "string",
|
|
292
|
+
"description": "File or directory path to search. Can be a specific file or a directory for recursive search."
|
|
293
|
+
},
|
|
294
|
+
"case_insensitive": {
|
|
295
|
+
"type": "boolean",
|
|
296
|
+
"description": "Ignore case when matching. Default is true.",
|
|
297
|
+
"default": true
|
|
298
|
+
},
|
|
299
|
+
"is_regex": {
|
|
300
|
+
"type": "boolean",
|
|
301
|
+
"description": "Treat query as a regular expression. Default is false (literal match).",
|
|
302
|
+
"default": false
|
|
303
|
+
},
|
|
304
|
+
"include_patterns": {
|
|
305
|
+
"type": "array",
|
|
306
|
+
"items": {
|
|
307
|
+
"type": "string"
|
|
308
|
+
},
|
|
309
|
+
"description": "Glob patterns for files to include (e.g., ['*.ts', '*.js']). If not provided, searches all text files."
|
|
310
|
+
},
|
|
311
|
+
"max_results": {
|
|
312
|
+
"type": "integer",
|
|
313
|
+
"description": "Maximum number of matches to return. Default is 100.",
|
|
314
|
+
"default": 100
|
|
315
|
+
},
|
|
316
|
+
"context_lines": {
|
|
317
|
+
"type": "integer",
|
|
318
|
+
"description": "Number of lines to show before/after each match. Default is 0.",
|
|
319
|
+
"default": 0
|
|
320
|
+
}
|
|
321
|
+
},
|
|
322
|
+
"required": [
|
|
323
|
+
"query",
|
|
324
|
+
"path"
|
|
325
|
+
]
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
},
|
|
329
|
+
{
|
|
330
|
+
"type": "function",
|
|
331
|
+
"function": {
|
|
332
|
+
"name": "view_file_outline",
|
|
333
|
+
"description": "Shows the structure of a code file: classes, functions, methods, interfaces, with line numbers. Useful for understanding file organization before editing. Supports TypeScript, JavaScript, Python, Java, Go, Rust, Ruby, PHP, C#, Swift, Kotlin, Scala, C/C++.",
|
|
334
|
+
"parameters": {
|
|
335
|
+
"type": "object",
|
|
336
|
+
"properties": {
|
|
337
|
+
"file_path": {
|
|
338
|
+
"type": "string",
|
|
339
|
+
"description": "Path to the file to analyze."
|
|
340
|
+
}
|
|
341
|
+
},
|
|
342
|
+
"required": [
|
|
343
|
+
"file_path"
|
|
344
|
+
]
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
},
|
|
348
|
+
{
|
|
349
|
+
"type": "function",
|
|
350
|
+
"function": {
|
|
351
|
+
"name": "run_command_async",
|
|
352
|
+
"description": "Start a command in background and get a command_id to track it. Use this for long-running commands like npm install, builds, or tests. The command runs asynchronously and you can check its status with command_status.",
|
|
353
|
+
"parameters": {
|
|
354
|
+
"type": "object",
|
|
355
|
+
"properties": {
|
|
356
|
+
"command": {
|
|
357
|
+
"type": "string",
|
|
358
|
+
"description": "The shell command to execute in background."
|
|
359
|
+
},
|
|
360
|
+
"cwd": {
|
|
361
|
+
"type": "string",
|
|
362
|
+
"description": "Working directory for command execution. Defaults to current directory."
|
|
363
|
+
},
|
|
364
|
+
"timeout": {
|
|
365
|
+
"type": "integer",
|
|
366
|
+
"description": "Timeout in seconds. 0 means no timeout. Default is 0.",
|
|
367
|
+
"default": 0
|
|
368
|
+
}
|
|
369
|
+
},
|
|
370
|
+
"required": [
|
|
371
|
+
"command"
|
|
372
|
+
]
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
},
|
|
376
|
+
{
|
|
377
|
+
"type": "function",
|
|
378
|
+
"function": {
|
|
379
|
+
"name": "command_status",
|
|
380
|
+
"description": "Check the status of a background command started with run_command_async. Returns current status, output, and exit code if completed.",
|
|
381
|
+
"parameters": {
|
|
382
|
+
"type": "object",
|
|
383
|
+
"properties": {
|
|
384
|
+
"command_id": {
|
|
385
|
+
"type": "string",
|
|
386
|
+
"description": "The command ID returned by run_command_async."
|
|
387
|
+
},
|
|
388
|
+
"wait_seconds": {
|
|
389
|
+
"type": "integer",
|
|
390
|
+
"description": "Optionally wait up to N seconds for the command to complete before returning status. Default is 0 (no wait).",
|
|
391
|
+
"default": 0
|
|
392
|
+
},
|
|
393
|
+
"output_limit": {
|
|
394
|
+
"type": "integer",
|
|
395
|
+
"description": "Maximum characters of output to return. Default is 10000.",
|
|
396
|
+
"default": 10000
|
|
397
|
+
}
|
|
398
|
+
},
|
|
399
|
+
"required": [
|
|
400
|
+
"command_id"
|
|
401
|
+
]
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
},
|
|
405
|
+
{
|
|
406
|
+
"type": "function",
|
|
407
|
+
"function": {
|
|
408
|
+
"name": "send_command_input",
|
|
409
|
+
"description": "Send input to a running background command's stdin. Useful for commands that expect user input like confirmations (y/n).",
|
|
410
|
+
"parameters": {
|
|
411
|
+
"type": "object",
|
|
412
|
+
"properties": {
|
|
413
|
+
"command_id": {
|
|
414
|
+
"type": "string",
|
|
415
|
+
"description": "The command ID of the running command."
|
|
416
|
+
},
|
|
417
|
+
"input": {
|
|
418
|
+
"type": "string",
|
|
419
|
+
"description": "The input to send to the command. Include newline if needed to submit."
|
|
420
|
+
}
|
|
421
|
+
},
|
|
422
|
+
"required": [
|
|
423
|
+
"command_id",
|
|
424
|
+
"input"
|
|
425
|
+
]
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
},
|
|
429
|
+
{
|
|
430
|
+
"type": "function",
|
|
431
|
+
"function": {
|
|
432
|
+
"name": "kill_command",
|
|
433
|
+
"description": "Terminate a running background command.",
|
|
434
|
+
"parameters": {
|
|
435
|
+
"type": "object",
|
|
436
|
+
"properties": {
|
|
437
|
+
"command_id": {
|
|
438
|
+
"type": "string",
|
|
439
|
+
"description": "The command ID of the command to kill."
|
|
440
|
+
}
|
|
441
|
+
},
|
|
442
|
+
"required": [
|
|
443
|
+
"command_id"
|
|
444
|
+
]
|
|
445
|
+
}
|
|
446
|
+
}
|
|
447
|
+
},
|
|
448
|
+
{
|
|
449
|
+
"type": "function",
|
|
450
|
+
"function": {
|
|
451
|
+
"name": "task_boundary",
|
|
452
|
+
"description": "Indicate the start of a task or make an update to the current task. Use this to organize complex work into phases (PLANNING, EXECUTION, VERIFICATION). The UI will show this as a structured task view with progress tracking.",
|
|
453
|
+
"parameters": {
|
|
454
|
+
"type": "object",
|
|
455
|
+
"properties": {
|
|
456
|
+
"task_name": {
|
|
457
|
+
"type": "string",
|
|
458
|
+
"description": "Name of the task, e.g. 'Implementing Authentication'. Use the same name to update an existing task."
|
|
459
|
+
},
|
|
460
|
+
"mode": {
|
|
461
|
+
"type": "string",
|
|
462
|
+
"enum": [
|
|
463
|
+
"PLANNING",
|
|
464
|
+
"EXECUTION",
|
|
465
|
+
"VERIFICATION"
|
|
466
|
+
],
|
|
467
|
+
"description": "Current mode: PLANNING (research/design), EXECUTION (implementing), VERIFICATION (testing)."
|
|
468
|
+
},
|
|
469
|
+
"task_status": {
|
|
470
|
+
"type": "string",
|
|
471
|
+
"description": "Current activity, e.g. 'Creating authentication middleware'. Describes what you are about to do."
|
|
472
|
+
},
|
|
473
|
+
"task_summary": {
|
|
474
|
+
"type": "string",
|
|
475
|
+
"description": "Summary of what has been accomplished so far. Should be concise but comprehensive."
|
|
476
|
+
}
|
|
477
|
+
},
|
|
478
|
+
"required": [
|
|
479
|
+
"task_name",
|
|
480
|
+
"mode",
|
|
481
|
+
"task_status",
|
|
482
|
+
"task_summary"
|
|
483
|
+
]
|
|
484
|
+
}
|
|
485
|
+
}
|
|
486
|
+
},
|
|
487
|
+
{
|
|
488
|
+
"type": "function",
|
|
489
|
+
"function": {
|
|
490
|
+
"name": "search_web",
|
|
491
|
+
"description": "Search for programming solutions across developer-focused sources: Reddit (programming subreddits), GitHub (issues/discussions), StackOverflow, and X (link only). Use this to find solutions, best practices, and community discussions about errors or implementation approaches.",
|
|
492
|
+
"parameters": {
|
|
493
|
+
"type": "object",
|
|
494
|
+
"properties": {
|
|
495
|
+
"query": {
|
|
496
|
+
"type": "string",
|
|
497
|
+
"description": "Search query, e.g. 'typescript cannot find module', 'react useEffect infinite loop fix'"
|
|
498
|
+
},
|
|
499
|
+
"sources": {
|
|
500
|
+
"type": "array",
|
|
501
|
+
"items": {
|
|
502
|
+
"type": "string",
|
|
503
|
+
"enum": [
|
|
504
|
+
"reddit",
|
|
505
|
+
"github",
|
|
506
|
+
"stackoverflow",
|
|
507
|
+
"x"
|
|
508
|
+
]
|
|
509
|
+
},
|
|
510
|
+
"description": "Which sources to search. Default: ['reddit', 'github', 'stackoverflow']",
|
|
511
|
+
"default": [
|
|
512
|
+
"reddit",
|
|
513
|
+
"github",
|
|
514
|
+
"stackoverflow"
|
|
515
|
+
]
|
|
516
|
+
},
|
|
517
|
+
"max_results": {
|
|
518
|
+
"type": "integer",
|
|
519
|
+
"description": "Maximum total results to return. Default is 10.",
|
|
520
|
+
"default": 10
|
|
521
|
+
}
|
|
522
|
+
},
|
|
523
|
+
"required": [
|
|
524
|
+
"query"
|
|
525
|
+
]
|
|
526
|
+
}
|
|
527
|
+
}
|
|
528
|
+
},
|
|
230
529
|
{
|
|
231
530
|
"type": "function",
|
|
232
531
|
"function": {
|