← Back to packages

Package intrinsic_proto.assets.v1

Service InstalledAssets

Service InstalledAssetsReader

Message Asset

Message Asset

Message AssetEdge

Message AssetGraph

Message AssetNode

Message BatchGetInstalledAssetsRequest

Message BatchGetInstalledAssetsResponse

Message CatalogAsset

Message Configuration

Message CreateInstalledAssetMetadata

Message CreateInstalledAssetRequest

Message CreateInstalledAssetsMetadata

Message CreateInstalledAssetsRequest

Message CreateInstalledAssetsResponse

Message Data

Message DataDeploymentData

Message DataMetadata

Message DeleteInstalledAssetMetadata

Message DeleteInstalledAssetRequest

Message DeleteInstalledAssetsMetadata

Message DeleteInstalledAssetsRequest

Message Dependency

Message DeploymentData

Message Filter

Message GetInstalledAssetRequest

Message Grpc

Message GrpcConnection

Message HardwareDeviceMetadata

Message InstalledAsset

Message Interface

Message ListInstalledAssetsRequest

Message ListInstalledAssetsResponse

Message LocalAsset

Message Metadata

Message Object

Message ObjectConstraint

Message ProcessDeploymentData

Message ResolvedDependency

Message SceneObjectDeploymentData

Message ServiceMetadata

Message SkillAnnotations

Message SkillMetadata

Enum DeletePolicy

Enum OrderBy

Enum Policy

Enum UpdatePolicy

Services

service InstalledAssets intrinsic/assets/proto/installed_assets.proto

Service to manage the installation of assets.

service InstalledAssetsReader intrinsic/assets/proto/installed_assets.proto

A read-only version of InstalledAssets, for contexts in which the solution definition should not be modified.

Messages

message Asset (Nested in intrinsic_proto.assets.v1.CreateInstalledAssetRequest ) intrinsic/assets/proto/installed_assets.proto

Field Type Description
oneof variant
1 catalog intrinsic_proto.assets.IdVersion
2 service intrinsic_proto.services.ProcessedServiceManifest
3 scene_object intrinsic_proto.scene_objects.ProcessedSceneObjectManifest
4 skill intrinsic_proto.skills.ProcessedSkillManifest
5 data intrinsic_proto.data.v1.DataAsset
6 hardware_device intrinsic_proto.hardware_devices.v1.ProcessedHardwareDeviceManifest
7 process intrinsic_proto.processes.ProcessAsset

In addition to some fields in the asset metadata, the following derived fields will get updated automatically during the create request: - [ProcessAsset.behavior_tree.description.id_version] - [ProcessAsset.behavior_tree.description.sideloaded] This only applies to Process assets created via this variant and not when using, e.g., 'variant.catalog'.

message Asset (Nested in intrinsic_proto.assets.v1.CreateInstalledAssetsRequest ) intrinsic/assets/proto/installed_assets.proto

Field Type Description
oneof variant
1 catalog intrinsic_proto.assets.IdVersion
2 service intrinsic_proto.services.ProcessedServiceManifest
3 scene_object intrinsic_proto.scene_objects.ProcessedSceneObjectManifest
4 skill intrinsic_proto.skills.ProcessedSkillManifest
5 data intrinsic_proto.data.v1.DataAsset
6 hardware_device intrinsic_proto.hardware_devices.v1.ProcessedHardwareDeviceManifest
7 process intrinsic_proto.processes.ProcessAsset

In addition to some fields in the asset metadata, the following derived fields will get updated automatically during the create request: - [ProcessAsset.behavior_tree.description.id_version] - [ProcessAsset.behavior_tree.description.sideloaded] This only applies to Process assets created via this variant and not when using, e.g., 'variant.catalog'.

message AssetEdge intrinsic/assets/proto/v1/asset_graph.proto

An edge between two asset nodes in an AssetGraph.

Field Type Description
1 source string

The name of the source asset node.

2 target string

The name of the target asset node.

oneof edge_type
3 configures intrinsic_proto.assets.v1.AssetEdge.Configuration

An edge from a Data asset to an asset configured by the Data payload's proto message type.

This edge type is used to provide a suggested configuration for the target asset.

message AssetGraph intrinsic/assets/proto/v1/asset_graph.proto

A directed acyclic graph of assets.

Field Type Description
1 nodes map<string, AssetNode>

A map from node names to asset nodes.

Node names are used to define edges and can be used for other purposes, such as to auto-generate asset instance names in a solution.

2 edges repeated intrinsic_proto.assets.v1.AssetEdge

May not entail cycles.

message AssetNode intrinsic/assets/proto/v1/asset_graph.proto

A node in an AssetGraph.

Field Type Description
1 asset string

The ID of the asset assigned to this node. The asset itself is defined elsewhere. E.g., if this graph is part of a HardwareDeviceManifest, then this value corresponds to the key of the asset in the HardwareDeviceManifest.assets map.

message BatchGetInstalledAssetsRequest intrinsic/assets/proto/installed_assets.proto

Field Type Description
1 ids repeated intrinsic_proto.assets.Id
2 view intrinsic_proto.catalog.AssetViewType

message BatchGetInstalledAssetsResponse intrinsic/assets/proto/installed_assets.proto

Field Type Description
1 installed_assets repeated intrinsic_proto.assets.v1.InstalledAsset

message CatalogAsset intrinsic/assets/proto/v1/reference.proto

Field Type Description
1 asset_type intrinsic_proto.assets.AssetType
2 id_version intrinsic_proto.assets.IdVersion

message Configuration (Nested in intrinsic_proto.assets.v1.AssetEdge ) intrinsic/assets/proto/v1/asset_graph.proto

Field Type Description

message CreateInstalledAssetMetadata intrinsic/assets/proto/installed_assets.proto

Field Type Description

message CreateInstalledAssetRequest intrinsic/assets/proto/installed_assets.proto

Field Type Description
1 asset intrinsic_proto.assets.v1.CreateInstalledAssetRequest.Asset
2 policy intrinsic_proto.assets.v1.UpdatePolicy

message CreateInstalledAssetsMetadata intrinsic/assets/proto/installed_assets.proto

Field Type Description

message CreateInstalledAssetsRequest intrinsic/assets/proto/installed_assets.proto

Field Type Description
1 assets repeated intrinsic_proto.assets.v1.CreateInstalledAssetsRequest.Asset
2 policy intrinsic_proto.assets.v1.UpdatePolicy

message CreateInstalledAssetsResponse intrinsic/assets/proto/installed_assets.proto

Field Type Description
1 installed_assets repeated intrinsic_proto.assets.v1.InstalledAsset

The description of the installed assets, in the order requested for installation.

message Data (Nested in intrinsic_proto.assets.v1.ResolvedDependency.Interface ) intrinsic/assets/proto/v1/resolved_dependency.proto

Field Type Description
1 id intrinsic_proto.assets.Id

The ID of the Data Asset that fulfills this dependency.

This can be used to retrieve the Data Asset from the DataAssets service.

message DataDeploymentData (Nested in intrinsic_proto.assets.v1.InstalledAsset ) intrinsic/assets/proto/installed_assets.proto

Field Type Description
1 data intrinsic_proto.data.v1.DataAsset

message DataMetadata (Nested in intrinsic_proto.assets.v1.InstalledAsset ) intrinsic/assets/proto/installed_assets.proto

Field Type Description
1 proto_name string

The fully qualified proto name of the data payload. Deprecated: Please use the provides field in the metadata.

message DeleteInstalledAssetMetadata intrinsic/assets/proto/installed_assets.proto

Field Type Description

message DeleteInstalledAssetRequest intrinsic/assets/proto/installed_assets.proto

Field Type Description
1 asset intrinsic_proto.assets.Id
2 policy intrinsic_proto.assets.v1.DeletePolicy

message DeleteInstalledAssetsMetadata intrinsic/assets/proto/installed_assets.proto

Field Type Description

message DeleteInstalledAssetsRequest intrinsic/assets/proto/installed_assets.proto

Field Type Description
1 assets repeated intrinsic_proto.assets.Id
2 policy intrinsic_proto.assets.v1.DeleteInstalledAssetsRequest.Policy

message Dependency intrinsic/assets/proto/v1/dependency.proto

Field Type Description
1 requires repeated string

The interface URIs (protocol + fully qualified name) this instance or Asset must provide.

Example of a gRPC interface URI: - grpc://intrinsic_proto.motion_planning.MotionPlannerService

Example of a data interface URI: - data://intrinsic_proto.perception.v1.PoseEstimationConfig

2 requires_object optional intrinsic_proto.assets.v1.Dependency.ObjectConstraint

Constraint on an object from the world that the dependency must provide. Omitting this implies that an object is not required to satisfy this dependency.

oneof asset_specific_annotations
3 skill_annotations intrinsic_proto.assets.v1.Dependency.SkillAnnotations

message DeploymentData (Nested in intrinsic_proto.assets.v1.InstalledAsset ) intrinsic/assets/proto/installed_assets.proto

Field Type Description
oneof variant
1 data intrinsic_proto.assets.v1.InstalledAsset.DataDeploymentData
2 scene_object intrinsic_proto.assets.v1.InstalledAsset.SceneObjectDeploymentData
3 process intrinsic_proto.assets.v1.InstalledAsset.ProcessDeploymentData

message Filter (Nested in intrinsic_proto.assets.v1.ListInstalledAssetsRequest ) intrinsic/assets/proto/installed_assets.proto

Field Type Description
1 asset_type optional intrinsic_proto.assets.AssetType

Deprecated: use asset_types instead.

2 asset_types repeated intrinsic_proto.assets.AssetType

Filter assets by type (OR).

3 provides repeated string

Filter by assets that provide all of the specified interfaces (exact match).

The nature of the interface depends on the asset type, but is always represented as a string. For example, a Data asset provides a proto of a specific type, and its "interface" is the fully qualified name of that proto. A Service can provide a gRPC service, and its "interface" is the fully qualified proto prefix of that gRPC service.

4 asset_tag optional intrinsic_proto.assets.AssetTag

Filter assets by asset tag.

message GetInstalledAssetRequest intrinsic/assets/proto/installed_assets.proto

Field Type Description
1 id intrinsic_proto.assets.Id
2 view intrinsic_proto.catalog.AssetViewType

message Grpc (Nested in intrinsic_proto.assets.v1.ResolvedDependency.Interface ) intrinsic/assets/proto/v1/resolved_dependency.proto

Field Type Description
1 connection intrinsic_proto.assets.v1.GrpcConnection

The information required to connect to a gRPC service within the cluster.

message GrpcConnection intrinsic/assets/proto/v1/grpc_connection.proto

GrpcConnection defines the requirements to be able to establish a gRPC connection to a service. This is typically done within some context, such as within the cluster, that should be documented where this is used.

Field Type Description
1 address string

Address of the gRPC service (e.g. localhost:8080).

2 metadata repeated intrinsic_proto.assets.v1.GrpcConnection.Metadata

Metadata to be included in the gRPC requests. This is required by some infrastructure to correctly route to the expected server. HTTP allows for keys to be repeated.

message HardwareDeviceMetadata (Nested in intrinsic_proto.assets.v1.InstalledAsset ) intrinsic/assets/proto/installed_assets.proto

Field Type Description
1 service_proto_prefixes repeated string

The list of gRPC services that the HardwareDevice exposes. Deprecated: Please use the provides field in the metadata.

2 service_inspection_config optional intrinsic_proto.services.v1.ServiceInspectionConfig

The inspection config for the HardwareDevice. Optional since not all HardwareDevice support inspection.

message InstalledAsset intrinsic/assets/proto/installed_assets.proto

Field Type Description
1 metadata intrinsic_proto.assets.Metadata
2 deployment_data intrinsic_proto.assets.v1.InstalledAsset.DeploymentData
oneof asset_specific_metadata
3 service_specific_metadata intrinsic_proto.assets.v1.InstalledAsset.ServiceMetadata
4 data_specific_metadata intrinsic_proto.assets.v1.InstalledAsset.DataMetadata
5 hardware_device_specific_metadata intrinsic_proto.assets.v1.InstalledAsset.HardwareDeviceMetadata
6 skill_specific_metadata intrinsic_proto.assets.v1.InstalledAsset.SkillMetadata

message Interface (Nested in intrinsic_proto.assets.v1.ResolvedDependency ) intrinsic/assets/proto/v1/resolved_dependency.proto

Field Type Description
oneof protocol
1 grpc intrinsic_proto.assets.v1.ResolvedDependency.Interface.Grpc
2 data intrinsic_proto.assets.v1.ResolvedDependency.Interface.Data

message ListInstalledAssetsRequest intrinsic/assets/proto/installed_assets.proto

Field Type Description
1 page_size int64
2 page_token string
3 strict_filter optional intrinsic_proto.assets.v1.ListInstalledAssetsRequest.Filter
4 order_by intrinsic_proto.assets.v1.OrderBy

Order by which to sort the assets.

5 sort_descending bool

If true, sort assets in descending order.

6 view intrinsic_proto.catalog.AssetViewType

message ListInstalledAssetsResponse intrinsic/assets/proto/installed_assets.proto

Field Type Description
1 installed_assets repeated intrinsic_proto.assets.v1.InstalledAsset
2 next_page_token string

Pass this token to the subsequent list request to obtain the next page.

message LocalAsset intrinsic/assets/proto/v1/reference.proto

Field Type Description
1 asset_type intrinsic_proto.assets.AssetType
2 id intrinsic_proto.assets.Id
3 bundle_path string

message Metadata (Nested in intrinsic_proto.assets.v1.GrpcConnection ) intrinsic/assets/proto/v1/grpc_connection.proto

Field Type Description
1 key string

The key for the metadata.

2 value string

The value to be associated with that key.

message Object (Nested in intrinsic_proto.assets.v1.ResolvedDependency ) intrinsic/assets/proto/v1/resolved_dependency.proto

Field Type Description
1 name string

Identifier for an object from the world.

The name can be used to retrieve the world object, for example, from the ObjectWorldClient, using the GetObject (in C++) or get_object (in Python) method.

message ObjectConstraint (Nested in intrinsic_proto.assets.v1.Dependency ) intrinsic/assets/proto/v1/dependency.proto

Field Type Description

message ProcessDeploymentData (Nested in intrinsic_proto.assets.v1.InstalledAsset ) intrinsic/assets/proto/installed_assets.proto

Field Type Description
1 process intrinsic_proto.processes.ProcessAsset

message ResolvedDependency intrinsic/assets/proto/v1/resolved_dependency.proto

ResolvedDependency models a dependency from one Asset to interfaces provided by another, or to an Asset that has an object in the world, or to some combination of both.

An Asset declares its dependencies by defining a field of this type in its configuration and annotating the field with the dependency field option (see example below).

For Assets depending on interfaces provided by other Assets, only gRPC and data interfaces are supported currently. These can be specified in the field annotation in a URI format (see linked example below).

A user fulfills a dependency by setting the name field as either the Asset ID for Assets that do not support instances, or as the instance name of the Asset that provides the required interfaces/object.

Based on the name, the platform populates the interfaces map and the object field with the necessary information to enable the dependent Asset to communicate with the provider.

Any error encountered during dependency resolution, for example, an invalid Asset ID for the data asset provided through the name field, would not add an interface to the interfaces map for that dependency.

Usage information:

Assets specifying dependencies in their configuration should use the ResolvedDependency message to specify the dependency, and annotate the field with the dependency field option.

An example would be:

message ExampleConfigOrParams {
  // Presumed to be required.
  intrinsic_proto.assets.v1.ResolvedDependency motion_planner = 1
      [(intrinsic_proto.assets.field_metadata).dependency = {
        requires:
        "grpc://intrinsic_proto.motion_planning.MotionPlannerService",
      }];

  // Presumed to be optional.
  optional intrinsic_proto.assets.v1.ResolvedDependency camera_with_io = 2
      [(intrinsic_proto.assets.field_metadata).dependency = {
        requires: "grpc://intrinsic_proto.perception.v1.CameraService",
        requires: "grpc://intrinsic_proto.gpio.v1.GPIOService",
        requires_object: {},
      }];

  // Presumed to allow zero to many.
  repeated intrinsic_proto.assets.v1.ResolvedDependency estimators = 3
      [(intrinsic_proto.assets.field_metadata).dependency = {
        requires:
        "data://intrinsic_proto.perception.v1.PoseEstimationConfig",
      }];
}
Field Type Description
1 name string

An identifier for the Asset that fulfills this dependency.

For Assets that support the creation of instances, this will be the instance name of that Asset. For Data Assets, this will be the ID of the Data Asset.

This field may be empty to some consumers of the asset if the dependency is resolved. In this case, the interfaces and/or objects fields will be populated instead.

2 interfaces map<string, Interface>

Information about the interfaces required by this dependency. The key is the URI of the interface, and the value is the associated information required to use the interface.

3 object optional intrinsic_proto.assets.v1.ResolvedDependency.Object

Object from the world that is used to resolve this dependency. This will be empty if the dependency does not depend on an object.

message SceneObjectDeploymentData (Nested in intrinsic_proto.assets.v1.InstalledAsset ) intrinsic/assets/proto/installed_assets.proto

Field Type Description
1 manifest intrinsic_proto.scene_objects.ProcessedSceneObjectManifest

message ServiceMetadata (Nested in intrinsic_proto.assets.v1.InstalledAsset ) intrinsic/assets/proto/installed_assets.proto

Field Type Description
1 service_proto_prefixes repeated string

The list of gRPC services that the Service exposes. Deprecated: Please use the provides field in the metadata.

2 service_inspection_config optional intrinsic_proto.services.v1.ServiceInspectionConfig

The inspection config for the service. Optional since not all services support inspection.

message SkillAnnotations (Nested in intrinsic_proto.assets.v1.Dependency ) intrinsic/assets/proto/v1/dependency.proto

Field Type Description
1 always_provide_connection_info bool

Skills depending on gRPC interfaces can set this to true to indicate that connection information should be provided to all Skill contexts, such as during preview and get_footprint.

Having this value unset or false would imply that connection information to gRPC services will only be provided in the ExecuteContext of the Skill.

WARNING: Setting this value to true can enable the Skill to communicate with Services that interact with the real world (e.g., manipulate hardware) during preview or get_footprint modes.

ONLY set this flag to true if you are sure that the Skill will never interact with the real world during preview. When in doubt, leave it false.

message SkillMetadata (Nested in intrinsic_proto.assets.v1.InstalledAsset ) intrinsic/assets/proto/installed_assets.proto

Field Type Description
1 details intrinsic_proto.skills.SkillDetails

Enums

enum DeletePolicy intrinsic/assets/proto/installed_assets.proto

Name Number Description
POLICY_UNSPECIFIED 0

Use a default policy, which may change with platform updates.

POLICY_REJECT_USED 10

Reject a request to delete an asset that is currently in use.

enum OrderBy intrinsic/assets/proto/v1/search.proto

Name Number Description
ORDER_BY_UNSPECIFIED 0

Unspecified. Defaults to ORDER_BY_DISPLAY_NAME.

ORDER_BY_DISPLAY_NAME 1
ORDER_BY_ID 2

enum Policy intrinsic/assets/proto/installed_assets.proto

Name Number Description
POLICY_UNSPECIFIED 0

Use a default policy, which may change with platform updates.

POLICY_REJECT_USED 10

Reject a request to delete an asset that is currently in use.

enum UpdatePolicy intrinsic/assets/proto/installed_assets.proto

Name Number Description
UPDATE_POLICY_UNSPECIFIED 0

Use a default policy, which may change with platform updates.

UPDATE_POLICY_ADD_NEW_ONLY 10

Only add new assets to the solution and reject any that would trigger an update of any installed asset.

UPDATE_POLICY_UPDATE_UNUSED 20

Only update assets if they are currently unused.

UPDATE_POLICY_UPDATE_COMPATIBLE 50

Only update assets if all are considered reasonably compatible. This may allow backwards incompatible changes if it will not cause problems for the solution. If an asset is unused, then any update will be allow.