@aarmos/bridge 0.1.6 → 0.1.8
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/bridge.js.map +1 -1
- package/dist/commands/attest.js.map +1 -1
- package/dist/commands/demo.js +3 -1
- package/dist/commands/demo.js.map +1 -1
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/pack.js +3 -1
- package/dist/commands/pack.js.map +1 -1
- package/dist/commands/playbook.js.map +1 -1
- package/dist/commands/run.js +8 -3
- package/dist/commands/run.js.map +1 -1
- package/dist/commands/simulate.js +4 -5
- package/dist/commands/simulate.js.map +1 -1
- package/dist/commands/verify.js +14 -8
- package/dist/commands/verify.js.map +1 -1
- package/dist/index.js +15 -6
- package/dist/index.js.map +1 -1
- package/dist/lib/attest.js +13 -6
- package/dist/lib/attest.js.map +1 -1
- package/dist/lib/http-broker.js.map +1 -1
- package/dist/lib/llm-test.js.map +1 -1
- package/dist/lib/mcp-broker.js +10 -5
- package/dist/lib/mcp-broker.js.map +1 -1
- package/dist/lib/pack.js +6 -2
- package/dist/lib/pack.js.map +1 -1
- package/dist/lib/playbook.js +52 -14
- package/dist/lib/playbook.js.map +1 -1
- package/dist/lib/scope-templates.js +32 -9
- package/dist/lib/scope-templates.js.map +1 -1
- package/dist/rpc/router.js +62 -50
- package/dist/rpc/router.js.map +1 -1
- package/dist/session.js.map +1 -1
- package/package.json +2 -2
package/dist/lib/llm-test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm-test.js","sourceRoot":"","sources":["../../src/lib/llm-test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"llm-test.js","sourceRoot":"","sources":["../../src/lib/llm-test.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/mcp-broker.js
CHANGED
|
@@ -49,17 +49,22 @@ export async function executeMcpTool(p, allowed) {
|
|
|
49
49
|
const controller = new AbortController();
|
|
50
50
|
const t = setTimeout(() => controller.abort(), p.timeoutMs);
|
|
51
51
|
try {
|
|
52
|
-
const res = await fetch(p.endpoint, {
|
|
52
|
+
const res = await fetch(p.endpoint, {
|
|
53
|
+
method: "POST",
|
|
54
|
+
headers,
|
|
55
|
+
body,
|
|
56
|
+
signal: controller.signal,
|
|
57
|
+
});
|
|
53
58
|
const text = await res.text();
|
|
54
59
|
// Streamable HTTP may return SSE frames; extract the first `data:` payload if so.
|
|
55
|
-
const payload = text.startsWith("event:") || text.includes("\ndata:")
|
|
56
|
-
? extractFirstSseData(text)
|
|
57
|
-
: text;
|
|
60
|
+
const payload = text.startsWith("event:") || text.includes("\ndata:") ? extractFirstSseData(text) : text;
|
|
58
61
|
let parsed = payload;
|
|
59
62
|
try {
|
|
60
63
|
parsed = JSON.parse(payload);
|
|
61
64
|
}
|
|
62
|
-
catch {
|
|
65
|
+
catch {
|
|
66
|
+
/* leave as text */
|
|
67
|
+
}
|
|
63
68
|
const envelope = parsed;
|
|
64
69
|
if (envelope && typeof envelope === "object" && "error" in envelope && envelope.error) {
|
|
65
70
|
return { ok: false, error: envelope.error };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-broker.js","sourceRoot":"","sources":["../../src/lib/mcp-broker.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"mcp-broker.js","sourceRoot":"","sources":["../../src/lib/mcp-broker.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/pack.js
CHANGED
|
@@ -71,10 +71,14 @@ export async function listInstalledPacks(rootDir) {
|
|
|
71
71
|
const raw = await fs.readFile(file, "utf8");
|
|
72
72
|
out.push(JSON.parse(raw));
|
|
73
73
|
}
|
|
74
|
-
catch {
|
|
74
|
+
catch {
|
|
75
|
+
/* ignore malformed */
|
|
76
|
+
}
|
|
75
77
|
}
|
|
76
78
|
}
|
|
77
|
-
catch {
|
|
79
|
+
catch {
|
|
80
|
+
/* no packs dir yet */
|
|
81
|
+
}
|
|
78
82
|
return out;
|
|
79
83
|
}
|
|
80
84
|
//# sourceMappingURL=pack.js.map
|
package/dist/lib/pack.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pack.js","sourceRoot":"","sources":["../../src/lib/pack.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,+CAA+C;AAC/C,EAAE;AACF,gDAAgD;AAChD,MAAM;AACN,wCAAwC;AACxC,0BAA0B;AAC1B,iFAAiF;AACjF,+EAA+E;AAC/E,iBAAiB;AACjB,8BAA8B;AAC9B,qCAAqC;AACrC,mDAAmD;AACnD,SAAS;AACT,oDAAoD;AACpD,MAAM;AACN,EAAE;AACF,+DAA+D;AAC/D,4DAA4D;AAC5D,+DAA+D;AAC/D,EAAE;AACF,oEAAoE;AACpE,mEAAmE;AACnE,2BAA2B;AAE3B,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,YAAY,EAAiB,MAAM,eAAe,CAAC;AAe5D,MAAM,UAAU,QAAQ,CAAC,IAAU;IACjC,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;IACxC,KAAK,EAAE,CAAC;IACR,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAU;IACjC,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,CAAS;IACtC,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAkB,CAAC;IAChD,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAC5F,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;
|
|
1
|
+
{"version":3,"file":"pack.js","sourceRoot":"","sources":["../../src/lib/pack.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/playbook.js
CHANGED
|
@@ -37,7 +37,10 @@ export async function loadPlaybook(p) {
|
|
|
37
37
|
if (seen.has(s.id))
|
|
38
38
|
throw new Error(`duplicate step id: ${s.id}`);
|
|
39
39
|
seen.add(s.id);
|
|
40
|
-
if (s.kind !== "shell.exec" &&
|
|
40
|
+
if (s.kind !== "shell.exec" &&
|
|
41
|
+
s.kind !== "fs.write" &&
|
|
42
|
+
s.kind !== "http.call" &&
|
|
43
|
+
s.kind !== "mcp.tool") {
|
|
41
44
|
throw new Error(`step ${s.id}: kind must be one of shell.exec, fs.write, http.call, mcp.tool`);
|
|
42
45
|
}
|
|
43
46
|
if (!s.params || typeof s.params !== "object") {
|
|
@@ -55,7 +58,10 @@ export async function loadPlaybook(p) {
|
|
|
55
58
|
export function lintPlaybook(pb) {
|
|
56
59
|
const out = [];
|
|
57
60
|
if (pb.steps.length > 100) {
|
|
58
|
-
out.push({
|
|
61
|
+
out.push({
|
|
62
|
+
level: "warn",
|
|
63
|
+
message: `playbook has ${pb.steps.length} steps — consider splitting`,
|
|
64
|
+
});
|
|
59
65
|
}
|
|
60
66
|
for (const s of pb.steps) {
|
|
61
67
|
if (!s.label)
|
|
@@ -66,10 +72,18 @@ export function lintPlaybook(pb) {
|
|
|
66
72
|
if (s.kind === "shell.exec") {
|
|
67
73
|
const p = s.params;
|
|
68
74
|
if (typeof p.bin !== "string" || !p.bin) {
|
|
69
|
-
out.push({
|
|
75
|
+
out.push({
|
|
76
|
+
level: "error",
|
|
77
|
+
stepId: s.id,
|
|
78
|
+
message: "shell.exec: params.bin (string) required",
|
|
79
|
+
});
|
|
70
80
|
}
|
|
71
81
|
if (p.args !== undefined && !Array.isArray(p.args)) {
|
|
72
|
-
out.push({
|
|
82
|
+
out.push({
|
|
83
|
+
level: "error",
|
|
84
|
+
stepId: s.id,
|
|
85
|
+
message: "shell.exec: params.args must be an array",
|
|
86
|
+
});
|
|
73
87
|
}
|
|
74
88
|
if (s.autoApply) {
|
|
75
89
|
out.push({
|
|
@@ -82,28 +96,52 @@ export function lintPlaybook(pb) {
|
|
|
82
96
|
if (s.kind === "fs.write") {
|
|
83
97
|
const p = s.params;
|
|
84
98
|
if (typeof p.path !== "string" || !p.path) {
|
|
85
|
-
out.push({
|
|
99
|
+
out.push({
|
|
100
|
+
level: "error",
|
|
101
|
+
stepId: s.id,
|
|
102
|
+
message: "fs.write: params.path (string) required",
|
|
103
|
+
});
|
|
86
104
|
}
|
|
87
105
|
if (p.data !== undefined && typeof p.data !== "string") {
|
|
88
|
-
out.push({
|
|
106
|
+
out.push({
|
|
107
|
+
level: "error",
|
|
108
|
+
stepId: s.id,
|
|
109
|
+
message: "fs.write: params.data must be a string",
|
|
110
|
+
});
|
|
89
111
|
}
|
|
90
112
|
}
|
|
91
113
|
if (s.kind === "http.call") {
|
|
92
114
|
const p = s.params;
|
|
93
115
|
if (typeof p.url !== "string" || !/^https?:\/\//.test(p.url)) {
|
|
94
|
-
out.push({
|
|
116
|
+
out.push({
|
|
117
|
+
level: "error",
|
|
118
|
+
stepId: s.id,
|
|
119
|
+
message: "http.call: params.url (http(s) URL) required",
|
|
120
|
+
});
|
|
95
121
|
}
|
|
96
122
|
if (p.method !== undefined && typeof p.method !== "string") {
|
|
97
|
-
out.push({
|
|
123
|
+
out.push({
|
|
124
|
+
level: "error",
|
|
125
|
+
stepId: s.id,
|
|
126
|
+
message: "http.call: params.method must be a string",
|
|
127
|
+
});
|
|
98
128
|
}
|
|
99
129
|
}
|
|
100
130
|
if (s.kind === "mcp.tool") {
|
|
101
131
|
const p = s.params;
|
|
102
132
|
if (typeof p.endpoint !== "string" || !/^https?:\/\//.test(p.endpoint)) {
|
|
103
|
-
out.push({
|
|
133
|
+
out.push({
|
|
134
|
+
level: "error",
|
|
135
|
+
stepId: s.id,
|
|
136
|
+
message: "mcp.tool: params.endpoint (http(s) URL) required",
|
|
137
|
+
});
|
|
104
138
|
}
|
|
105
139
|
if (typeof p.tool !== "string" || !p.tool) {
|
|
106
|
-
out.push({
|
|
140
|
+
out.push({
|
|
141
|
+
level: "error",
|
|
142
|
+
stepId: s.id,
|
|
143
|
+
message: "mcp.tool: params.tool (string) required",
|
|
144
|
+
});
|
|
107
145
|
}
|
|
108
146
|
}
|
|
109
147
|
}
|
|
@@ -121,10 +159,10 @@ export function canonicalize(v) {
|
|
|
121
159
|
if (Array.isArray(v))
|
|
122
160
|
return "[" + v.map((x) => canonicalize(x)).join(",") + "]";
|
|
123
161
|
const obj = v;
|
|
124
|
-
const keys = Object.keys(obj)
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
162
|
+
const keys = Object.keys(obj)
|
|
163
|
+
.filter((k) => obj[k] !== undefined)
|
|
164
|
+
.sort();
|
|
165
|
+
return "{" + keys.map((k) => JSON.stringify(k) + ":" + canonicalize(obj[k])).join(",") + "}";
|
|
128
166
|
}
|
|
129
167
|
function playbookBody(pb) {
|
|
130
168
|
const { signature: _s, ...rest } = pb;
|
package/dist/lib/playbook.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"playbook.js","sourceRoot":"","sources":["../../src/lib/playbook.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,EAAE;AACF,mBAAmB;AACnB,sEAAsE;AACtE,4EAA4E;AAC5E,sEAAsE;AACtE,uEAAuE;AACvE,uEAAuE;AACvE,sEAAsE;AACtE,2EAA2E;AAC3E,4EAA4E;AAC5E,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,MAAM,MAAM,aAAa,CAAC;AAkCjC,gFAAgF;AAEhF,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,CAAS;IAC1C,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACvD,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,+BAAgC,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IACzF,MAAM,EAAE,GAAG,MAA2B,CAAC;IACvC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC,IAAI,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC1F,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAChF,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACf,
|
|
1
|
+
{"version":3,"file":"playbook.js","sourceRoot":"","sources":["../../src/lib/playbook.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,20 +10,39 @@
|
|
|
10
10
|
// signed with a trusted pubkey (enforced in run.ts).
|
|
11
11
|
//
|
|
12
12
|
// Templates are additive: unknown verbs default to "write" so we err on
|
|
13
|
-
// the side of showing an approval card. Adding a new SaaS is a pure data
|
|
13
|
+
// the side of showing an approval card. Adding a new SaaS() is a pure data
|
|
14
14
|
// change (append to KUBECTL_VERBS / JIRA_ENDPOINTS / ...) — no gate rewrite.
|
|
15
15
|
// ---------------- kubectl -----------------------------------------------------
|
|
16
16
|
const KUBECTL_READ = new Set([
|
|
17
|
-
"get",
|
|
18
|
-
"
|
|
17
|
+
"get",
|
|
18
|
+
"describe",
|
|
19
|
+
"logs",
|
|
20
|
+
"top",
|
|
21
|
+
"version",
|
|
22
|
+
"api-resources",
|
|
23
|
+
"api-versions",
|
|
24
|
+
"explain",
|
|
25
|
+
"config",
|
|
26
|
+
"cluster-info",
|
|
27
|
+
"auth",
|
|
19
28
|
]);
|
|
20
29
|
const KUBECTL_WRITE = new Set([
|
|
21
|
-
"apply",
|
|
22
|
-
"
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
"
|
|
30
|
+
"apply",
|
|
31
|
+
"create",
|
|
32
|
+
"scale",
|
|
33
|
+
"patch",
|
|
34
|
+
"rollout",
|
|
35
|
+
"edit",
|
|
36
|
+
"label",
|
|
37
|
+
"annotate",
|
|
38
|
+
"set",
|
|
39
|
+
"expose",
|
|
40
|
+
"run",
|
|
41
|
+
"autoscale",
|
|
42
|
+
"replace",
|
|
43
|
+
"taint",
|
|
26
44
|
]);
|
|
45
|
+
const KUBECTL_DESTRUCTIVE = new Set(["delete", "drain", "cordon", "uncordon", "evict", "exec"]);
|
|
27
46
|
// ---------------- git ---------------------------------------------------------
|
|
28
47
|
const GIT_DESTRUCTIVE_FLAGS = ["--force", "-f", "--hard", "-D"];
|
|
29
48
|
const GIT_DESTRUCTIVE_SUBCMDS = new Set(["push", "reset", "clean", "branch", "rebase"]);
|
|
@@ -64,7 +83,11 @@ export function classifyStep(step) {
|
|
|
64
83
|
if (KUBECTL_READ.has(sub)) {
|
|
65
84
|
return { rank: "read", reason: `kubectl ${sub}`, template: "kubectl" };
|
|
66
85
|
}
|
|
67
|
-
return {
|
|
86
|
+
return {
|
|
87
|
+
rank: "write",
|
|
88
|
+
reason: `kubectl ${sub || "(unknown)"} — defaulted`,
|
|
89
|
+
template: "kubectl",
|
|
90
|
+
};
|
|
68
91
|
}
|
|
69
92
|
if (bin === "git") {
|
|
70
93
|
const sub = args.find((a) => !a.startsWith("-")) ?? "";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scope-templates.js","sourceRoot":"","sources":["../../src/lib/scope-templates.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,EAAE;AACF,qEAAqE;AACrE,4CAA4C;AAC5C,6DAA6D;AAC7D,4EAA4E;AAC5E,4EAA4E;AAC5E,0DAA0D;AAC1D,yEAAyE;AACzE,yEAAyE;AACzE,EAAE;AACF,wEAAwE;AACxE,
|
|
1
|
+
{"version":3,"file":"scope-templates.js","sourceRoot":"","sources":["../../src/lib/scope-templates.ts"],"names":[],"mappings":"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"}
|
package/dist/rpc/router.js
CHANGED
|
@@ -8,22 +8,22 @@ import { HttpCallParams, previewHttpCall, executeHttpCall } from "../lib/http-br
|
|
|
8
8
|
import { McpToolParams, previewMcpTool, executeMcpTool } from "../lib/mcp-broker.js";
|
|
9
9
|
import { testLlmConnection } from "../lib/llm-test.js";
|
|
10
10
|
const TestConnectionParams = z.object({
|
|
11
|
-
providerId: z.string
|
|
12
|
-
baseUrl: z.string
|
|
13
|
-
apiKey: z.string
|
|
14
|
-
model: z.string
|
|
15
|
-
headers: z.record(z.string
|
|
16
|
-
timeoutMs: z.number
|
|
11
|
+
providerId: z.string.min(1),
|
|
12
|
+
baseUrl: z.string.url,
|
|
13
|
+
apiKey: z.string.optional,
|
|
14
|
+
model: z.string.min(1),
|
|
15
|
+
headers: z.record(z.string).optional,
|
|
16
|
+
timeoutMs: z.number.int.min(100).max(30_000).optional,
|
|
17
17
|
});
|
|
18
18
|
const RpcRequest = z.object({
|
|
19
|
-
id: z.union([z.string
|
|
19
|
+
id: z.union([z.string, z.number]),
|
|
20
20
|
type: z.literal("rpc"),
|
|
21
|
-
method: z.string
|
|
22
|
-
params: z.unknown
|
|
21
|
+
method: z.string,
|
|
22
|
+
params: z.unknown.optional,
|
|
23
23
|
});
|
|
24
24
|
const BatchAction = z.object({
|
|
25
25
|
kind: z.enum(["fs.write", "shell.exec", "http.call", "mcp.tool"]),
|
|
26
|
-
params: z.unknown
|
|
26
|
+
params: z.unknown,
|
|
27
27
|
});
|
|
28
28
|
export async function handleRpc(session, msg) {
|
|
29
29
|
const parsed = RpcRequest.safeParse(msg);
|
|
@@ -53,23 +53,27 @@ async function dispatch(session, method, params) {
|
|
|
53
53
|
// ---- reads (always live, never previewed) ------------------------------
|
|
54
54
|
case "fs.read": {
|
|
55
55
|
const { path: rel, encoding } = z
|
|
56
|
-
.object({ path: z.string
|
|
56
|
+
.object({ path: z.string, encoding: z.enum(["utf8", "base64"]).default("utf8") })
|
|
57
57
|
.parse(params);
|
|
58
58
|
const abs = session.resolveInJail(rel);
|
|
59
59
|
const buf = await fs.readFile(abs);
|
|
60
|
-
return {
|
|
60
|
+
return {
|
|
61
|
+
path: rel,
|
|
62
|
+
encoding,
|
|
63
|
+
data: encoding === "utf8" ? buf.toString("utf8") : buf.toString("base64"),
|
|
64
|
+
};
|
|
61
65
|
}
|
|
62
66
|
case "fs.list": {
|
|
63
|
-
const { path: rel } = z.object({ path: z.string
|
|
67
|
+
const { path: rel } = z.object({ path: z.string.default(".") }).parse(params);
|
|
64
68
|
const abs = session.resolveInJail(rel);
|
|
65
69
|
const entries = await fs.readdir(abs, { withFileTypes: true });
|
|
66
|
-
return entries.map((e) => ({ name: e.name, dir: e.isDirectory
|
|
70
|
+
return entries.map((e) => ({ name: e.name, dir: e.isDirectory, file: e.isFile }));
|
|
67
71
|
}
|
|
68
72
|
case "git.status": {
|
|
69
|
-
return await simpleGit(session.workspace).status
|
|
73
|
+
return await simpleGit(session.workspace).status;
|
|
70
74
|
}
|
|
71
75
|
case "git.branch": {
|
|
72
|
-
return await simpleGit(session.workspace).branch
|
|
76
|
+
return await simpleGit(session.workspace).branch;
|
|
73
77
|
}
|
|
74
78
|
// ---- mutations (previewed under dry-run) -------------------------------
|
|
75
79
|
case "fs.write": {
|
|
@@ -86,14 +90,22 @@ async function dispatch(session, method, params) {
|
|
|
86
90
|
}
|
|
87
91
|
case "http.call": {
|
|
88
92
|
const p = HttpCallParams.parse(params);
|
|
89
|
-
const preview = {
|
|
93
|
+
const preview = {
|
|
94
|
+
kind: "http.call",
|
|
95
|
+
params: p,
|
|
96
|
+
preview: previewHttpCall(p, session.httpAllow),
|
|
97
|
+
};
|
|
90
98
|
if (session.dryRun)
|
|
91
99
|
return { preview: true, action: preview };
|
|
92
100
|
return await executeHttpCall(p, session.httpAllow);
|
|
93
101
|
}
|
|
94
102
|
case "mcp.tool": {
|
|
95
103
|
const p = McpToolParams.parse(params);
|
|
96
|
-
const preview = {
|
|
104
|
+
const preview = {
|
|
105
|
+
kind: "mcp.tool",
|
|
106
|
+
params: p,
|
|
107
|
+
preview: previewMcpTool(p, session.mcpAllow),
|
|
108
|
+
};
|
|
97
109
|
if (session.dryRun)
|
|
98
110
|
return { preview: true, action: preview };
|
|
99
111
|
return await executeMcpTool(p, session.mcpAllow);
|
|
@@ -109,7 +121,7 @@ async function dispatch(session, method, params) {
|
|
|
109
121
|
}
|
|
110
122
|
// ---- session controls --------------------------------------------------
|
|
111
123
|
case "session.setDryRun": {
|
|
112
|
-
const { on } = z.object({ on: z.boolean
|
|
124
|
+
const { on } = z.object({ on: z.boolean }).parse(params);
|
|
113
125
|
session.dryRun = on;
|
|
114
126
|
return { dryRun: session.dryRun };
|
|
115
127
|
}
|
|
@@ -119,7 +131,7 @@ async function dispatch(session, method, params) {
|
|
|
119
131
|
// ---- read-only Postgres (only if operator passed --allow-sql) ----------
|
|
120
132
|
case "db.list": {
|
|
121
133
|
return {
|
|
122
|
-
databases: [...session.sqlAllow.values
|
|
134
|
+
databases: [...session.sqlAllow.values].map((s) => ({ alias: s.alias })),
|
|
123
135
|
};
|
|
124
136
|
}
|
|
125
137
|
case "db.query": {
|
|
@@ -132,7 +144,7 @@ async function dispatch(session, method, params) {
|
|
|
132
144
|
case "fs.scopedRead": {
|
|
133
145
|
const { path: abs, encoding } = z
|
|
134
146
|
.object({
|
|
135
|
-
path: z.string
|
|
147
|
+
path: z.string,
|
|
136
148
|
encoding: z.enum(["utf8", "base64"]).default("utf8"),
|
|
137
149
|
})
|
|
138
150
|
.parse(params);
|
|
@@ -150,7 +162,7 @@ async function dispatch(session, method, params) {
|
|
|
150
162
|
};
|
|
151
163
|
}
|
|
152
164
|
case "fs.scopedList": {
|
|
153
|
-
const { path: abs } = z.object({ path: z.string
|
|
165
|
+
const { path: abs } = z.object({ path: z.string }).parse(params);
|
|
154
166
|
const real = session.assertReadable(abs);
|
|
155
167
|
const entries = await fs.readdir(real, { withFileTypes: true });
|
|
156
168
|
return {
|
|
@@ -158,8 +170,8 @@ async function dispatch(session, method, params) {
|
|
|
158
170
|
entries: entries.map((e) => ({
|
|
159
171
|
name: e.name,
|
|
160
172
|
absPath: path.join(real, e.name),
|
|
161
|
-
dir: e.isDirectory
|
|
162
|
-
file: e.isFile
|
|
173
|
+
dir: e.isDirectory,
|
|
174
|
+
file: e.isFile,
|
|
163
175
|
})),
|
|
164
176
|
};
|
|
165
177
|
}
|
|
@@ -198,8 +210,8 @@ async function dispatch(session, method, params) {
|
|
|
198
210
|
}
|
|
199
211
|
// -------- execution + preview helpers ----------------------------------------
|
|
200
212
|
const FsWriteParams = z.object({
|
|
201
|
-
path: z.string
|
|
202
|
-
data: z.string
|
|
213
|
+
path: z.string,
|
|
214
|
+
data: z.string,
|
|
203
215
|
encoding: z.enum(["utf8", "base64"]).default("utf8"),
|
|
204
216
|
});
|
|
205
217
|
async function previewFsWrite(session, params) {
|
|
@@ -238,9 +250,9 @@ async function executeFsWrite(session, params) {
|
|
|
238
250
|
return { path: p.path, bytes: p.data.length };
|
|
239
251
|
}
|
|
240
252
|
const ShellExecParams = z.object({
|
|
241
|
-
bin: z.string
|
|
242
|
-
args: z.array(z.string
|
|
243
|
-
cwd: z.string
|
|
253
|
+
bin: z.string,
|
|
254
|
+
args: z.array(z.string).default([]),
|
|
255
|
+
cwd: z.string.default("."),
|
|
244
256
|
});
|
|
245
257
|
function previewShellExec(session, params) {
|
|
246
258
|
const p = ShellExecParams.parse(params);
|
|
@@ -282,23 +294,23 @@ function execAllowed(bin, args, cwd) {
|
|
|
282
294
|
// -------- read-only Postgres --------------------------------------------------
|
|
283
295
|
//
|
|
284
296
|
// Guarantees enforced here, not by convention:
|
|
285
|
-
//
|
|
286
|
-
//
|
|
287
|
-
//
|
|
288
|
-
//
|
|
289
|
-
//
|
|
290
|
-
//
|
|
291
|
-
//
|
|
292
|
-
//
|
|
293
|
-
//
|
|
294
|
-
//
|
|
295
|
-
//
|
|
297
|
+
// 1. The operator must have opted in via `--allow-sql <alias>=<dsn>`.
|
|
298
|
+
// Without a matching alias, we throw before opening a connection.
|
|
299
|
+
// 2. The query runs inside `BEGIN READ ONLY` with a bounded
|
|
300
|
+
// `statement_timeout`. Any write (INSERT/UPDATE/DELETE/DDL) is
|
|
301
|
+
// rejected by Postgres itself with `read_only_sql_transaction`.
|
|
302
|
+
// 3. Rows are hard-capped; if the query returns more than `rowLimit`,
|
|
303
|
+
// we truncate and mark `truncated: true`. Model can page by `LIMIT`.
|
|
304
|
+
// 4. Parameters go through the extended query protocol (`$1`, `$2`, …)
|
|
305
|
+
// so a single call cannot smuggle in a second statement via `;`.
|
|
306
|
+
// 5. The DSN is never returned to the caller — only the alias, and
|
|
307
|
+
// row / column data.
|
|
296
308
|
const DbQueryParams = z.object({
|
|
297
|
-
alias: z.string
|
|
298
|
-
sql: z.string
|
|
299
|
-
params: z.array(z.unknown
|
|
300
|
-
rowLimit: z.number
|
|
301
|
-
statementTimeoutMs: z.number
|
|
309
|
+
alias: z.string.optional,
|
|
310
|
+
sql: z.string.min(1),
|
|
311
|
+
params: z.array(z.unknown).default([]),
|
|
312
|
+
rowLimit: z.number.int.min(1).max(10_000).default(500),
|
|
313
|
+
statementTimeoutMs: z.number.int.min(100).max(30_000).default(5_000),
|
|
302
314
|
});
|
|
303
315
|
async function executeDbQuery(session, params) {
|
|
304
316
|
const p = DbQueryParams.parse(params);
|
|
@@ -312,15 +324,15 @@ async function executeDbQuery(session, params) {
|
|
|
312
324
|
throw new Error(`unknown --allow-sql alias: ${p.alias}`);
|
|
313
325
|
}
|
|
314
326
|
else if (session.sqlAllow.size === 1) {
|
|
315
|
-
entry = session.sqlAllow.values
|
|
327
|
+
entry = session.sqlAllow.values.next.value;
|
|
316
328
|
}
|
|
317
329
|
else {
|
|
318
|
-
throw new Error(`alias required (registered: ${[...session.sqlAllow.keys
|
|
330
|
+
throw new Error(`alias required (registered: ${[...session.sqlAllow.keys].join(", ")})`);
|
|
319
331
|
}
|
|
320
332
|
const client = new pg.Client({ connectionString: entry.dsn });
|
|
321
|
-
const started = Date.now
|
|
333
|
+
const started = Date.now;
|
|
322
334
|
try {
|
|
323
|
-
await client.connect
|
|
335
|
+
await client.connect;
|
|
324
336
|
await client.query("BEGIN READ ONLY");
|
|
325
337
|
await client.query(`SET LOCAL statement_timeout = ${p.statementTimeoutMs}`);
|
|
326
338
|
const res = await client.query({ text: p.sql, values: p.params });
|
|
@@ -334,7 +346,7 @@ async function executeDbQuery(session, params) {
|
|
|
334
346
|
truncated,
|
|
335
347
|
fields: res.fields?.map((f) => ({ name: f.name, dataTypeID: f.dataTypeID })),
|
|
336
348
|
rows: truncated ? res.rows.slice(0, p.rowLimit) : res.rows,
|
|
337
|
-
elapsedMs: Date.now
|
|
349
|
+
elapsedMs: Date.now - started,
|
|
338
350
|
};
|
|
339
351
|
}
|
|
340
352
|
finally {
|