Skip to main content

Artifacts

Library Artifacts: agent-produced deliverables (reports, dashboards, plans, PDFs, documents).

Access it as client.artifacts on a Strongly client, or the same path on AsyncStrongly with await. All methods exist on both with identical signatures.

Quick start​

from strongly import Strongly

client = Strongly()

# List (auto-paginates as you iterate) # filters: search, artifact_type, tags, producer_agent_id, producer_skill_id
for artifact in client.artifacts.list():
print(artifact.id)

Methods​

Core​

list​

list(*, search: str | None = None, artifact_type: str | None = None, tags: list[str] | None = None, producer_agent_id: str | None = None, producer_skill_id: str | None = None, limit: int | None = None) -> SyncPaginator[Artifact]

List artifacts visible to the caller, with pagination and filters.

Parameters

  • search (str | None, optional): Full-text search over title and summary.
  • artifact_type (str | None, optional): Filter by artifact type.
  • tags (list[str] | None, optional): Filter by tags.
  • producer_agent_id (str | None, optional): Restrict to artifacts produced by an agent.
  • producer_skill_id (str | None, optional): Restrict to artifacts produced by a skill.
  • limit (int | None, optional): Maximum number of items to return (default: all matching items).

Returns

  • SyncPaginator[Artifact]: A paginator yielding Artifact objects.

create​

create(*, title: str, artifact_type: str, content_type: str, content: str, summary: str | None = None, tags: Sequence[str] | None = None) -> Artifact

Create an artifact.

Parameters

  • title (str): Human-readable artifact title.
  • artifact_type (str): The artifact type (e.g. report, dashboard).
  • content_type (str): MIME content type of the payload.
  • content (str): The artifact payload (base64 for binary, plain string for text).
  • summary (str | None, optional): Optional short summary.
  • tags (Sequence[str] | None, optional): Optional tags.

Returns

  • Artifact: The created Artifact.

retrieve​

retrieve(artifact_id: str) -> Artifact

Retrieve a single artifact by id.

update​

update(artifact_id: str, *, title: str | None = None, summary: str | None = None, tags: Sequence[str] | None = None) -> Artifact

Update editable artifact metadata (title, summary, tags).

delete​

delete(artifact_id: str) -> None

Delete an artifact. Raises on failure; returns nothing.

Other​

add_member​

add_member(resource_id: str, *, user_id: str, role: str) -> Permissions

Share the resource with a user.

Parameters

  • resource_id (str): The resource's id.
  • user_id (str): The user to share it with.
  • role (str): "editor" (use and change it) or "user" (use it only; types without a use-only tier, such as knowledge bases, take "editor" only).

download_url​

download_url(artifact_id: str, *, ttl_seconds: int | None = None) -> ArtifactDownloadUrl

Return a short-lived pre-signed URL for the artifact content.

Default TTL is 5 minutes; pass ttl_seconds up to 900 (15 minutes) when the downstream consumer needs longer.

list_versions​

list_versions(artifact_id: str) -> list[ArtifactVersion]

List an artifact's versions, newest first (each save of new content adds one).

permissions​

permissions(resource_id: str) -> Permissions

Return who can reach the resource: its owner, members and their roles, and visibility.

Parameters

  • resource_id (str): The resource's id.

refresh_size​

refresh_size(artifact_id: str) -> Artifact

Re-read the S3 object size and refresh contentSizeBytes (idempotent).

remove_member​

remove_member(resource_id: str, user_id: str) -> None

Stop sharing the resource with a user.

Parameters

  • resource_id (str): The resource's id.
  • user_id (str): The user to stop sharing it with.

restore_version​

restore_version(artifact_id: str, version_number: int) -> Artifact

Restore an earlier version: a new version with its content is added, history is kept.

set_visibility​

set_visibility(resource_id: str, visibility: str) -> Permissions

Make the resource public (every user can find and use it) or private.

Parameters

  • resource_id (str): The resource's id.
  • visibility (str): "public" or "private".