Skip to content

feat: add objects info and support t3:// paths in all objects subcommands - #59

Merged
designcode merged 3 commits into
mainfrom
feat/object-info
Mar 31, 2026
Merged

designcode merged 3 commits into
mainfrom
feat/object-info

Conversation

@designcode

@designcode designcode commented Mar 31, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • New objects info subcommand — shows object metadata (size, content type, modified date, presigned URL) via head(). Accepts two positional args (bucket key) or a single combined path (t3://bucket/key, tigris://bucket/key, bucket/key)
  • Unified path support across all objects subcommands — get, put, delete, set, and list now accept t3:// / tigris:// URIs in the bucket argument, matching the convention used by ls, stat, presign, and other top-level commands
  • Shared resolveObjectArgs helper in utils/path.ts — strips URI prefixes even when bucket and key are separate args. For list, a path component in the bucket arg is used as the prefix when --prefix is not given

Test plan

  • npm run build — clean
  • npm run test — 506 tests pass (10 new resolveObjectArgs tests covering two-arg, combined path, t3://, tigris://, and prefix-stripping)
  • npm run format && npm run lint:fix — clean
  • --help output verified for all updated commands

🤖 Generated with Claude Code


Note

Medium Risk
Adds a new CLI subcommand and changes how existing objects commands interpret positional arguments (bucket/key vs combined URI), which could break edge-case invocation patterns if parsing is wrong.

Overview
Adds a new objects info subcommand that calls head() to display object metadata (size, content type/disposition, modified time, URL) with table/JSON/XML output and snapshot support.

Updates objects get/put/set/delete/list to accept t3:///tigris:// (and bare bucket/key) in the bucket positional arg, using a new resolveObjectArgs helper (and parseAnyPath for list) to derive bucket/key or bucket/prefix when flags are omitted. Specs and integration/unit tests are expanded to cover the new command and URI-style paths.

Written by Cursor Bugbot for commit 57470da. This will update automatically on new commits. Configure here.

designcode and others added 2 commits March 31, 2026 12:48
Adds a dedicated `objects info` command that shows object metadata
(size, content type, modified date, URL) via `head()`. Accepts two
positional args (bucket + key) or a single combined path (t3://, tigris://,
or bare bucket/key).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
All objects commands (get, put, delete, set, list) now accept t3://,
tigris://, or bare bucket/key paths in the bucket argument, matching
the convention used by ls, stat, presign, and other top-level commands.

Moved resolveObjectArgs to utils/path.ts as a shared helper. It also
strips URI prefixes when bucket and key are given as separate args
(e.g. `objects get t3://my-bucket report.pdf`). For list, a path
component in the bucket arg is used as the prefix when --prefix is
not given.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Comment thread src/lib/objects/put.ts Resolved
…ests

Revert extracted helper functions back to inline logic and add
integration tests covering all objects subcommands with t3:// paths.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@designcode
designcode merged commit 12f8e1f into main Mar 31, 2026
5 checks passed
@designcode
designcode deleted the feat/object-info branch March 31, 2026 11:50
@github-actions

Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 2.14.0-beta.4 🎉

The release is available on:

Your semantic-release bot 📦🚀

@github-actions

github-actions Bot commented Apr 3, 2026

Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 2.15.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants