Skip to content

feat!: use :pull endpoint and logical paths for asset fetching#8

Merged
justinmerrell merged 1 commit intomainfrom
feat/pull-endpoint-and-logical-path-assets
Mar 28, 2026
Merged

feat!: use :pull endpoint and logical paths for asset fetching#8
justinmerrell merged 1 commit intomainfrom
feat/pull-endpoint-and-logical-path-assets

Conversation

@justinmerrell
Copy link
Copy Markdown
Contributor

Summary

  • Replace per-asset fetching via /v1/runner/assets/{id} with a bulk :pull endpoint (/v1/namespaces/{ns}/bundles/{slug}/versions/{version}:pull)
  • Change fetch_asset to use logical paths instead of asset IDs, with URL-encoded path segments
  • Add hub fallback (/v1/hub/bundles/...) when the namespaced :pull returns 403 for public bundles
  • Return early from pull() when all blobs are already cached

Test plan

  • Updated test_fetch_asset to use new logical path + namespace/slug signature
  • Updated test_pull and test_pull_sync to mock the :pull endpoint
  • Updated test_pull_checksum_mismatch to verify integrity via :pull response
  • Added test_pull_hub_fallback for 403 → hub fallback path

🤖 Generated with Claude Code

Replace per-asset fetching via /v1/runner/assets/{id} with a bulk :pull
endpoint and logical-path-based asset lookup. Adds hub fallback when the
namespaced :pull returns 403 for public bundles.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@justinmerrell justinmerrell merged commit e18f509 into main Mar 28, 2026
4 checks passed
@justinmerrell justinmerrell deleted the feat/pull-endpoint-and-logical-path-assets branch March 28, 2026 15:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant