@pellux/goodvibes-sdk 0.18.18 → 0.18.20
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.
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type ConfigManagerLike } from './manager.js';
|
|
2
2
|
export interface SandboxDoctorCheck {
|
|
3
3
|
readonly label: string;
|
|
4
4
|
readonly ok: boolean;
|
|
@@ -56,21 +56,24 @@ export interface SandboxQemuSetupManifest {
|
|
|
56
56
|
export interface SandboxProvisioningOptions {
|
|
57
57
|
readonly surfaceRoot: string;
|
|
58
58
|
}
|
|
59
|
-
export
|
|
60
|
-
|
|
61
|
-
|
|
59
|
+
export interface WritableConfigManagerLike extends ConfigManagerLike {
|
|
60
|
+
setDynamic(key: string, value: unknown): void;
|
|
61
|
+
}
|
|
62
|
+
export declare function buildSandboxDoctorChecks(manager: ConfigManagerLike): SandboxDoctorCheck[];
|
|
63
|
+
export declare function renderSandboxDoctor(manager: ConfigManagerLike): string;
|
|
64
|
+
export declare function exportSandboxGuestBundle(manager: ConfigManagerLike, workspaceRoot: string, pathArg: string, _options: SandboxProvisioningOptions): {
|
|
62
65
|
path: string;
|
|
63
66
|
bundle: SandboxGuestBundle;
|
|
64
67
|
};
|
|
65
68
|
export declare function inspectSandboxGuestBundle(bundle: SandboxGuestBundle): string;
|
|
66
|
-
export declare function scaffoldSandboxQemuInitBundle(manager:
|
|
67
|
-
export declare function scaffoldSandboxQemuSetupBundle(manager:
|
|
69
|
+
export declare function scaffoldSandboxQemuInitBundle(manager: ConfigManagerLike, workspaceRoot: string, pathArg: string, options: SandboxProvisioningOptions): SandboxQemuInitBundle;
|
|
70
|
+
export declare function scaffoldSandboxQemuSetupBundle(manager: ConfigManagerLike, workspaceRoot: string, pathArg: string, options: SandboxProvisioningOptions): SandboxQemuSetupBundle;
|
|
68
71
|
export declare function createSandboxQemuImage(workspaceRoot: string, imagePathArg: string, sizeGb: number, qemuImgBinary?: string): {
|
|
69
72
|
path: string;
|
|
70
73
|
sizeGb: number;
|
|
71
74
|
};
|
|
72
|
-
export declare function bootstrapSandboxQemuSetupBundle(manager:
|
|
75
|
+
export declare function bootstrapSandboxQemuSetupBundle(manager: WritableConfigManagerLike, workspaceRoot: string, pathArg: string, sizeGb: number, options: SandboxProvisioningOptions): SandboxQemuSetupBundle;
|
|
73
76
|
export declare function inspectSandboxQemuSetupManifest(manifest: SandboxQemuSetupManifest): string;
|
|
74
77
|
export declare function loadSandboxQemuSetupManifest(workspaceRoot: string, pathArg: string): SandboxQemuSetupManifest;
|
|
75
|
-
export declare function applySandboxQemuSetupManifest(manager:
|
|
78
|
+
export declare function applySandboxQemuSetupManifest(manager: WritableConfigManagerLike, manifest: SandboxQemuSetupManifest): void;
|
|
76
79
|
//# sourceMappingURL=provisioning.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provisioning.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/runtime/sandbox/provisioning.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"provisioning.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/runtime/sandbox/provisioning.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/tools/repl/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/tools/repl/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AAGnF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAmBjD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAsMD,wBAAgB,cAAc,CAC5B,aAAa,EAAE,iBAAiB,EAChC,sBAAsB,EAAE,sBAAsB,EAC9C,OAAO,EAAE,eAAe,GACvB,IAAI,CA6EN"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { mkdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
2
2
|
import { dirname, join } from 'node:path';
|
|
3
|
-
import { mkdtempSync, rmSync } from 'node:fs';
|
|
4
3
|
import ts from 'typescript';
|
|
5
4
|
import { executeSandboxCommand } from '../../runtime/sandbox/backend.js';
|
|
6
5
|
import {} from '../../runtime/sandbox/manager.js';
|
|
@@ -81,33 +80,16 @@ async function evalTypeScript(expression, bindings, configManager, sandboxSessio
|
|
|
81
80
|
}).outputText;
|
|
82
81
|
return evalJavaScriptInSandbox(transpiled, bindings, launchPlan, configManager, sandboxSessionRegistry, sessionId);
|
|
83
82
|
}
|
|
84
|
-
function evalPython(expression, workspaceRoot,
|
|
85
|
-
const replTempBase = join(workspaceRoot, '.goodvibes', surfaceRoot, 'repl-temp');
|
|
86
|
-
mkdirSync(replTempBase, { recursive: true });
|
|
87
|
-
const tempRoot = mkdtempSync(join(replTempBase, 'gv-repl-py-'));
|
|
88
|
-
const venvPath = join(tempRoot, 'venv');
|
|
89
|
-
const pythonLaunchPlan = launchPlan.backend === 'local' ? {
|
|
90
|
-
...createLocalExecPlan(tempRoot),
|
|
91
|
-
workspaceRoot: tempRoot,
|
|
92
|
-
} : launchPlan;
|
|
93
|
-
const create = sessionId
|
|
94
|
-
? sandboxSessionRegistry.execute(sessionId, 'python3', ['-m', 'venv', venvPath], configManager, { cwd: tempRoot })
|
|
95
|
-
: executeSandboxCommand(pythonLaunchPlan, 'python3', ['-m', 'venv', venvPath], { cwd: tempRoot });
|
|
96
|
-
if (create.status !== 0) {
|
|
97
|
-
rmSync(tempRoot, { recursive: true, force: true });
|
|
98
|
-
throw new Error(create.stderr || create.stdout || 'Failed to create ephemeral Python venv.');
|
|
99
|
-
}
|
|
100
|
-
const pythonBin = join(venvPath, 'bin', 'python');
|
|
83
|
+
function evalPython(expression, workspaceRoot, configManager, sandboxSessionRegistry, launchPlan, sessionId) {
|
|
101
84
|
const run = sessionId
|
|
102
|
-
? sandboxSessionRegistry.execute(sessionId,
|
|
103
|
-
cwd:
|
|
85
|
+
? sandboxSessionRegistry.execute(sessionId, 'python3', ['-I', '-S', '-c', `import json\nresult = (${expression})\nprint(json.dumps(result))`], configManager, {
|
|
86
|
+
cwd: workspaceRoot,
|
|
104
87
|
timeoutMs: 5000,
|
|
105
88
|
})
|
|
106
|
-
: executeSandboxCommand(
|
|
107
|
-
cwd:
|
|
89
|
+
: executeSandboxCommand(launchPlan, 'python3', ['-I', '-S', '-c', `import json\nresult = (${expression})\nprint(json.dumps(result))`], {
|
|
90
|
+
cwd: workspaceRoot,
|
|
108
91
|
timeoutMs: 5000,
|
|
109
92
|
});
|
|
110
|
-
rmSync(tempRoot, { recursive: true, force: true });
|
|
111
93
|
if (run.status !== 0) {
|
|
112
94
|
throw new Error((run.stderr || run.stdout || 'Python eval failed.').trim());
|
|
113
95
|
}
|
|
@@ -217,7 +199,7 @@ export function createReplTool(configManager, sandboxSessionRegistry, options) {
|
|
|
217
199
|
rendered = await evalTypeScript(input.expression, input.bindings ?? {}, configManager, sandboxSessionRegistry, sandboxSession.launchPlan ?? localExecPlan, sandboxSession.id);
|
|
218
200
|
break;
|
|
219
201
|
case 'python':
|
|
220
|
-
rendered = evalPython(input.expression, input.workspaceRoot,
|
|
202
|
+
rendered = evalPython(input.expression, input.workspaceRoot, configManager, sandboxSessionRegistry, sandboxSession.launchPlan ?? localExecPlan, sandboxSession.id);
|
|
221
203
|
break;
|
|
222
204
|
case 'sql':
|
|
223
205
|
rendered = await evalSql(input.expression, configManager, sandboxSessionRegistry, sandboxSession.launchPlan ?? localExecPlan, sandboxSession.id);
|
package/package.json
CHANGED