@skillcap/gdh 0.11.0 → 0.12.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.
Files changed (38) hide show
  1. package/INSTALL-BUNDLE.json +1 -1
  2. package/README.md +6 -4
  3. package/RELEASE-SPAN-UPDATE-CONTRACTS.json +57 -0
  4. package/node_modules/@gdh/adapters/package.json +8 -8
  5. package/node_modules/@gdh/authoring/package.json +2 -2
  6. package/node_modules/@gdh/cli/dist/migrate.d.ts.map +1 -1
  7. package/node_modules/@gdh/cli/dist/migrate.js +82 -2
  8. package/node_modules/@gdh/cli/dist/migrate.js.map +1 -1
  9. package/node_modules/@gdh/cli/package.json +10 -10
  10. package/node_modules/@gdh/core/dist/index.d.ts +28 -1
  11. package/node_modules/@gdh/core/dist/index.d.ts.map +1 -1
  12. package/node_modules/@gdh/core/dist/index.js +7 -1
  13. package/node_modules/@gdh/core/dist/index.js.map +1 -1
  14. package/node_modules/@gdh/core/package.json +1 -1
  15. package/node_modules/@gdh/docs/package.json +2 -2
  16. package/node_modules/@gdh/mcp/package.json +8 -8
  17. package/node_modules/@gdh/observability/package.json +2 -2
  18. package/node_modules/@gdh/runtime/dist/bridge-surface.d.ts.map +1 -1
  19. package/node_modules/@gdh/runtime/dist/bridge-surface.js +152 -33
  20. package/node_modules/@gdh/runtime/dist/bridge-surface.js.map +1 -1
  21. package/node_modules/@gdh/runtime/dist/docker-provider.d.ts +43 -0
  22. package/node_modules/@gdh/runtime/dist/docker-provider.d.ts.map +1 -0
  23. package/node_modules/@gdh/runtime/dist/docker-provider.js +233 -0
  24. package/node_modules/@gdh/runtime/dist/docker-provider.js.map +1 -0
  25. package/node_modules/@gdh/runtime/dist/index.d.ts +1 -0
  26. package/node_modules/@gdh/runtime/dist/index.d.ts.map +1 -1
  27. package/node_modules/@gdh/runtime/dist/index.js +745 -136
  28. package/node_modules/@gdh/runtime/dist/index.js.map +1 -1
  29. package/node_modules/@gdh/runtime/package.json +2 -2
  30. package/node_modules/@gdh/scan/dist/onboard.d.ts.map +1 -1
  31. package/node_modules/@gdh/scan/dist/onboard.js +6 -2
  32. package/node_modules/@gdh/scan/dist/onboard.js.map +1 -1
  33. package/node_modules/@gdh/scan/package.json +3 -3
  34. package/node_modules/@gdh/verify/dist/scenarios.d.ts.map +1 -1
  35. package/node_modules/@gdh/verify/dist/scenarios.js +1 -0
  36. package/node_modules/@gdh/verify/dist/scenarios.js.map +1 -1
  37. package/node_modules/@gdh/verify/package.json +7 -7
  38. package/package.json +11 -11
@@ -0,0 +1,233 @@
1
+ import { execFile } from "node:child_process";
2
+ import fs from "node:fs/promises";
3
+ import os from "node:os";
4
+ import path from "node:path";
5
+ import { promisify } from "node:util";
6
+ import {} from "@gdh/core";
7
+ const execFileAsync = promisify(execFile);
8
+ export const GDH_DOCKER_RUNTIME_IMAGE_ENV = "GDH_DOCKER_RUNTIME_IMAGE";
9
+ export const GDH_DOCKER_RUNTIME_PLATFORM_ENV = "GDH_DOCKER_RUNTIME_PLATFORM";
10
+ export const DEFAULT_DOCKER_RUNTIME_IMAGE_TAG = "gdh-runtime-rendered:4.4.1-r1";
11
+ export const DEFAULT_DOCKER_RUNTIME_PLATFORM = "linux/amd64";
12
+ export async function inspectDockerRuntimeProvider(environment) {
13
+ const plan = resolveDockerRuntimeImagePlan(environment);
14
+ try {
15
+ await execFileAsync("docker", ["info"], {
16
+ env: process.env,
17
+ maxBuffer: 5 * 1024 * 1024,
18
+ });
19
+ }
20
+ catch (error) {
21
+ return {
22
+ state: "blocked",
23
+ reasons: ["docker_unavailable"],
24
+ summary: `Docker-backed rendered runtime provider is unavailable: ${formatDockerError(error)}.`,
25
+ image: {
26
+ imageTag: plan.imageTag,
27
+ platform: plan.platform,
28
+ source: plan.source,
29
+ present: false,
30
+ },
31
+ };
32
+ }
33
+ const present = await dockerImageExists(plan.imageTag);
34
+ if (plan.source === "override" && !present) {
35
+ return {
36
+ state: "blocked",
37
+ reasons: ["docker_runtime_image_missing"],
38
+ summary: `Docker-backed rendered runtime provider is blocked because the custom image ` +
39
+ `${JSON.stringify(plan.imageTag)} is not present locally.`,
40
+ image: {
41
+ imageTag: plan.imageTag,
42
+ platform: plan.platform,
43
+ source: plan.source,
44
+ present,
45
+ },
46
+ };
47
+ }
48
+ return {
49
+ state: "ready",
50
+ reasons: [],
51
+ summary: present
52
+ ? `Docker-backed rendered runtime provider is ready with image ${JSON.stringify(plan.imageTag)}.`
53
+ : `Docker-backed rendered runtime provider is ready; GDH will build ${JSON.stringify(plan.imageTag)} on first use.`,
54
+ image: {
55
+ imageTag: plan.imageTag,
56
+ platform: plan.platform,
57
+ source: plan.source,
58
+ present,
59
+ },
60
+ };
61
+ }
62
+ export async function ensureDockerRuntimeImage(environment) {
63
+ return ensureDockerRuntimeImagePlan(resolveDockerRuntimeImagePlan(environment));
64
+ }
65
+ export async function ensureDockerRuntimeImagePlan(plan) {
66
+ if (await dockerImageExists(plan.imageTag)) {
67
+ return {
68
+ state: "ready",
69
+ imageTag: plan.imageTag,
70
+ platform: plan.platform,
71
+ };
72
+ }
73
+ if (plan.source === "override") {
74
+ throw new Error(`Custom Docker runtime image ${JSON.stringify(plan.imageTag)} is not present locally.`);
75
+ }
76
+ await buildDefaultDockerRuntimeImage(plan);
77
+ return {
78
+ state: "built",
79
+ imageTag: plan.imageTag,
80
+ platform: plan.platform,
81
+ };
82
+ }
83
+ export function buildDockerRuntimeLaunchPreview(input) {
84
+ const plan = resolveDockerRuntimeImagePlan(input.environment);
85
+ const containerName = `gdh-runtime-${Date.now()}-${Math.random().toString(16).slice(2, 10)}`;
86
+ const dockerArgs = [
87
+ "run",
88
+ "--rm",
89
+ "--init",
90
+ "--interactive",
91
+ "--name",
92
+ containerName,
93
+ "--platform",
94
+ plan.platform,
95
+ "--mount",
96
+ `type=bind,src=${input.evaluationRootPath},dst=/workspace`,
97
+ "--workdir",
98
+ input.containerWorkingDirectory,
99
+ ...renderDockerEnvironmentArgs(input.environment),
100
+ ];
101
+ const bridgePort = input.environment.get("GDH_BRIDGE_PORT") ?? null;
102
+ if ((input.environment.get("GDH_BRIDGE_ENABLED") ?? "") === "1" && bridgePort !== null) {
103
+ dockerArgs.push("--publish", `127.0.0.1:${bridgePort}:${bridgePort}`, "--env", "GDH_BRIDGE_BIND_HOST=0.0.0.0");
104
+ }
105
+ dockerArgs.push(plan.imageTag, "xvfb-run", "-a", ...input.command);
106
+ return {
107
+ command: ["docker", ...dockerArgs],
108
+ cwd: input.evaluationRootPath,
109
+ env: [],
110
+ workspaceMode: input.workspaceMode,
111
+ prepareHints: [
112
+ {
113
+ kind: "docker_runtime_image",
114
+ imageTag: plan.imageTag,
115
+ platform: plan.platform,
116
+ source: plan.source,
117
+ },
118
+ ],
119
+ cleanupHints: [
120
+ {
121
+ kind: "docker_container",
122
+ containerName,
123
+ },
124
+ ],
125
+ };
126
+ }
127
+ export function toDockerContainerPath(evaluationRootPath, absolutePath) {
128
+ const relativePath = path.relative(evaluationRootPath, absolutePath);
129
+ if (relativePath === "") {
130
+ return "/workspace";
131
+ }
132
+ return `/workspace/${relativePath.split(path.sep).join("/")}`;
133
+ }
134
+ export function resolveDockerRuntimeImagePlan(environment) {
135
+ const overrideImage = environment.get(GDH_DOCKER_RUNTIME_IMAGE_ENV) ?? null;
136
+ const overridePlatform = environment.get(GDH_DOCKER_RUNTIME_PLATFORM_ENV) ?? null;
137
+ return {
138
+ imageTag: overrideImage ?? DEFAULT_DOCKER_RUNTIME_IMAGE_TAG,
139
+ platform: overridePlatform ?? DEFAULT_DOCKER_RUNTIME_PLATFORM,
140
+ source: overrideImage === null ? "default" : "override",
141
+ };
142
+ }
143
+ async function dockerImageExists(imageTag) {
144
+ try {
145
+ await execFileAsync("docker", ["image", "inspect", imageTag], {
146
+ env: process.env,
147
+ maxBuffer: 5 * 1024 * 1024,
148
+ });
149
+ return true;
150
+ }
151
+ catch {
152
+ return false;
153
+ }
154
+ }
155
+ async function buildDefaultDockerRuntimeImage(plan) {
156
+ const tempRoot = await fs.mkdtemp(path.join(os.tmpdir(), "gdh-docker-runtime-"));
157
+ try {
158
+ await fs.writeFile(path.join(tempRoot, "Dockerfile"), renderDefaultDockerfile(), "utf8");
159
+ await execFileAsync("docker", [
160
+ "build",
161
+ "--platform",
162
+ plan.platform,
163
+ "--tag",
164
+ plan.imageTag,
165
+ tempRoot,
166
+ ], {
167
+ env: process.env,
168
+ maxBuffer: 20 * 1024 * 1024,
169
+ });
170
+ }
171
+ finally {
172
+ await fs.rm(tempRoot, { recursive: true, force: true });
173
+ }
174
+ }
175
+ function renderDockerEnvironmentArgs(environment) {
176
+ return [...environment.entries()].flatMap(([name, value]) => [
177
+ "--env",
178
+ `${name}=${value}`,
179
+ ]);
180
+ }
181
+ function renderDefaultDockerfile() {
182
+ return [
183
+ "FROM node:20-bookworm-slim",
184
+ "",
185
+ "ARG GODOT_VERSION=4.4.1",
186
+ "ARG GODOT_ZIP_URL=https://github.com/godotengine/godot-builds/releases/download/4.4.1-stable/Godot_v4.4.1-stable_linux.x86_64.zip",
187
+ "",
188
+ "ENV DEBIAN_FRONTEND=noninteractive",
189
+ "",
190
+ "RUN apt-get update && apt-get install -y --no-install-recommends \\",
191
+ " bash \\",
192
+ " ca-certificates \\",
193
+ " curl \\",
194
+ " libasound2 \\",
195
+ " libdbus-1-3 \\",
196
+ " libfontconfig1 \\",
197
+ " libgl1 \\",
198
+ " libglu1-mesa \\",
199
+ " libpulse0 \\",
200
+ " libx11-6 \\",
201
+ " libxcursor1 \\",
202
+ " libxext6 \\",
203
+ " libxfixes3 \\",
204
+ " libxi6 \\",
205
+ " libxinerama1 \\",
206
+ " libxkbcommon0 \\",
207
+ " libxrandr2 \\",
208
+ " libxrender1 \\",
209
+ " mesa-utils \\",
210
+ " python3 \\",
211
+ " unzip \\",
212
+ " xauth \\",
213
+ " xvfb \\",
214
+ " && rm -rf /var/lib/apt/lists/*",
215
+ "",
216
+ "RUN corepack enable",
217
+ "",
218
+ "RUN curl -fsSL \"$GODOT_ZIP_URL\" -o /tmp/godot.zip \\",
219
+ " && unzip -j /tmp/godot.zip -d /usr/local/bin \\",
220
+ " && mv \"/usr/local/bin/Godot_v${GODOT_VERSION}-stable_linux.x86_64\" /usr/local/bin/godot-linux \\",
221
+ " && chmod +x /usr/local/bin/godot-linux \\",
222
+ " && rm -f /tmp/godot.zip",
223
+ "",
224
+ "WORKDIR /workspace",
225
+ "",
226
+ "CMD [\"bash\"]",
227
+ "",
228
+ ].join("\n");
229
+ }
230
+ function formatDockerError(error) {
231
+ return error instanceof Error ? error.message : String(error);
232
+ }
233
+ //# sourceMappingURL=docker-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docker-provider.js","sourceRoot":"","sources":["../src/docker-provider.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ interface RuntimeRecipeActionInput extends RuntimeRecipeInput {
13
13
  readonly disabledFeatures: readonly string[];
14
14
  readonly environment: Readonly<Record<string, string>>;
15
15
  readonly workspaceMode: GdhRuntimeWorkspaceMode;
16
+ readonly screenshotPolicy?: "never" | "fallback";
16
17
  readonly maxRuntimeSeconds?: number | null;
17
18
  readonly artifactDirectory?: string;
18
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAML,KAAK,gBAAgB,EAOrB,KAAK,YAAY,EAEjB,KAAK,+BAA+B,EAEpC,KAAK,gCAAgC,EAErC,KAAK,kCAAkC,EACvC,KAAK,iCAAiC,EAEtC,KAAK,0BAA0B,EAG/B,KAAK,2BAA2B,EAEhC,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAE/B,KAAK,uBAAuB,EAC7B,MAAM,WAAW,CAAC;AAKnB,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,EAC3B,0BAA0B,EAC1B,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC;AAE7B,eAAO,MAAM,cAAc,wCAMzB,CAAC;AAKH,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACjD;AAED,UAAU,wBAAyB,SAAQ,kBAAkB;IAC3D,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACtD,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,QAAQ,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7C,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACvD,QAAQ,CAAC,aAAa,EAAE,uBAAuB,CAAC;IAChD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACrC;AAmBD,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,0BAA0B,CAAC,CAoCrC;AAED,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,kBAAkB,GAAG;IAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACxD,OAAO,CAAC,0BAA0B,CAAC,CAqBrC;AAED,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,wBAAwB,GAC9B,OAAO,CAAC,2BAA2B,CAAC,CAOtC;AAED,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,wBAAwB,GAC9B,OAAO,CAAC,yBAAyB,CAAC,CA+JpC;AAED,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,SAAS,0BAA0B,EAAE,CAAC,CAsDhD;AAm8BD,MAAM,WAAW,uBAAuB;IACtC,YAAY,CACV,KAAK,EAAE,wBAAwB,GAC9B,OAAO,CAAC,kCAAkC,CAAC,CAAC;IAC/C,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;IACzE,WAAW,CACT,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,gCAAgC,CAAC,CAAC;IAC7C,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,iCAAiC,CAAC,CAAC;IAC3E,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,wBAAgB,0BAA0B,IAAI,uBAAuB,CA8YpE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,OAAO,EAML,KAAK,gBAAgB,EAOrB,KAAK,YAAY,EAEjB,KAAK,+BAA+B,EAEpC,KAAK,gCAAgC,EAErC,KAAK,kCAAkC,EACvC,KAAK,iCAAiC,EAEtC,KAAK,0BAA0B,EAG/B,KAAK,2BAA2B,EAEhC,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAG/B,KAAK,uBAAuB,EAC7B,MAAM,WAAW,CAAC;AAWnB,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,EAC3B,0BAA0B,EAC1B,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC;AAE7B,eAAO,MAAM,cAAc,wCAMzB,CAAC;AAcH,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACjD;AAED,UAAU,wBAAyB,SAAQ,kBAAkB;IAC3D,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACtD,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,QAAQ,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7C,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACvD,QAAQ,CAAC,aAAa,EAAE,uBAAuB,CAAC;IAChD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IACjD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACrC;AAwBD,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,0BAA0B,CAAC,CAoCrC;AAED,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,kBAAkB,GAAG;IAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACxD,OAAO,CAAC,0BAA0B,CAAC,CAqBrC;AAED,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,wBAAwB,GAC9B,OAAO,CAAC,2BAA2B,CAAC,CAOtC;AAED,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,wBAAwB,GAC9B,OAAO,CAAC,yBAAyB,CAAC,CAsMpC;AAED,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,SAAS,0BAA0B,EAAE,CAAC,CAsDhD;AAm/CD,MAAM,WAAW,uBAAuB;IACtC,YAAY,CACV,KAAK,EAAE,wBAAwB,GAC9B,OAAO,CAAC,kCAAkC,CAAC,CAAC;IAC/C,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;IACzE,WAAW,CACT,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,gCAAgC,CAAC,CAAC;IAC7C,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,iCAAiC,CAAC,CAAC;IAC3E,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,wBAAgB,0BAA0B,IAAI,uBAAuB,CA6bpE"}