Cloud and BYOC for Orca Agent Engine are in Private Preview — request an invite
Docs

Packages

Store versioned function, source, and sink artifacts for Orca Agent Engine on StreamNative Cloud.

A package is a versioned artifact that a function, source, or sink deploys from. Package types are function, source, and sink; each type has independent names and versions.

This resource is a StreamNative Cloud capability served under /apis/cloud.sn.io/v1. A self-hosted engine does not advertise the cloud.sn.io extension group. The ork CLI and TypeScript SDK check GET /apis and report that the capability is unavailable before sending the resource request.

Get your registry endpoint

Registry endpoint

Examples on this page target your registry endpoint - the deployment host root, with no path suffix. For CLI, set ORCA_REGISTRY_URL and exactly one of ORCA_ACCESS_TOKEN (Bearer) or ORCA_API_KEY (x-api-key). For TypeScript SDK, set ORCA_BASE_URL / ORCA_API_KEY (Bearer). To find the endpoint, see Connect to the registry.

Package fields

FieldTypeRequiredDescription
typestringYesfunction, source, or sink.
packageNamestringYesPackage name within the type.
versionstringYes for version operationsVersion identifier.
filebinaryYes for uploadFunction JAR/Python/Go artifact or source/sink NAR.
metadata.descriptionstringNoHuman-readable description.
metadata.contactstringNoOwning person or team.
metadata.propertiesobjectNoString metadata.

The CLI identifies packages with this URL form:

<type>://<package-name>[@<version>]

For example, function://word-count@1.0.0 identifies version 1.0.0 of the word-count function package.

Upload a package

ork packages upload function://word-count@1.0.0 \
  --path ./word-count.jar \
  --description "Word count function" \
  --properties team=streaming

Manage packages

OperationCLITypeScriptREST
List package namesork packages list --type function.list('function')GET /apis/cloud.sn.io/v1/packages/{type}
List versionsork packages list-versions function://word-count.listVersions(type, name)GET /apis/cloud.sn.io/v1/packages/{type}/{name}
Get metadataork packages get-metadata function://word-count@1.0.0.retrieveMetadata(type, name, version)GET .../{version}/metadata
Replace metadataork packages update-metadata ....updateMetadata(type, name, version, metadata)PUT .../{version}/metadata
Downloadork packages download ... --path <file>.download(type, name, version)GET .../{version}
Delete versionork packages delete ....delete(type, name, version)DELETE .../{version}

The current Cloud OpenAPI contract does not define response schemas for package-name lists, version lists, or metadata retrieval. The TypeScript SDK therefore returns unknown from list, listVersions, and retrieveMetadata; validate those responses before reading fields.

Deleting one version does not delete the other versions of the package.

Permissions

Treat every credential that can call the Workspace's cloud.sn.io routes as full access to its packages, and separate access with Workspaces. See Control registry access.

What's next

On this page