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
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | function, source, or sink. |
packageName | string | Yes | Package name within the type. |
version | string | Yes for version operations | Version identifier. |
file | binary | Yes for upload | Function JAR/Python/Go artifact or source/sink NAR. |
metadata.description | string | No | Human-readable description. |
metadata.contact | string | No | Owning person or team. |
metadata.properties | object | No | String 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=streamingManage packages
| Operation | CLI | TypeScript | REST |
|---|---|---|---|
| List package names | ork packages list --type function | .list('function') | GET /apis/cloud.sn.io/v1/packages/{type} |
| List versions | ork packages list-versions function://word-count | .listVersions(type, name) | GET /apis/cloud.sn.io/v1/packages/{type}/{name} |
| Get metadata | ork packages get-metadata function://word-count@1.0.0 | .retrieveMetadata(type, name, version) | GET .../{version}/metadata |
| Replace metadata | ork packages update-metadata ... | .updateMetadata(type, name, version, metadata) | PUT .../{version}/metadata |
| Download | ork packages download ... --path <file> | .download(type, name, version) | GET .../{version} |
| Delete version | ork 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.