Skip to content

rust(feat): artifact tools for the generic artifact store - #779

Draft
evan-sift wants to merge 4 commits into
mainfrom
rust/artifact-store-generic
Draft

rust(feat): artifact tools for the generic artifact store#779
evan-sift wants to merge 4 commits into
mainfrom
rust/artifact-store-generic

Conversation

@evan-sift

@evan-sift evan-sift commented Sep 4, 2026

Copy link
Copy Markdown
Collaborator

Description

Extends the artifact MCP tools for the generic artifact store exposed by sift.artifacts.v1.

  • Syncs the updated artifacts.proto (storage class, created-via surface, JSON payload, metadata, versioned links, CEL filter and order_by) and regenerates the Rust bindings. The public proto carries the stable surface; the link and discovery RPCs stay internal for now.
  • list_artifacts accepts filter (CEL) and order_by, and documents the filterable fields, enum comparisons, links.exists(...) and metadata["<key>"] forms. Results are scoped to the caller's organization.
  • create_artifact accepts storage_class (file | structured | blob), created_via (agent | canvas | upload), a structured JSON payload, metadata, and links. created_via is required by the server and defaults to agent, since the tool runs inside agent sessions. Local validation rejects payload/storage-class mismatches before any request. storage_class stays unset on append so existing artifacts keep their class.
  • download_artifact documents that structured artifacts carry their payload inline.
  • Tests cover the new parameters and rejection paths.

Existing callers of list_artifacts, create_artifact, and download_artifact keep working unchanged.

Depends on the matching server change to sift.artifacts.v1 landing first.

Verification

  • cargo fmt --all -- --check
  • cargo clippy --all-features -p sift_mcp -p sift_test_util (only the pre-existing too_many_arguments warning)
  • cargo test -p sift_mcp -p sift_test_util: 524 + 6 passed

@evan-sift evan-sift changed the title rust(feat): generic artifact store tools rust(feat): artifact tools for the generic artifact store Sep 11, 2026
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