@nomad-e/bluma-cli 0.1.43 → 0.1.45
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/native_tools.json +264 -7
- package/dist/main.js +3647 -1183
- package/package.json +1 -1
|
@@ -340,27 +340,37 @@
|
|
|
340
340
|
"type": "function",
|
|
341
341
|
"function": {
|
|
342
342
|
"name": "read_file_lines",
|
|
343
|
-
"description": "Reads
|
|
343
|
+
"description": "Reads a slice of a text file (Claude Code Read parity). Use filepath only for up to 2000 lines from line 1, or offset+limit, or start_line+end_line. Optional line_number_prefix formats lines like cat -n.",
|
|
344
344
|
"parameters": {
|
|
345
345
|
"type": "object",
|
|
346
346
|
"properties": {
|
|
347
347
|
"filepath": {
|
|
348
348
|
"type": "string",
|
|
349
|
-
"description": "Path to the file
|
|
349
|
+
"description": "Path to the file (workspace-relative or absolute)."
|
|
350
|
+
},
|
|
351
|
+
"offset": {
|
|
352
|
+
"type": "integer",
|
|
353
|
+
"description": "1-based start line; same as start_line. Defaults to 1."
|
|
350
354
|
},
|
|
351
355
|
"start_line": {
|
|
352
356
|
"type": "integer",
|
|
353
|
-
"description": "
|
|
357
|
+
"description": "1-based start line. Defaults to 1 if omitted."
|
|
354
358
|
},
|
|
355
359
|
"end_line": {
|
|
356
360
|
"type": "integer",
|
|
357
|
-
"description": "
|
|
361
|
+
"description": "1-based end line inclusive. Omit with limit instead."
|
|
362
|
+
},
|
|
363
|
+
"limit": {
|
|
364
|
+
"type": "integer",
|
|
365
|
+
"description": "Number of lines to read from start. If end_line is omitted, end = start + limit - 1."
|
|
366
|
+
},
|
|
367
|
+
"line_number_prefix": {
|
|
368
|
+
"type": "boolean",
|
|
369
|
+
"description": "If true, prefix each line with a fixed-width line number and | (cat -n style)."
|
|
358
370
|
}
|
|
359
371
|
},
|
|
360
372
|
"required": [
|
|
361
|
-
"filepath"
|
|
362
|
-
"start_line",
|
|
363
|
-
"end_line"
|
|
373
|
+
"filepath"
|
|
364
374
|
]
|
|
365
375
|
}
|
|
366
376
|
}
|
|
@@ -785,6 +795,253 @@
|
|
|
785
795
|
"required": ["action"]
|
|
786
796
|
}
|
|
787
797
|
}
|
|
798
|
+
},
|
|
799
|
+
{
|
|
800
|
+
"type": "function",
|
|
801
|
+
"function": {
|
|
802
|
+
"name": "ask_user_question",
|
|
803
|
+
"description": "Ask the user one or more multiple-choice questions in the terminal (Claude Code AskUserQuestion). Blocks until they answer. Only the first question is shown; options must be single-select.",
|
|
804
|
+
"parameters": {
|
|
805
|
+
"type": "object",
|
|
806
|
+
"properties": {
|
|
807
|
+
"questions": {
|
|
808
|
+
"type": "array",
|
|
809
|
+
"items": {
|
|
810
|
+
"type": "object",
|
|
811
|
+
"properties": {
|
|
812
|
+
"question": { "type": "string", "description": "Question text" },
|
|
813
|
+
"header": { "type": "string", "description": "Short section title" },
|
|
814
|
+
"multiSelect": { "type": "boolean", "description": "Not supported yet; omit or false." },
|
|
815
|
+
"options": {
|
|
816
|
+
"type": "array",
|
|
817
|
+
"items": {
|
|
818
|
+
"type": "object",
|
|
819
|
+
"properties": {
|
|
820
|
+
"label": { "type": "string" },
|
|
821
|
+
"description": { "type": "string" }
|
|
822
|
+
},
|
|
823
|
+
"required": ["label"]
|
|
824
|
+
}
|
|
825
|
+
}
|
|
826
|
+
},
|
|
827
|
+
"required": ["question", "options"]
|
|
828
|
+
}
|
|
829
|
+
}
|
|
830
|
+
},
|
|
831
|
+
"required": ["questions"]
|
|
832
|
+
}
|
|
833
|
+
}
|
|
834
|
+
},
|
|
835
|
+
{
|
|
836
|
+
"type": "function",
|
|
837
|
+
"function": {
|
|
838
|
+
"name": "enter_plan_mode",
|
|
839
|
+
"description": "Enter plan-only mode (Claude Code EnterPlanMode parity). While active, edits, writes, shell, spawn_agent, and artifact creation require user confirmation even if normally auto-approved.",
|
|
840
|
+
"parameters": {
|
|
841
|
+
"type": "object",
|
|
842
|
+
"properties": {
|
|
843
|
+
"reason": { "type": "string", "description": "Why planning mode is being entered." }
|
|
844
|
+
}
|
|
845
|
+
}
|
|
846
|
+
}
|
|
847
|
+
},
|
|
848
|
+
{
|
|
849
|
+
"type": "function",
|
|
850
|
+
"function": {
|
|
851
|
+
"name": "exit_plan_mode",
|
|
852
|
+
"description": "Leave plan mode (Claude Code ExitPlanMode parity). Restores normal auto-approve rules.",
|
|
853
|
+
"parameters": {
|
|
854
|
+
"type": "object",
|
|
855
|
+
"properties": {
|
|
856
|
+
"summary": { "type": "string", "description": "Optional short summary of the plan for the transcript." }
|
|
857
|
+
}
|
|
858
|
+
}
|
|
859
|
+
}
|
|
860
|
+
},
|
|
861
|
+
{
|
|
862
|
+
"type": "function",
|
|
863
|
+
"function": {
|
|
864
|
+
"name": "task_create",
|
|
865
|
+
"description": "Create a session task (Claude Code TaskCreate-style). Tasks are scoped to this session.",
|
|
866
|
+
"parameters": {
|
|
867
|
+
"type": "object",
|
|
868
|
+
"properties": {
|
|
869
|
+
"title": { "type": "string" },
|
|
870
|
+
"detail": { "type": "string" },
|
|
871
|
+
"status": {
|
|
872
|
+
"type": "string",
|
|
873
|
+
"enum": ["pending", "in_progress", "completed", "cancelled"]
|
|
874
|
+
}
|
|
875
|
+
},
|
|
876
|
+
"required": ["title"]
|
|
877
|
+
}
|
|
878
|
+
}
|
|
879
|
+
},
|
|
880
|
+
{
|
|
881
|
+
"type": "function",
|
|
882
|
+
"function": {
|
|
883
|
+
"name": "task_list",
|
|
884
|
+
"description": "List all session tasks.",
|
|
885
|
+
"parameters": { "type": "object", "properties": {} }
|
|
886
|
+
}
|
|
887
|
+
},
|
|
888
|
+
{
|
|
889
|
+
"type": "function",
|
|
890
|
+
"function": {
|
|
891
|
+
"name": "task_get",
|
|
892
|
+
"description": "Get one task by id.",
|
|
893
|
+
"parameters": {
|
|
894
|
+
"type": "object",
|
|
895
|
+
"properties": { "task_id": { "type": "string" } },
|
|
896
|
+
"required": ["task_id"]
|
|
897
|
+
}
|
|
898
|
+
}
|
|
899
|
+
},
|
|
900
|
+
{
|
|
901
|
+
"type": "function",
|
|
902
|
+
"function": {
|
|
903
|
+
"name": "task_update",
|
|
904
|
+
"description": "Update task fields.",
|
|
905
|
+
"parameters": {
|
|
906
|
+
"type": "object",
|
|
907
|
+
"properties": {
|
|
908
|
+
"task_id": { "type": "string" },
|
|
909
|
+
"title": { "type": "string" },
|
|
910
|
+
"detail": { "type": "string" },
|
|
911
|
+
"status": {
|
|
912
|
+
"type": "string",
|
|
913
|
+
"enum": ["pending", "in_progress", "completed", "cancelled"]
|
|
914
|
+
}
|
|
915
|
+
},
|
|
916
|
+
"required": ["task_id"]
|
|
917
|
+
}
|
|
918
|
+
}
|
|
919
|
+
},
|
|
920
|
+
{
|
|
921
|
+
"type": "function",
|
|
922
|
+
"function": {
|
|
923
|
+
"name": "task_stop",
|
|
924
|
+
"description": "Mark a task as cancelled (Claude TaskStop-style).",
|
|
925
|
+
"parameters": {
|
|
926
|
+
"type": "object",
|
|
927
|
+
"properties": { "task_id": { "type": "string" } },
|
|
928
|
+
"required": ["task_id"]
|
|
929
|
+
}
|
|
930
|
+
}
|
|
931
|
+
},
|
|
932
|
+
{
|
|
933
|
+
"type": "function",
|
|
934
|
+
"function": {
|
|
935
|
+
"name": "list_mcp_resources",
|
|
936
|
+
"description": "List resources exposed by connected MCP servers (Claude ListMcpResourcesTool parity).",
|
|
937
|
+
"parameters": {
|
|
938
|
+
"type": "object",
|
|
939
|
+
"properties": {
|
|
940
|
+
"server": { "type": "string", "description": "Optional: filter to one server name from config." }
|
|
941
|
+
}
|
|
942
|
+
}
|
|
943
|
+
}
|
|
944
|
+
},
|
|
945
|
+
{
|
|
946
|
+
"type": "function",
|
|
947
|
+
"function": {
|
|
948
|
+
"name": "read_mcp_resource",
|
|
949
|
+
"description": "Read a resource URI from a named MCP server (Claude ReadMcpResourceTool parity).",
|
|
950
|
+
"parameters": {
|
|
951
|
+
"type": "object",
|
|
952
|
+
"properties": {
|
|
953
|
+
"server": { "type": "string", "description": "MCP server name as in bluma-mcp.json" },
|
|
954
|
+
"uri": { "type": "string", "description": "Resource URI from list_mcp_resources" }
|
|
955
|
+
},
|
|
956
|
+
"required": ["server", "uri"]
|
|
957
|
+
}
|
|
958
|
+
}
|
|
959
|
+
},
|
|
960
|
+
{
|
|
961
|
+
"type": "function",
|
|
962
|
+
"function": {
|
|
963
|
+
"name": "cron_create",
|
|
964
|
+
"description": "Schedule a one-shot or repeating user-visible reminder in this CLI session (Claude CronCreate parity). Fires via user_overlay; timers end when the process exits.",
|
|
965
|
+
"parameters": {
|
|
966
|
+
"type": "object",
|
|
967
|
+
"properties": {
|
|
968
|
+
"delay_seconds": { "type": "integer", "description": "Seconds until first fire (1–604800)" },
|
|
969
|
+
"prompt": { "type": "string", "description": "Text injected as a scheduled user message" },
|
|
970
|
+
"repeat_interval_seconds": {
|
|
971
|
+
"type": "integer",
|
|
972
|
+
"description": "If set, repeat every N seconds after first fire (min 30)"
|
|
973
|
+
}
|
|
974
|
+
},
|
|
975
|
+
"required": ["delay_seconds", "prompt"]
|
|
976
|
+
}
|
|
977
|
+
}
|
|
978
|
+
},
|
|
979
|
+
{
|
|
980
|
+
"type": "function",
|
|
981
|
+
"function": {
|
|
982
|
+
"name": "cron_list",
|
|
983
|
+
"description": "List scheduled session cron jobs.",
|
|
984
|
+
"parameters": { "type": "object", "properties": {} }
|
|
985
|
+
}
|
|
986
|
+
},
|
|
987
|
+
{
|
|
988
|
+
"type": "function",
|
|
989
|
+
"function": {
|
|
990
|
+
"name": "cron_delete",
|
|
991
|
+
"description": "Cancel a scheduled job by id from cron_list.",
|
|
992
|
+
"parameters": {
|
|
993
|
+
"type": "object",
|
|
994
|
+
"properties": { "job_id": { "type": "string" } },
|
|
995
|
+
"required": ["job_id"]
|
|
996
|
+
}
|
|
997
|
+
}
|
|
998
|
+
},
|
|
999
|
+
{
|
|
1000
|
+
"type": "function",
|
|
1001
|
+
"function": {
|
|
1002
|
+
"name": "notebook_edit",
|
|
1003
|
+
"description": "Edit a Jupyter .ipynb file (list/get/set/append/delete cells).",
|
|
1004
|
+
"parameters": {
|
|
1005
|
+
"type": "object",
|
|
1006
|
+
"properties": {
|
|
1007
|
+
"filepath": { "type": "string" },
|
|
1008
|
+
"operation": {
|
|
1009
|
+
"type": "string",
|
|
1010
|
+
"enum": [
|
|
1011
|
+
"list_cells",
|
|
1012
|
+
"get_cell",
|
|
1013
|
+
"set_cell_source",
|
|
1014
|
+
"append_markdown_cell",
|
|
1015
|
+
"delete_cell"
|
|
1016
|
+
]
|
|
1017
|
+
},
|
|
1018
|
+
"cell_index": { "type": "integer" },
|
|
1019
|
+
"source": { "type": "string" }
|
|
1020
|
+
},
|
|
1021
|
+
"required": ["filepath", "operation"]
|
|
1022
|
+
}
|
|
1023
|
+
}
|
|
1024
|
+
},
|
|
1025
|
+
{
|
|
1026
|
+
"type": "function",
|
|
1027
|
+
"function": {
|
|
1028
|
+
"name": "lsp_query",
|
|
1029
|
+
"description": "MVP LSP: go-to-definition or references for TS/JS via typescript-language-server (stdio). Set BLUMA_LSP_COMMAND to override. line is 1-based; character is 0-based UTF-16 offset.",
|
|
1030
|
+
"parameters": {
|
|
1031
|
+
"type": "object",
|
|
1032
|
+
"properties": {
|
|
1033
|
+
"filepath": { "type": "string" },
|
|
1034
|
+
"line": { "type": "integer" },
|
|
1035
|
+
"character": { "type": "integer", "description": "Default 0" },
|
|
1036
|
+
"operation": {
|
|
1037
|
+
"type": "string",
|
|
1038
|
+
"enum": ["definition", "references"],
|
|
1039
|
+
"description": "Default definition"
|
|
1040
|
+
}
|
|
1041
|
+
},
|
|
1042
|
+
"required": ["filepath", "line"]
|
|
1043
|
+
}
|
|
1044
|
+
}
|
|
788
1045
|
}
|
|
789
1046
|
]
|
|
790
1047
|
}
|