labgate 0.1.0

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container.js","sourceRoot":"","sources":["../../src/lib/container.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare function initConfig(opts: {
2
+ force?: boolean;
3
+ }): Promise<void>;
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.initConfig = initConfig;
4
+ const fs_1 = require("fs");
5
+ const path_1 = require("path");
6
+ const config_js_1 = require("./config.js");
7
+ const CONFIG_WITH_COMMENTS = `{
8
+ // LabGate configuration
9
+ // Docs: https://labgate.dev/docs/config
10
+
11
+ // Container runtime: "auto" (detect best available),
12
+ // "apptainer", "singularity", "podman", or "docker"
13
+ "runtime": "${config_js_1.DEFAULT_CONFIG.runtime}",
14
+
15
+ // Container image used for sandboxes
16
+ "image": "${config_js_1.DEFAULT_CONFIG.image}",
17
+
18
+ // Max session duration (hours). Container is killed after this.
19
+ "session_timeout_hours": ${config_js_1.DEFAULT_CONFIG.session_timeout_hours},
20
+
21
+ "filesystem": {
22
+ // Additional paths to mount (besides the working directory).
23
+ // Each entry: { "path": "/some/path", "mode": "rw" or "ro" }
24
+ "extra_paths": [],
25
+
26
+ // Glob patterns that are NEVER visible inside the sandbox.
27
+ // These are blocked by mounting empty overlays.
28
+ "blocked_patterns": ${JSON.stringify(config_js_1.DEFAULT_CONFIG.filesystem.blocked_patterns, null, 6).replace(/\n/g, '\n ')}
29
+ },
30
+
31
+ "commands": {
32
+ // Commands that cannot be executed inside the sandbox.
33
+ "blacklist": ${JSON.stringify(config_js_1.DEFAULT_CONFIG.commands.blacklist, null, 6).replace(/\n/g, '\n ')}
34
+ },
35
+
36
+ "network": {
37
+ // "none" — no network access (default, safest)
38
+ // "filtered" — only allowed_domains reachable (needs proxy setup)
39
+ // "host" — full host network (not recommended)
40
+ "mode": "${config_js_1.DEFAULT_CONFIG.network.mode}",
41
+
42
+ // When mode is "filtered", only these domains are reachable.
43
+ "allowed_domains": ${JSON.stringify(config_js_1.DEFAULT_CONFIG.network.allowed_domains, null, 6).replace(/\n/g, '\n ')}
44
+ },
45
+
46
+ "slurm": {
47
+ // SLURM proxy (not yet implemented — coming in a future release)
48
+ "enabled": false
49
+ },
50
+
51
+ "audit": {
52
+ // Log commands, file access, and session events.
53
+ "enabled": true,
54
+ "log_dir": "~/.labgate/logs"
55
+ }
56
+ }
57
+ `;
58
+ async function initConfig(opts) {
59
+ const configPath = (0, config_js_1.getConfigPath)();
60
+ // Create directories
61
+ (0, fs_1.mkdirSync)(config_js_1.LABGATE_DIR, { recursive: true });
62
+ (0, fs_1.mkdirSync)((0, config_js_1.getSandboxHome)(), { recursive: true });
63
+ (0, fs_1.mkdirSync)((0, config_js_1.getImagesDir)(), { recursive: true });
64
+ (0, fs_1.mkdirSync)((0, config_js_1.getEmptyDir)(), { recursive: true });
65
+ (0, fs_1.mkdirSync)((0, path_1.join)(config_js_1.LABGATE_DIR, 'logs'), { recursive: true });
66
+ if ((0, fs_1.existsSync)(configPath) && !opts.force) {
67
+ console.log(`Config already exists: ${configPath}`);
68
+ console.log('Use --force to overwrite.');
69
+ return;
70
+ }
71
+ (0, fs_1.writeFileSync)(configPath, CONFIG_WITH_COMMENTS, 'utf-8');
72
+ console.log(`[labgate] Created ${configPath}`);
73
+ console.log(`[labgate] Sandbox home: ${(0, config_js_1.getSandboxHome)()}`);
74
+ console.log(`[labgate] SIF cache: ${(0, config_js_1.getImagesDir)()}`);
75
+ console.log(`[labgate] Audit logs: ${(0, path_1.join)(config_js_1.LABGATE_DIR, 'logs')}`);
76
+ console.log('');
77
+ console.log('Edit the config to customize policies, or run:');
78
+ console.log(' labgate claude [workdir]');
79
+ console.log(' labgate codex [workdir]');
80
+ }
81
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/lib/init.ts"],"names":[],"mappings":";;AAwDA,gCAyBC;AAjFD,2BAA0D;AAC1D,+BAA4B;AAC5B,2CAAoH;AAEpH,MAAM,oBAAoB,GAAG;;;;;;gBAMb,0BAAc,CAAC,OAAO;;;cAGxB,0BAAc,CAAC,KAAK;;;6BAGL,0BAAc,CAAC,qBAAqB;;;;;;;;;0BASvC,IAAI,CAAC,SAAS,CAAC,0BAAc,CAAC,UAAU,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC;;;;;mBAKnG,IAAI,CAAC,SAAS,CAAC,0BAAc,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC;;;;;;;eAOvF,0BAAc,CAAC,OAAO,CAAC,IAAI;;;yBAGjB,IAAI,CAAC,SAAS,CAAC,0BAAc,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC;;;;;;;;;;;;;;CAchH,CAAC;AAEK,KAAK,UAAU,UAAU,CAAC,IAAyB;IACxD,MAAM,UAAU,GAAG,IAAA,yBAAa,GAAE,CAAC;IAEnC,qBAAqB;IACrB,IAAA,cAAS,EAAC,uBAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,IAAA,cAAS,EAAC,IAAA,0BAAc,GAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,IAAA,cAAS,EAAC,IAAA,wBAAY,GAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,IAAA,cAAS,EAAC,IAAA,uBAAW,GAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,IAAA,cAAS,EAAC,IAAA,WAAI,EAAC,uBAAW,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE1D,IAAI,IAAA,eAAU,EAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,0BAA0B,UAAU,EAAE,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QACzC,OAAO;IACT,CAAC;IAED,IAAA,kBAAa,EAAC,UAAU,EAAE,oBAAoB,EAAE,OAAO,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,qBAAqB,UAAU,EAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAA,0BAAc,GAAE,EAAE,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAA,wBAAY,GAAE,EAAE,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAA,WAAI,EAAC,uBAAW,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IAClE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;AAC3C,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { RuntimePreference } from './config.js';
2
+ export type RuntimeType = 'apptainer' | 'singularity' | 'podman' | 'docker';
3
+ export interface RuntimeCheck {
4
+ ok: boolean;
5
+ runtime?: RuntimeType;
6
+ version?: string;
7
+ error?: string;
8
+ }
9
+ /** Apptainer or Singularity — SIF-based runtimes */
10
+ export declare function isApptainerFamily(rt: RuntimeType): boolean;
11
+ /** Podman or Docker — OCI container runtimes */
12
+ export declare function isOciFamily(rt: RuntimeType): boolean;
13
+ export declare function checkRuntime(preferred?: RuntimePreference): RuntimeCheck;
14
+ /**
15
+ * Returns the detected runtime command.
16
+ * Throws if none found.
17
+ */
18
+ export declare function getRuntime(preferred?: RuntimePreference): RuntimeType;
19
+ /**
20
+ * Offer to install a container runtime interactively.
21
+ * Returns true if a runtime was installed successfully.
22
+ */
23
+ export declare function ensureRuntime(preferred?: RuntimePreference): Promise<RuntimeCheck>;
@@ -0,0 +1,189 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isApptainerFamily = isApptainerFamily;
4
+ exports.isOciFamily = isOciFamily;
5
+ exports.checkRuntime = checkRuntime;
6
+ exports.getRuntime = getRuntime;
7
+ exports.ensureRuntime = ensureRuntime;
8
+ const child_process_1 = require("child_process");
9
+ const readline_1 = require("readline");
10
+ const os_1 = require("os");
11
+ /** Apptainer or Singularity — SIF-based runtimes */
12
+ function isApptainerFamily(rt) {
13
+ return rt === 'apptainer' || rt === 'singularity';
14
+ }
15
+ /** Podman or Docker — OCI container runtimes */
16
+ function isOciFamily(rt) {
17
+ return rt === 'podman' || rt === 'docker';
18
+ }
19
+ /**
20
+ * Detection order when preference is 'auto':
21
+ * apptainer → singularity → podman → docker
22
+ */
23
+ const AUTO_ORDER = ['apptainer', 'singularity', 'podman', 'docker'];
24
+ function tryRuntime(cmd) {
25
+ try {
26
+ const version = (0, child_process_1.execFileSync)(cmd, ['--version'], {
27
+ encoding: 'utf-8',
28
+ timeout: 5000,
29
+ }).trim();
30
+ return { ok: true, runtime: cmd, version };
31
+ }
32
+ catch {
33
+ return null;
34
+ }
35
+ }
36
+ function checkRuntime(preferred) {
37
+ if (preferred && preferred !== 'auto') {
38
+ const result = tryRuntime(preferred);
39
+ if (result)
40
+ return result;
41
+ }
42
+ for (const cmd of AUTO_ORDER) {
43
+ const result = tryRuntime(cmd);
44
+ if (result)
45
+ return result;
46
+ }
47
+ return {
48
+ ok: false,
49
+ error: [
50
+ 'Error: no container runtime found in PATH.',
51
+ '',
52
+ 'LabGate needs a container runtime. Install one of:',
53
+ ' apptainer — https://apptainer.org/docs/admin/main/installation.html',
54
+ ' podman — https://podman.io/getting-started/installation',
55
+ ' docker — https://docs.docker.com/engine/install/',
56
+ '',
57
+ 'On HPC clusters, apptainer is usually pre-installed (module load apptainer).',
58
+ 'On RHEL/CentOS/Fedora: sudo dnf install podman',
59
+ 'On Ubuntu/Debian: sudo apt install podman',
60
+ ].join('\n'),
61
+ };
62
+ }
63
+ /**
64
+ * Returns the detected runtime command.
65
+ * Throws if none found.
66
+ */
67
+ function getRuntime(preferred) {
68
+ const check = checkRuntime(preferred);
69
+ if (!check.ok)
70
+ throw new Error(check.error);
71
+ return check.runtime;
72
+ }
73
+ // ── Auto-install ──────────────────────────────────────────
74
+ function hasCommand(cmd) {
75
+ try {
76
+ (0, child_process_1.execFileSync)('which', [cmd], { stdio: 'ignore' });
77
+ return true;
78
+ }
79
+ catch {
80
+ return false;
81
+ }
82
+ }
83
+ function prompt(question) {
84
+ const rl = (0, readline_1.createInterface)({ input: process.stdin, output: process.stdout });
85
+ return new Promise((resolve) => {
86
+ rl.question(question, (answer) => {
87
+ rl.close();
88
+ resolve(answer.trim().toLowerCase());
89
+ });
90
+ });
91
+ }
92
+ function getInstallOptions() {
93
+ const os = (0, os_1.platform)();
94
+ const options = [];
95
+ if (os === 'darwin') {
96
+ if (hasCommand('brew')) {
97
+ options.push({
98
+ name: 'podman',
99
+ description: 'Podman via Homebrew (recommended for macOS)',
100
+ commands: [
101
+ 'brew install podman',
102
+ 'podman machine init',
103
+ 'podman machine start',
104
+ ],
105
+ });
106
+ options.push({
107
+ name: 'docker',
108
+ description: 'Docker via Homebrew',
109
+ commands: ['brew install --cask docker'],
110
+ });
111
+ }
112
+ }
113
+ else if (os === 'linux') {
114
+ if (hasCommand('apt-get')) {
115
+ options.push({
116
+ name: 'podman',
117
+ description: 'Podman via apt',
118
+ commands: ['sudo apt-get update', 'sudo apt-get install -y podman'],
119
+ });
120
+ }
121
+ else if (hasCommand('dnf')) {
122
+ options.push({
123
+ name: 'podman',
124
+ description: 'Podman via dnf',
125
+ commands: ['sudo dnf install -y podman'],
126
+ });
127
+ }
128
+ // Apptainer on Linux via apt/dnf repos
129
+ if (hasCommand('apt-get')) {
130
+ options.push({
131
+ name: 'apptainer',
132
+ description: 'Apptainer via apt (for HPC)',
133
+ commands: [
134
+ 'sudo apt-get update',
135
+ 'sudo apt-get install -y software-properties-common',
136
+ 'sudo add-apt-repository -y ppa:apptainer/ppa',
137
+ 'sudo apt-get update',
138
+ 'sudo apt-get install -y apptainer',
139
+ ],
140
+ });
141
+ }
142
+ }
143
+ return options;
144
+ }
145
+ /**
146
+ * Offer to install a container runtime interactively.
147
+ * Returns true if a runtime was installed successfully.
148
+ */
149
+ async function ensureRuntime(preferred) {
150
+ // First check if one is already available
151
+ const existing = checkRuntime(preferred);
152
+ if (existing.ok)
153
+ return existing;
154
+ const options = getInstallOptions();
155
+ if (options.length === 0) {
156
+ // Can't auto-install — show manual instructions
157
+ console.error(existing.error);
158
+ return existing;
159
+ }
160
+ console.log('[labgate] No container runtime found.\n');
161
+ console.log('Available install options:');
162
+ options.forEach((opt, i) => {
163
+ console.log(` ${i + 1}) ${opt.description}`);
164
+ });
165
+ console.log(` 0) Skip (exit)`);
166
+ console.log('');
167
+ const answer = await prompt('Install which? [1] ');
168
+ const choice = answer === '' ? 1 : parseInt(answer, 10);
169
+ if (isNaN(choice) || choice === 0 || choice > options.length) {
170
+ console.error('\nNo runtime installed. Exiting.');
171
+ return existing;
172
+ }
173
+ const selected = options[choice - 1];
174
+ console.log(`\n[labgate] Installing ${selected.name}...\n`);
175
+ for (const cmd of selected.commands) {
176
+ console.log(`$ ${cmd}`);
177
+ try {
178
+ (0, child_process_1.execSync)(cmd, { stdio: 'inherit' });
179
+ }
180
+ catch (err) {
181
+ console.error(`\nInstall failed: ${err.message}`);
182
+ return { ok: false, error: `Install of ${selected.name} failed.` };
183
+ }
184
+ }
185
+ console.log(`\n[labgate] ${selected.name} installed.\n`);
186
+ // Re-check
187
+ return checkRuntime(preferred);
188
+ }
189
+ //# sourceMappingURL=runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/lib/runtime.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,33 @@
1
+ {
2
+ "name": "labgate",
3
+ "version": "0.1.0",
4
+ "description": "Policy-controlled sandboxes for LLM coding agents on HPC",
5
+ "bin": "bin/labgate.js",
6
+ "scripts": {
7
+ "build": "tsc",
8
+ "dev": "tsc --watch",
9
+ "start": "node bin/labgate.js",
10
+ "test": "vitest run",
11
+ "test:watch": "vitest",
12
+ "site": "node docs/serve.js"
13
+ },
14
+ "files": [
15
+ "bin/",
16
+ "dist/",
17
+ "sandbox/"
18
+ ],
19
+ "dependencies": {
20
+ "commander": "^12.1.0",
21
+ "fast-glob": "^3.3.3",
22
+ "node-pty": "^1.1.0"
23
+ },
24
+ "devDependencies": {
25
+ "@types/node": "^22.0.0",
26
+ "typescript": "^5.6.0",
27
+ "vitest": "^4.0.18"
28
+ },
29
+ "engines": {
30
+ "node": ">=18"
31
+ },
32
+ "license": "UNLICENSED"
33
+ }