siclaw 0.1.0 → 0.1.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/README.md +75 -114
- package/dist/agentbox/gateway-client.d.ts +2 -1
- package/dist/agentbox/gateway-client.js +6 -2
- package/dist/agentbox/gateway-client.js.map +1 -1
- package/dist/agentbox/http-server.js +184 -19
- package/dist/agentbox/http-server.js.map +1 -1
- package/dist/agentbox/resource-handlers.d.ts +1 -0
- package/dist/agentbox/resource-handlers.js +23 -23
- package/dist/agentbox/resource-handlers.js.map +1 -1
- package/dist/agentbox/session.js +85 -5
- package/dist/agentbox/session.js.map +1 -1
- package/dist/agentbox-main.d.ts +2 -1
- package/dist/agentbox-main.js +65 -18
- package/dist/agentbox-main.js.map +1 -1
- package/dist/cli-credentials.d.ts +1 -0
- package/dist/cli-credentials.js +109 -0
- package/dist/cli-credentials.js.map +1 -0
- package/dist/cli-first-run.d.ts +11 -0
- package/dist/cli-first-run.js +99 -0
- package/dist/cli-first-run.js.map +1 -0
- package/dist/cli-main.js +33 -11
- package/dist/cli-main.js.map +1 -1
- package/dist/cli-setup.d.ts +5 -11
- package/dist/cli-setup.js +12 -225
- package/dist/cli-setup.js.map +1 -1
- package/dist/core/agent-factory.d.ts +4 -0
- package/dist/core/agent-factory.js +102 -151
- package/dist/core/agent-factory.js.map +1 -1
- package/dist/core/config.d.ts +10 -3
- package/dist/core/config.js +11 -95
- package/dist/core/config.js.map +1 -1
- package/dist/core/extensions/deep-investigation.d.ts +2 -1
- package/dist/core/extensions/deep-investigation.js +144 -24
- package/dist/core/extensions/deep-investigation.js.map +1 -1
- package/dist/core/extensions/setup.d.ts +8 -0
- package/dist/core/extensions/setup.js +669 -0
- package/dist/core/extensions/setup.js.map +1 -0
- package/dist/core/llm-proxy.js +7 -3
- package/dist/core/llm-proxy.js.map +1 -1
- package/dist/core/mcp-client.d.ts +0 -10
- package/dist/core/mcp-client.js +0 -65
- package/dist/core/mcp-client.js.map +1 -1
- package/dist/core/prompt.d.ts +1 -1
- package/dist/core/prompt.js +42 -5
- package/dist/core/prompt.js.map +1 -1
- package/dist/core/provider-presets.d.ts +14 -0
- package/dist/core/provider-presets.js +81 -0
- package/dist/core/provider-presets.js.map +1 -0
- package/dist/cron/cron-coordinator.d.ts +2 -0
- package/dist/cron/cron-coordinator.js +46 -14
- package/dist/cron/cron-coordinator.js.map +1 -1
- package/dist/cron/cron-executor.js +33 -8
- package/dist/cron/cron-executor.js.map +1 -1
- package/dist/cron/cron-scheduler.d.ts +1 -1
- package/dist/cron/gateway-client.d.ts +5 -0
- package/dist/cron/gateway-client.js +43 -8
- package/dist/cron/gateway-client.js.map +1 -1
- package/dist/cron-main.js +39 -9
- package/dist/cron-main.js.map +1 -1
- package/dist/gateway/agentbox/client.d.ts +11 -0
- package/dist/gateway/agentbox/client.js +18 -0
- package/dist/gateway/agentbox/client.js.map +1 -1
- package/dist/gateway/agentbox/k8s-spawner.d.ts +11 -2
- package/dist/gateway/agentbox/k8s-spawner.js +95 -52
- package/dist/gateway/agentbox/k8s-spawner.js.map +1 -1
- package/dist/gateway/agentbox/local-spawner.d.ts +1 -1
- package/dist/gateway/agentbox/local-spawner.js +4 -2
- package/dist/gateway/agentbox/local-spawner.js.map +1 -1
- package/dist/gateway/agentbox/manager.d.ts +0 -10
- package/dist/gateway/agentbox/manager.js +11 -30
- package/dist/gateway/agentbox/manager.js.map +1 -1
- package/dist/gateway/agentbox/types.d.ts +6 -4
- package/dist/gateway/cron/cron-service.d.ts +49 -0
- package/dist/gateway/cron/cron-service.js +259 -0
- package/dist/gateway/cron/cron-service.js.map +1 -0
- package/dist/gateway/db/init-schema.js +44 -0
- package/dist/gateway/db/init-schema.js.map +1 -1
- package/dist/gateway/db/migrate-sqlite.js +73 -4
- package/dist/gateway/db/migrate-sqlite.js.map +1 -1
- package/dist/gateway/db/repositories/chat-repo.d.ts +56 -2
- package/dist/gateway/db/repositories/chat-repo.js +132 -2
- package/dist/gateway/db/repositories/chat-repo.js.map +1 -1
- package/dist/gateway/db/repositories/config-repo.d.ts +31 -2
- package/dist/gateway/db/repositories/config-repo.js +57 -7
- package/dist/gateway/db/repositories/config-repo.js.map +1 -1
- package/dist/gateway/db/repositories/env-repo.d.ts +14 -0
- package/dist/gateway/db/repositories/env-repo.js +15 -2
- package/dist/gateway/db/repositories/env-repo.js.map +1 -1
- package/dist/gateway/db/repositories/model-config-repo.d.ts +1 -1
- package/dist/gateway/db/repositories/model-config-repo.js +26 -12
- package/dist/gateway/db/repositories/model-config-repo.js.map +1 -1
- package/dist/gateway/db/repositories/skill-repo.d.ts +0 -5
- package/dist/gateway/db/repositories/skill-review-repo.d.ts +1 -0
- package/dist/gateway/db/repositories/skill-review-repo.js +4 -1
- package/dist/gateway/db/repositories/skill-review-repo.js.map +1 -1
- package/dist/gateway/db/repositories/skill-version-repo.js +0 -1
- package/dist/gateway/db/repositories/skill-version-repo.js.map +1 -1
- package/dist/gateway/db/repositories/system-config-repo.d.ts +1 -1
- package/dist/gateway/db/repositories/system-config-repo.js +2 -1
- package/dist/gateway/db/repositories/system-config-repo.js.map +1 -1
- package/dist/gateway/db/repositories/user-env-config-repo.d.ts +13 -0
- package/dist/gateway/db/repositories/user-env-config-repo.js +11 -0
- package/dist/gateway/db/repositories/user-env-config-repo.js.map +1 -1
- package/dist/gateway/db/repositories/workspace-repo.d.ts +3 -2
- package/dist/gateway/db/repositories/workspace-repo.js +6 -2
- package/dist/gateway/db/repositories/workspace-repo.js.map +1 -1
- package/dist/gateway/db/schema-mysql.d.ts +473 -51
- package/dist/gateway/db/schema-mysql.js +35 -4
- package/dist/gateway/db/schema-mysql.js.map +1 -1
- package/dist/gateway/db/schema-sqlite.d.ts +522 -57
- package/dist/gateway/db/schema-sqlite.js +38 -6
- package/dist/gateway/db/schema-sqlite.js.map +1 -1
- package/dist/gateway/db/schema.d.ts +471 -51
- package/dist/gateway/db/schema.js +1 -1
- package/dist/gateway/db/schema.js.map +1 -1
- package/dist/gateway/metrics-aggregator.d.ts +65 -0
- package/dist/gateway/metrics-aggregator.js +244 -0
- package/dist/gateway/metrics-aggregator.js.map +1 -0
- package/dist/gateway/plugins/channel-bridge.d.ts +4 -1
- package/dist/gateway/plugins/channel-bridge.js +78 -86
- package/dist/gateway/plugins/channel-bridge.js.map +1 -1
- package/dist/gateway/rpc-methods.d.ts +4 -2
- package/dist/gateway/rpc-methods.js +962 -163
- package/dist/gateway/rpc-methods.js.map +1 -1
- package/dist/gateway/security/cert-manager.d.ts +2 -2
- package/dist/gateway/security/cert-manager.js +4 -2
- package/dist/gateway/security/cert-manager.js.map +1 -1
- package/dist/gateway/server.d.ts +4 -8
- package/dist/gateway/server.js +297 -261
- package/dist/gateway/server.js.map +1 -1
- package/dist/gateway/skills/file-writer.js +17 -11
- package/dist/gateway/skills/file-writer.js.map +1 -1
- package/dist/gateway/skills/script-evaluator.js +12 -9
- package/dist/gateway/skills/script-evaluator.js.map +1 -1
- package/dist/gateway/web/dist/assets/index-0p17ZeTP.js +740 -0
- package/dist/gateway/web/dist/assets/index-9eP6nPUq.js +741 -0
- package/dist/gateway/web/dist/assets/index-9eP6nPUq.js.map +1 -0
- package/dist/gateway/web/dist/assets/index-CAmSY91d.js +675 -0
- package/dist/gateway/web/dist/assets/index-DMFEh8Pp.css +1 -0
- package/dist/gateway/web/dist/assets/index-DyowBCEj.css +1 -0
- package/dist/gateway/web/dist/assets/index-PDK5JJDO.css +1 -0
- package/dist/gateway/web/dist/index.html +2 -2
- package/dist/gateway-main.js +27 -10
- package/dist/gateway-main.js.map +1 -1
- package/dist/memory/embeddings.js +5 -4
- package/dist/memory/embeddings.js.map +1 -1
- package/dist/memory/indexer.d.ts +23 -3
- package/dist/memory/indexer.js +235 -23
- package/dist/memory/indexer.js.map +1 -1
- package/dist/memory/schema.js +15 -1
- package/dist/memory/schema.js.map +1 -1
- package/dist/memory/types.d.ts +18 -0
- package/dist/memory/types.js +6 -1
- package/dist/memory/types.js.map +1 -1
- package/dist/shared/detect-language.d.ts +12 -0
- package/dist/shared/detect-language.js +78 -0
- package/dist/shared/detect-language.js.map +1 -0
- package/dist/shared/diagnostic-events.d.ts +70 -0
- package/dist/shared/diagnostic-events.js +38 -0
- package/dist/shared/diagnostic-events.js.map +1 -0
- package/dist/shared/local-collector.d.ts +56 -0
- package/dist/shared/local-collector.js +284 -0
- package/dist/shared/local-collector.js.map +1 -0
- package/dist/shared/metrics-types.d.ts +64 -0
- package/dist/shared/metrics-types.js +25 -0
- package/dist/shared/metrics-types.js.map +1 -0
- package/dist/shared/metrics.d.ts +19 -0
- package/dist/shared/metrics.js +185 -0
- package/dist/shared/metrics.js.map +1 -0
- package/dist/shared/path-utils.d.ts +15 -0
- package/dist/shared/path-utils.js +23 -0
- package/dist/shared/path-utils.js.map +1 -0
- package/dist/shared/retry.d.ts +35 -0
- package/dist/shared/retry.js +61 -0
- package/dist/shared/retry.js.map +1 -0
- package/dist/tools/command-sets.d.ts +18 -2
- package/dist/tools/command-sets.js +207 -32
- package/dist/tools/command-sets.js.map +1 -1
- package/dist/tools/command-validator.d.ts +56 -0
- package/dist/tools/command-validator.js +357 -0
- package/dist/tools/command-validator.js.map +1 -0
- package/dist/tools/create-skill.js +26 -1
- package/dist/tools/create-skill.js.map +1 -1
- package/dist/tools/credential-list.js +1 -23
- package/dist/tools/credential-list.js.map +1 -1
- package/dist/tools/credential-manager.d.ts +98 -0
- package/dist/tools/credential-manager.js +313 -0
- package/dist/tools/credential-manager.js.map +1 -0
- package/dist/tools/deep-search/engine.js +184 -127
- package/dist/tools/deep-search/engine.js.map +1 -1
- package/dist/tools/deep-search/prompts.d.ts +10 -2
- package/dist/tools/deep-search/prompts.js +37 -36
- package/dist/tools/deep-search/prompts.js.map +1 -1
- package/dist/tools/deep-search/schemas.d.ts +87 -0
- package/dist/tools/deep-search/schemas.js +85 -0
- package/dist/tools/deep-search/schemas.js.map +1 -0
- package/dist/tools/deep-search/sub-agent.d.ts +21 -0
- package/dist/tools/deep-search/sub-agent.js +153 -4
- package/dist/tools/deep-search/sub-agent.js.map +1 -1
- package/dist/tools/deep-search/tool.js +1 -0
- package/dist/tools/deep-search/tool.js.map +1 -1
- package/dist/tools/deep-search/types.d.ts +2 -0
- package/dist/tools/deep-search/types.js.map +1 -1
- package/dist/tools/dp-tools.js +29 -5
- package/dist/tools/dp-tools.js.map +1 -1
- package/dist/tools/exec-utils.d.ts +85 -0
- package/dist/tools/exec-utils.js +294 -0
- package/dist/tools/exec-utils.js.map +1 -0
- package/dist/tools/fork-skill.js +14 -2
- package/dist/tools/fork-skill.js.map +1 -1
- package/dist/tools/investigation-feedback.d.ts +3 -0
- package/dist/tools/investigation-feedback.js +71 -0
- package/dist/tools/investigation-feedback.js.map +1 -0
- package/dist/tools/manage-schedule.js +16 -6
- package/dist/tools/manage-schedule.js.map +1 -1
- package/dist/tools/netns-script.js +27 -281
- package/dist/tools/netns-script.js.map +1 -1
- package/dist/tools/node-exec.d.ts +2 -14
- package/dist/tools/node-exec.js +18 -225
- package/dist/tools/node-exec.js.map +1 -1
- package/dist/tools/node-script.js +14 -168
- package/dist/tools/node-script.js.map +1 -1
- package/dist/tools/pod-exec.d.ts +1 -1
- package/dist/tools/pod-exec.js +10 -26
- package/dist/tools/pod-exec.js.map +1 -1
- package/dist/tools/pod-nsenter-exec.js +21 -225
- package/dist/tools/pod-nsenter-exec.js.map +1 -1
- package/dist/tools/pod-script.js +10 -19
- package/dist/tools/pod-script.js.map +1 -1
- package/dist/tools/restricted-bash.d.ts +1 -17
- package/dist/tools/restricted-bash.js +38 -252
- package/dist/tools/restricted-bash.js.map +1 -1
- package/dist/tools/run-skill.d.ts +3 -1
- package/dist/tools/run-skill.js +21 -1
- package/dist/tools/run-skill.js.map +1 -1
- package/dist/tools/script-resolver.d.ts +3 -1
- package/dist/tools/script-resolver.js +74 -30
- package/dist/tools/script-resolver.js.map +1 -1
- package/dist/tools/update-skill.js +17 -6
- package/dist/tools/update-skill.js.map +1 -1
- package/package.json +8 -6
- package/siclaw.mjs +10 -1
- package/skills/core/cluster-events/SKILL.md +1 -1
- package/skills/core/deep-investigation/SKILL.md +11 -0
- package/skills/core/deployment-rollout-debug/SKILL.md +1 -1
- package/skills/core/dns-debug/SKILL.md +1 -0
- package/skills/core/meta.json +12 -1
- package/skills/core/networkpolicy-debug/SKILL.md +332 -0
- package/skills/core/node-logs/scripts/get-node-logs.sh +19 -9
- package/skills/core/pod-pending-debug/SKILL.md +1 -0
- package/skills/core/quota-debug/SKILL.md +203 -0
- package/skills/core/service-debug/SKILL.md +1 -0
- package/skills/core/statefulset-debug/SKILL.md +280 -0
- package/skills/core/volcano-diagnose-pod/SKILL.md +196 -0
- package/skills/core/volcano-diagnose-pod/scripts/diagnose-pod.sh +175 -0
- package/skills/core/volcano-gang-scheduling/SKILL.md +299 -0
- package/skills/core/volcano-job-diagnose/SKILL.md +319 -0
- package/skills/core/volcano-job-diagnose/scripts/diagnose-job.sh +253 -0
- package/skills/core/volcano-node-resources/SKILL.md +334 -0
- package/skills/core/volcano-node-resources/scripts/get-node-resources.sh +281 -0
- package/skills/core/volcano-queue-diagnose/SKILL.md +294 -0
- package/skills/core/volcano-queue-diagnose/scripts/diagnose-queue.sh +283 -0
- package/skills/core/volcano-resource-insufficient/SKILL.md +315 -0
- package/skills/core/volcano-scheduler-config/SKILL.md +371 -0
- package/skills/core/volcano-scheduler-config/scripts/get-scheduler-config.sh +297 -0
- package/skills/core/volcano-scheduler-logs/SKILL.md +241 -0
- package/skills/core/volcano-scheduler-logs/scripts/get-scheduler-logs.sh +159 -0
- package/skills/platform/create-skill/SKILL.md +35 -3
- package/skills/platform/manage-skill/SKILL.md +9 -2
- package/skills/platform/update-skill/SKILL.md +17 -6
|
@@ -7,159 +7,15 @@ import { Text } from "@mariozechner/pi-tui";
|
|
|
7
7
|
import { processToolOutput, renderTextResult } from "./tool-render.js";
|
|
8
8
|
import { SAFE_SUBCOMMANDS, validateExecCommand } from "./kubectl.js";
|
|
9
9
|
import { loadConfig } from "../core/config.js";
|
|
10
|
-
import {
|
|
10
|
+
import { getCommandBinary, parseArgs, validateCommandRestrictions, } from "./command-sets.js";
|
|
11
11
|
import { resolveKubeconfigPath, resolveKubeconfigByName } from "./kubeconfig-resolver.js";
|
|
12
12
|
import { sanitizeEnv } from "./sanitize-env.js";
|
|
13
|
+
import { validateCommand as _validateCommand, extractCommands as _extractCommands, } from "./command-validator.js";
|
|
13
14
|
const execAsync = promisify(exec);
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
* Splits on |, &&, ;, || while respecting quotes and subshells.
|
|
17
|
-
*/
|
|
18
|
-
export function extractCommands(input) {
|
|
19
|
-
const commands = [];
|
|
20
|
-
let current = "";
|
|
21
|
-
let inQuote = null;
|
|
22
|
-
let parenDepth = 0;
|
|
23
|
-
for (let i = 0; i < input.length; i++) {
|
|
24
|
-
const ch = input[i];
|
|
25
|
-
if (inQuote) {
|
|
26
|
-
current += ch;
|
|
27
|
-
if (ch === inQuote && input[i - 1] !== "\\") {
|
|
28
|
-
inQuote = null;
|
|
29
|
-
}
|
|
30
|
-
continue;
|
|
31
|
-
}
|
|
32
|
-
if (ch === '"' || ch === "'" || ch === "`") {
|
|
33
|
-
inQuote = ch;
|
|
34
|
-
current += ch;
|
|
35
|
-
continue;
|
|
36
|
-
}
|
|
37
|
-
if (ch === "(") {
|
|
38
|
-
parenDepth++;
|
|
39
|
-
current += ch;
|
|
40
|
-
continue;
|
|
41
|
-
}
|
|
42
|
-
if (ch === ")") {
|
|
43
|
-
parenDepth--;
|
|
44
|
-
current += ch;
|
|
45
|
-
continue;
|
|
46
|
-
}
|
|
47
|
-
// Only split at top-level (not inside subshells)
|
|
48
|
-
if (parenDepth === 0) {
|
|
49
|
-
// Check for ||, &&
|
|
50
|
-
if ((ch === "&" && input[i + 1] === "&") ||
|
|
51
|
-
(ch === "|" && input[i + 1] === "|")) {
|
|
52
|
-
if (current.trim())
|
|
53
|
-
commands.push(current.trim());
|
|
54
|
-
current = "";
|
|
55
|
-
i++; // skip next char
|
|
56
|
-
continue;
|
|
57
|
-
}
|
|
58
|
-
// Check for single & (background), | and ;
|
|
59
|
-
// But skip & when preceded by > (fd redirection like >&2, 2>&1)
|
|
60
|
-
if (ch === "&" && current.length > 0 && current[current.length - 1] === ">") {
|
|
61
|
-
current += ch;
|
|
62
|
-
continue;
|
|
63
|
-
}
|
|
64
|
-
if (ch === "&" || ch === "|" || ch === ";") {
|
|
65
|
-
if (current.trim())
|
|
66
|
-
commands.push(current.trim());
|
|
67
|
-
current = "";
|
|
68
|
-
continue;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
current += ch;
|
|
72
|
-
}
|
|
73
|
-
if (current.trim())
|
|
74
|
-
commands.push(current.trim());
|
|
75
|
-
return commands;
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Validate that a command does not use dangerous shell operators.
|
|
79
|
-
* Scans character-by-character respecting quotes.
|
|
80
|
-
* Blocks: > >> (output redirection, except >&N fd duplication and >/dev/null),
|
|
81
|
-
* $() and backticks (command substitution), <() >() (process substitution).
|
|
82
|
-
* Returns an error message if blocked, or null if safe.
|
|
83
|
-
*/
|
|
84
|
-
export function validateShellOperators(command) {
|
|
85
|
-
let inQuote = null;
|
|
86
|
-
for (let i = 0; i < command.length; i++) {
|
|
87
|
-
const ch = command[i];
|
|
88
|
-
// Block newline/carriage-return characters — bash interprets them as command
|
|
89
|
-
// separators, but extractCommands() does not split on them, so they can be
|
|
90
|
-
// used to smuggle commands past whitelist validation.
|
|
91
|
-
if (ch === "\n" || ch === "\r") {
|
|
92
|
-
return JSON.stringify({
|
|
93
|
-
error: "Newline characters are not allowed in commands.",
|
|
94
|
-
}, null, 2);
|
|
95
|
-
}
|
|
96
|
-
// Block backtick command substitution everywhere (including inside quotes)
|
|
97
|
-
if (ch === "`") {
|
|
98
|
-
return JSON.stringify({
|
|
99
|
-
error: "Backtick command substitution is not allowed.",
|
|
100
|
-
}, null, 2);
|
|
101
|
-
}
|
|
102
|
-
// Block $() command substitution everywhere (including inside quotes)
|
|
103
|
-
if (ch === "$" && command[i + 1] === "(") {
|
|
104
|
-
return JSON.stringify({
|
|
105
|
-
error: "$() command substitution is not allowed.",
|
|
106
|
-
}, null, 2);
|
|
107
|
-
}
|
|
108
|
-
// Track quote state for redirection checks only
|
|
109
|
-
if (inQuote) {
|
|
110
|
-
if (ch === inQuote && command[i - 1] !== "\\") {
|
|
111
|
-
inQuote = null;
|
|
112
|
-
}
|
|
113
|
-
continue;
|
|
114
|
-
}
|
|
115
|
-
if (ch === "'" || ch === '"') {
|
|
116
|
-
inQuote = ch;
|
|
117
|
-
continue;
|
|
118
|
-
}
|
|
119
|
-
// Block <() process substitution
|
|
120
|
-
if (ch === "<" && command[i + 1] === "(") {
|
|
121
|
-
return JSON.stringify({
|
|
122
|
-
error: "<() process substitution is not allowed.",
|
|
123
|
-
}, null, 2);
|
|
124
|
-
}
|
|
125
|
-
// Block bare < input redirection (but not <( which is already handled above)
|
|
126
|
-
if (ch === "<" && command[i + 1] !== "(") {
|
|
127
|
-
return JSON.stringify({
|
|
128
|
-
error: "Input redirection (<) is not allowed.",
|
|
129
|
-
}, null, 2);
|
|
130
|
-
}
|
|
131
|
-
// Check output redirection: > and >>
|
|
132
|
-
if (ch === ">") {
|
|
133
|
-
// Allow >() process substitution — already blocked above when preceded by nothing,
|
|
134
|
-
// but >( after a word is process substitution too
|
|
135
|
-
if (command[i + 1] === "(") {
|
|
136
|
-
return JSON.stringify({
|
|
137
|
-
error: ">() process substitution is not allowed.",
|
|
138
|
-
}, null, 2);
|
|
139
|
-
}
|
|
140
|
-
// Allow fd duplication: >&N (e.g. 2>&1, >&2)
|
|
141
|
-
if (command[i + 1] === "&")
|
|
142
|
-
continue;
|
|
143
|
-
// Determine the redirect target (skip optional second > for >>)
|
|
144
|
-
let j = i + 1;
|
|
145
|
-
if (command[j] === ">")
|
|
146
|
-
j++; // >>
|
|
147
|
-
// Skip whitespace
|
|
148
|
-
while (j < command.length && command[j] === " ")
|
|
149
|
-
j++;
|
|
150
|
-
// Allow redirect to /dev/null
|
|
151
|
-
const target = command.substring(j);
|
|
152
|
-
if (/^\/dev\/null\b/.test(target))
|
|
153
|
-
continue;
|
|
154
|
-
return JSON.stringify({
|
|
155
|
-
error: "Output redirection (> or >>) to files is not allowed.",
|
|
156
|
-
}, null, 2);
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
return null;
|
|
160
|
-
}
|
|
161
|
-
// Compatibility re-exports — keep old import paths working
|
|
15
|
+
// ── Re-exports for backward compatibility ────────────────────────────
|
|
16
|
+
export { extractCommands, validateShellOperators } from "./command-validator.js";
|
|
162
17
|
export { getCommandBinary, ALLOWED_COMMANDS as ALLOWED_BINARIES } from "./command-sets.js";
|
|
18
|
+
// ── kubectl pipeline validator ───────────────────────────────────────
|
|
163
19
|
/**
|
|
164
20
|
* Validate kubectl commands within a pipeline.
|
|
165
21
|
* Checks that subcommands are in the safe whitelist and exec targets are allowed.
|
|
@@ -200,10 +56,7 @@ export function validateKubectlInPipeline(commands) {
|
|
|
200
56
|
}
|
|
201
57
|
return null;
|
|
202
58
|
}
|
|
203
|
-
|
|
204
|
-
* Compatibility wrappers — delegate to shared validateCommandRestrictions.
|
|
205
|
-
* Keeps old imports (validateFindInPipeline etc.) working for tests.
|
|
206
|
-
*/
|
|
59
|
+
// ── Compatibility wrappers ───────────────────────────────────────────
|
|
207
60
|
export function validateFindInPipeline(commands) {
|
|
208
61
|
for (const cmd of commands) {
|
|
209
62
|
const binary = getCommandBinary(cmd);
|
|
@@ -234,6 +87,7 @@ export function validateIpInPipeline(commands) {
|
|
|
234
87
|
}
|
|
235
88
|
return null;
|
|
236
89
|
}
|
|
90
|
+
// ── Skill script detection ───────────────────────────────────────────
|
|
237
91
|
/**
|
|
238
92
|
* Check if a shell command invokes a script under <cwd>/skills/.
|
|
239
93
|
* Handles both forms:
|
|
@@ -285,27 +139,16 @@ export function isSkillScript(cmd) {
|
|
|
285
139
|
return false;
|
|
286
140
|
}
|
|
287
141
|
}
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
"cat", "ls", "find", "stat", "file",
|
|
299
|
-
"readlink", "realpath", "basename", "dirname",
|
|
300
|
-
"diff", "md5sum", "sha256sum",
|
|
301
|
-
"strings", "lsof", "lsns",
|
|
302
|
-
// compressed file reading
|
|
303
|
-
"zcat", "zgrep", "bzcat", "xzcat",
|
|
304
|
-
// environment variable exposure — may contain API keys, DB passwords
|
|
305
|
-
"env", "printenv",
|
|
306
|
-
// not useful in restricted context
|
|
307
|
-
"pwd",
|
|
308
|
-
]);
|
|
142
|
+
// ── Sensitive path patterns ──────────────────────────────────────────
|
|
143
|
+
const SENSITIVE_PATH_RE = [
|
|
144
|
+
/\.siclaw\/credentials\//,
|
|
145
|
+
/\.siclaw\/config\//,
|
|
146
|
+
/\$\{?KUBECONFIG\}?/,
|
|
147
|
+
/\/etc\/siclaw\//,
|
|
148
|
+
/\.kube\//,
|
|
149
|
+
/\/proc\/self\/environ/,
|
|
150
|
+
/\.credentials\//,
|
|
151
|
+
];
|
|
309
152
|
export function createRestrictedBashTool(kubeconfigRef) {
|
|
310
153
|
return {
|
|
311
154
|
name: "bash",
|
|
@@ -350,88 +193,23 @@ Do NOT use for non-kubectl tasks (file editing, package management, etc.).`,
|
|
|
350
193
|
details: { blocked: true },
|
|
351
194
|
};
|
|
352
195
|
}
|
|
353
|
-
//
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
const violations = [];
|
|
364
|
-
for (const cmd of commands) {
|
|
365
|
-
const binary = getCommandBinary(cmd);
|
|
366
|
-
if (!binary)
|
|
367
|
-
continue;
|
|
368
|
-
// Block local file-access commands (use Read/Grep/Glob tools instead)
|
|
369
|
-
if (LOCAL_BLOCKED_COMMANDS.has(binary)) {
|
|
370
|
-
violations.push(binary);
|
|
371
|
-
continue;
|
|
372
|
-
}
|
|
373
|
-
if (ALLOWED_COMMANDS.has(binary) || binary === "kubectl")
|
|
374
|
-
continue;
|
|
375
|
-
// Allow skill scripts (skills/...) — both "bash script.sh" and direct invocation
|
|
376
|
-
if (isSkillScript(cmd)) {
|
|
377
|
-
continue;
|
|
378
|
-
}
|
|
379
|
-
violations.push(binary);
|
|
380
|
-
}
|
|
381
|
-
if (violations.length > 0) {
|
|
382
|
-
return {
|
|
383
|
-
content: [
|
|
384
|
-
{
|
|
385
|
-
type: "text",
|
|
386
|
-
text: JSON.stringify({
|
|
387
|
-
error: `Blocked: disallowed command(s): ${[...new Set(violations)].join(", ")}`,
|
|
388
|
-
allowed: ["kubectl", ...ALLOWED_COMMANDS].sort(),
|
|
389
|
-
}, null, 2),
|
|
390
|
-
},
|
|
391
|
-
],
|
|
392
|
-
details: { blocked: true, violations },
|
|
393
|
-
};
|
|
394
|
-
}
|
|
395
|
-
// Validate kubectl subcommands (read-only whitelist)
|
|
396
|
-
const kubectlError = validateKubectlInPipeline(commands);
|
|
397
|
-
if (kubectlError) {
|
|
196
|
+
// Unified validation: context-based whitelist + shell operators +
|
|
197
|
+
// kubectl subcommands + command restrictions + sensitive paths
|
|
198
|
+
const cmdErr = _validateCommand(command, {
|
|
199
|
+
context: "local",
|
|
200
|
+
extraAllowed: new Set(["kubectl"]),
|
|
201
|
+
isAllowed: (cmd) => isSkillScript(cmd),
|
|
202
|
+
pipelineValidators: [validateKubectlInPipeline],
|
|
203
|
+
sensitivePathPatterns: SENSITIVE_PATH_RE,
|
|
204
|
+
});
|
|
205
|
+
if (cmdErr) {
|
|
398
206
|
return {
|
|
399
|
-
content: [{ type: "text", text:
|
|
207
|
+
content: [{ type: "text", text: cmdErr }],
|
|
400
208
|
details: { blocked: true },
|
|
401
209
|
};
|
|
402
210
|
}
|
|
403
|
-
// Validate command-level restrictions (find -exec, awk system(), etc.)
|
|
404
|
-
for (const cmd of commands) {
|
|
405
|
-
const err = validateCommandRestrictions(cmd);
|
|
406
|
-
if (err) {
|
|
407
|
-
return {
|
|
408
|
-
content: [{ type: "text", text: err }],
|
|
409
|
-
details: { blocked: true },
|
|
410
|
-
};
|
|
411
|
-
}
|
|
412
|
-
}
|
|
413
|
-
// Block reading sensitive credential/config files via any file-reading command.
|
|
414
|
-
// Also catches $KUBECONFIG / ${KUBECONFIG} shell variable expansion.
|
|
415
|
-
const SENSITIVE_PATH_RE = [
|
|
416
|
-
/\.siclaw\/config\/settings\.json/,
|
|
417
|
-
/\.siclaw\/credentials\//,
|
|
418
|
-
/\$\{?KUBECONFIG\}?/,
|
|
419
|
-
];
|
|
420
|
-
const FILE_READING_CMDS = ["cat", "head", "tail", "less", "more", "grep", "awk", "gawk"];
|
|
421
|
-
for (const cmd of commands) {
|
|
422
|
-
const binary = getCommandBinary(cmd);
|
|
423
|
-
if (binary && FILE_READING_CMDS.includes(binary)) {
|
|
424
|
-
if (SENSITIVE_PATH_RE.some((re) => re.test(cmd))) {
|
|
425
|
-
return {
|
|
426
|
-
content: [{ type: "text", text: JSON.stringify({
|
|
427
|
-
error: "Reading credential or config files is not allowed.",
|
|
428
|
-
}, null, 2) }],
|
|
429
|
-
details: { blocked: true },
|
|
430
|
-
};
|
|
431
|
-
}
|
|
432
|
-
}
|
|
433
|
-
}
|
|
434
211
|
// Skill scripts (debug pods, perftest, etc.) need longer timeouts
|
|
212
|
+
const commands = _extractCommands(command);
|
|
435
213
|
const isSkill = commands.some((c) => isSkillScript(c));
|
|
436
214
|
const defaultTimeout = isSkill ? 180 : 60;
|
|
437
215
|
const timeout = Math.min(params.timeout_seconds ?? defaultTimeout, 300) * 1000;
|
|
@@ -457,7 +235,15 @@ Do NOT use for non-kubectl tasks (file editing, package management, etc.).`,
|
|
|
457
235
|
return resolved ? `--kubeconfig=${resolved}` : _match;
|
|
458
236
|
});
|
|
459
237
|
}
|
|
460
|
-
|
|
238
|
+
// In production (K8s pods), run child processes as sandbox user.
|
|
239
|
+
// sudo's SUID elevates to root, then drops to sandbox.
|
|
240
|
+
// -E preserves our sanitized env (allowed by SETENV in sudoers).
|
|
241
|
+
let execCommand = finalCommand;
|
|
242
|
+
if (process.env.NODE_ENV === "production") {
|
|
243
|
+
const escaped = finalCommand.replace(/'/g, "'\\''");
|
|
244
|
+
execCommand = `sudo -E -u sandbox -- bash -c '${escaped}'`;
|
|
245
|
+
}
|
|
246
|
+
const child = exec(execCommand, execOpts);
|
|
461
247
|
// Kill the entire process group (shell + all child processes like kubectl exec)
|
|
462
248
|
// detached: true makes the shell a process group leader, so -pid kills the whole group
|
|
463
249
|
const onAbort = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restricted-bash.js","sourceRoot":"","sources":["../../src/tools/restricted-bash.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"restricted-bash.js","sourceRoot":"","sources":["../../src/tools/restricted-bash.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
import type { ToolDefinition } from "@mariozechner/pi-coding-agent";
|
|
2
2
|
import type { KubeconfigRef } from "../core/agent-factory.js";
|
|
3
|
-
export declare function createRunSkillTool(kubeconfigRef?: KubeconfigRef
|
|
3
|
+
export declare function createRunSkillTool(kubeconfigRef?: KubeconfigRef, sessionIdRef?: {
|
|
4
|
+
current: string;
|
|
5
|
+
}): ToolDefinition;
|
package/dist/tools/run-skill.js
CHANGED
|
@@ -7,7 +7,8 @@ import { resolveKubeconfigPath } from "./kubeconfig-resolver.js";
|
|
|
7
7
|
import { sanitizeEnv } from "./sanitize-env.js";
|
|
8
8
|
import { parseArgs } from "./command-sets.js";
|
|
9
9
|
import { resolveSkillScript, listSkillScripts, listAllSkillsWithScripts, } from "./script-resolver.js";
|
|
10
|
-
|
|
10
|
+
import { emitDiagnostic } from "../shared/diagnostic-events.js";
|
|
11
|
+
export function createRunSkillTool(kubeconfigRef, sessionIdRef) {
|
|
11
12
|
return {
|
|
12
13
|
name: "run_skill",
|
|
13
14
|
label: "Run Skill",
|
|
@@ -91,6 +92,7 @@ Read the skill's SKILL.md first to understand required parameters and usage.`,
|
|
|
91
92
|
// into a shell command string (prevents shell injection via args parameter)
|
|
92
93
|
const cmdArgs = args ? parseArgs(args) : [];
|
|
93
94
|
const timeout = Math.min(params.timeout_seconds ?? 180, 300) * 1000;
|
|
95
|
+
const startMs = Date.now();
|
|
94
96
|
try {
|
|
95
97
|
const child = spawn(resolved.interpreter, [resolved.path, ...cmdArgs], {
|
|
96
98
|
detached: true, // make child a process group leader for clean group kill
|
|
@@ -151,6 +153,15 @@ Read the skill's SKILL.md first to understand required parameters and usage.`,
|
|
|
151
153
|
});
|
|
152
154
|
const output = stdout.trim() +
|
|
153
155
|
(stderr.trim() ? `\n\nSTDERR:\n${stderr.trim()}` : "");
|
|
156
|
+
emitDiagnostic({
|
|
157
|
+
type: "skill_call",
|
|
158
|
+
skillName: skill,
|
|
159
|
+
scriptName: script,
|
|
160
|
+
scope: resolved.scope,
|
|
161
|
+
outcome: "success",
|
|
162
|
+
durationMs: Date.now() - startMs,
|
|
163
|
+
sessionId: sessionIdRef?.current,
|
|
164
|
+
});
|
|
154
165
|
return {
|
|
155
166
|
content: [{ type: "text", text: processToolOutput(output) }],
|
|
156
167
|
details: { exitCode: 0 },
|
|
@@ -158,6 +169,15 @@ Read the skill's SKILL.md first to understand required parameters and usage.`,
|
|
|
158
169
|
}
|
|
159
170
|
catch (err) {
|
|
160
171
|
const output = `Exit code: ${err.code ?? "unknown"}\n${err.stdout?.trim() ?? ""}\n${err.stderr?.trim() ?? err.message}`;
|
|
172
|
+
emitDiagnostic({
|
|
173
|
+
type: "skill_call",
|
|
174
|
+
skillName: skill,
|
|
175
|
+
scriptName: script,
|
|
176
|
+
scope: resolved.scope,
|
|
177
|
+
outcome: "error",
|
|
178
|
+
durationMs: Date.now() - startMs,
|
|
179
|
+
sessionId: sessionIdRef?.current,
|
|
180
|
+
});
|
|
161
181
|
return {
|
|
162
182
|
content: [{ type: "text", text: processToolOutput(output) }],
|
|
163
183
|
details: { exitCode: err.code, error: true },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-skill.js","sourceRoot":"","sources":["../../src/tools/run-skill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAE5C,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"run-skill.js","sourceRoot":"","sources":["../../src/tools/run-skill.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
/** Check if a skill exists in the materialized bundle (personal/team) */
|
|
2
2
|
export declare function skillExistsInBundle(skillName: string): boolean;
|
|
3
|
-
/** Check if a skill exists as a non-disabled builtin (skills/core/) */
|
|
3
|
+
/** Check if a skill exists as a non-disabled builtin (skills/{core,extension}/) */
|
|
4
4
|
export declare function skillExistsAsBuiltin(skillName: string): boolean;
|
|
5
|
+
export type SkillScope = "builtin" | "team" | "personal";
|
|
5
6
|
export interface ResolvedScript {
|
|
6
7
|
path: string;
|
|
7
8
|
content: string;
|
|
8
9
|
interpreter: "bash" | "python3";
|
|
10
|
+
scope: SkillScope;
|
|
9
11
|
}
|
|
10
12
|
/**
|
|
11
13
|
* Resolve a skill script.
|