machine-bridge-mcp 0.5.0 → 0.6.2
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/CHANGELOG.md +68 -0
- package/README.md +113 -8
- package/SECURITY.md +42 -6
- package/docs/ARCHITECTURE.md +50 -9
- package/docs/CLIENTS.md +24 -3
- package/docs/LOGGING.md +12 -19
- package/docs/MANAGED_JOBS.md +282 -0
- package/docs/OPERATIONS.md +79 -10
- package/docs/TESTING.md +11 -2
- package/package.json +13 -6
- package/src/local/atomic-fs.mjs +37 -0
- package/src/local/cli.mjs +254 -7
- package/src/local/daemon.mjs +168 -6
- package/src/local/full-access-test.mjs +206 -0
- package/src/local/job-runner.mjs +471 -0
- package/src/local/managed-jobs.mjs +855 -0
- package/src/local/resource-operations.mjs +66 -0
- package/src/local/ssh-key.mjs +125 -0
- package/src/local/state.mjs +56 -12
- package/src/local/stdio.mjs +4 -6
- package/src/local/tools.mjs +37 -3
- package/src/shared/server-metadata.json +10 -1
- package/src/shared/tool-catalog.json +531 -0
- package/src/worker/index.ts +7 -1
|
@@ -603,6 +603,537 @@
|
|
|
603
603
|
"additionalProperties": false
|
|
604
604
|
}
|
|
605
605
|
},
|
|
606
|
+
{
|
|
607
|
+
"name": "diagnose_runtime",
|
|
608
|
+
"title": "Diagnose runtime layers",
|
|
609
|
+
"description": "Run fixed, non-user-controlled local probes to distinguish MCP policy, local filesystem, process-spawn, shell, managed-job storage, and registered-resource failures. A successful response proves the request reached the local daemon; it cannot diagnose a host refusal that blocks the tool call itself.",
|
|
610
|
+
"availability": "always",
|
|
611
|
+
"annotations": {
|
|
612
|
+
"readOnlyHint": true,
|
|
613
|
+
"destructiveHint": false,
|
|
614
|
+
"idempotentHint": true,
|
|
615
|
+
"openWorldHint": false
|
|
616
|
+
},
|
|
617
|
+
"inputSchema": {
|
|
618
|
+
"type": "object",
|
|
619
|
+
"additionalProperties": false
|
|
620
|
+
}
|
|
621
|
+
},
|
|
622
|
+
{
|
|
623
|
+
"name": "list_local_resources",
|
|
624
|
+
"title": "List local resource aliases",
|
|
625
|
+
"description": "List names and validation status for locally registered file resources without returning their paths or contents. Resources are registered only through the local machine-mcp CLI.",
|
|
626
|
+
"availability": "write",
|
|
627
|
+
"annotations": {
|
|
628
|
+
"readOnlyHint": true,
|
|
629
|
+
"destructiveHint": false,
|
|
630
|
+
"idempotentHint": true,
|
|
631
|
+
"openWorldHint": false
|
|
632
|
+
},
|
|
633
|
+
"inputSchema": {
|
|
634
|
+
"type": "object",
|
|
635
|
+
"additionalProperties": false
|
|
636
|
+
}
|
|
637
|
+
},
|
|
638
|
+
{
|
|
639
|
+
"name": "generate_ssh_key_resource",
|
|
640
|
+
"title": "Generate SSH key resource",
|
|
641
|
+
"description": "Generate or reuse an Ed25519 SSH key pair on the local machine and register the private key file as a local resource alias. The private key content is never returned; only local paths, public fingerprint, permissions, and registration status are reported. Available only under canonical full policy.",
|
|
642
|
+
"availability": "full",
|
|
643
|
+
"annotations": {
|
|
644
|
+
"readOnlyHint": false,
|
|
645
|
+
"destructiveHint": false,
|
|
646
|
+
"idempotentHint": true,
|
|
647
|
+
"openWorldHint": false
|
|
648
|
+
},
|
|
649
|
+
"inputSchema": {
|
|
650
|
+
"type": "object",
|
|
651
|
+
"properties": {
|
|
652
|
+
"name": {
|
|
653
|
+
"type": "string",
|
|
654
|
+
"pattern": "^[a-z][a-z0-9._-]{0,63}$"
|
|
655
|
+
},
|
|
656
|
+
"path": {
|
|
657
|
+
"type": "string",
|
|
658
|
+
"maxLength": 4096
|
|
659
|
+
},
|
|
660
|
+
"comment": {
|
|
661
|
+
"type": "string",
|
|
662
|
+
"maxLength": 256
|
|
663
|
+
}
|
|
664
|
+
},
|
|
665
|
+
"required": [
|
|
666
|
+
"name"
|
|
667
|
+
],
|
|
668
|
+
"additionalProperties": false
|
|
669
|
+
}
|
|
670
|
+
},
|
|
671
|
+
{
|
|
672
|
+
"name": "stage_job",
|
|
673
|
+
"title": "Stage managed job for local approval",
|
|
674
|
+
"description": "Validate and persist a managed-job plan without starting any process. Use this when execution tools are unavailable or local operator review is required; launch later with machine-mcp job approve JOB_ID.",
|
|
675
|
+
"availability": "write",
|
|
676
|
+
"annotations": {
|
|
677
|
+
"readOnlyHint": false,
|
|
678
|
+
"destructiveHint": false,
|
|
679
|
+
"idempotentHint": false,
|
|
680
|
+
"openWorldHint": false
|
|
681
|
+
},
|
|
682
|
+
"inputSchema": {
|
|
683
|
+
"type": "object",
|
|
684
|
+
"properties": {
|
|
685
|
+
"name": {
|
|
686
|
+
"type": "string",
|
|
687
|
+
"maxLength": 128
|
|
688
|
+
},
|
|
689
|
+
"steps": {
|
|
690
|
+
"type": "array",
|
|
691
|
+
"minItems": 1,
|
|
692
|
+
"maxItems": 16,
|
|
693
|
+
"items": {
|
|
694
|
+
"type": "object",
|
|
695
|
+
"properties": {
|
|
696
|
+
"name": {
|
|
697
|
+
"type": "string",
|
|
698
|
+
"maxLength": 128
|
|
699
|
+
},
|
|
700
|
+
"argv": {
|
|
701
|
+
"type": "array",
|
|
702
|
+
"minItems": 1,
|
|
703
|
+
"maxItems": 256,
|
|
704
|
+
"items": {
|
|
705
|
+
"type": "string",
|
|
706
|
+
"maxLength": 16384
|
|
707
|
+
}
|
|
708
|
+
},
|
|
709
|
+
"cwd": {
|
|
710
|
+
"type": "string",
|
|
711
|
+
"maxLength": 4096
|
|
712
|
+
},
|
|
713
|
+
"env": {
|
|
714
|
+
"type": "object",
|
|
715
|
+
"maxProperties": 64,
|
|
716
|
+
"additionalProperties": {
|
|
717
|
+
"type": "string",
|
|
718
|
+
"maxLength": 16384
|
|
719
|
+
}
|
|
720
|
+
},
|
|
721
|
+
"env_resources": {
|
|
722
|
+
"type": "object",
|
|
723
|
+
"maxProperties": 32,
|
|
724
|
+
"additionalProperties": {
|
|
725
|
+
"type": "string",
|
|
726
|
+
"pattern": "^[a-z][a-z0-9._-]{0,63}$"
|
|
727
|
+
}
|
|
728
|
+
},
|
|
729
|
+
"stdin": {
|
|
730
|
+
"type": "string",
|
|
731
|
+
"maxLength": 262144
|
|
732
|
+
},
|
|
733
|
+
"stdin_resource": {
|
|
734
|
+
"type": "string",
|
|
735
|
+
"pattern": "^[a-z][a-z0-9._-]{0,63}$"
|
|
736
|
+
},
|
|
737
|
+
"timeout_seconds": {
|
|
738
|
+
"type": "integer",
|
|
739
|
+
"minimum": 1,
|
|
740
|
+
"maximum": 3600,
|
|
741
|
+
"default": 600
|
|
742
|
+
},
|
|
743
|
+
"allow_failure": {
|
|
744
|
+
"type": "boolean",
|
|
745
|
+
"default": false
|
|
746
|
+
},
|
|
747
|
+
"capture_output": {
|
|
748
|
+
"type": "string",
|
|
749
|
+
"enum": [
|
|
750
|
+
"redacted",
|
|
751
|
+
"discard"
|
|
752
|
+
],
|
|
753
|
+
"default": "redacted"
|
|
754
|
+
}
|
|
755
|
+
},
|
|
756
|
+
"required": [
|
|
757
|
+
"argv"
|
|
758
|
+
],
|
|
759
|
+
"additionalProperties": false
|
|
760
|
+
}
|
|
761
|
+
},
|
|
762
|
+
"finally_steps": {
|
|
763
|
+
"type": "array",
|
|
764
|
+
"maxItems": 16,
|
|
765
|
+
"items": {
|
|
766
|
+
"type": "object",
|
|
767
|
+
"properties": {
|
|
768
|
+
"name": {
|
|
769
|
+
"type": "string",
|
|
770
|
+
"maxLength": 128
|
|
771
|
+
},
|
|
772
|
+
"argv": {
|
|
773
|
+
"type": "array",
|
|
774
|
+
"minItems": 1,
|
|
775
|
+
"maxItems": 256,
|
|
776
|
+
"items": {
|
|
777
|
+
"type": "string",
|
|
778
|
+
"maxLength": 16384
|
|
779
|
+
}
|
|
780
|
+
},
|
|
781
|
+
"cwd": {
|
|
782
|
+
"type": "string",
|
|
783
|
+
"maxLength": 4096
|
|
784
|
+
},
|
|
785
|
+
"env": {
|
|
786
|
+
"type": "object",
|
|
787
|
+
"maxProperties": 64,
|
|
788
|
+
"additionalProperties": {
|
|
789
|
+
"type": "string",
|
|
790
|
+
"maxLength": 16384
|
|
791
|
+
}
|
|
792
|
+
},
|
|
793
|
+
"env_resources": {
|
|
794
|
+
"type": "object",
|
|
795
|
+
"maxProperties": 32,
|
|
796
|
+
"additionalProperties": {
|
|
797
|
+
"type": "string",
|
|
798
|
+
"pattern": "^[a-z][a-z0-9._-]{0,63}$"
|
|
799
|
+
}
|
|
800
|
+
},
|
|
801
|
+
"stdin": {
|
|
802
|
+
"type": "string",
|
|
803
|
+
"maxLength": 262144
|
|
804
|
+
},
|
|
805
|
+
"stdin_resource": {
|
|
806
|
+
"type": "string",
|
|
807
|
+
"pattern": "^[a-z][a-z0-9._-]{0,63}$"
|
|
808
|
+
},
|
|
809
|
+
"timeout_seconds": {
|
|
810
|
+
"type": "integer",
|
|
811
|
+
"minimum": 1,
|
|
812
|
+
"maximum": 3600,
|
|
813
|
+
"default": 600
|
|
814
|
+
},
|
|
815
|
+
"allow_failure": {
|
|
816
|
+
"type": "boolean",
|
|
817
|
+
"default": false
|
|
818
|
+
},
|
|
819
|
+
"capture_output": {
|
|
820
|
+
"type": "string",
|
|
821
|
+
"enum": [
|
|
822
|
+
"redacted",
|
|
823
|
+
"discard"
|
|
824
|
+
],
|
|
825
|
+
"default": "redacted"
|
|
826
|
+
}
|
|
827
|
+
},
|
|
828
|
+
"required": [
|
|
829
|
+
"argv"
|
|
830
|
+
],
|
|
831
|
+
"additionalProperties": false
|
|
832
|
+
}
|
|
833
|
+
},
|
|
834
|
+
"temporary_files": {
|
|
835
|
+
"type": "array",
|
|
836
|
+
"maxItems": 16,
|
|
837
|
+
"items": {
|
|
838
|
+
"type": "object",
|
|
839
|
+
"properties": {
|
|
840
|
+
"name": {
|
|
841
|
+
"type": "string",
|
|
842
|
+
"pattern": "^[a-z][a-z0-9._-]{0,63}$"
|
|
843
|
+
},
|
|
844
|
+
"content": {
|
|
845
|
+
"type": "string",
|
|
846
|
+
"maxLength": 262144
|
|
847
|
+
},
|
|
848
|
+
"executable": {
|
|
849
|
+
"type": "boolean",
|
|
850
|
+
"default": false
|
|
851
|
+
}
|
|
852
|
+
},
|
|
853
|
+
"required": [
|
|
854
|
+
"name",
|
|
855
|
+
"content"
|
|
856
|
+
],
|
|
857
|
+
"additionalProperties": false
|
|
858
|
+
}
|
|
859
|
+
}
|
|
860
|
+
},
|
|
861
|
+
"required": [
|
|
862
|
+
"steps"
|
|
863
|
+
],
|
|
864
|
+
"additionalProperties": false
|
|
865
|
+
}
|
|
866
|
+
},
|
|
867
|
+
{
|
|
868
|
+
"name": "start_job",
|
|
869
|
+
"title": "Start managed job",
|
|
870
|
+
"description": "Durably accept a detached argv-based job with ordered steps, job-scoped temporary files, and guaranteed-attempt finally steps. The independent local runner continues if the MCP connection disappears. Use {{temp:name}}, {{resource:name}}, env_resources, or stdin_resource; registered resource contents never enter MCP arguments.",
|
|
871
|
+
"availability": "direct-exec",
|
|
872
|
+
"annotations": {
|
|
873
|
+
"readOnlyHint": false,
|
|
874
|
+
"destructiveHint": true,
|
|
875
|
+
"idempotentHint": false,
|
|
876
|
+
"openWorldHint": true
|
|
877
|
+
},
|
|
878
|
+
"inputSchema": {
|
|
879
|
+
"type": "object",
|
|
880
|
+
"properties": {
|
|
881
|
+
"name": {
|
|
882
|
+
"type": "string",
|
|
883
|
+
"maxLength": 128
|
|
884
|
+
},
|
|
885
|
+
"steps": {
|
|
886
|
+
"type": "array",
|
|
887
|
+
"minItems": 1,
|
|
888
|
+
"maxItems": 16,
|
|
889
|
+
"items": {
|
|
890
|
+
"type": "object",
|
|
891
|
+
"properties": {
|
|
892
|
+
"name": {
|
|
893
|
+
"type": "string",
|
|
894
|
+
"maxLength": 128
|
|
895
|
+
},
|
|
896
|
+
"argv": {
|
|
897
|
+
"type": "array",
|
|
898
|
+
"minItems": 1,
|
|
899
|
+
"maxItems": 256,
|
|
900
|
+
"items": {
|
|
901
|
+
"type": "string",
|
|
902
|
+
"maxLength": 16384
|
|
903
|
+
}
|
|
904
|
+
},
|
|
905
|
+
"cwd": {
|
|
906
|
+
"type": "string",
|
|
907
|
+
"maxLength": 4096
|
|
908
|
+
},
|
|
909
|
+
"env": {
|
|
910
|
+
"type": "object",
|
|
911
|
+
"maxProperties": 64,
|
|
912
|
+
"additionalProperties": {
|
|
913
|
+
"type": "string",
|
|
914
|
+
"maxLength": 16384
|
|
915
|
+
}
|
|
916
|
+
},
|
|
917
|
+
"env_resources": {
|
|
918
|
+
"type": "object",
|
|
919
|
+
"maxProperties": 32,
|
|
920
|
+
"additionalProperties": {
|
|
921
|
+
"type": "string",
|
|
922
|
+
"pattern": "^[a-z][a-z0-9._-]{0,63}$"
|
|
923
|
+
}
|
|
924
|
+
},
|
|
925
|
+
"stdin": {
|
|
926
|
+
"type": "string",
|
|
927
|
+
"maxLength": 262144
|
|
928
|
+
},
|
|
929
|
+
"stdin_resource": {
|
|
930
|
+
"type": "string",
|
|
931
|
+
"pattern": "^[a-z][a-z0-9._-]{0,63}$"
|
|
932
|
+
},
|
|
933
|
+
"timeout_seconds": {
|
|
934
|
+
"type": "integer",
|
|
935
|
+
"minimum": 1,
|
|
936
|
+
"maximum": 3600,
|
|
937
|
+
"default": 600
|
|
938
|
+
},
|
|
939
|
+
"allow_failure": {
|
|
940
|
+
"type": "boolean",
|
|
941
|
+
"default": false
|
|
942
|
+
},
|
|
943
|
+
"capture_output": {
|
|
944
|
+
"type": "string",
|
|
945
|
+
"enum": [
|
|
946
|
+
"redacted",
|
|
947
|
+
"discard"
|
|
948
|
+
],
|
|
949
|
+
"default": "redacted"
|
|
950
|
+
}
|
|
951
|
+
},
|
|
952
|
+
"required": [
|
|
953
|
+
"argv"
|
|
954
|
+
],
|
|
955
|
+
"additionalProperties": false
|
|
956
|
+
}
|
|
957
|
+
},
|
|
958
|
+
"finally_steps": {
|
|
959
|
+
"type": "array",
|
|
960
|
+
"maxItems": 16,
|
|
961
|
+
"items": {
|
|
962
|
+
"type": "object",
|
|
963
|
+
"properties": {
|
|
964
|
+
"name": {
|
|
965
|
+
"type": "string",
|
|
966
|
+
"maxLength": 128
|
|
967
|
+
},
|
|
968
|
+
"argv": {
|
|
969
|
+
"type": "array",
|
|
970
|
+
"minItems": 1,
|
|
971
|
+
"maxItems": 256,
|
|
972
|
+
"items": {
|
|
973
|
+
"type": "string",
|
|
974
|
+
"maxLength": 16384
|
|
975
|
+
}
|
|
976
|
+
},
|
|
977
|
+
"cwd": {
|
|
978
|
+
"type": "string",
|
|
979
|
+
"maxLength": 4096
|
|
980
|
+
},
|
|
981
|
+
"env": {
|
|
982
|
+
"type": "object",
|
|
983
|
+
"maxProperties": 64,
|
|
984
|
+
"additionalProperties": {
|
|
985
|
+
"type": "string",
|
|
986
|
+
"maxLength": 16384
|
|
987
|
+
}
|
|
988
|
+
},
|
|
989
|
+
"env_resources": {
|
|
990
|
+
"type": "object",
|
|
991
|
+
"maxProperties": 32,
|
|
992
|
+
"additionalProperties": {
|
|
993
|
+
"type": "string",
|
|
994
|
+
"pattern": "^[a-z][a-z0-9._-]{0,63}$"
|
|
995
|
+
}
|
|
996
|
+
},
|
|
997
|
+
"stdin": {
|
|
998
|
+
"type": "string",
|
|
999
|
+
"maxLength": 262144
|
|
1000
|
+
},
|
|
1001
|
+
"stdin_resource": {
|
|
1002
|
+
"type": "string",
|
|
1003
|
+
"pattern": "^[a-z][a-z0-9._-]{0,63}$"
|
|
1004
|
+
},
|
|
1005
|
+
"timeout_seconds": {
|
|
1006
|
+
"type": "integer",
|
|
1007
|
+
"minimum": 1,
|
|
1008
|
+
"maximum": 3600,
|
|
1009
|
+
"default": 600
|
|
1010
|
+
},
|
|
1011
|
+
"allow_failure": {
|
|
1012
|
+
"type": "boolean",
|
|
1013
|
+
"default": false
|
|
1014
|
+
},
|
|
1015
|
+
"capture_output": {
|
|
1016
|
+
"type": "string",
|
|
1017
|
+
"enum": [
|
|
1018
|
+
"redacted",
|
|
1019
|
+
"discard"
|
|
1020
|
+
],
|
|
1021
|
+
"default": "redacted"
|
|
1022
|
+
}
|
|
1023
|
+
},
|
|
1024
|
+
"required": [
|
|
1025
|
+
"argv"
|
|
1026
|
+
],
|
|
1027
|
+
"additionalProperties": false
|
|
1028
|
+
}
|
|
1029
|
+
},
|
|
1030
|
+
"temporary_files": {
|
|
1031
|
+
"type": "array",
|
|
1032
|
+
"maxItems": 16,
|
|
1033
|
+
"items": {
|
|
1034
|
+
"type": "object",
|
|
1035
|
+
"properties": {
|
|
1036
|
+
"name": {
|
|
1037
|
+
"type": "string",
|
|
1038
|
+
"pattern": "^[a-z][a-z0-9._-]{0,63}$"
|
|
1039
|
+
},
|
|
1040
|
+
"content": {
|
|
1041
|
+
"type": "string",
|
|
1042
|
+
"maxLength": 262144
|
|
1043
|
+
},
|
|
1044
|
+
"executable": {
|
|
1045
|
+
"type": "boolean",
|
|
1046
|
+
"default": false
|
|
1047
|
+
}
|
|
1048
|
+
},
|
|
1049
|
+
"required": [
|
|
1050
|
+
"name",
|
|
1051
|
+
"content"
|
|
1052
|
+
],
|
|
1053
|
+
"additionalProperties": false
|
|
1054
|
+
}
|
|
1055
|
+
}
|
|
1056
|
+
},
|
|
1057
|
+
"required": [
|
|
1058
|
+
"steps"
|
|
1059
|
+
],
|
|
1060
|
+
"additionalProperties": false
|
|
1061
|
+
}
|
|
1062
|
+
},
|
|
1063
|
+
{
|
|
1064
|
+
"name": "list_jobs",
|
|
1065
|
+
"title": "List managed jobs",
|
|
1066
|
+
"description": "List recent detached managed jobs and their lifecycle status without returning step output.",
|
|
1067
|
+
"availability": "write",
|
|
1068
|
+
"annotations": {
|
|
1069
|
+
"readOnlyHint": true,
|
|
1070
|
+
"destructiveHint": false,
|
|
1071
|
+
"idempotentHint": true,
|
|
1072
|
+
"openWorldHint": false
|
|
1073
|
+
},
|
|
1074
|
+
"inputSchema": {
|
|
1075
|
+
"type": "object",
|
|
1076
|
+
"properties": {
|
|
1077
|
+
"limit": {
|
|
1078
|
+
"type": "integer",
|
|
1079
|
+
"minimum": 1,
|
|
1080
|
+
"maximum": 50,
|
|
1081
|
+
"default": 20
|
|
1082
|
+
}
|
|
1083
|
+
},
|
|
1084
|
+
"additionalProperties": false
|
|
1085
|
+
}
|
|
1086
|
+
},
|
|
1087
|
+
{
|
|
1088
|
+
"name": "read_job",
|
|
1089
|
+
"title": "Read managed job",
|
|
1090
|
+
"description": "Return one managed job status plus bounded, resource-redacted step results. Registered resource paths and contents are never returned.",
|
|
1091
|
+
"availability": "direct-exec",
|
|
1092
|
+
"annotations": {
|
|
1093
|
+
"readOnlyHint": true,
|
|
1094
|
+
"destructiveHint": false,
|
|
1095
|
+
"idempotentHint": true,
|
|
1096
|
+
"openWorldHint": false
|
|
1097
|
+
},
|
|
1098
|
+
"inputSchema": {
|
|
1099
|
+
"type": "object",
|
|
1100
|
+
"properties": {
|
|
1101
|
+
"job_id": {
|
|
1102
|
+
"type": "string",
|
|
1103
|
+
"pattern": "^job_[A-Za-z0-9_-]{24,}$"
|
|
1104
|
+
}
|
|
1105
|
+
},
|
|
1106
|
+
"required": [
|
|
1107
|
+
"job_id"
|
|
1108
|
+
],
|
|
1109
|
+
"additionalProperties": false
|
|
1110
|
+
}
|
|
1111
|
+
},
|
|
1112
|
+
{
|
|
1113
|
+
"name": "cancel_job",
|
|
1114
|
+
"title": "Cancel managed job",
|
|
1115
|
+
"description": "Request cancellation of a detached managed job. The runner terminates the active process tree and still attempts declared finally steps and local resource cleanup.",
|
|
1116
|
+
"availability": "write",
|
|
1117
|
+
"annotations": {
|
|
1118
|
+
"readOnlyHint": false,
|
|
1119
|
+
"destructiveHint": true,
|
|
1120
|
+
"idempotentHint": true,
|
|
1121
|
+
"openWorldHint": true
|
|
1122
|
+
},
|
|
1123
|
+
"inputSchema": {
|
|
1124
|
+
"type": "object",
|
|
1125
|
+
"properties": {
|
|
1126
|
+
"job_id": {
|
|
1127
|
+
"type": "string",
|
|
1128
|
+
"pattern": "^job_[A-Za-z0-9_-]{24,}$"
|
|
1129
|
+
}
|
|
1130
|
+
},
|
|
1131
|
+
"required": [
|
|
1132
|
+
"job_id"
|
|
1133
|
+
],
|
|
1134
|
+
"additionalProperties": false
|
|
1135
|
+
}
|
|
1136
|
+
},
|
|
606
1137
|
{
|
|
607
1138
|
"name": "exec_command",
|
|
608
1139
|
"title": "Execute shell command",
|
package/src/worker/index.ts
CHANGED
|
@@ -3,7 +3,7 @@ import toolCatalog from "../shared/tool-catalog.json";
|
|
|
3
3
|
import serverMetadata from "../shared/server-metadata.json";
|
|
4
4
|
|
|
5
5
|
const SERVER_NAME = String(serverMetadata.name);
|
|
6
|
-
const SERVER_VERSION = "0.
|
|
6
|
+
const SERVER_VERSION = "0.6.2";
|
|
7
7
|
const MCP_PROTOCOL_VERSION = String(serverMetadata.protocolVersion);
|
|
8
8
|
const MCP_SUPPORTED_PROTOCOL_VERSIONS = serverMetadata.supportedProtocolVersions.map((value) => String(value));
|
|
9
9
|
const JSONRPC_VERSION = "2.0";
|
|
@@ -991,6 +991,12 @@ function daemonPolicyAllows(availability: unknown, policy: Record<string, unknow
|
|
|
991
991
|
if (availability === "write") return policy.allowWrite === true;
|
|
992
992
|
if (availability === "direct-exec") return policy.execMode === "direct" || policy.execMode === "shell";
|
|
993
993
|
if (availability === "shell-exec") return policy.execMode === "shell";
|
|
994
|
+
if (availability === "full") return policy.profile === "full"
|
|
995
|
+
&& policy.allowWrite === true
|
|
996
|
+
&& policy.execMode === "shell"
|
|
997
|
+
&& policy.unrestrictedPaths === true
|
|
998
|
+
&& policy.minimalEnv === false
|
|
999
|
+
&& policy.exposeAbsolutePaths === true;
|
|
994
1000
|
return false;
|
|
995
1001
|
}
|
|
996
1002
|
|