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
|
@@ -27,10 +27,6 @@ export class K8sSpawner {
|
|
|
27
27
|
setCertManager(cm) {
|
|
28
28
|
this.certManager = cm;
|
|
29
29
|
}
|
|
30
|
-
/** Update the AgentBox image at runtime (takes effect on next spawn) */
|
|
31
|
-
setImage(image) {
|
|
32
|
-
this.config.image = image;
|
|
33
|
-
}
|
|
34
30
|
/**
|
|
35
31
|
* Generate Pod name
|
|
36
32
|
*/
|
|
@@ -87,7 +83,13 @@ export class K8sSpawner {
|
|
|
87
83
|
body: {
|
|
88
84
|
apiVersion: "v1",
|
|
89
85
|
kind: "Secret",
|
|
90
|
-
metadata: {
|
|
86
|
+
metadata: {
|
|
87
|
+
name: certSecretName,
|
|
88
|
+
labels: {
|
|
89
|
+
[`${labelPrefix}/app`]: "agentbox",
|
|
90
|
+
[`${labelPrefix}/user`]: userId,
|
|
91
|
+
},
|
|
92
|
+
},
|
|
91
93
|
type: "kubernetes.io/tls",
|
|
92
94
|
data: {
|
|
93
95
|
"tls.crt": Buffer.from(certBundle.cert).toString("base64"),
|
|
@@ -107,7 +109,13 @@ export class K8sSpawner {
|
|
|
107
109
|
body: {
|
|
108
110
|
apiVersion: "v1",
|
|
109
111
|
kind: "Secret",
|
|
110
|
-
metadata: {
|
|
112
|
+
metadata: {
|
|
113
|
+
name: certSecretName,
|
|
114
|
+
labels: {
|
|
115
|
+
[`${labelPrefix}/app`]: "agentbox",
|
|
116
|
+
[`${labelPrefix}/user`]: userId,
|
|
117
|
+
},
|
|
118
|
+
},
|
|
111
119
|
type: "kubernetes.io/tls",
|
|
112
120
|
data: {
|
|
113
121
|
"tls.crt": Buffer.from(certBundle.cert).toString("base64"),
|
|
@@ -122,27 +130,25 @@ export class K8sSpawner {
|
|
|
122
130
|
throw err;
|
|
123
131
|
}
|
|
124
132
|
}
|
|
125
|
-
// Environment variables
|
|
133
|
+
// Environment variables — only bootstrap deps that cannot come from settings.json
|
|
126
134
|
const env = [
|
|
127
|
-
{ name: "USER_ID", value: boxConfig.userId },
|
|
128
|
-
{ name: "SICLAW_AGENTBOX_PORT", value: "3000" },
|
|
129
135
|
{ name: "PI_CODING_AGENT_DIR", value: ".siclaw/user-data/agent" },
|
|
130
|
-
{ name: "SICLAW_SKILLS_DIR", value: ".siclaw/skills" },
|
|
131
|
-
{ name: "SICLAW_USER_DATA_DIR", value: ".siclaw/user-data" },
|
|
132
136
|
{ name: "SICLAW_GATEWAY_URL", value: process.env.SICLAW_GATEWAY_INTERNAL_URL || `https://siclaw-gateway.${namespace}.svc.cluster.local:3002` },
|
|
133
|
-
{ name: "
|
|
134
|
-
{ name: "SICLAW_CERT_PATH", value: "/etc/siclaw/certs" },
|
|
137
|
+
{ name: "SICLAW_WORKSPACE_ID", value: workspaceId },
|
|
135
138
|
];
|
|
136
|
-
// Pass workspace allowed tools
|
|
137
|
-
if (boxConfig.allowedTools !== undefined) {
|
|
138
|
-
env.push({ name: "SICLAW_WORKSPACE_ALLOWED_TOOLS", value: JSON.stringify(boxConfig.allowedTools) });
|
|
139
|
-
}
|
|
140
139
|
// Add custom environment variables
|
|
141
140
|
if (boxConfig.env) {
|
|
142
141
|
for (const [key, value] of Object.entries(boxConfig.env)) {
|
|
143
142
|
env.push({ name: key, value });
|
|
144
143
|
}
|
|
145
144
|
}
|
|
145
|
+
// Ensure per-user PVC if persistence is enabled
|
|
146
|
+
if (this.config.persistence?.enabled) {
|
|
147
|
+
if (!workspaceId || (workspaceId === "default" && !boxConfig.workspaceId)) {
|
|
148
|
+
console.warn(`[k8s-spawner] Persistence enabled but no explicit workspaceId — using "default"`);
|
|
149
|
+
}
|
|
150
|
+
await this.ensureUserPvc(userId);
|
|
151
|
+
}
|
|
146
152
|
// Pod definition
|
|
147
153
|
const pod = {
|
|
148
154
|
apiVersion: "v1",
|
|
@@ -153,6 +159,7 @@ export class K8sSpawner {
|
|
|
153
159
|
labels: {
|
|
154
160
|
[`${labelPrefix}/app`]: "agentbox",
|
|
155
161
|
[`${labelPrefix}/user`]: boxConfig.userId,
|
|
162
|
+
[`${labelPrefix}/workspace`]: boxConfig.workspaceId || "default",
|
|
156
163
|
},
|
|
157
164
|
},
|
|
158
165
|
spec: {
|
|
@@ -160,28 +167,72 @@ export class K8sSpawner {
|
|
|
160
167
|
subdomain: "agentbox-hs",
|
|
161
168
|
automountServiceAccountToken: false,
|
|
162
169
|
restartPolicy: "Never",
|
|
170
|
+
// ── Security: dual-user isolation (ADR-010) ─────────────────
|
|
171
|
+
// Container starts as root (entrypoint fixes volume permissions,
|
|
172
|
+
// then drops to agentbox via runuser). Child processes run as
|
|
173
|
+
// sandbox user via sudo. CHOWN/FOWNER are needed for the
|
|
174
|
+
// entrypoint to fix volume permissions; SETUID/SETGID for user
|
|
175
|
+
// switching. All capabilities drop after runuser.
|
|
176
|
+
securityContext: {
|
|
177
|
+
seccompProfile: { type: "RuntimeDefault" },
|
|
178
|
+
},
|
|
163
179
|
volumes: [
|
|
164
180
|
{
|
|
165
|
-
name: "
|
|
181
|
+
name: "credentials",
|
|
166
182
|
emptyDir: {},
|
|
167
183
|
},
|
|
168
184
|
{
|
|
169
|
-
name: "
|
|
185
|
+
name: "config",
|
|
186
|
+
emptyDir: {},
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
name: "skills-local",
|
|
170
190
|
emptyDir: {},
|
|
171
191
|
},
|
|
192
|
+
this.config.persistence?.enabled
|
|
193
|
+
? {
|
|
194
|
+
name: "user-data",
|
|
195
|
+
persistentVolumeClaim: { claimName: this.userPvcName(userId) },
|
|
196
|
+
}
|
|
197
|
+
: {
|
|
198
|
+
name: "user-data",
|
|
199
|
+
emptyDir: {},
|
|
200
|
+
},
|
|
172
201
|
{
|
|
173
202
|
name: "client-cert",
|
|
174
203
|
secret: { secretName: certSecretName },
|
|
175
204
|
},
|
|
205
|
+
{
|
|
206
|
+
name: "tmp",
|
|
207
|
+
emptyDir: { sizeLimit: "100Mi" },
|
|
208
|
+
},
|
|
176
209
|
],
|
|
177
210
|
containers: [
|
|
178
211
|
{
|
|
179
212
|
name: "agentbox",
|
|
180
213
|
image,
|
|
181
214
|
imagePullPolicy,
|
|
182
|
-
|
|
215
|
+
securityContext: {
|
|
216
|
+
capabilities: {
|
|
217
|
+
drop: ["ALL"],
|
|
218
|
+
add: ["SETUID", "SETGID", "CHOWN", "FOWNER"],
|
|
219
|
+
},
|
|
220
|
+
readOnlyRootFilesystem: true,
|
|
221
|
+
},
|
|
222
|
+
ports: [
|
|
223
|
+
{ containerPort: 3000, name: "https" },
|
|
224
|
+
{ containerPort: 9090, name: "metrics" },
|
|
225
|
+
],
|
|
183
226
|
env,
|
|
184
227
|
volumeMounts: [
|
|
228
|
+
{
|
|
229
|
+
name: "credentials",
|
|
230
|
+
mountPath: "/app/.siclaw/credentials",
|
|
231
|
+
},
|
|
232
|
+
{
|
|
233
|
+
name: "config",
|
|
234
|
+
mountPath: "/app/.siclaw/config",
|
|
235
|
+
},
|
|
185
236
|
{
|
|
186
237
|
name: "skills-local",
|
|
187
238
|
mountPath: "/app/.siclaw/skills",
|
|
@@ -189,13 +240,19 @@ export class K8sSpawner {
|
|
|
189
240
|
{
|
|
190
241
|
name: "user-data",
|
|
191
242
|
mountPath: "/app/.siclaw/user-data",
|
|
192
|
-
subPath:
|
|
243
|
+
subPath: this.config.persistence?.enabled
|
|
244
|
+
? workspaceId.replace(/[^a-zA-Z0-9-]/g, "_")
|
|
245
|
+
: `user/${userId}/agent-data`,
|
|
193
246
|
},
|
|
194
247
|
{
|
|
195
248
|
name: "client-cert",
|
|
196
249
|
mountPath: "/etc/siclaw/certs",
|
|
197
250
|
readOnly: true,
|
|
198
251
|
},
|
|
252
|
+
{
|
|
253
|
+
name: "tmp",
|
|
254
|
+
mountPath: "/tmp",
|
|
255
|
+
},
|
|
199
256
|
],
|
|
200
257
|
resources: {
|
|
201
258
|
requests: {
|
|
@@ -221,30 +278,6 @@ export class K8sSpawner {
|
|
|
221
278
|
],
|
|
222
279
|
},
|
|
223
280
|
};
|
|
224
|
-
// If a kubeconfig is provided, mount it as a Secret
|
|
225
|
-
if (boxConfig.kubeconfigBase64) {
|
|
226
|
-
const secretName = `${podName}-kubeconfig`;
|
|
227
|
-
// Create Secret
|
|
228
|
-
await this.coreApi.createNamespacedSecret({
|
|
229
|
-
namespace,
|
|
230
|
-
body: {
|
|
231
|
-
apiVersion: "v1",
|
|
232
|
-
kind: "Secret",
|
|
233
|
-
metadata: { name: secretName },
|
|
234
|
-
data: { config: boxConfig.kubeconfigBase64 },
|
|
235
|
-
},
|
|
236
|
-
});
|
|
237
|
-
// Append kubeconfig volume and mount
|
|
238
|
-
pod.spec.volumes.push({
|
|
239
|
-
name: "kubeconfig",
|
|
240
|
-
secret: { secretName },
|
|
241
|
-
});
|
|
242
|
-
pod.spec.containers[0].volumeMounts.push({
|
|
243
|
-
name: "kubeconfig",
|
|
244
|
-
mountPath: "/home/agentbox/.kube",
|
|
245
|
-
readOnly: true,
|
|
246
|
-
});
|
|
247
|
-
}
|
|
248
281
|
// Create Pod (handle 409 Conflict if another process created it concurrently)
|
|
249
282
|
try {
|
|
250
283
|
await this.coreApi.createNamespacedPod({ namespace, body: pod });
|
|
@@ -265,12 +298,18 @@ export class K8sSpawner {
|
|
|
265
298
|
endpoint,
|
|
266
299
|
};
|
|
267
300
|
}
|
|
301
|
+
/**
|
|
302
|
+
* Generate PVC name for a user
|
|
303
|
+
*/
|
|
304
|
+
userPvcName(userId) {
|
|
305
|
+
return `siclaw-user-${userId.toLowerCase().replace(/[^a-z0-9-]/g, "-").slice(0, 50)}`;
|
|
306
|
+
}
|
|
268
307
|
/**
|
|
269
308
|
* Ensure per-user PVC exists (idempotent)
|
|
270
309
|
*/
|
|
271
310
|
async ensureUserPvc(userId) {
|
|
272
311
|
const { namespace } = this.config;
|
|
273
|
-
const pvcName =
|
|
312
|
+
const pvcName = this.userPvcName(userId);
|
|
274
313
|
try {
|
|
275
314
|
await this.coreApi.readNamespacedPersistentVolumeClaim({ name: pvcName, namespace });
|
|
276
315
|
// PVC already exists
|
|
@@ -293,10 +332,10 @@ export class K8sSpawner {
|
|
|
293
332
|
},
|
|
294
333
|
},
|
|
295
334
|
spec: {
|
|
296
|
-
accessModes: [
|
|
297
|
-
storageClassName:
|
|
335
|
+
accessModes: [this.config.persistence.accessMode],
|
|
336
|
+
storageClassName: this.config.persistence.storageClass || undefined,
|
|
298
337
|
resources: {
|
|
299
|
-
requests: { storage:
|
|
338
|
+
requests: { storage: this.config.persistence.size },
|
|
300
339
|
},
|
|
301
340
|
},
|
|
302
341
|
},
|
|
@@ -358,8 +397,8 @@ export class K8sSpawner {
|
|
|
358
397
|
try {
|
|
359
398
|
// Delete Pod
|
|
360
399
|
await this.coreApi.deleteNamespacedPod({ name: boxId, namespace });
|
|
361
|
-
// Attempt to delete the associated Secret
|
|
362
|
-
const secretName = `${boxId}-
|
|
400
|
+
// Attempt to delete the associated cert Secret
|
|
401
|
+
const secretName = `${boxId}-cert`;
|
|
363
402
|
try {
|
|
364
403
|
await this.coreApi.deleteNamespacedSecret({ name: secretName, namespace });
|
|
365
404
|
}
|
|
@@ -382,11 +421,13 @@ export class K8sSpawner {
|
|
|
382
421
|
try {
|
|
383
422
|
const pod = await this.coreApi.readNamespacedPod({ name: boxId, namespace });
|
|
384
423
|
const userId = pod.metadata?.labels?.[`${labelPrefix}/user`] || "unknown";
|
|
424
|
+
const workspaceId = pod.metadata?.labels?.[`${labelPrefix}/workspace`];
|
|
385
425
|
const status = this.mapPodStatus(pod);
|
|
386
426
|
const podIP = pod.status?.podIP;
|
|
387
427
|
return {
|
|
388
428
|
boxId,
|
|
389
429
|
userId,
|
|
430
|
+
workspaceId,
|
|
390
431
|
status,
|
|
391
432
|
endpoint: podIP ? `https://${podIP}:3000` : "",
|
|
392
433
|
createdAt: pod.metadata?.creationTimestamp
|
|
@@ -413,11 +454,13 @@ export class K8sSpawner {
|
|
|
413
454
|
});
|
|
414
455
|
return podList.items.map((pod) => {
|
|
415
456
|
const userId = pod.metadata?.labels?.[`${labelPrefix}/user`] || "unknown";
|
|
457
|
+
const workspaceId = pod.metadata?.labels?.[`${labelPrefix}/workspace`];
|
|
416
458
|
const status = this.mapPodStatus(pod);
|
|
417
459
|
const podIP = pod.status?.podIP;
|
|
418
460
|
return {
|
|
419
461
|
boxId: pod.metadata?.name || "",
|
|
420
462
|
userId,
|
|
463
|
+
workspaceId,
|
|
421
464
|
status,
|
|
422
465
|
endpoint: podIP ? `https://${podIP}:3000` : "",
|
|
423
466
|
createdAt: pod.metadata?.creationTimestamp
|
|
@@ -456,7 +499,7 @@ export class K8sSpawner {
|
|
|
456
499
|
namespace,
|
|
457
500
|
labelSelector: `${labelPrefix}/app=agentbox`,
|
|
458
501
|
});
|
|
459
|
-
// Delete all
|
|
502
|
+
// Delete all cert Secrets
|
|
460
503
|
await this.coreApi.deleteCollectionNamespacedSecret({
|
|
461
504
|
namespace,
|
|
462
505
|
labelSelector: `${labelPrefix}/app=agentbox`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"k8s-spawner.js","sourceRoot":"","sources":["../../../src/gateway/agentbox/k8s-spawner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"k8s-spawner.js","sourceRoot":"","sources":["../../../src/gateway/agentbox/k8s-spawner.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ import type { AgentBoxConfig, AgentBoxHandle, AgentBoxInfo } from "./types.js";
|
|
|
9
9
|
import type { McpServerRepository } from "../db/repositories/mcp-server-repo.js";
|
|
10
10
|
import type { ResourceType } from "../../shared/resource-sync.js";
|
|
11
11
|
/** Function type for fetching a skill bundle for a given user */
|
|
12
|
-
export type SkillBundleProvider = (userId: string, env: "prod" | "dev") => Promise<{
|
|
12
|
+
export type SkillBundleProvider = (userId: string, env: "prod" | "dev" | "test") => Promise<{
|
|
13
13
|
version: string;
|
|
14
14
|
skills: Array<{
|
|
15
15
|
dirName: string;
|
|
@@ -13,6 +13,7 @@ import { AgentBoxSessionManager } from "../../agentbox/session.js";
|
|
|
13
13
|
import { mcpHandler, skillsHandler } from "../../agentbox/resource-handlers.js";
|
|
14
14
|
import { buildMergedMcpConfig } from "../mcp-config-builder.js";
|
|
15
15
|
import { loadConfig } from "../../core/config.js";
|
|
16
|
+
import { resolveUnderDir } from "../../shared/path-utils.js";
|
|
16
17
|
export class LocalSpawner {
|
|
17
18
|
name = "local";
|
|
18
19
|
boxes = new Map();
|
|
@@ -174,7 +175,7 @@ export class LocalSpawner {
|
|
|
174
175
|
}
|
|
175
176
|
// Write skills into per-user directory
|
|
176
177
|
for (const skill of bundle.skills) {
|
|
177
|
-
const skillDir =
|
|
178
|
+
const skillDir = resolveUnderDir(userSkillsDir, skill.dirName);
|
|
178
179
|
fs.mkdirSync(skillDir, { recursive: true });
|
|
179
180
|
if (skill.specs) {
|
|
180
181
|
fs.writeFileSync(path.join(skillDir, "SKILL.md"), skill.specs);
|
|
@@ -183,7 +184,8 @@ export class LocalSpawner {
|
|
|
183
184
|
const scriptsDir = path.join(skillDir, "scripts");
|
|
184
185
|
fs.mkdirSync(scriptsDir, { recursive: true });
|
|
185
186
|
for (const script of skill.scripts) {
|
|
186
|
-
|
|
187
|
+
const scriptPath = resolveUnderDir(scriptsDir, script.name);
|
|
188
|
+
fs.writeFileSync(scriptPath, script.content, { mode: 0o755 });
|
|
187
189
|
}
|
|
188
190
|
}
|
|
189
191
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-spawner.js","sourceRoot":"","sources":["../../../src/gateway/agentbox/local-spawner.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,gFAAgF;AAChF,oFAAoF;AACpF,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"local-spawner.js","sourceRoot":"","sources":["../../../src/gateway/agentbox/local-spawner.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,6 @@ export interface AgentBoxManagerConfig {
|
|
|
16
16
|
/** K8s namespace */
|
|
17
17
|
namespace?: string;
|
|
18
18
|
}
|
|
19
|
-
export type EnvResolver = () => Promise<Record<string, string>>;
|
|
20
19
|
export declare class AgentBoxManager {
|
|
21
20
|
private spawner;
|
|
22
21
|
private config;
|
|
@@ -27,18 +26,9 @@ export declare class AgentBoxManager {
|
|
|
27
26
|
private boxes;
|
|
28
27
|
/** Health check timer (local dev only) */
|
|
29
28
|
private healthCheckTimer?;
|
|
30
|
-
/** Optional async resolver that provides extra env vars for new AgentBoxes */
|
|
31
|
-
private envResolver?;
|
|
32
29
|
/** Whether the spawner is K8s-based (stateless, no in-memory cache) */
|
|
33
30
|
private readonly isK8s;
|
|
34
31
|
constructor(spawner: BoxSpawner, config?: AgentBoxManagerConfig);
|
|
35
|
-
/**
|
|
36
|
-
* Set an async resolver that provides extra env vars injected into every new AgentBox.
|
|
37
|
-
* The resolved env is merged after config.env, so it takes precedence.
|
|
38
|
-
*/
|
|
39
|
-
setEnvResolver(resolver: EnvResolver): void;
|
|
40
|
-
/** Update the spawner's AgentBox image at runtime (takes effect on next spawn) */
|
|
41
|
-
setSpawnerImage(image: string): void;
|
|
42
32
|
/** Inject CertificateManager into spawner (for mTLS, K8s spawner only) */
|
|
43
33
|
setCertManager(cm: unknown): void;
|
|
44
34
|
/**
|
|
@@ -21,8 +21,6 @@ export class AgentBoxManager {
|
|
|
21
21
|
boxes = new Map();
|
|
22
22
|
/** Health check timer (local dev only) */
|
|
23
23
|
healthCheckTimer;
|
|
24
|
-
/** Optional async resolver that provides extra env vars for new AgentBoxes */
|
|
25
|
-
envResolver;
|
|
26
24
|
/** Whether the spawner is K8s-based (stateless, no in-memory cache) */
|
|
27
25
|
isK8s;
|
|
28
26
|
constructor(spawner, config) {
|
|
@@ -31,19 +29,6 @@ export class AgentBoxManager {
|
|
|
31
29
|
this.isK8s = spawner.name === "k8s";
|
|
32
30
|
console.log(`[agentbox-manager] Initialized with spawner: ${spawner.name}${this.isK8s ? " (stateless, K8s API discovery)" : " (in-memory cache)"}`);
|
|
33
31
|
}
|
|
34
|
-
/**
|
|
35
|
-
* Set an async resolver that provides extra env vars injected into every new AgentBox.
|
|
36
|
-
* The resolved env is merged after config.env, so it takes precedence.
|
|
37
|
-
*/
|
|
38
|
-
setEnvResolver(resolver) {
|
|
39
|
-
this.envResolver = resolver;
|
|
40
|
-
}
|
|
41
|
-
/** Update the spawner's AgentBox image at runtime (takes effect on next spawn) */
|
|
42
|
-
setSpawnerImage(image) {
|
|
43
|
-
if ('setImage' in this.spawner) {
|
|
44
|
-
this.spawner.setImage(image);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
32
|
/** Inject CertificateManager into spawner (for mTLS, K8s spawner only) */
|
|
48
33
|
setCertManager(cm) {
|
|
49
34
|
if ('setCertManager' in this.spawner) {
|
|
@@ -115,11 +100,11 @@ export class AgentBoxManager {
|
|
|
115
100
|
// 1. Check if pod already exists and is running
|
|
116
101
|
const info = await this.spawner.get(name);
|
|
117
102
|
if (info && info.status === "running" && info.endpoint) {
|
|
118
|
-
return { boxId: name, userId, endpoint: info.endpoint };
|
|
103
|
+
return { boxId: name, userId, endpoint: info.endpoint, workspaceId };
|
|
119
104
|
}
|
|
120
105
|
// 2. Pod doesn't exist or not running → create
|
|
121
106
|
console.log(`[agentbox-manager] Creating new AgentBox for user: ${userId} workspace: ${workspaceId}`);
|
|
122
|
-
const resolvedEnv =
|
|
107
|
+
const resolvedEnv = this.resolveEnv(config?.env);
|
|
123
108
|
const handle = await this.spawner.spawn({
|
|
124
109
|
userId,
|
|
125
110
|
workspaceId,
|
|
@@ -127,6 +112,7 @@ export class AgentBoxManager {
|
|
|
127
112
|
env: Object.keys(resolvedEnv).length > 0 ? resolvedEnv : undefined,
|
|
128
113
|
});
|
|
129
114
|
// 3. Return handle with Pod IP endpoint (from spawner.spawn → waitForPodReady)
|
|
115
|
+
handle.workspaceId = workspaceId;
|
|
130
116
|
return handle;
|
|
131
117
|
}
|
|
132
118
|
/**
|
|
@@ -145,7 +131,7 @@ export class AgentBoxManager {
|
|
|
145
131
|
this.boxes.delete(key);
|
|
146
132
|
}
|
|
147
133
|
console.log(`[agentbox-manager] Creating new AgentBox for user: ${userId} workspace: ${workspaceId}`);
|
|
148
|
-
const resolvedEnv =
|
|
134
|
+
const resolvedEnv = this.resolveEnv(config?.env);
|
|
149
135
|
const handle = await this.spawner.spawn({
|
|
150
136
|
userId,
|
|
151
137
|
workspaceId,
|
|
@@ -160,17 +146,8 @@ export class AgentBoxManager {
|
|
|
160
146
|
return handle;
|
|
161
147
|
}
|
|
162
148
|
/** Resolve merged env vars */
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
if (this.envResolver) {
|
|
166
|
-
try {
|
|
167
|
-
resolvedEnv = await this.envResolver();
|
|
168
|
-
}
|
|
169
|
-
catch (err) {
|
|
170
|
-
console.warn("[agentbox-manager] envResolver failed, continuing without extra env:", err);
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
return { ...configEnv, ...resolvedEnv };
|
|
149
|
+
resolveEnv(configEnv) {
|
|
150
|
+
return configEnv ?? {};
|
|
174
151
|
}
|
|
175
152
|
/**
|
|
176
153
|
* Get an AgentBox (without auto-creating).
|
|
@@ -202,7 +179,7 @@ export class AgentBoxManager {
|
|
|
202
179
|
const name = this.podName(userId, workspaceId);
|
|
203
180
|
const info = await this.spawner.get(name);
|
|
204
181
|
if (info && info.status === "running" && info.endpoint) {
|
|
205
|
-
return { boxId: name, userId, endpoint: info.endpoint };
|
|
182
|
+
return { boxId: name, userId, endpoint: info.endpoint, workspaceId };
|
|
206
183
|
}
|
|
207
184
|
return undefined;
|
|
208
185
|
}
|
|
@@ -276,6 +253,10 @@ export class AgentBoxManager {
|
|
|
276
253
|
const handles = [];
|
|
277
254
|
for (const [key, managed] of this.boxes) {
|
|
278
255
|
if (key.startsWith(userId + ":")) {
|
|
256
|
+
// Ensure workspaceId is populated from cache key
|
|
257
|
+
if (!managed.handle.workspaceId) {
|
|
258
|
+
managed.handle.workspaceId = key.slice(userId.length + 1);
|
|
259
|
+
}
|
|
279
260
|
handles.push(managed.handle);
|
|
280
261
|
}
|
|
281
262
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../src/gateway/agentbox/manager.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAcH,MAAM,cAAc,GAAoC;IACtD,qBAAqB,EAAE,EAAE,GAAG,IAAI,EAAE,WAAW;IAC7C,UAAU,EAAE,CAAC;IACb,SAAS,EAAE,SAAS;CACrB,CAAC;
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../src/gateway/agentbox/manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,8 +10,6 @@ export interface AgentBoxConfig {
|
|
|
10
10
|
workspaceId?: string;
|
|
11
11
|
/** Allowed tools list for this workspace (null = all) */
|
|
12
12
|
allowedTools?: string[] | null;
|
|
13
|
-
/** Optional kubeconfig content (base64) */
|
|
14
|
-
kubeconfigBase64?: string;
|
|
15
13
|
/** Environment variables */
|
|
16
14
|
env?: Record<string, string>;
|
|
17
15
|
/** Resource limits */
|
|
@@ -19,13 +17,15 @@ export interface AgentBoxConfig {
|
|
|
19
17
|
cpu?: string;
|
|
20
18
|
memory?: string;
|
|
21
19
|
};
|
|
22
|
-
/** Pod environment type —
|
|
23
|
-
podEnv?: "prod" | "dev";
|
|
20
|
+
/** Pod environment type — encoded in mTLS cert, determines credential/skill scoping */
|
|
21
|
+
podEnv?: "prod" | "dev" | "test";
|
|
24
22
|
}
|
|
25
23
|
/** AgentBox information */
|
|
26
24
|
export interface AgentBoxInfo {
|
|
27
25
|
boxId: string;
|
|
28
26
|
userId: string;
|
|
27
|
+
/** Workspace ID this box serves (from K8s label or cache key) */
|
|
28
|
+
workspaceId?: string;
|
|
29
29
|
status: AgentBoxStatus;
|
|
30
30
|
endpoint: string;
|
|
31
31
|
createdAt: Date;
|
|
@@ -36,4 +36,6 @@ export interface AgentBoxHandle {
|
|
|
36
36
|
boxId: string;
|
|
37
37
|
userId: string;
|
|
38
38
|
endpoint: string;
|
|
39
|
+
/** Workspace ID this box serves (used for credential push) */
|
|
40
|
+
workspaceId?: string;
|
|
39
41
|
}
|