@galaxy-foundry/gxwf-pi-harness 0.3.0 → 0.4.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.
package/Dockerfile CHANGED
@@ -3,17 +3,24 @@ FROM ${NODE_IMAGE}
3
3
 
4
4
  ARG PI_VERSION=0.84.4
5
5
  ARG FOUNDRY_CLI_VERSION=0.1.0
6
+ ARG PLANEMO_VERSION=0.75.47
6
7
 
7
8
  RUN apt-get update \
8
- && apt-get install -y --no-install-recommends bash ca-certificates git ripgrep \
9
+ && apt-get install -y --no-install-recommends bash ca-certificates git python3 python3-venv ripgrep \
9
10
  && rm -rf /var/lib/apt/lists/*
11
+ RUN python3 -m venv /opt/planemo \
12
+ && /opt/planemo/bin/pip install --no-cache-dir "planemo==${PLANEMO_VERSION}" \
13
+ && ln -s /opt/planemo/bin/planemo /usr/local/bin/planemo
10
14
  RUN npm install -g --ignore-scripts \
11
15
  "@earendil-works/pi-coding-agent@${PI_VERSION}" \
12
16
  "@galaxy-foundry/gxwf-foundry@${FOUNDRY_CLI_VERSION}"
13
17
 
14
18
  LABEL org.galaxyproject.foundry.pi-version="${PI_VERSION}" \
15
19
  org.galaxyproject.foundry.cli-version="${FOUNDRY_CLI_VERSION}" \
20
+ org.galaxyproject.foundry.planemo-version="${PLANEMO_VERSION}" \
16
21
  org.galaxyproject.foundry.pi-rpc-version="1"
17
22
 
23
+ ENV PATH="/opt/planemo/bin:${PATH}"
24
+
18
25
  WORKDIR /workspace
19
26
  ENTRYPOINT ["pi"]
package/README.md CHANGED
@@ -21,7 +21,7 @@ Build the default image from the repository root:
21
21
  npm run gxwf-pi-harness:container-build
22
22
  ```
23
23
 
24
- The image pins Pi 0.84.4 and the `@galaxy-foundry/gxwf-foundry` CLI 0.1.0 required by the pilot `summarize-nextflow` skill. It carries compatibility labels for both runtimes that are checked before every run. A caller may use `--sandbox-image <ref>` for another locally available image with the same labels. The runner resolves the ref to an immutable image ID before launch and records that ID, any repository digests, every mount, the network policy, and the names—not values—of forwarded credential variables.
24
+ The image pins Pi 0.84.4, the `@galaxy-foundry/gxwf-foundry` CLI 0.1.0, Python, and Planemo 0.75.47. This supports both the `summarize-nextflow` pilot and skills such as `convert-nfcore-module-to-galaxy-tool` that lint and test Galaxy artifacts. It carries compatibility labels for Pi, the Foundry CLI, Planemo, and the RPC contract; all four are checked before every run. A caller may use `--sandbox-image <ref>` for another locally available image with the same labels. The runner resolves the ref to an immutable image ID before launch and records that ID, any repository digests, every mount, the network policy, and the names—not values—of forwarded credential variables.
25
25
 
26
26
  Container provider access is explicit. Use `--sandbox-network bridge` and repeat `--credential-env <NAME>` for only the variables the provider needs. Use `--sandbox-network none` for credential-free probes. Run the Docker boundary test with `npm run gxwf-pi-harness:container-test`.
27
27
 
@@ -1,7 +1,9 @@
1
1
  export declare const FOUNDRY_CLI_VERSION = "0.1.0";
2
+ export declare const PLANEMO_VERSION = "0.75.47";
2
3
  export declare const DEFAULT_CONTAINER_IMAGE: string;
3
4
  export declare const CONTAINER_PI_VERSION_LABEL = "org.galaxyproject.foundry.pi-version";
4
5
  export declare const CONTAINER_FOUNDRY_VERSION_LABEL = "org.galaxyproject.foundry.cli-version";
6
+ export declare const CONTAINER_PLANEMO_VERSION_LABEL = "org.galaxyproject.foundry.planemo-version";
5
7
  export declare const CONTAINER_RPC_VERSION_LABEL = "org.galaxyproject.foundry.pi-rpc-version";
6
8
  export declare const CONTAINER_RPC_VERSION = "1";
7
9
  export type ContainerNetworkPolicy = "bridge" | "none";
@@ -18,6 +20,7 @@ export interface ContainerImageResolution {
18
20
  repo_digests: string[];
19
21
  pi_version: string;
20
22
  foundry_cli_version: string;
23
+ planemo_version: string;
21
24
  }
22
25
  export interface ContainerLaunchConfig {
23
26
  docker_bin: string;
@@ -1 +1 @@
1
- {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../src/container.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,mBAAmB,UAAU,CAAC;AAC3C,eAAO,MAAM,uBAAuB,QAAmF,CAAC;AACxH,eAAO,MAAM,0BAA0B,yCAAyC,CAAC;AACjF,eAAO,MAAM,+BAA+B,0CAA0C,CAAC;AACvF,eAAO,MAAM,2BAA2B,6CAA6C,CAAC;AACtF,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAEzC,MAAM,MAAM,sBAAsB,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEvD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,cAAc,GAAG,iBAAiB,CAAC;CAC7E;AAED,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,sBAAsB,CAAC;IAChC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,cAAc,EAAE,CAAC;CAC1B;AAgBD,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,SAAS,SAAW,GACnB,wBAAwB,CAwC1B;AAoBD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CA6B5F"}
1
+ {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../src/container.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,mBAAmB,UAAU,CAAC;AAC3C,eAAO,MAAM,eAAe,YAAY,CAAC;AACzC,eAAO,MAAM,uBAAuB,QAA8G,CAAC;AACnJ,eAAO,MAAM,0BAA0B,yCAAyC,CAAC;AACjF,eAAO,MAAM,+BAA+B,0CAA0C,CAAC;AACvF,eAAO,MAAM,+BAA+B,8CAA8C,CAAC;AAC3F,eAAO,MAAM,2BAA2B,6CAA6C,CAAC;AACtF,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAEzC,MAAM,MAAM,sBAAsB,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEvD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,cAAc,GAAG,iBAAiB,CAAC;CAC7E;AAED,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,sBAAsB,CAAC;IAChC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,cAAc,EAAE,CAAC;CAC1B;AAgBD,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,SAAS,SAAW,GACnB,wBAAwB,CA4C1B;AAoBD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CA6B5F"}
package/dist/container.js CHANGED
@@ -1,9 +1,11 @@
1
1
  import { spawnSync } from "node:child_process";
2
2
  import { VERSION as PI_VERSION } from "@earendil-works/pi-coding-agent";
3
3
  export const FOUNDRY_CLI_VERSION = "0.1.0";
4
- export const DEFAULT_CONTAINER_IMAGE = `galaxy-foundry/gxwf-pi-harness:pi-${PI_VERSION}-foundry-${FOUNDRY_CLI_VERSION}`;
4
+ export const PLANEMO_VERSION = "0.75.47";
5
+ export const DEFAULT_CONTAINER_IMAGE = `galaxy-foundry/gxwf-pi-harness:pi-${PI_VERSION}-foundry-${FOUNDRY_CLI_VERSION}-planemo-${PLANEMO_VERSION}`;
5
6
  export const CONTAINER_PI_VERSION_LABEL = "org.galaxyproject.foundry.pi-version";
6
7
  export const CONTAINER_FOUNDRY_VERSION_LABEL = "org.galaxyproject.foundry.cli-version";
8
+ export const CONTAINER_PLANEMO_VERSION_LABEL = "org.galaxyproject.foundry.planemo-version";
7
9
  export const CONTAINER_RPC_VERSION_LABEL = "org.galaxyproject.foundry.pi-rpc-version";
8
10
  export const CONTAINER_RPC_VERSION = "1";
9
11
  function dockerFailure(command, stderr) {
@@ -34,12 +36,15 @@ export function inspectContainerImage(image, dockerBin = "docker") {
34
36
  const labels = record.Config?.Labels ?? {};
35
37
  const imagePiVersion = labels?.[CONTAINER_PI_VERSION_LABEL];
36
38
  const foundryCliVersion = labels?.[CONTAINER_FOUNDRY_VERSION_LABEL];
39
+ const planemoVersion = labels?.[CONTAINER_PLANEMO_VERSION_LABEL];
37
40
  const rpcVersion = labels?.[CONTAINER_RPC_VERSION_LABEL];
38
41
  if (imagePiVersion !== PI_VERSION ||
39
42
  foundryCliVersion !== FOUNDRY_CLI_VERSION ||
43
+ planemoVersion !== PLANEMO_VERSION ||
40
44
  rpcVersion !== CONTAINER_RPC_VERSION) {
41
45
  throw new Error(`Docker image ${image} is not a compatible Foundry Pi worker ` +
42
- `(expected Pi ${PI_VERSION}, Foundry CLI ${FOUNDRY_CLI_VERSION}, and RPC contract ${CONTAINER_RPC_VERSION})`);
46
+ `(expected Pi ${PI_VERSION}, Foundry CLI ${FOUNDRY_CLI_VERSION}, Planemo ${PLANEMO_VERSION}, ` +
47
+ `and RPC contract ${CONTAINER_RPC_VERSION})`);
43
48
  }
44
49
  return {
45
50
  requested: image,
@@ -49,6 +54,7 @@ export function inspectContainerImage(image, dockerBin = "docker") {
49
54
  : [],
50
55
  pi_version: imagePiVersion,
51
56
  foundry_cli_version: foundryCliVersion,
57
+ planemo_version: planemoVersion,
52
58
  };
53
59
  }
54
60
  function bindMountArgument(mount) {
@@ -1 +1 @@
1
- {"version":3,"file":"container.js","sourceRoot":"","sources":["../src/container.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"container.js","sourceRoot":"","sources":["../src/container.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export { expectedArtifactsFromSkill, runPiSkill, sha256Path, type ArtifactResult, type ExpectedArtifact, type PiRunnerDependencies, type PiSkillRunRecord, type PiThinkingLevel, type RunPiSkillOptions, type RunStatus, type SandboxMode, type StagedInput, } from "./runner.js";
2
- export { buildDockerRunArgs, CONTAINER_FOUNDRY_VERSION_LABEL, CONTAINER_PI_VERSION_LABEL, CONTAINER_RPC_VERSION, CONTAINER_RPC_VERSION_LABEL, DEFAULT_CONTAINER_IMAGE, FOUNDRY_CLI_VERSION, inspectContainerImage, type ContainerImageResolution, type ContainerLaunchConfig, type ContainerMount, type ContainerNetworkPolicy, } from "./container.js";
2
+ export { buildDockerRunArgs, CONTAINER_FOUNDRY_VERSION_LABEL, CONTAINER_PLANEMO_VERSION_LABEL, CONTAINER_PI_VERSION_LABEL, CONTAINER_RPC_VERSION, CONTAINER_RPC_VERSION_LABEL, DEFAULT_CONTAINER_IMAGE, FOUNDRY_CLI_VERSION, PLANEMO_VERSION, inspectContainerImage, type ContainerImageResolution, type ContainerLaunchConfig, type ContainerMount, type ContainerNetworkPolicy, } from "./container.js";
3
3
  export { resolveDeclaredInput, resolveInstalledSkill } from "./skill-resolution.js";
4
4
  export { createPiTestAuthInteraction, defaultPiTestAuthDir, inspectPiTestAuth, PI_TEST_AUTH_PROVIDER, PiTestAuthManager, piTestAuthPath, type PiTestAuthInteractionOptions, type PiTestAuthLoginMethod, type PiTestAuthLoginOptions, type PiTestAuthStatus, } from "./pi-test-auth.js";
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,UAAU,EACV,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,WAAW,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,kBAAkB,EAClB,+BAA+B,EAC/B,0BAA0B,EAC1B,qBAAqB,EACrB,2BAA2B,EAC3B,uBAAuB,EACvB,mBAAmB,EACnB,qBAAqB,EACrB,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,KAAK,sBAAsB,GAC5B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,EACL,2BAA2B,EAC3B,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,KAAK,4BAA4B,EACjC,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,GACtB,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,UAAU,EACV,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,WAAW,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,kBAAkB,EAClB,+BAA+B,EAC/B,+BAA+B,EAC/B,0BAA0B,EAC1B,qBAAqB,EACrB,2BAA2B,EAC3B,uBAAuB,EACvB,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,KAAK,sBAAsB,GAC5B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,EACL,2BAA2B,EAC3B,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,KAAK,4BAA4B,EACjC,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,GACtB,MAAM,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export { expectedArtifactsFromSkill, runPiSkill, sha256Path, } from "./runner.js";
2
- export { buildDockerRunArgs, CONTAINER_FOUNDRY_VERSION_LABEL, CONTAINER_PI_VERSION_LABEL, CONTAINER_RPC_VERSION, CONTAINER_RPC_VERSION_LABEL, DEFAULT_CONTAINER_IMAGE, FOUNDRY_CLI_VERSION, inspectContainerImage, } from "./container.js";
2
+ export { buildDockerRunArgs, CONTAINER_FOUNDRY_VERSION_LABEL, CONTAINER_PLANEMO_VERSION_LABEL, CONTAINER_PI_VERSION_LABEL, CONTAINER_RPC_VERSION, CONTAINER_RPC_VERSION_LABEL, DEFAULT_CONTAINER_IMAGE, FOUNDRY_CLI_VERSION, PLANEMO_VERSION, inspectContainerImage, } from "./container.js";
3
3
  export { resolveDeclaredInput, resolveInstalledSkill } from "./skill-resolution.js";
4
4
  export { createPiTestAuthInteraction, defaultPiTestAuthDir, inspectPiTestAuth, PI_TEST_AUTH_PROVIDER, PiTestAuthManager, piTestAuthPath, } from "./pi-test-auth.js";
5
5
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,UAAU,EACV,UAAU,GAUX,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,kBAAkB,EAClB,+BAA+B,EAC/B,0BAA0B,EAC1B,qBAAqB,EACrB,2BAA2B,EAC3B,uBAAuB,EACvB,mBAAmB,EACnB,qBAAqB,GAKtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,EACL,2BAA2B,EAC3B,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,GAKf,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,UAAU,EACV,UAAU,GAUX,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,kBAAkB,EAClB,+BAA+B,EAC/B,+BAA+B,EAC/B,0BAA0B,EAC1B,qBAAqB,EACrB,2BAA2B,EAC3B,uBAAuB,EACvB,mBAAmB,EACnB,eAAe,EACf,qBAAqB,GAKtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,EACL,2BAA2B,EAC3B,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,GAKf,MAAM,mBAAmB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@galaxy-foundry/gxwf-pi-harness",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "Pi-backed isolated worker runner and extension for testing Galaxy Workflow Foundry skills.",
5
5
  "type": "module",
6
6
  "exports": {
@@ -39,7 +39,7 @@
39
39
  "dependencies": {
40
40
  "@earendil-works/pi-ai": "0.84.4",
41
41
  "@earendil-works/pi-coding-agent": "0.84.4",
42
- "@galaxy-foundry/gxwf-foundry": "0.1.1"
42
+ "@galaxy-foundry/gxwf-foundry": "0.1.2"
43
43
  },
44
44
  "devDependencies": {
45
45
  "@types/node": "^22.10.0",