@galaxyproject/orbit 0.0.0 → 0.9.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/CHANGELOG.md +123 -0
- package/LICENSE +21 -0
- package/README.md +760 -5
- package/bin/legacy-mcp-config.js +363 -0
- package/bin/orbit.js +810 -0
- package/bin/pi-extension-path.d.ts +4 -0
- package/bin/pi-extension-path.js +44 -0
- package/bin/provider-auth.d.ts +22 -0
- package/bin/provider-auth.js +77 -0
- package/bin/thinking-pref.js +38 -0
- package/bin/update-check.d.ts +15 -0
- package/bin/update-check.js +137 -0
- package/extensions/cli-update/index.ts +32 -0
- package/extensions/orbit/activity-hooks.ts +141 -0
- package/extensions/orbit/activity.ts +116 -0
- package/extensions/orbit/agent-dir.ts +11 -0
- package/extensions/orbit/auto-resume.ts +352 -0
- package/extensions/orbit/config.ts +3 -0
- package/extensions/orbit/confusables.ts +1 -0
- package/extensions/orbit/context.ts +957 -0
- package/extensions/orbit/dashboard-commands.ts +191 -0
- package/extensions/orbit/dashboard-store.ts +473 -0
- package/extensions/orbit/dashboard-tools.ts +1185 -0
- package/extensions/orbit/empty-completion.ts +99 -0
- package/extensions/orbit/evidence-gate.ts +1276 -0
- package/extensions/orbit/evidence-override-command.ts +294 -0
- package/extensions/orbit/exec-guard/bash-risk.ts +1408 -0
- package/extensions/orbit/exec-guard/gate.ts +181 -0
- package/extensions/orbit/exec-guard/guardian-config.ts +54 -0
- package/extensions/orbit/exec-guard/index.ts +1 -0
- package/extensions/orbit/exec-guard/model-tier.ts +36 -0
- package/extensions/orbit/exec-guard/path-jail.ts +54 -0
- package/extensions/orbit/exec-guard/policy.ts +342 -0
- package/extensions/orbit/exec-guard/runtime-state.ts +15 -0
- package/extensions/orbit/exec-guard/sensitive-read.ts +525 -0
- package/extensions/orbit/exec-guard/types.ts +42 -0
- package/extensions/orbit/execution-commands.ts +134 -0
- package/extensions/orbit/feedback-command.ts +81 -0
- package/extensions/orbit/feedback.ts +96 -0
- package/extensions/orbit/galaxy-api.test.ts +122 -0
- package/extensions/orbit/galaxy-api.ts +606 -0
- package/extensions/orbit/galaxy-artifact-link-guidance.ts +5 -0
- package/extensions/orbit/galaxy-destructive-gate.ts +113 -0
- package/extensions/orbit/galaxy-enrich.ts +1108 -0
- package/extensions/orbit/galaxy-failure.ts +101 -0
- package/extensions/orbit/galaxy-fixture.ts +126 -0
- package/extensions/orbit/galaxy-history-guard.ts +233 -0
- package/extensions/orbit/galaxy-job-block.ts +347 -0
- package/extensions/orbit/galaxy-job-ops.ts +288 -0
- package/extensions/orbit/galaxy-live-source.ts +929 -0
- package/extensions/orbit/galaxy-markdown-adapter.ts +248 -0
- package/extensions/orbit/galaxy-op-policy.ts +332 -0
- package/extensions/orbit/galaxy-ops-tools.ts +326 -0
- package/extensions/orbit/galaxy-output-store.ts +80 -0
- package/extensions/orbit/galaxy-output.ts +346 -0
- package/extensions/orbit/galaxy-page-binding.ts +222 -0
- package/extensions/orbit/galaxy-page-markdown-guidance.ts +15 -0
- package/extensions/orbit/galaxy-page-ops.ts +159 -0
- package/extensions/orbit/galaxy-page-sync.test.ts +417 -0
- package/extensions/orbit/galaxy-page-sync.ts +318 -0
- package/extensions/orbit/galaxy-pages-api.ts +203 -0
- package/extensions/orbit/galaxy-pages-sync.ts +409 -0
- package/extensions/orbit/galaxy-poll-guard.ts +189 -0
- package/extensions/orbit/galaxy-poller.ts +706 -0
- package/extensions/orbit/galaxy-provenance.ts +623 -0
- package/extensions/orbit/galaxy-reconcile.ts +956 -0
- package/extensions/orbit/galaxy-recovery.ts +176 -0
- package/extensions/orbit/galaxy-repeat-guard.ts +55 -0
- package/extensions/orbit/galaxy-submission-capture.ts +707 -0
- package/extensions/orbit/galaxy-submission.ts +502 -0
- package/extensions/orbit/galaxy-tool-source.ts +78 -0
- package/extensions/orbit/galaxy-tool-wrap.ts +234 -0
- package/extensions/orbit/galaxy-udt-block.ts +127 -0
- package/extensions/orbit/galaxy-upload-tus.ts +334 -0
- package/extensions/orbit/galaxy-upload.ts +300 -0
- package/extensions/orbit/galaxy-version-capture.ts +65 -0
- package/extensions/orbit/git.ts +173 -0
- package/extensions/orbit/harness-block-fields.ts +597 -0
- package/extensions/orbit/index.ts +593 -0
- package/extensions/orbit/init-gate.ts +284 -0
- package/extensions/orbit/instructions-command.ts +136 -0
- package/extensions/orbit/invocation-failure-hint.ts +57 -0
- package/extensions/orbit/iwc-plan-check.ts +94 -0
- package/extensions/orbit/lesson-command.ts +303 -0
- package/extensions/orbit/lesson-hint.ts +245 -0
- package/extensions/orbit/lesson-nudge.ts +106 -0
- package/extensions/orbit/lessons/compose.ts +177 -0
- package/extensions/orbit/lessons/counters.ts +120 -0
- package/extensions/orbit/lessons/enabled.ts +116 -0
- package/extensions/orbit/lessons/matcher.ts +346 -0
- package/extensions/orbit/lessons/paths.ts +286 -0
- package/extensions/orbit/lessons/pi-event-contract.ts +105 -0
- package/extensions/orbit/lessons/propose-replay.ts +103 -0
- package/extensions/orbit/lessons/propose-tool.ts +222 -0
- package/extensions/orbit/lessons/propose.ts +502 -0
- package/extensions/orbit/lessons/replay.ts +89 -0
- package/extensions/orbit/lessons/reproduction-index.ts +83 -0
- package/extensions/orbit/lessons/search-tool.ts +99 -0
- package/extensions/orbit/lessons/search.ts +136 -0
- package/extensions/orbit/lessons/store.ts +415 -0
- package/extensions/orbit/lessons/text.ts +36 -0
- package/extensions/orbit/lessons/types.ts +69 -0
- package/extensions/orbit/lessons/user-dir.ts +24 -0
- package/extensions/orbit/lessons/user-lesson.ts +88 -0
- package/extensions/orbit/lessons/wrapper.ts +61 -0
- package/extensions/orbit/lessons-command.ts +147 -0
- package/extensions/orbit/local-exec.ts +39 -0
- package/extensions/orbit/mcp-output.ts +179 -0
- package/extensions/orbit/mcp-servers.test.ts +24 -0
- package/extensions/orbit/mcp-servers.ts +25 -0
- package/extensions/orbit/model-script.ts +351 -0
- package/extensions/orbit/notebook-anchors.ts +342 -0
- package/extensions/orbit/notebook-writer.ts +863 -0
- package/extensions/orbit/observation-allowlists.ts +1109 -0
- package/extensions/orbit/observation-replay.ts +148 -0
- package/extensions/orbit/observation-triggers.ts +563 -0
- package/extensions/orbit/observation-ui.ts +175 -0
- package/extensions/orbit/observations-command.ts +421 -0
- package/extensions/orbit/observations-config.ts +200 -0
- package/extensions/orbit/observations.ts +1381 -0
- package/extensions/orbit/profiles.ts +270 -0
- package/extensions/orbit/progress-updates.ts +95 -0
- package/extensions/orbit/proposal-commands.ts +882 -0
- package/extensions/orbit/provenance-fs-file.ts +59 -0
- package/extensions/orbit/provenance-fs.ts +32 -0
- package/extensions/orbit/provenance-memory-fs.ts +59 -0
- package/extensions/orbit/record-store-file.ts +177 -0
- package/extensions/orbit/record-store-page.ts +77 -0
- package/extensions/orbit/record-store-seam.ts +47 -0
- package/extensions/orbit/record-store.ts +149 -0
- package/extensions/orbit/registry-carrier.ts +107 -0
- package/extensions/orbit/registry-eligibility.ts +95 -0
- package/extensions/orbit/registry-evaluation.ts +403 -0
- package/extensions/orbit/registry-evaluator.ts +519 -0
- package/extensions/orbit/registry-import.ts +91 -0
- package/extensions/orbit/registry-lock.ts +221 -0
- package/extensions/orbit/registry-memory-fs.ts +42 -0
- package/extensions/orbit/registry-page-carrier.ts +103 -0
- package/extensions/orbit/registry-proposal.ts +1348 -0
- package/extensions/orbit/registry-runtime.ts +234 -0
- package/extensions/orbit/registry-schema.ts +735 -0
- package/extensions/orbit/registry-submitter.ts +59 -0
- package/extensions/orbit/registry-templates.ts +346 -0
- package/extensions/orbit/registry.ts +476 -0
- package/extensions/orbit/sandbox/index.ts +120 -0
- package/extensions/orbit/sandbox/sandbox-bash.ts +93 -0
- package/extensions/orbit/sandbox/sandbox-config.ts +87 -0
- package/extensions/orbit/sandbox/sandbox-init-message.ts +28 -0
- package/extensions/orbit/secret-redaction.ts +247 -0
- package/extensions/orbit/session-index/cwd.ts +18 -0
- package/extensions/orbit/session-index/db.ts +56 -0
- package/extensions/orbit/session-index/indexer.ts +154 -0
- package/extensions/orbit/session-index/is-enabled.ts +17 -0
- package/extensions/orbit/session-index/parse.ts +254 -0
- package/extensions/orbit/session-index/query.ts +209 -0
- package/extensions/orbit/session-index/schema.ts +72 -0
- package/extensions/orbit/session-index/tools.ts +152 -0
- package/extensions/orbit/session-lifecycle.ts +321 -0
- package/extensions/orbit/skill-triggers.ts +159 -0
- package/extensions/orbit/skills-command.ts +48 -0
- package/extensions/orbit/skills-discovery.ts +435 -0
- package/extensions/orbit/skills.ts +84 -0
- package/extensions/orbit/sra-import-gate.ts +77 -0
- package/extensions/orbit/state.ts +265 -0
- package/extensions/orbit/submission-replay.ts +147 -0
- package/extensions/orbit/sync-command.ts +157 -0
- package/extensions/orbit/teams/critic-parser.ts +93 -0
- package/extensions/orbit/teams/dispatcher.ts +210 -0
- package/extensions/orbit/teams/is-enabled.ts +22 -0
- package/extensions/orbit/teams/tool.ts +187 -0
- package/extensions/orbit/teams/types.ts +57 -0
- package/extensions/orbit/teams/validate.ts +42 -0
- package/extensions/orbit/tester-id-command.ts +133 -0
- package/extensions/orbit/tools-sync.ts +279 -0
- package/extensions/orbit/tools.ts +1300 -0
- package/extensions/orbit/types.ts +41 -0
- package/extensions/orbit/ui-bridge.ts +55 -0
- package/extensions/orbit/ulid.ts +60 -0
- package/extensions/orbit/user-instructions.ts +388 -0
- package/extensions/orbit/vendor/skills/_catalog.json +68 -0
- package/extensions/orbit/vendor/skills/_manifest.json +1106 -0
- package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/SKILL.md +112 -0
- package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/_provenance.json +218 -0
- package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/_required_tools.json +33 -0
- package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/_verify.json +4 -0
- package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/references/cli/add.json +50 -0
- package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/references/cli/draft-extract.json +51 -0
- package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/references/cli/draft-next-step.json +42 -0
- package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/references/cli/draft-validate.json +140 -0
- package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/references/cli/list.json +32 -0
- package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/references/notes/galaxy-tool-job-failure-reference.md +137 -0
- package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/references/notes/open-requirements-ledger.md +173 -0
- package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/references/schemas/galaxy-tool-summary.schema.json +175 -0
- package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/references/schemas/galaxy-workflow-draft.schema.json +2727 -0
- package/extensions/orbit/vendor/skills/apply-galaxy-workflow-changeset/SKILL.md +82 -0
- package/extensions/orbit/vendor/skills/apply-galaxy-workflow-changeset/_provenance.json +133 -0
- package/extensions/orbit/vendor/skills/apply-galaxy-workflow-changeset/_required_tools.json +16 -0
- package/extensions/orbit/vendor/skills/apply-galaxy-workflow-changeset/_verify.json +4 -0
- package/extensions/orbit/vendor/skills/apply-galaxy-workflow-changeset/references/cli/draft-validate.json +140 -0
- package/extensions/orbit/vendor/skills/apply-galaxy-workflow-changeset/references/notes/galaxy-workflow-draft-format.md +135 -0
- package/extensions/orbit/vendor/skills/apply-galaxy-workflow-changeset/references/notes/open-requirements-ledger.md +173 -0
- package/extensions/orbit/vendor/skills/apply-galaxy-workflow-changeset/references/schemas/galaxy-workflow-draft.schema.json +2727 -0
- package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/SKILL.md +84 -0
- package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/_provenance.json +166 -0
- package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/_verify.json +29 -0
- package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/references/notes/galaxy-workflow-testability-design.md +136 -0
- package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/references/notes/iwc-shortcuts-anti-patterns.md +357 -0
- package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/references/notes/iwc-test-data-conventions.md +308 -0
- package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/references/notes/planemo-asserts-idioms.md +246 -0
- package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/references/notes/planemo-workflow-test-architecture.md +151 -0
- package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/references/schemas/galaxy-workflow-test-plan.schema.json +552 -0
- package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/references/schemas/summary-galaxy-workflow.schema.json +687 -0
- package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/references/schemas/tests-format.schema.json +7328 -0
- package/extensions/orbit/vendor/skills/compare-against-iwc-exemplar/SKILL.md +127 -0
- package/extensions/orbit/vendor/skills/compare-against-iwc-exemplar/_provenance.json +198 -0
- package/extensions/orbit/vendor/skills/compare-against-iwc-exemplar/_required_tools.json +16 -0
- package/extensions/orbit/vendor/skills/compare-against-iwc-exemplar/_verify.json +4 -0
- package/extensions/orbit/vendor/skills/compare-against-iwc-exemplar/references/cli/convert.json +123 -0
- package/extensions/orbit/vendor/skills/compare-against-iwc-exemplar/references/notes/galaxy-data-flow-draft-contract.md +129 -0
- package/extensions/orbit/vendor/skills/compare-against-iwc-exemplar/references/notes/iwc-shortcuts-anti-patterns.md +357 -0
- package/extensions/orbit/vendor/skills/compare-against-iwc-exemplar/references/notes/iwc-test-data-conventions.md +308 -0
- package/extensions/orbit/vendor/skills/compare-against-iwc-exemplar/references/notes/open-requirements-ledger.md +173 -0
- package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/SKILL.md +73 -0
- package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/_provenance.json +160 -0
- package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/_verify.json +4 -0
- package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/references/notes/galaxy-collection-semantics.md +43 -0
- package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/references/notes/galaxy-collection-semantics.yml +1250 -0
- package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/references/notes/galaxy-tool-job-failure-reference.md +137 -0
- package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/references/notes/galaxy-workflow-invocation-failure-reference.md +138 -0
- package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/references/notes/iwc-shortcuts-anti-patterns.md +357 -0
- package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/references/notes/nextflow-operators-to-galaxy-collection-recipes.md +98 -0
- package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/references/notes/planemo-asserts-idioms.md +246 -0
- package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/references/notes/planemo-workflow-test-architecture.md +151 -0
- package/extensions/orbit/vendor/skills/discover-shed-tool/SKILL.md +174 -0
- package/extensions/orbit/vendor/skills/discover-shed-tool/_provenance.json +130 -0
- package/extensions/orbit/vendor/skills/discover-shed-tool/_required_tools.json +18 -0
- package/extensions/orbit/vendor/skills/discover-shed-tool/_verify.json +17 -0
- package/extensions/orbit/vendor/skills/discover-shed-tool/references/cli/tool-revisions.json +48 -0
- package/extensions/orbit/vendor/skills/discover-shed-tool/references/cli/tool-search.json +95 -0
- package/extensions/orbit/vendor/skills/discover-shed-tool/references/cli/tool-versions.json +39 -0
- package/extensions/orbit/vendor/skills/discover-shed-tool/references/notes/component-tool-shed-search.md +230 -0
- package/extensions/orbit/vendor/skills/discover-shed-tool/references/schemas/galaxy-tool-discovery.schema.json +231 -0
- package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/SKILL.md +93 -0
- package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/_provenance.json +201 -0
- package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/_required_tools.json +28 -0
- package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/_verify.json +17 -0
- package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/references/cli/planemo.md +44 -0
- package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/references/cli/validate-tests.json +40 -0
- package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/references/notes/galaxy-workflow-testability-design.md +136 -0
- package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/references/notes/iwc-shortcuts-anti-patterns.md +357 -0
- package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/references/notes/iwc-test-data-conventions.md +308 -0
- package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/references/notes/planemo-asserts-idioms.md +246 -0
- package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/references/notes/planemo-workflow-test-architecture.md +151 -0
- package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/references/schemas/galaxy-workflow-test-plan.schema.json +552 -0
- package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/references/schemas/tests-format.schema.json +7328 -0
- package/extensions/orbit/vendor/skills/interview-to-galaxy-workflow-changeset/SKILL.md +81 -0
- package/extensions/orbit/vendor/skills/interview-to-galaxy-workflow-changeset/_provenance.json +93 -0
- package/extensions/orbit/vendor/skills/interview-to-galaxy-workflow-changeset/_verify.json +17 -0
- package/extensions/orbit/vendor/skills/interview-to-galaxy-workflow-changeset/references/notes/open-requirements-ledger.md +173 -0
- package/extensions/orbit/vendor/skills/interview-to-galaxy-workflow-changeset/references/schemas/summary-galaxy-workflow.schema.json +687 -0
- package/extensions/orbit/vendor/skills/pipeline-update-interview-to-galaxy/SKILL.md +81 -0
- package/extensions/orbit/vendor/skills/pipeline-update-interview-to-galaxy/_assembly.json +23 -0
- package/extensions/orbit/vendor/skills/run-workflow-test/SKILL.md +79 -0
- package/extensions/orbit/vendor/skills/run-workflow-test/_provenance.json +125 -0
- package/extensions/orbit/vendor/skills/run-workflow-test/_required_tools.json +28 -0
- package/extensions/orbit/vendor/skills/run-workflow-test/_verify.json +4 -0
- package/extensions/orbit/vendor/skills/run-workflow-test/references/cli/planemo.md +44 -0
- package/extensions/orbit/vendor/skills/run-workflow-test/references/cli/validate-tests.json +40 -0
- package/extensions/orbit/vendor/skills/run-workflow-test/references/notes/galaxy-workflow-invocation-failure-reference.md +138 -0
- package/extensions/orbit/vendor/skills/run-workflow-test/references/notes/planemo-asserts-idioms.md +246 -0
- package/extensions/orbit/vendor/skills/run-workflow-test/references/notes/planemo-workflow-test-architecture.md +151 -0
- package/extensions/orbit/vendor/skills/run-workflow-test/references/schemas/tests-format.schema.json +7328 -0
- package/extensions/orbit/vendor/skills/skills/LICENSE +21 -0
- package/extensions/orbit/vendor/skills/skills/collection-manipulation/README.md +39 -0
- package/extensions/orbit/vendor/skills/skills/collection-manipulation/SKILL.md +892 -0
- package/extensions/orbit/vendor/skills/skills/collection-manipulation/references/api-patterns.md +927 -0
- package/extensions/orbit/vendor/skills/skills/collection-manipulation/references/apply-rules.md +1482 -0
- package/extensions/orbit/vendor/skills/skills/collection-manipulation/references/test-patterns.md +996 -0
- package/extensions/orbit/vendor/skills/skills/collection-manipulation/references/tools.md +609 -0
- package/extensions/orbit/vendor/skills/skills/galaxy-data-libraries/SKILL.md +170 -0
- package/extensions/orbit/vendor/skills/skills/galaxy-integration/README.md +162 -0
- package/extensions/orbit/vendor/skills/skills/galaxy-integration/SKILL.md +99 -0
- package/extensions/orbit/vendor/skills/skills/galaxy-integration/examples/README.md +119 -0
- package/extensions/orbit/vendor/skills/skills/galaxy-integration/examples/tool-checking.md +419 -0
- package/extensions/orbit/vendor/skills/skills/galaxy-integration/examples/workflow-testing.md +617 -0
- package/extensions/orbit/vendor/skills/skills/galaxy-integration/galaxy-integration.md +614 -0
- package/extensions/orbit/vendor/skills/skills/galaxy-integration/jupyterlite/SKILL.md +144 -0
- package/extensions/orbit/vendor/skills/skills/galaxy-integration/jupyterlite/examples/average_col3.ipynb +68 -0
- package/extensions/orbit/vendor/skills/skills/galaxy-integration/jupyterlite/examples/extract_sample_metadata.ipynb +190 -0
- package/extensions/orbit/vendor/skills/skills/galaxy-integration/jupyterlite/examples/variant_annotation.ipynb +816 -0
- package/extensions/orbit/vendor/skills/skills/galaxy-integration/jupyterlite/examples/vcp_variant_map.ipynb +443 -0
- package/extensions/orbit/vendor/skills/skills/galaxy-integration/scripts/README.md +165 -0
- package/extensions/orbit/vendor/skills/skills/galaxy-integration/scripts/galaxy_tool_checker.py +521 -0
- package/extensions/orbit/vendor/skills/skills/galaxy-mcp-reference/SKILL.md +128 -0
- package/extensions/orbit/vendor/skills/skills/galaxy-mcp-reference/gotchas.md +135 -0
- package/extensions/orbit/vendor/skills/skills/galaxy-mcp-reference/history-access.md +132 -0
- package/extensions/orbit/vendor/skills/skills/reproduciblify/SKILL.md +146 -0
- package/extensions/orbit/vendor/skills/skills/reproduciblify/references/directives.yml +496 -0
- package/extensions/orbit/vendor/skills/skills/udt-authoring/SKILL.md +245 -0
- package/extensions/orbit/vendor/skills/skills/udt-authoring/examples/01-minimal-echo.yml +27 -0
- package/extensions/orbit/vendor/skills/skills/udt-authoring/examples/02-single-data-in-out.yml +27 -0
- package/extensions/orbit/vendor/skills/skills/udt-authoring/examples/03-multiple-data-js.yml +28 -0
- package/extensions/orbit/vendor/skills/skills/udt-authoring/examples/04-select-integer-boolean.yml +41 -0
- package/extensions/orbit/vendor/skills/skills/udt-authoring/examples/05-resource-requirements.yml +25 -0
- package/extensions/orbit/vendor/skills/skills/udt-authoring/examples/06-biocontainer-tool.yml +38 -0
- package/extensions/orbit/vendor/skills/skills/udt-authoring/examples/07-inline-python-script.yml +56 -0
- package/extensions/orbit/vendor/skills/skills/udt-authoring/examples/08-configfile-script.yml +74 -0
- package/extensions/orbit/vendor/skills/skills/udt-authoring/references/common-mistakes.md +76 -0
- package/extensions/orbit/vendor/skills/skills/udt-authoring/references/schema-reference.md +155 -0
- package/extensions/orbit/vendor/skills/skills/udt-authoring/references/templating.md +196 -0
- package/extensions/orbit/vendor/skills/skills/udt-authoring/scripts/validate.py +109 -0
- package/extensions/orbit/vendor/skills/skills/workflow-reports/README.md +71 -0
- package/extensions/orbit/vendor/skills/skills/workflow-reports/SKILL.md +190 -0
- package/extensions/orbit/vendor/skills/skills/workflow-reports/examples/histology-staining.md +145 -0
- package/extensions/orbit/vendor/skills/skills/workflow-reports/examples/tissue-microarray-analysis.md +176 -0
- package/extensions/orbit/vendor/skills/skills/workflow-reports/references/directives.md +415 -0
- package/extensions/orbit/vendor/skills/summarize-galaxy-workflow/SKILL.md +98 -0
- package/extensions/orbit/vendor/skills/summarize-galaxy-workflow/_provenance.json +93 -0
- package/extensions/orbit/vendor/skills/summarize-galaxy-workflow/_required_tools.json +28 -0
- package/extensions/orbit/vendor/skills/summarize-galaxy-workflow/_verify.json +17 -0
- package/extensions/orbit/vendor/skills/summarize-galaxy-workflow/references/cli/convert.json +123 -0
- package/extensions/orbit/vendor/skills/summarize-galaxy-workflow/references/cli/foundry.md +25 -0
- package/extensions/orbit/vendor/skills/summarize-galaxy-workflow/references/cli/validate.json +142 -0
- package/extensions/orbit/vendor/skills/summarize-galaxy-workflow/references/schemas/summary-galaxy-workflow.schema.json +687 -0
- package/extensions/orbit/vendor/skills/validate-galaxy-workflow/SKILL.md +74 -0
- package/extensions/orbit/vendor/skills/validate-galaxy-workflow/_provenance.json +71 -0
- package/extensions/orbit/vendor/skills/validate-galaxy-workflow/_required_tools.json +16 -0
- package/extensions/orbit/vendor/skills/validate-galaxy-workflow/_verify.json +4 -0
- package/extensions/orbit/vendor/skills/validate-galaxy-workflow/references/cli/validate.json +142 -0
- package/extensions/orbit/vendor/skills/validate-galaxy-workflow/references/notes/galaxy-workflow-invocation-failure-reference.md +138 -0
- package/extensions/orbit/vendor/skills/validate-galaxy-workflow/references/notes/galaxy-workflow-testability-design.md +136 -0
- package/extensions/orbit/vendor-skills.ts +283 -0
- package/extensions/orbit/workspace-state-dir.ts +46 -0
- package/extensions/orbit-handoff/index.ts +73 -0
- package/extensions/orbit-handoff/orbit-launcher.ts +142 -0
- package/extensions/whats-new/index.ts +98 -0
- package/lessons/LICENSE +17 -0
- package/lessons/README.md +117 -0
- package/lessons/SCHEMA.md +187 -0
- package/lessons/build-snapshot.mjs +311 -0
- package/lessons/data/downloaded-file-is-not-what-its-extension-says.md +61 -0
- package/lessons/galaxy-api/403-history-is-a-hard-stop.md +57 -0
- package/lessons/galaxy-api/collection-into-single-dataset-input.md +61 -0
- package/lessons/galaxy-api/connectedvalue-in-command-line.md +62 -0
- package/lessons/galaxy-api/hid-is-not-an-id.md +59 -0
- package/lessons/galaxy-api/invoke-workflow-inputs-not-params.md +60 -0
- package/lessons/galaxy-api/repeat-param-pipe-keys.md +63 -0
- package/lessons/galaxy-api/run-tool-returns-on-submit.md +61 -0
- package/lessons/galaxy-tools/reference-index-not-on-server.md +62 -0
- package/lessons/log.md +42 -0
- package/lessons/reproduction/input-population-mismatch.md +59 -0
- package/lessons/reproduction/methods-text-vs-executed-parameters.md +62 -0
- package/lessons/snapshot.json +1004 -0
- package/lessons/stats/de-contrast-direction-and-sample-labels.md +63 -0
- package/lessons/stats/na-coerced-to-zero-in-filters.md +59 -0
- package/lessons/validate.mjs +1219 -0
- package/package.json +103 -5
- package/shared/agent-prompt.d.ts +8 -0
- package/shared/agent-prompt.js +15 -0
- package/shared/approval-prompt.d.ts +4 -0
- package/shared/approval-prompt.js +61 -0
- package/shared/brain-env.d.ts +14 -0
- package/shared/brain-env.js +108 -0
- package/shared/brain-exit.d.ts +20 -0
- package/shared/brain-exit.js +149 -0
- package/shared/capability-profile.d.ts +16 -0
- package/shared/capability-profile.js +75 -0
- package/shared/config-source.d.ts +13 -0
- package/shared/config-source.js +17 -0
- package/shared/confusables.d.ts +3 -0
- package/shared/confusables.js +93 -0
- package/shared/custom-provider.d.ts +45 -0
- package/shared/custom-provider.js +169 -0
- package/shared/dashboard-contract.d.ts +123 -0
- package/shared/dashboard-contract.js +560 -0
- package/shared/dashboard-layout-store.d.ts +44 -0
- package/shared/dashboard-layout-store.js +281 -0
- package/shared/feedback-contract.d.ts +61 -0
- package/shared/feedback-contract.js +146 -0
- package/shared/galaxy-artifact-links.d.ts +30 -0
- package/shared/galaxy-artifact-links.js +166 -0
- package/shared/galaxy-credentials.d.ts +26 -0
- package/shared/galaxy-credentials.js +71 -0
- package/shared/galaxy-destructive.d.ts +21 -0
- package/shared/galaxy-destructive.js +269 -0
- package/shared/galaxy-guidance.d.ts +2 -0
- package/shared/galaxy-guidance.js +53 -0
- package/shared/galaxy-live-contract.d.ts +92 -0
- package/shared/galaxy-live-contract.js +180 -0
- package/shared/galaxy-page-cells.d.ts +2 -0
- package/shared/galaxy-page-cells.js +22 -0
- package/shared/galaxy-tool-family.d.ts +5 -0
- package/shared/galaxy-tool-family.js +27 -0
- package/shared/galaxy-url.d.ts +1 -0
- package/shared/galaxy-url.js +48 -0
- package/shared/gtn.d.ts +31 -0
- package/shared/gtn.js +253 -0
- package/shared/handled-prompt.d.ts +3 -0
- package/shared/handled-prompt.js +26 -0
- package/shared/known-provider.d.ts +11 -0
- package/shared/known-provider.js +89 -0
- package/shared/lesson-hint-marker.d.ts +7 -0
- package/shared/lesson-hint-marker.js +32 -0
- package/shared/lesson-rules.d.ts +150 -0
- package/shared/lesson-rules.js +203 -0
- package/shared/malformed-object-ids.d.ts +1 -0
- package/shared/malformed-object-ids.js +37 -0
- package/shared/markdown-sections.d.ts +10 -0
- package/shared/markdown-sections.js +118 -0
- package/shared/notebook-fences.d.ts +12 -0
- package/shared/notebook-fences.js +53 -0
- package/shared/observation-contract.d.ts +91 -0
- package/shared/observation-contract.js +544 -0
- package/shared/orbit-config.d.ts +226 -0
- package/shared/orbit-config.js +189 -0
- package/shared/orbit-env.d.ts +13 -0
- package/shared/orbit-env.js +124 -0
- package/shared/orbit-shell-contract.d.ts +74 -0
- package/shared/orbit-shell-contract.js +30 -0
- package/shared/page-content-hash.d.ts +1 -0
- package/shared/page-content-hash.js +13 -0
- package/shared/pi-default-model.d.ts +7 -0
- package/shared/pi-default-model.js +41 -0
- package/shared/prompt-blocks.d.ts +87 -0
- package/shared/prompt-blocks.js +898 -0
- package/shared/provider-auth-caps.d.ts +22 -0
- package/shared/provider-auth-caps.js +57 -0
- package/shared/random.d.ts +2 -0
- package/shared/random.js +15 -0
- package/shared/record-excerpt.d.ts +4 -0
- package/shared/record-excerpt.js +16 -0
- package/shared/redirect-guard.d.ts +36 -0
- package/shared/redirect-guard.js +235 -0
- package/shared/skills-pin.d.ts +8 -0
- package/shared/skills-pin.js +9 -0
- package/shared/skills-router.d.ts +17 -0
- package/shared/skills-router.js +63 -0
- package/shared/sra-import.d.ts +34 -0
- package/shared/sra-import.js +206 -0
- package/shared/state-dir.d.ts +21 -0
- package/shared/state-dir.js +240 -0
- package/shared/team-dispatch-contract.d.ts +28 -0
- package/shared/team-dispatch-contract.js +1 -0
- package/shared/truncate-middle.d.ts +11 -0
- package/shared/truncate-middle.js +68 -0
- package/shared/version-compare.d.ts +10 -0
- package/shared/version-compare.js +74 -0
- package/shared/whats-new.d.ts +31 -0
- package/shared/whats-new.js +83 -0
- package/shared/wsl.d.ts +10 -0
- package/shared/wsl.js +24 -0
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: discover-shed-tool
|
|
3
|
+
description: "Search the Tool Shed for an existing wrapper, drill from hit to a pinnable changeset, classify candidates, and recommend or fall through."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# discover-shed-tool
|
|
7
|
+
|
|
8
|
+
Follow the procedure below and use the artifact/reference sections as the runtime contract.
|
|
9
|
+
|
|
10
|
+
## When To Use
|
|
11
|
+
|
|
12
|
+
- Search the Tool Shed for an existing wrapper, drill from hit to a pinnable changeset, classify candidates, and recommend or fall through.
|
|
13
|
+
|
|
14
|
+
## Inputs
|
|
15
|
+
|
|
16
|
+
- No upstream artifact inputs declared. See the procedure for user-supplied runtime inputs.
|
|
17
|
+
|
|
18
|
+
## Outputs
|
|
19
|
+
|
|
20
|
+
- Write artifact `galaxy-tool-pin` as `galaxy-tool-pin.json`. Format: `json`. Schema: galaxy-tool-discovery. (owner, repo, tool_id, version, changeset_revision) pin for a Tool Shed wrapper plus discovery classification.
|
|
21
|
+
|
|
22
|
+
## Required Tools
|
|
23
|
+
|
|
24
|
+
- **`gxwf`** (gxwf). `npm install -g '@galaxy-tool-util/cli@^1.8.1'`.
|
|
25
|
+
Ephemeral run: `npx --yes --package @galaxy-tool-util/cli@1.8.1 gxwf`.
|
|
26
|
+
Check: `gxwf --help | grep -q draft-validate`.
|
|
27
|
+
Docs: https://github.com/jmchilton/galaxy-tool-util-ts/tree/main/packages/cli
|
|
28
|
+
|
|
29
|
+
## Load Upfront
|
|
30
|
+
|
|
31
|
+
- `references/schemas/galaxy-tool-discovery.schema.json`: Schema file copied verbatim into the bundle. Validate the hit, weak, or miss recommendation emitted by Tool Shed discovery.
|
|
32
|
+
|
|
33
|
+
## Load On Demand
|
|
34
|
+
|
|
35
|
+
- `references/cli/tool-revisions.json`: CLI command reference packaged as a sidecar. Resolve a Tool Shed tool version to an installable changeset revision. Use when: after selecting a candidate version that needs a reproducible changeset pin.
|
|
36
|
+
- `references/cli/tool-search.json`: CLI command reference packaged as a sidecar. Search the Tool Shed for candidate wrappers matching a step's tool need. Use when: resolving a workflow step to an installable Galaxy tool wrapper.
|
|
37
|
+
- `references/cli/tool-versions.json`: CLI command reference packaged as a sidecar. List available Tool Shed versions for a selected candidate. Use when: after a Tool Shed search candidate is selected and before pinning a version.
|
|
38
|
+
- `references/notes/component-tool-shed-search.md`: Research note copied verbatim into the bundle. Explain Tool Shed search/indexing limitations that affect hit scoring and fallthrough decisions. Use when: results are missing, weak, duplicated across owners, stale, or ambiguous.
|
|
39
|
+
|
|
40
|
+
## Validation
|
|
41
|
+
|
|
42
|
+
- Validate `galaxy-tool-pin.json` before returning it: run `foundry validate-galaxy-tool-discovery galaxy-tool-pin.json` from `@galaxy-foundry/gxwf-foundry`. If the command is not on PATH, run `npx --package @galaxy-foundry/gxwf-foundry foundry validate-galaxy-tool-discovery galaxy-tool-pin.json`. This checks artifact `galaxy-tool-pin` against the galaxy-tool-discovery schema.
|
|
43
|
+
|
|
44
|
+
## Procedure
|
|
45
|
+
|
|
46
|
+
Discover whether the Galaxy Tool Shed already publishes a wrapper for the tool a workflow step needs, and resolve the discovery to a `(owner, repo, tool_id, version, changeset_revision)` quintuple that downstream steps can pin and cache.
|
|
47
|
+
|
|
48
|
+
This skill is the **Tool Shed leg** of the `discover-or-author` branch in Galaxy-targeting per-step pipelines. On a hit, the skill recommends a pin and exits successfully. On a miss (or a low-quality hit), it falls through to author-galaxy-tool-wrapper. The branch itself is harness logic; this skill owns only the discovery half.
|
|
49
|
+
|
|
50
|
+
### Inputs
|
|
51
|
+
|
|
52
|
+
The skill expects, per step:
|
|
53
|
+
|
|
54
|
+
- A free-text **need** describing what the step should do (typically a one-line description of the tool, plus any constraints — file format in/out, container language, license preferences).
|
|
55
|
+
- Optional **owner hint** (e.g. `devteam`, `iuc`) when the caller has a strong prior.
|
|
56
|
+
- Optional **exact-name hint** when the caller knows the canonical XML id.
|
|
57
|
+
|
|
58
|
+
### Outputs
|
|
59
|
+
|
|
60
|
+
A structured recommendation object, JSON-shaped:
|
|
61
|
+
|
|
62
|
+
```json
|
|
63
|
+
{
|
|
64
|
+
"status": "hit",
|
|
65
|
+
"candidate": {
|
|
66
|
+
"tool_shed_url": "https://toolshed.g2.bx.psu.edu",
|
|
67
|
+
"owner": "devteam",
|
|
68
|
+
"repo": "fastqc",
|
|
69
|
+
"tool_id": "fastqc",
|
|
70
|
+
"trs_tool_id": "devteam~fastqc~fastqc",
|
|
71
|
+
"version": "0.74+galaxy0",
|
|
72
|
+
"changeset_revision": "5ec9f6bceaee",
|
|
73
|
+
"score": 12.3,
|
|
74
|
+
"matched_terms": ["fastqc"],
|
|
75
|
+
"match_fields": ["name", "description"],
|
|
76
|
+
"rationale": "single dominant hit on tool name"
|
|
77
|
+
},
|
|
78
|
+
"alternates": [],
|
|
79
|
+
"rationale": "single dominant hit on tool name; latest version pinned to newest changeset",
|
|
80
|
+
"warnings": []
|
|
81
|
+
}
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
`status` semantics:
|
|
85
|
+
- `hit` — recommend pinning. Caller should cache and proceed.
|
|
86
|
+
- `weak` — candidate exists but the skill is not confident (e.g. only help-text matched, multiple owners with similar tools, deprecated repo, stale-index suspicion). Caller should confirm or fall through.
|
|
87
|
+
- `miss` — no usable hit. Caller falls through to author-galaxy-tool-wrapper.
|
|
88
|
+
|
|
89
|
+
### Procedure
|
|
90
|
+
|
|
91
|
+
The skill follows the gxwf-shaped discover-and-pin chain. **It does not call the Tool Shed HTTP API directly** — the TS CLI wraps the call sequence and gotchas covered in component-tool-shed-search.
|
|
92
|
+
|
|
93
|
+
#### 1. Search
|
|
94
|
+
|
|
95
|
+
Issue tool-search with the need's keywords. Start narrow:
|
|
96
|
+
|
|
97
|
+
```
|
|
98
|
+
gxwf tool-search "<keywords>" --json --max-results 10
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
If an owner hint is present, add `--owner <owner>`. If an exact-name hint is present, add `--match-name`. Lowercase the query (the tool index does not lowercase, see component-tool-shed-search §6).
|
|
102
|
+
|
|
103
|
+
**Normalize a tool-id-shaped need before searching.** A caller (e.g. a template `_plan_context` that guessed a candidate) may hand this skill an XML-id token rather than a human name — `iuc/integron_finder`, `integron_finder`. The lexical index does **not** reliably match the underscored token: `tool-search integron_finder` returns no hits while `integron finder` and `integron` both score. So derive query variants instead of feeding the token verbatim: strip any `owner/` prefix, split on `_` / `-` into space-separated words, and also try the bare significant word. A `miss` is only honest after the name variants have been tried — a no-hit on the raw underscored token alone is a search artifact, not evidence the tool is absent.
|
|
104
|
+
|
|
105
|
+
#### 2. Triage hits
|
|
106
|
+
|
|
107
|
+
For each hit, score on:
|
|
108
|
+
- **Name match.** Exact match on `toolId` or `name` is a strong signal; help-only matches are weak.
|
|
109
|
+
- **Owner reputation.** `iuc` and `devteam` repos are typically maintained; an unfamiliar owner with a single-tool repo is a weaker prior. (No machine-readable approval flag exists — the Tool Shed's `approved` field is dead code.)
|
|
110
|
+
- **Recency.** Recent `last_updated` strengthens a hit; very old wrappers can still be valid but warrant the `weak` classification.
|
|
111
|
+
- **Duplicates across repos.** Two owners can publish wrappers with the same XML id. Either pick the maintained one or downgrade to `weak` and surface the choice.
|
|
112
|
+
|
|
113
|
+
Drop hits from deprecated repos when detectable. Note: deprecated repos can still appear in shed search results until the next index rebuild — see component-tool-shed-search §6.
|
|
114
|
+
|
|
115
|
+
#### 3. Resolve to a pinnable version
|
|
116
|
+
|
|
117
|
+
For the top candidate, list versions:
|
|
118
|
+
|
|
119
|
+
```
|
|
120
|
+
gxwf tool-versions <trsToolId> --json
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
Pick the newest installable version unless the need specifies otherwise (rare: a workflow may pin to a specific historical version for reproducibility). Be aware that **TRS dedupes by version string** — multiple changesets may publish the same version, and only one is visible at this layer.
|
|
124
|
+
|
|
125
|
+
#### 4. Resolve to a changeset
|
|
126
|
+
|
|
127
|
+
Drill from `(trsToolId, version)` to a concrete changeset:
|
|
128
|
+
|
|
129
|
+
```
|
|
130
|
+
gxwf tool-revisions <trsToolId> --tool-version <v> --latest --json
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Prefer `--latest` so the newest changeset publishing that version wins (tool versions are not monotonic; two changesets can legally publish the same version with different content). The output's `changesetRevision` is what lands in the workflow's `tool_shed_repository.changeset_revision` for reproducible reinstall.
|
|
134
|
+
|
|
135
|
+
#### 5. Classify and emit
|
|
136
|
+
|
|
137
|
+
Combine the scored hit and the resolved pin into the recommendation object above:
|
|
138
|
+
- One dominant hit + clean version+changeset resolution → `hit`.
|
|
139
|
+
- Multiple plausible hits, ambiguous owner, deprecated suspicion, or only-help-text match → `weak` with the leading candidate plus alternates.
|
|
140
|
+
- No usable hit → `miss`.
|
|
141
|
+
|
|
142
|
+
Validate the recommendation with `validate-galaxy-tool-discovery` before returning it. Do not rely on prose-only shape checks; downstream phases branch on this contract.
|
|
143
|
+
|
|
144
|
+
### Caveats baked into the procedure
|
|
145
|
+
|
|
146
|
+
The procedure assumes — and the skill must surface in its rationale when relevant — the following Tool Shed realities (full detail in component-tool-shed-search §6):
|
|
147
|
+
|
|
148
|
+
- **Indexes are stale by design.** A freshly published tool may not appear; a deprecated tool may still appear. Treat absence as soft evidence, not proof.
|
|
149
|
+
- **Wildcard `*term*` wrapping** disables stemming; spelling matters. Try alternate phrasings before declaring `miss`. In particular an underscored or owner-prefixed **tool-id token** (`integron_finder`, `iuc/integron_finder`) can score zero where the **human name** (`integron finder`) hits — never declare `miss` on a single id-token query (see §1 normalization).
|
|
150
|
+
- **No EDAM in shed search** — semantic queries that work in Galaxy's installed-toolbox search will not work here. Stick to lexical name/keyword queries.
|
|
151
|
+
- **Same XML id across repos.** Hits collapse only on `(repoName, owner)`; expect duplicates that need triage.
|
|
152
|
+
- **Repo-level discovery is a different surface.** For "find me the *package* that contains a tool about X" with server-side `owner:` / `category:` keywords, `gxwf repo-search` is the right command — out of scope for this skill but a known sibling.
|
|
153
|
+
|
|
154
|
+
### Non-goals
|
|
155
|
+
|
|
156
|
+
- **Authoring.** This skill never produces a tool wrapper. On `miss`, the harness's `discover-or-author` branch fall-through invokes author-galaxy-tool-wrapper.
|
|
157
|
+
- **Caching.** This skill emits a pin recommendation. The caller (or the next phase) runs `galaxy-tool-cache add toolshed.g2.bx.psu.edu/repos/<owner>/<repo>/<tool_id> --tool-version <v>` to populate the cache.
|
|
158
|
+
- **Galaxy-instance discovery.** Hitting a running Galaxy server's installed-tool index (EDAM-aware, panel-aware) is a different mechanism — the future `discover-tool-via-galaxy-api` skill. The contrast is sketched in component-tool-shed-search §4.
|
|
159
|
+
- **Test-data resolution.** Out of scope; handled by the `test-data-resolution` branch elsewhere in the pipeline.
|
|
160
|
+
|
|
161
|
+
## Feedback Mode
|
|
162
|
+
|
|
163
|
+
- Feedback mode is off unless the caller explicitly enables `--feedback` or supplies a feedback-ledger path.
|
|
164
|
+
- When enabled, read `_feedback.md` before doing the work and use its registered `foundry-feedback.ledger.yml` protocol.
|
|
165
|
+
- Preserve harness-owned run and phase state. Append only concrete observations about a canonical Foundry source asset or a related project that this run showed to be at fault; do not put ordinary workflow requirements in this ledger.
|
|
166
|
+
- Before reporting completion, make one explicit pass over the work you just did. Do not ask yourself whether anything was unclear — recall what happened: where you guessed at something the instructions should have settled, needed information this bundle does not carry, hit an instruction that contradicted another or contradicted the artifacts in front of you, used a packaged reference that did not cover your case, or did something the procedure never describes.
|
|
167
|
+
- Append an entry for each such event that clears the protocol's bar. If none do, append nothing and report `no feedback` explicitly. Silence and a clean pass are not the same thing, and nothing downstream can tell them apart unless you say which one it was.
|
|
168
|
+
- Pass the same ledger path to any subagent used for this work, and merge updates serially so one writer cannot overwrite another.
|
|
169
|
+
|
|
170
|
+
## Runtime Notes
|
|
171
|
+
|
|
172
|
+
- Do not read Foundry source files at runtime; use only files packaged in this skill bundle and user-supplied artifacts.
|
|
173
|
+
- Preserve declared artifact filenames unless the user or harness supplies explicit paths.
|
|
174
|
+
- Carry unresolved assumptions into the output artifact instead of silently inventing missing source evidence.
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
{
|
|
2
|
+
"provenance_schema_version": 4,
|
|
3
|
+
"cast_target": "claude",
|
|
4
|
+
"mold": {
|
|
5
|
+
"name": "discover-shed-tool",
|
|
6
|
+
"path": "content/molds/discover-shed-tool/index.md",
|
|
7
|
+
"revision": 5,
|
|
8
|
+
"content_hash": "05c99cbac2ec6a4d130b06204c15d0e76cf4fd0e00cdc8164dd606dac72809e2",
|
|
9
|
+
"commit": "63a3f9cf9c97a637fe1628d298e524f35709e289"
|
|
10
|
+
},
|
|
11
|
+
"cast_at": "2026-09-13T20:58:27.321Z",
|
|
12
|
+
"cast_date": "2026-05-07",
|
|
13
|
+
"cast_revision": 5,
|
|
14
|
+
"cast_history": [
|
|
15
|
+
{
|
|
16
|
+
"rev": 1,
|
|
17
|
+
"date": "2026-05-05",
|
|
18
|
+
"note": "initial deterministic cast for Tool Shed discovery"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"rev": 2,
|
|
22
|
+
"date": "2026-05-05",
|
|
23
|
+
"note": "refresh after schema wiki-link merge"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"rev": 3,
|
|
27
|
+
"date": "2026-05-07",
|
|
28
|
+
"note": "deterministic skill render"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"rev": 4,
|
|
32
|
+
"date": "2026-05-07",
|
|
33
|
+
"note": "runtime-facing deterministic skill render"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"rev": 5,
|
|
37
|
+
"date": "2026-05-07",
|
|
38
|
+
"note": "mark discovery schema cast-validated"
|
|
39
|
+
}
|
|
40
|
+
],
|
|
41
|
+
"refs": [
|
|
42
|
+
{
|
|
43
|
+
"kind": "cli-command",
|
|
44
|
+
"mode": "sidecar",
|
|
45
|
+
"ref": "[[tool-revisions]]",
|
|
46
|
+
"src": "content/cli/gxwf/tool-revisions.md",
|
|
47
|
+
"dst": "references/cli/tool-revisions.json",
|
|
48
|
+
"used_at": "runtime",
|
|
49
|
+
"load": "on-demand",
|
|
50
|
+
"evidence": "corpus-observed",
|
|
51
|
+
"purpose": "Resolve a Tool Shed tool version to an installable changeset revision.",
|
|
52
|
+
"trigger": "After selecting a candidate version that needs a reproducible changeset pin.",
|
|
53
|
+
"src_hash": "82061af5970f0fd0335ac3901f6fc33426e192880c6859ab993e55de52bcfd5d",
|
|
54
|
+
"dst_hash": "db0b13f2b92593c9cd3bf5a80276a31e537c07caff76786167ebe9f7feac5938",
|
|
55
|
+
"source": "deterministic"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"kind": "cli-command",
|
|
59
|
+
"mode": "sidecar",
|
|
60
|
+
"ref": "[[tool-search]]",
|
|
61
|
+
"src": "content/cli/gxwf/tool-search.md",
|
|
62
|
+
"dst": "references/cli/tool-search.json",
|
|
63
|
+
"used_at": "runtime",
|
|
64
|
+
"load": "on-demand",
|
|
65
|
+
"evidence": "corpus-observed",
|
|
66
|
+
"purpose": "Search the Tool Shed for candidate wrappers matching a step's tool need.",
|
|
67
|
+
"trigger": "When resolving a workflow step to an installable Galaxy tool wrapper.",
|
|
68
|
+
"src_hash": "cdf8be42eee7134c7cbd7a0a7891f36b0752f8d8d32251fc79664576257fd3dc",
|
|
69
|
+
"dst_hash": "72f5f7cc0cd5ed40038af89e6041c7916d65c51ba1c7bc7b2c46ba64c51d9359",
|
|
70
|
+
"source": "deterministic"
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"kind": "cli-command",
|
|
74
|
+
"mode": "sidecar",
|
|
75
|
+
"ref": "[[tool-versions]]",
|
|
76
|
+
"src": "content/cli/gxwf/tool-versions.md",
|
|
77
|
+
"dst": "references/cli/tool-versions.json",
|
|
78
|
+
"used_at": "runtime",
|
|
79
|
+
"load": "on-demand",
|
|
80
|
+
"evidence": "corpus-observed",
|
|
81
|
+
"purpose": "List available Tool Shed versions for a selected candidate.",
|
|
82
|
+
"trigger": "After a Tool Shed search candidate is selected and before pinning a version.",
|
|
83
|
+
"src_hash": "d11b5ee6d85c3f880cbbdc41bea41f293bbea8dc0671bb409fd81a35a666ee3a",
|
|
84
|
+
"dst_hash": "90f35a407af778a1a1c714f79ceb8dc3559523964175e734b565eed8b9aeb6a5",
|
|
85
|
+
"source": "deterministic"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"kind": "research",
|
|
89
|
+
"mode": "verbatim",
|
|
90
|
+
"ref": "[[component-tool-shed-search]]",
|
|
91
|
+
"src": "content/research/component-tool-shed-search/index.md",
|
|
92
|
+
"dst": "references/notes/component-tool-shed-search.md",
|
|
93
|
+
"used_at": "runtime",
|
|
94
|
+
"load": "on-demand",
|
|
95
|
+
"evidence": "corpus-observed",
|
|
96
|
+
"purpose": "Explain Tool Shed search/indexing limitations that affect hit scoring and fallthrough decisions.",
|
|
97
|
+
"trigger": "When results are missing, weak, duplicated across owners, stale, or ambiguous.",
|
|
98
|
+
"src_hash": "37d96e364e4618d51a5e59efcc44298d488fa502ec8e93cfde7cc4b01fe68f88",
|
|
99
|
+
"dst_hash": "37d96e364e4618d51a5e59efcc44298d488fa502ec8e93cfde7cc4b01fe68f88",
|
|
100
|
+
"source": "deterministic"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"kind": "schema",
|
|
104
|
+
"mode": "verbatim",
|
|
105
|
+
"ref": "[[galaxy-tool-discovery]]",
|
|
106
|
+
"src": "package://@galaxy-foundry/gxwf-foundry#galaxyToolDiscoverySchema",
|
|
107
|
+
"dst": "references/schemas/galaxy-tool-discovery.schema.json",
|
|
108
|
+
"used_at": "runtime",
|
|
109
|
+
"load": "upfront",
|
|
110
|
+
"evidence": "cast-validated",
|
|
111
|
+
"purpose": "Validate the hit, weak, or miss recommendation emitted by Tool Shed discovery.",
|
|
112
|
+
"verification": "Run discover-shed-tool against known FastQC, ambiguous BWA-style, and no-hit queries and validate each emitted recommendation.",
|
|
113
|
+
"src_hash": "c0940fc0265e8fd25955f4380f03e088b62d25155fe98e7f051a5a3957d2840c",
|
|
114
|
+
"dst_hash": "c0940fc0265e8fd25955f4380f03e088b62d25155fe98e7f051a5a3957d2840c",
|
|
115
|
+
"source": "deterministic"
|
|
116
|
+
}
|
|
117
|
+
],
|
|
118
|
+
"artifacts": {
|
|
119
|
+
"produces": [
|
|
120
|
+
{
|
|
121
|
+
"id": "galaxy-tool-pin",
|
|
122
|
+
"kind": "json",
|
|
123
|
+
"default_filename": "galaxy-tool-pin.json",
|
|
124
|
+
"schema": "[[galaxy-tool-discovery]]",
|
|
125
|
+
"description": "(owner, repo, tool_id, version, changeset_revision) pin for a Tool Shed wrapper plus discovery classification."
|
|
126
|
+
}
|
|
127
|
+
],
|
|
128
|
+
"consumes": []
|
|
129
|
+
}
|
|
130
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"tool": "gxwf",
|
|
4
|
+
"origin": "npm",
|
|
5
|
+
"package": "@galaxy-tool-util/cli",
|
|
6
|
+
"package_version": "^1.8.1",
|
|
7
|
+
"invoke": "gxwf",
|
|
8
|
+
"invoke_fallback": "npx --yes --package @galaxy-tool-util/cli@1.8.1 gxwf",
|
|
9
|
+
"availability_check": "gxwf --help | grep -q draft-validate",
|
|
10
|
+
"docs_url": "https://github.com/jmchilton/galaxy-tool-util-ts/tree/main/packages/cli",
|
|
11
|
+
"source": "implied",
|
|
12
|
+
"implied_by": [
|
|
13
|
+
"gxwf tool-revisions",
|
|
14
|
+
"gxwf tool-search",
|
|
15
|
+
"gxwf tool-versions"
|
|
16
|
+
]
|
|
17
|
+
}
|
|
18
|
+
]
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"verify_schema_version": 1,
|
|
3
|
+
"entries": [
|
|
4
|
+
{
|
|
5
|
+
"artifact_id": "galaxy-tool-pin",
|
|
6
|
+
"direction": "output",
|
|
7
|
+
"kind": "json",
|
|
8
|
+
"default_filename": "galaxy-tool-pin.json",
|
|
9
|
+
"schema": "[[galaxy-tool-discovery]]",
|
|
10
|
+
"validator_bin": "foundry",
|
|
11
|
+
"args": [
|
|
12
|
+
"validate-galaxy-tool-discovery",
|
|
13
|
+
"{artifact_path}"
|
|
14
|
+
]
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
{
|
|
2
|
+
"type": "cli-command",
|
|
3
|
+
"tool": "gxwf",
|
|
4
|
+
"command": "tool-revisions",
|
|
5
|
+
"summary": "Resolve a Tool Shed tool to changeset revisions for reproducible workflow pinning. Final step in discover-and-pin.",
|
|
6
|
+
"source_path": "content/cli/gxwf/tool-revisions.md",
|
|
7
|
+
"source_revision": 2,
|
|
8
|
+
"package": "@galaxy-tool-util/cli",
|
|
9
|
+
"description": "List changeset revisions that publish a Tool Shed tool (ordered oldest→newest). Use for reproducible (name, owner, changeset_revision) workflow pins. Caveat: version strings are not monotonic — the same version can appear in multiple changesets.",
|
|
10
|
+
"synopsis": "gxwf tool-revisions [options] <tool-id>",
|
|
11
|
+
"args": [
|
|
12
|
+
{
|
|
13
|
+
"raw": "tool-id",
|
|
14
|
+
"name": "tool-id",
|
|
15
|
+
"required": true,
|
|
16
|
+
"variadic": false,
|
|
17
|
+
"description": "TRS id (owner~repo~tool_id) or pretty form (owner/repo/tool_id)"
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"options": [
|
|
21
|
+
{
|
|
22
|
+
"flags": "--tool-version <v>",
|
|
23
|
+
"name": "toolVersion",
|
|
24
|
+
"description": "Restrict to revisions that publish this exact tool version",
|
|
25
|
+
"takesArgument": true,
|
|
26
|
+
"argumentPlaceholder": "<v>",
|
|
27
|
+
"optionalArgument": false,
|
|
28
|
+
"negatable": false
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"flags": "--latest",
|
|
32
|
+
"name": "latest",
|
|
33
|
+
"description": "Print only the newest matching revision",
|
|
34
|
+
"takesArgument": false,
|
|
35
|
+
"optionalArgument": false,
|
|
36
|
+
"negatable": false
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"flags": "--json",
|
|
40
|
+
"name": "json",
|
|
41
|
+
"description": "Emit machine-readable JSON envelope",
|
|
42
|
+
"takesArgument": false,
|
|
43
|
+
"optionalArgument": false,
|
|
44
|
+
"negatable": false
|
|
45
|
+
}
|
|
46
|
+
],
|
|
47
|
+
"body": "# `gxwf tool-revisions`\n\nResolve a Tool Shed tool to the changeset revisions that publish it, ordered oldest→newest by `get_ordered_installable_revisions`. Needed when emitting a workflow that pins `(name, owner, changeset_revision)` for reproducible reinstall — TRS version strings alone are insufficient because the Tool Shed dedupes versions across changesets.\n\n`<tool-id>` accepts both TRS form (`owner~repo~tool_id`) and pretty form (`owner/repo/tool_id`).\n\n## Output\n\nDefault: lines of `<changesetRevision>\\t<toolVersion>`.\n\n`--json`:\n\n```json\n{\n \"trsToolId\": \"devteam~fastqc~fastqc\",\n \"version\": \"0.74+galaxy0\",\n \"revisions\": [\n { \"changesetRevision\": \"5ec9f6bceaee\", \"toolVersion\": \"0.74+galaxy0\" }\n ]\n}\n```\n\n`--json` without `--tool-version` returns every installable revision for the tool, each tagged with whatever XML `version` it publishes.\n\n## Examples\n\n```bash\ngxwf tool-revisions devteam/fastqc/fastqc --json\ngxwf tool-revisions devteam/fastqc/fastqc --tool-version 0.74+galaxy0 --latest\ngxwf tool-revisions devteam~fastqc~fastqc --json | jq '.revisions[-1]'\n```\n\nPin the latest changeset for a known version:\n\n```bash\nREV=$(gxwf tool-revisions devteam/fastqc/fastqc \\\n --tool-version 0.74+galaxy0 --latest --json \\\n | jq -r '.revisions[0].changesetRevision')\necho \"$REV\"\n```\n\n## Gotchas\n\n- **Tool versions are not monotonic.** Two changesets can legally publish the same XML `version` with different content. When pinning for reproducibility, prefer the **newest matching revision** (`--latest`) or be explicit about which changeset you want — the version string alone is ambiguous. See component-tool-shed-search §5.\n- **Source of truth for installability.** Only changesets with a `RepositoryMetadata` row marked `downloadable=True` are returned. A repository may have many additional changesets in its Mercurial history that are not installable; those are correctly excluded here.\n- **Pin shape is `(name, owner, changeset_revision)`**, not the TRS id. Workflows ultimately reference repos as a triple via the Tool Shed's `get_repository_revision_install_info`. The `trsToolId` exists for discovery only.\n- **No bulk endpoint upstream.** Each tool's revision list is one HTTP call; batching N tools means N round-trips. Acceptable for the discover-and-pin path of a workflow author; do not loop over thousands.\n\n## Pairs with\n\n- tool-search → tool-versions → tool-revisions is the canonical discover-and-pin chain.\n- `galaxy-tool-cache add toolshed.g2.bx.psu.edu/repos/<owner>/<repo>/<tool_id> --tool-version <v>` — caches the `ParsedTool` once a version is chosen; the changeset revision pin lands in the workflow file (`tool_shed_repository.changeset_revision`), not in the cache."
|
|
48
|
+
}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
{
|
|
2
|
+
"type": "cli-command",
|
|
3
|
+
"tool": "gxwf",
|
|
4
|
+
"command": "tool-search",
|
|
5
|
+
"summary": "Free-text Tool Shed search returning candidate tools as JSON; first step in the discover-and-pin sequence.",
|
|
6
|
+
"source_path": "content/cli/gxwf/tool-search.md",
|
|
7
|
+
"source_revision": 2,
|
|
8
|
+
"package": "@galaxy-tool-util/cli",
|
|
9
|
+
"description": "Search the Galaxy Tool Shed for tools matching a query",
|
|
10
|
+
"synopsis": "gxwf tool-search [options] <query>",
|
|
11
|
+
"args": [
|
|
12
|
+
{
|
|
13
|
+
"raw": "query",
|
|
14
|
+
"name": "query",
|
|
15
|
+
"required": true,
|
|
16
|
+
"variadic": false,
|
|
17
|
+
"description": "Search text (e.g. 'fastqc')"
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"options": [
|
|
21
|
+
{
|
|
22
|
+
"flags": "--page-size <n>",
|
|
23
|
+
"name": "pageSize",
|
|
24
|
+
"description": "Server-side page size",
|
|
25
|
+
"takesArgument": true,
|
|
26
|
+
"argumentPlaceholder": "<n>",
|
|
27
|
+
"optionalArgument": false,
|
|
28
|
+
"negatable": false,
|
|
29
|
+
"defaultValue": "20"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"flags": "--max-results <n>",
|
|
33
|
+
"name": "maxResults",
|
|
34
|
+
"description": "Hard cap on hits returned",
|
|
35
|
+
"takesArgument": true,
|
|
36
|
+
"argumentPlaceholder": "<n>",
|
|
37
|
+
"optionalArgument": false,
|
|
38
|
+
"negatable": false,
|
|
39
|
+
"defaultValue": "50"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"flags": "--page <n>",
|
|
43
|
+
"name": "page",
|
|
44
|
+
"description": "Starting page (1-indexed)",
|
|
45
|
+
"takesArgument": true,
|
|
46
|
+
"argumentPlaceholder": "<n>",
|
|
47
|
+
"optionalArgument": false,
|
|
48
|
+
"negatable": false,
|
|
49
|
+
"defaultValue": "1"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"flags": "--owner <user>",
|
|
53
|
+
"name": "owner",
|
|
54
|
+
"description": "Filter hits to a single repo owner (client-side)",
|
|
55
|
+
"takesArgument": true,
|
|
56
|
+
"argumentPlaceholder": "<user>",
|
|
57
|
+
"optionalArgument": false,
|
|
58
|
+
"negatable": false
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"flags": "--match-name",
|
|
62
|
+
"name": "matchName",
|
|
63
|
+
"description": "Drop hits where the query is not a token in the tool name",
|
|
64
|
+
"takesArgument": false,
|
|
65
|
+
"optionalArgument": false,
|
|
66
|
+
"negatable": false
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"flags": "--json",
|
|
70
|
+
"name": "json",
|
|
71
|
+
"description": "Emit machine-readable JSON envelope",
|
|
72
|
+
"takesArgument": false,
|
|
73
|
+
"optionalArgument": false,
|
|
74
|
+
"negatable": false
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"flags": "--enrich",
|
|
78
|
+
"name": "enrich",
|
|
79
|
+
"description": "Resolve each hit's ParsedTool and attach it as `parsedTool` (one fetch per hit; off by default)",
|
|
80
|
+
"takesArgument": false,
|
|
81
|
+
"optionalArgument": false,
|
|
82
|
+
"negatable": false
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"flags": "--cache-dir <dir>",
|
|
86
|
+
"name": "cacheDir",
|
|
87
|
+
"description": "Tool cache directory (used by --enrich; shared with galaxy-tool-cache)",
|
|
88
|
+
"takesArgument": true,
|
|
89
|
+
"argumentPlaceholder": "<dir>",
|
|
90
|
+
"optionalArgument": false,
|
|
91
|
+
"negatable": false
|
|
92
|
+
}
|
|
93
|
+
],
|
|
94
|
+
"body": "# `gxwf tool-search`\n\nFree-text search over the Galaxy Tool Shed's tool index. Designed to feed `galaxy-tool-cache add` (and the rest of the `tool-versions` / `tool-revisions` chain) so a workflow author can go from a query string to a cached `ParsedTool` in a small number of commands.\n\nInstance-agnostic; targets `https://toolshed.g2.bx.psu.edu` by default.\n\n`<query>` is free text; whitespace separates terms. The Tool Shed wraps the term as `*term*` server-side, so noisy queries can match description and help text.\n\n## Output\n\nDefault: human-readable list.\n\n`--json`:\n\n```json\n{\n \"query\": \"fastqc\",\n \"hits\": [\n {\n \"toolId\": \"fastqc\",\n \"name\": \"FastQC\",\n \"description\": \"Read Quality reports\",\n \"owner\": \"devteam\",\n \"repoName\": \"fastqc\",\n \"trsToolId\": \"devteam~fastqc~fastqc\",\n \"score\": 12.3\n }\n ]\n}\n```\n\nA hit identifies `(owner, repoName, toolId)` plus a `trsToolId` (`owner~repo~toolId`). It does **not** include a changeset revision or specific tool version — those come from tool-versions and tool-revisions.\n\n## Examples\n\n```bash\ngxwf tool-search fastqc\ngxwf tool-search \"quality control\" --json --max-results 10\ngxwf tool-search bwa --owner devteam --match-name --json\n```\n\nPipe the top hit into the rest of the pin chain:\n\n```bash\ngxwf tool-search fastqc --json --max-results 5 \\\n | jq -r '.hits[0].trsToolId' \\\n | xargs gxwf tool-versions --latest --json\n```\n\n## Gotchas\n\n- **No EDAM**, no stem analyzer, no panel context — the Tool Shed tool index is much poorer than Galaxy's installed-toolbox index. Queries match only `name`, `description`, `help`, and `repo_owner_username`. See component-tool-shed-search §2b.\n- **Case-sensitivity asymmetry**. The tool search does not lowercase the query (unlike repo search). Mixed-case queries can miss; lowercase if uncertain.\n- **Stale indexes**. Tool Shed Whoosh indexes are rebuilt by cron / admin action, never automatically on upload. A freshly published tool may not show up for some time. Deprecated repos can still appear until the next rebuild.\n- **`*term*` wrapping** disables server-side stemming and structured query syntax. Prefer simple terms; combine `--match-name` and `--owner` to tighten.\n- **No exact-id matching**. The shed indexes `id` as `TEXT`, not Whoosh `ID`, so it tokenizes — you cannot pin a hit to an exact GUID via search.\n- **Same XML id across repos**. The same logical tool (e.g., `bwa`) can be wrapped and published in multiple independent repos. Hits collapse only by `(repoName, owner)`; expect duplicates that need human triage.\n- **Repo-level discovery is a different command**. For \"find me a *package* about X\" with server-side `owner:` / `category:` keywords and popularity-boosted ranking, use `gxwf repo-search` instead.\n\n## Pairs with\n\n- tool-versions — list TRS-published versions for a hit's `trsToolId`.\n- tool-revisions — resolve a `(trsToolId, version)` to changeset revisions for reproducible pinning.\n- `galaxy-tool-cache add` — terminal step of the discover-and-pin chain."
|
|
95
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"type": "cli-command",
|
|
3
|
+
"tool": "gxwf",
|
|
4
|
+
"command": "tool-versions",
|
|
5
|
+
"summary": "List TRS-published versions of a Tool Shed tool, oldest→newest. Second step in the discover-and-pin sequence.",
|
|
6
|
+
"source_path": "content/cli/gxwf/tool-versions.md",
|
|
7
|
+
"source_revision": 2,
|
|
8
|
+
"package": "@galaxy-tool-util/cli",
|
|
9
|
+
"description": "List TRS-published versions of a Tool Shed tool (newest last)",
|
|
10
|
+
"synopsis": "gxwf tool-versions [options] <tool-id>",
|
|
11
|
+
"args": [
|
|
12
|
+
{
|
|
13
|
+
"raw": "tool-id",
|
|
14
|
+
"name": "tool-id",
|
|
15
|
+
"required": true,
|
|
16
|
+
"variadic": false,
|
|
17
|
+
"description": "TRS id (owner~repo~tool_id) or pretty form (owner/repo/tool_id)"
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"options": [
|
|
21
|
+
{
|
|
22
|
+
"flags": "--json",
|
|
23
|
+
"name": "json",
|
|
24
|
+
"description": "Emit machine-readable JSON envelope",
|
|
25
|
+
"takesArgument": false,
|
|
26
|
+
"optionalArgument": false,
|
|
27
|
+
"negatable": false
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"flags": "--latest",
|
|
31
|
+
"name": "latest",
|
|
32
|
+
"description": "Print only the latest version",
|
|
33
|
+
"takesArgument": false,
|
|
34
|
+
"optionalArgument": false,
|
|
35
|
+
"negatable": false
|
|
36
|
+
}
|
|
37
|
+
],
|
|
38
|
+
"body": "# `gxwf tool-versions`\n\nList the TRS-published versions of a Tool Shed tool, ordered oldest→newest (newest last). Used after tool-search has surfaced a candidate `trsToolId` and the caller needs to pick a version to cache.\n\n`<tool-id>` accepts both forms:\n- TRS form: `owner~repo~tool_id` (e.g. `devteam~fastqc~fastqc`).\n- Pretty form: `owner/repo/tool_id` (e.g. `devteam/fastqc/fastqc`).\n\nThe `~` form is the Tool Shed's TRS encoding (slashes break FastAPI path-param decoding); the CLI accepts both and normalizes.\n\n## Output\n\nDefault: one version string per line, oldest first.\n\n`--json`:\n\n```json\n{\n \"trsToolId\": \"devteam~fastqc~fastqc\",\n \"versions\": [\"0.72+galaxy1\", \"0.73+galaxy0\", \"0.74+galaxy0\"]\n}\n```\n\n`--latest --json`:\n\n```json\n{\n \"trsToolId\": \"devteam~fastqc~fastqc\",\n \"versions\": [\"0.74+galaxy0\"]\n}\n```\n\n## Examples\n\n```bash\ngxwf tool-versions devteam/fastqc/fastqc\ngxwf tool-versions devteam~fastqc~fastqc --latest\ngxwf tool-versions devteam/fastqc/fastqc --json\n```\n\n## Gotchas\n\n- **TRS dedupes by version string.** If multiple changesets publish the same `version` (which is legal — the XML version field is not monotonic and not enforced unique), only the last-seen one appears. The other changesets are invisible at this layer. To see the full set of changesets that publish a given version, use tool-revisions. See component-tool-shed-search §3 and §5.\n- **`--latest` returns the lexicographically/iteration-order last item, not a semver-parsed maximum.** In practice the TRS list is ordered consistent with the Tool Shed's installable-revisions ordering, so \"newest\" is normally what you want — but do not assume strict semver semantics.\n- **Versions ≠ changesets.** A single TRS version can correspond to multiple changesets in the underlying Mercurial repo. Pinning a workflow for reproducible reinstall requires a `(name, owner, changeset_revision)` triple, not just a version — that is what tool-revisions produces.\n- **Stub list endpoint.** The Tool Shed's TRS `/tools` enumerator is unimplemented (returns `[]`). You cannot bulk-list tools via TRS; you must already have a `trsToolId` from search or a known input.\n\n## Pairs with\n\n- tool-search — produces the `trsToolId` consumed here.\n- tool-revisions — drills from a `(trsToolId, version)` down to changeset revisions.\n- `galaxy-tool-cache add toolshed.g2.bx.psu.edu/repos/<owner>/<repo>/<tool_id> --tool-version <v>` — caches the picked version's `ParsedTool`."
|
|
39
|
+
}
|