create-vellaveto 6.0.1 → 6.0.3
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 +2 -2
- package/dist/constants.d.ts +4 -4
- package/dist/constants.js +4 -4
- package/dist/generators/binary.js +1 -1
- package/dist/generators/helm.js +1 -1
- package/dist/generators/snippets.js +26 -27
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -2
- package/dist/steps/welcome.js +1 -1
- package/dist/wizard.js +3 -3
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# create-vellaveto
|
|
2
2
|
|
|
3
|
-
Interactive setup wizard for [Vellaveto](https://github.com/vellaveto/vellaveto) — the
|
|
3
|
+
Interactive setup wizard for [Vellaveto](https://github.com/vellaveto/vellaveto) — the agent interaction firewall for AI tool calls.
|
|
4
4
|
|
|
5
5
|
## Quick Alternative
|
|
6
6
|
|
|
@@ -11,7 +11,7 @@ cargo install vellaveto-proxy
|
|
|
11
11
|
vellaveto-proxy --protect shield -- ./your-mcp-server
|
|
12
12
|
```
|
|
13
13
|
|
|
14
|
-
Three levels: `shield` (
|
|
14
|
+
Three levels: `shield` (8 policies — credentials, SANDWORM defense, exfil blocking, system files), `fortress` (11 policies — adds package config protection, sudo approval, memory tracking), `vault` (11 policies — deny-by-default, source reads allowed, writes need approval). No config file needed.
|
|
15
15
|
|
|
16
16
|
## Setup Wizard
|
|
17
17
|
|
package/dist/constants.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export declare const VERSION = "
|
|
2
|
-
export declare const IMAGE_TAG = "
|
|
3
|
-
export declare const IMAGE_REPO = "ghcr.io/
|
|
1
|
+
export declare const VERSION = "6.0.3";
|
|
2
|
+
export declare const IMAGE_TAG = "6.0.3";
|
|
3
|
+
export declare const IMAGE_REPO = "ghcr.io/vellaveto/vellaveto";
|
|
4
4
|
export declare const DEFAULT_PORT = 3000;
|
|
5
5
|
export declare const DEFAULT_PROXY_PORT = 3001;
|
|
6
|
-
export declare const BANNER = "\n __ __ _ _ _\n \\ \\ / /__| | | __ ___ _____| |_ ___\n \\ \\ / / _ \\ | |/ _` \\ \\ / / _ \\ __/ _ \\\n \\ V / __/ | | (_| |\\ V / __/ || (_) |\n \\_/ \\___|_|_|\\__,_| \\_/ \\___|\\__\\___/\n\n MCP
|
|
6
|
+
export declare const BANNER = "\n __ __ _ _ _\n \\ \\ / /__| | | __ ___ _____| |_ ___\n \\ \\ / / _ \\ | |/ _` \\ \\ / / _ \\ __/ _ \\\n \\ V / __/ | | (_| |\\ V / __/ || (_) |\n \\_/ \\___|_|_|\\__,_| \\_/ \\___|\\__\\___/\n\n MCP Policy Gateway \u2014 Setup Wizard v6.0.3\n";
|
package/dist/constants.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export const VERSION = "
|
|
2
|
-
export const IMAGE_TAG = "
|
|
3
|
-
export const IMAGE_REPO = "ghcr.io/
|
|
1
|
+
export const VERSION = "6.0.3";
|
|
2
|
+
export const IMAGE_TAG = "6.0.3";
|
|
3
|
+
export const IMAGE_REPO = "ghcr.io/vellaveto/vellaveto";
|
|
4
4
|
export const DEFAULT_PORT = 3000;
|
|
5
5
|
export const DEFAULT_PROXY_PORT = 3001;
|
|
6
6
|
export const BANNER = `
|
|
@@ -10,5 +10,5 @@ export const BANNER = `
|
|
|
10
10
|
\\ V / __/ | | (_| |\\ V / __/ || (_) |
|
|
11
11
|
\\_/ \\___|_|_|\\__,_| \\_/ \\___|\\__\\___/
|
|
12
12
|
|
|
13
|
-
MCP
|
|
13
|
+
MCP Policy Gateway — Setup Wizard v${VERSION}
|
|
14
14
|
`;
|
package/dist/generators/helm.js
CHANGED
|
@@ -23,7 +23,7 @@ export function generateHelmFiles(state) {
|
|
|
23
23
|
function generateValues(state) {
|
|
24
24
|
let yaml = "";
|
|
25
25
|
yaml += "# Vellaveto Helm values — generated by setup wizard\n";
|
|
26
|
-
yaml += "# Usage: helm install vellaveto oci://ghcr.io/
|
|
26
|
+
yaml += "# Usage: helm install vellaveto oci://ghcr.io/vellaveto/vellaveto/chart -f vellaveto-values.yaml\n\n";
|
|
27
27
|
yaml += `image:\n`;
|
|
28
28
|
yaml += ` tag: "${IMAGE_TAG}"\n\n`;
|
|
29
29
|
yaml += "securityContext:\n";
|
|
@@ -22,19 +22,19 @@ export function generateSnippet(language, apiKey) {
|
|
|
22
22
|
export function installCommand(language) {
|
|
23
23
|
switch (language) {
|
|
24
24
|
case "python":
|
|
25
|
-
return "pip install vellaveto";
|
|
25
|
+
return "pip install vellaveto-sdk";
|
|
26
26
|
case "typescript":
|
|
27
|
-
return "npm install vellaveto";
|
|
27
|
+
return "npm install @vellaveto-sdk/typescript";
|
|
28
28
|
case "go":
|
|
29
|
-
return "go get github.com/
|
|
29
|
+
return "go get github.com/vellaveto/vellaveto/sdk/go";
|
|
30
30
|
case "java":
|
|
31
|
-
return "<!-- Add to pom.xml -->\n<dependency>\n <groupId>
|
|
31
|
+
return "<!-- Add to pom.xml -->\n<dependency>\n <groupId>com.vellaveto</groupId>\n <artifactId>vellaveto-java-sdk</artifactId>\n <version>6.0.3</version>\n</dependency>";
|
|
32
32
|
case "skip":
|
|
33
33
|
return "";
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
function pythonSnippet(apiKey) {
|
|
37
|
-
return `from vellaveto import VellavetoClient
|
|
37
|
+
return `from vellaveto import VellavetoClient, Verdict
|
|
38
38
|
|
|
39
39
|
client = VellavetoClient(
|
|
40
40
|
url="http://localhost:${DEFAULT_PORT}",
|
|
@@ -47,16 +47,16 @@ result = client.evaluate(
|
|
|
47
47
|
parameters={"path": "/etc/passwd"},
|
|
48
48
|
)
|
|
49
49
|
|
|
50
|
-
if result.verdict ==
|
|
50
|
+
if result.verdict == Verdict.ALLOW:
|
|
51
51
|
print("Action allowed")
|
|
52
|
-
elif result.verdict ==
|
|
52
|
+
elif result.verdict == Verdict.DENY:
|
|
53
53
|
print(f"Action denied: {result.reason}")
|
|
54
|
-
elif result.verdict ==
|
|
54
|
+
elif result.verdict == Verdict.REQUIRE_APPROVAL:
|
|
55
55
|
print(f"Approval required: {result.reason}")
|
|
56
56
|
`;
|
|
57
57
|
}
|
|
58
58
|
function typescriptSnippet(apiKey) {
|
|
59
|
-
return `import { VellavetoClient } from "vellaveto";
|
|
59
|
+
return `import { VellavetoClient, Verdict } from "@vellaveto-sdk/typescript";
|
|
60
60
|
|
|
61
61
|
const client = new VellavetoClient({
|
|
62
62
|
baseUrl: "http://localhost:${DEFAULT_PORT}",
|
|
@@ -69,11 +69,11 @@ const result = await client.evaluate({
|
|
|
69
69
|
parameters: { path: "/etc/passwd" },
|
|
70
70
|
});
|
|
71
71
|
|
|
72
|
-
if (result.verdict ===
|
|
72
|
+
if (result.verdict === Verdict.Allow) {
|
|
73
73
|
console.log("Action allowed");
|
|
74
|
-
} else if (result.verdict ===
|
|
74
|
+
} else if (result.verdict === Verdict.Deny) {
|
|
75
75
|
console.log(\`Action denied: \${result.reason}\`);
|
|
76
|
-
} else if (result.verdict ===
|
|
76
|
+
} else if (result.verdict === Verdict.RequireApproval) {
|
|
77
77
|
console.log(\`Approval required: \${result.reason}\`);
|
|
78
78
|
}
|
|
79
79
|
`;
|
|
@@ -86,7 +86,7 @@ import (
|
|
|
86
86
|
"fmt"
|
|
87
87
|
"log"
|
|
88
88
|
|
|
89
|
-
"github.com/
|
|
89
|
+
vellaveto "github.com/vellaveto/vellaveto/sdk/go"
|
|
90
90
|
)
|
|
91
91
|
|
|
92
92
|
func main() {
|
|
@@ -95,32 +95,32 @@ func main() {
|
|
|
95
95
|
vellaveto.WithAPIKey("${apiKey}"),
|
|
96
96
|
)
|
|
97
97
|
|
|
98
|
-
result, err := client.Evaluate(context.Background(),
|
|
98
|
+
result, err := client.Evaluate(context.Background(), vellaveto.Action{
|
|
99
99
|
Tool: "filesystem",
|
|
100
100
|
Function: "read_file",
|
|
101
101
|
Parameters: map[string]any{
|
|
102
102
|
"path": "/etc/passwd",
|
|
103
103
|
},
|
|
104
|
-
})
|
|
104
|
+
}, nil, false)
|
|
105
105
|
if err != nil {
|
|
106
106
|
log.Fatal(err)
|
|
107
107
|
}
|
|
108
108
|
|
|
109
109
|
switch result.Verdict {
|
|
110
|
-
case
|
|
110
|
+
case vellaveto.VerdictAllow:
|
|
111
111
|
fmt.Println("Action allowed")
|
|
112
|
-
case
|
|
112
|
+
case vellaveto.VerdictDeny:
|
|
113
113
|
fmt.Printf("Action denied: %s\\n", result.Reason)
|
|
114
|
-
case
|
|
114
|
+
case vellaveto.VerdictRequireApproval:
|
|
115
115
|
fmt.Printf("Approval required: %s\\n", result.Reason)
|
|
116
116
|
}
|
|
117
117
|
}
|
|
118
118
|
`;
|
|
119
119
|
}
|
|
120
120
|
function javaSnippet(apiKey) {
|
|
121
|
-
return `import
|
|
122
|
-
import
|
|
123
|
-
import
|
|
121
|
+
return `import com.vellaveto.Action;
|
|
122
|
+
import com.vellaveto.EvaluationResult;
|
|
123
|
+
import com.vellaveto.VellavetoClient;
|
|
124
124
|
|
|
125
125
|
import java.util.Map;
|
|
126
126
|
|
|
@@ -130,16 +130,15 @@ public class Example {
|
|
|
130
130
|
.apiKey("${apiKey}")
|
|
131
131
|
.build();
|
|
132
132
|
|
|
133
|
-
EvaluationResult result = client.evaluate(Action.builder()
|
|
134
|
-
.tool("filesystem")
|
|
133
|
+
EvaluationResult result = client.evaluate(Action.builder("filesystem")
|
|
135
134
|
.function("read_file")
|
|
136
135
|
.parameters(Map.of("path", "/etc/passwd"))
|
|
137
|
-
.build());
|
|
136
|
+
.build(), null, false);
|
|
138
137
|
|
|
139
138
|
switch (result.getVerdict()) {
|
|
140
|
-
case
|
|
141
|
-
case
|
|
142
|
-
case
|
|
139
|
+
case ALLOW -> System.out.println("Action allowed");
|
|
140
|
+
case DENY -> System.out.println("Action denied: " + result.getReason());
|
|
141
|
+
case REQUIRE_APPROVAL -> System.out.println("Approval required: " + result.getReason());
|
|
143
142
|
}
|
|
144
143
|
}
|
|
145
144
|
}
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
|
-
* create-vellaveto — CLI setup wizard for Vellaveto MCP
|
|
3
|
+
* create-vellaveto — CLI setup wizard for the Vellaveto MCP policy gateway
|
|
4
4
|
*
|
|
5
5
|
* Usage:
|
|
6
6
|
* npx create-vellaveto Interactive wizard (creates ./vellaveto/)
|
|
@@ -14,7 +14,7 @@ function printHelp() {
|
|
|
14
14
|
console.log(`
|
|
15
15
|
create-vellaveto v${VERSION}
|
|
16
16
|
|
|
17
|
-
Setup wizard for Vellaveto — MCP
|
|
17
|
+
Setup wizard for Vellaveto — MCP policy gateway
|
|
18
18
|
|
|
19
19
|
Usage:
|
|
20
20
|
npx create-vellaveto [project-directory]
|
package/dist/steps/welcome.js
CHANGED
|
@@ -4,7 +4,7 @@ import { BANNER } from "../constants.js";
|
|
|
4
4
|
export async function welcomeStep(state, projectDir) {
|
|
5
5
|
p.intro(pc.cyan(BANNER));
|
|
6
6
|
p.note("This wizard generates configuration files for Vellaveto,\n" +
|
|
7
|
-
"the MCP
|
|
7
|
+
"the MCP policy gateway. No server required — just answer\n" +
|
|
8
8
|
"a few questions and we'll create everything you need.", "Welcome");
|
|
9
9
|
// Ask for project directory if not provided via CLI arg
|
|
10
10
|
let dir = projectDir;
|
package/dist/wizard.js
CHANGED
|
@@ -17,7 +17,7 @@ import { detectionStep } from "./steps/detection.js";
|
|
|
17
17
|
import { auditStep } from "./steps/audit.js";
|
|
18
18
|
import { complianceStep } from "./steps/compliance.js";
|
|
19
19
|
import { sdkStep } from "./steps/sdk.js";
|
|
20
|
-
const REPO_URL = "https://github.com/
|
|
20
|
+
const REPO_URL = "https://github.com/vellaveto/vellaveto.git";
|
|
21
21
|
function createDefaultState() {
|
|
22
22
|
return {
|
|
23
23
|
deploymentTarget: "docker",
|
|
@@ -178,7 +178,7 @@ function nextSteps(state, absDir) {
|
|
|
178
178
|
lines.push(` kubectl create secret generic vellaveto-api-key \\`);
|
|
179
179
|
lines.push(` --from-literal=api-key='${state.apiKey}'`);
|
|
180
180
|
lines.push(` kubectl apply -f ${absDir}/vellaveto-configmap.yaml`);
|
|
181
|
-
lines.push(` helm install vellaveto oci://ghcr.io/
|
|
181
|
+
lines.push(` helm install vellaveto oci://ghcr.io/vellaveto/vellaveto/chart \\`);
|
|
182
182
|
lines.push(` -f ${absDir}/vellaveto-values.yaml`);
|
|
183
183
|
break;
|
|
184
184
|
case "source":
|
|
@@ -190,6 +190,6 @@ function nextSteps(state, absDir) {
|
|
|
190
190
|
break;
|
|
191
191
|
}
|
|
192
192
|
lines.push("");
|
|
193
|
-
lines.push(pc.dim("Documentation: https://github.com/
|
|
193
|
+
lines.push(pc.dim("Documentation: https://github.com/vellaveto/vellaveto"));
|
|
194
194
|
return lines.join("\n");
|
|
195
195
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-vellaveto",
|
|
3
|
-
"version": "6.0.
|
|
3
|
+
"version": "6.0.3",
|
|
4
4
|
"description": "Setup wizard for Vellaveto — MCP Policy Gateway",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"url": "https://github.com/vellaveto/vellaveto.git",
|
|
25
25
|
"directory": "packages/create-vellaveto"
|
|
26
26
|
},
|
|
27
|
-
"homepage": "https://
|
|
27
|
+
"homepage": "https://vellaveto.online",
|
|
28
28
|
"bugs": {
|
|
29
29
|
"url": "https://github.com/vellaveto/vellaveto/issues"
|
|
30
30
|
},
|