Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions .github/workflows/sdk_protos_map.csv
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ arm,Stop,,stop,Stop,stop,stop
arm,GetGeometries,,get_geometries,Geometries,,getGeometries
arm,Reconfigure,,,Reconfigure,,
arm,DoCommand,,do_command,DoCommand,doCommand,doCommand
arm,GetStatus,,get_status,,getStatus,getStatus
arm,GetResourceName,,get_resource_name,Name,getResourceName,name
arm,Close,,close,Close,,

Expand All @@ -23,6 +24,7 @@ audio_in,GetProperties,,get_properties,Properties,getProperties,getProperties
audio_in,GetGeometries,,get_geometries,,,
audio_in,Reconfigure,,,Reconfigure,,
audio_in,DoCommand,,do_command,DoCommand,doCommand,doCommand
audio_in,GetStatus,,get_status,,getStatus,getStatus
audio_in,GetResourceName,,get_resource_name,Name,,name
audio_in,Close,,close,Close,,

Expand All @@ -33,6 +35,7 @@ audio_out,GetProperties,,get_properties,Properties,getProperties,getProperties
audio_out,GetGeometries,,get_geometries,,,
audio_out,Reconfigure,,,Reconfigure,,
audio_out,DoCommand,,do_command,DoCommand,doCommand,doCommand
audio_out,GetStatus,,get_status,,getStatus,getStatus
audio_out,GetResourceName,,get_resource_name,Name,,name
audio_out,Close,,close,Close,,

Expand All @@ -48,6 +51,7 @@ base,Stop,Yes,stop,Stop,stop,stop
base,GetGeometries,No,get_geometries,Geometries,,getGeometries
base,Reconfigure,No,,Reconfigure,,
base,DoCommand,Yes,do_command,DoCommand,doCommand,doCommand
base,GetStatus,No,get_status,,getStatus,getStatus
base,GetResourceName,No,get_resource_name,Name,getResourceName,name
base,Close,No,close,Close,,

Expand All @@ -73,13 +77,15 @@ board,GPIOPinByName,No,gpio_pin_by_name,GPIOPinByName,,
board,GetGeometries,No,get_geometries,,,
board,Reconfigure,No,,Reconfigure,,
board,DoCommand,Yes,do_command,DoCommand,doCommand,doCommand
board,GetStatus,No,get_status,,getStatus,getStatus
board,GetResourceName,No,get_resource_name,Name,getResourceName,name
board,Close,No,close,Close,,

## Button
button,Push,Yes,push,Push,push,push
button,Reconfigure,No,,Reconfigure,,
button,DoCommand,Yes,do_command,DoCommand,doCommand,doCommand
button,GetStatus,No,get_status,,getStatus,getStatus
button,GetResourceName,No,get_resource_name,Name,getResourceName,name
button,Close,No,close,Close,,

Expand All @@ -89,6 +95,7 @@ camera,GetPointCloud,,get_point_cloud,NextPointCloud,pointCloud,getPointCloud
camera,GetProperties,,get_properties,Properties,properties,getProperties
## TED: Camera in Go SDK doesn't appear to implement (inherit) these:
camera,DoCommand,,do_command,DoCommand,doCommand,doCommand
camera,GetStatus,,get_status,,getStatus,getStatus
camera,GetGeometries,,get_geometries,Geometries,,getGeometries
## HACK: proto for close, manually mapping:
camera,GetResourceName,,get_resource_name,Name,getResourceName,name
Expand All @@ -102,6 +109,7 @@ encoder,GetGeometries,No,get_geometries,,,
## HACK: No proto for these (and/or inherited in Go SDK), manually mapping:
encoder,Reconfigure,No,,Reconfigure,,
encoder,DoCommand,Yes,do_command,DoCommand,,doCommand
encoder,GetStatus,No,get_status,,,getStatus
encoder,GetResourceName,No,get_resource_name,Name,,name
encoder,Close,No,close,Close,,

Expand All @@ -117,6 +125,7 @@ gantry,IsMoving,,is_moving,IsMoving,isMoving,isMoving
gantry,Stop,,stop,Stop,stop,stop
gantry,Reconfigure,,,Reconfigure,,
gantry,DoCommand,,do_command,DoCommand,doCommand,doCommand
gantry,GetStatus,,get_status,,getStatus,getStatus
gantry,GetKinematics,,get_kinematics,Kinematics,,
gantry,GetResourceName,,get_resource_name,Name,getResourceName,name
gantry,Close,,close,Close,,
Expand All @@ -125,6 +134,7 @@ gantry,Close,,close,Close,,
## NOTED:Generic Component in Go SDK doesn't appear to implement (inherit) these:
generic_component,GetGeometries,No,get_geometries,,,getGeometries
generic_component,DoCommand,Yes,do_command,DoCommand,doCommand,doCommand
generic_component,GetStatus,No,get_status,,getStatus,getStatus
## HACK: No proto for close, manually mapping:
## NOTED: Go SDK also missing Close, but we have it in our docs?:
generic_component,GetResourceName,No,get_resource_name,Name,getResourceName,name
Expand All @@ -142,6 +152,7 @@ gripper,GetCurrentInputs,,get_current_inputs,CurrentInputs,,getCurrentInputs
gripper,GoToInputs,,go_to_inputs,GoToInputs,,goToInputs
gripper,Reconfigure,,,Reconfigure,,
gripper,DoCommand,,do_command,DoCommand,doCommand,doCommand
gripper,GetStatus,,get_status,,getStatus,getStatus
gripper,GetKinematics,,get_kinematics,Kinematics,getKinematics,
gripper,GetResourceName,,get_resource_name,Name,getResourceName,name
gripper,Close,,close,Close,,
Expand All @@ -158,6 +169,7 @@ input_controller,RegisterControlCallback,,register_control_callback,RegisterCont
## HACK: proto for these (and/or inherited in Go SDK), manually mapping:
input_controller,Reconfigure,,,Reconfigure,,
input_controller,DoCommand,,do_command,DoCommand,,
input_controller,GetStatus,,get_status,,,getStatus
input_controller,GetResourceName,,get_resource_name,Name,,name
input_controller,Close,,close,Close,,

Expand All @@ -178,6 +190,7 @@ motor,GetGeometries,No,get_geometries,,,
motor,Reconfigure,No,,Reconfigure,,
# NOT implemented in other languages
motor,DoCommand,,do_command,DoCommand,doCommand,doCommand
motor,GetStatus,No,get_status,,getStatus,getStatus
motor,GetResourceName,No,get_resource_name,Name,getResourceName,name
motor,Close,No,close,Close,,

Expand All @@ -196,6 +209,7 @@ movement_sensor,GetGeometries,No,get_geometries,,,
movement_sensor,GetReadings,Yes,get_readings,Readings,readings,getReadings
movement_sensor,Reconfigure,No,,Reconfigure,,
movement_sensor,DoCommand,Yes,do_command,DoCommand,doCommand,doCommand
movement_sensor,GetStatus,No,get_status,,getStatus,getStatus
movement_sensor,GetResourceName,No,get_resource_name,Name,getResourceName,name
movement_sensor,Close,No,close,Close,,

Expand All @@ -210,6 +224,7 @@ power_sensor,GetReadings,,get_readings,Readings,readings,getReadings
## HACK: proto for these (and/or inherited in Go SDK), manually mapping:
power_sensor,Reconfigure,,,Reconfigure,,
power_sensor,DoCommand,,do_command,DoCommand,doCommand,doCommand
power_sensor,GetStatus,,get_status,,getStatus,getStatus
power_sensor,GetResourceName,,get_resource_name,Name,getResourceName,name
power_sensor,Close,,close,Close,,

Expand All @@ -221,6 +236,7 @@ sensor,GetGeometries,,get_geometries,,,
sensor,Reconfigure,No,,Reconfigure,,
# NOT implemented in other languages
sensor,DoCommand,,do_command,DoCommand,doCommand,doCommand
sensor,GetStatus,No,get_status,,getStatus,getStatus
sensor,GetResourceName,No,get_resource_name,Name,getResourceName,name
sensor,Close,No,close,Close,,

Expand All @@ -235,6 +251,7 @@ servo,GetGeometries,No,get_geometries,,,
servo,Reconfigure,No,,Reconfigure,,
# NOT implemented in other languages
servo,DoCommand,,do_command,DoCommand,doCommand,doCommand
servo,GetStatus,No,get_status,,getStatus,getStatus
servo,GetResourceName,No,get_resource_name,Name,getResourceName,name
servo,Close,No,close,Close,,

Expand All @@ -243,6 +260,7 @@ switch,SetPosition,Yes,set_position,SetPosition,,setPosition
switch,GetPosition,Yes,get_position,GetPosition,,getPosition
switch,GetNumberOfPositions,Yes,get_number_of_positions,GetNumberOfPositions,,getNumberOfPositions
switch,DoCommand,Yes,do_command,DoCommand,,doCommand
switch,GetStatus,No,get_status,,,getStatus
switch,GetResourceName,No,get_resource_name,Name,,name
switch,Close,No,close,Close,,

Expand All @@ -261,12 +279,14 @@ data_manager,UploadBinaryDataToDatasets,No,,UploadBinaryDataToDatasets,,uploadBi
## HACK: No proto for these (and/or inherited in Go SDK), manually mapping:
data_manager,Reconfigure,No,,Reconfigure,,
data_manager,DoCommand,No,,DoCommand,,doCommand
data_manager,GetStatus,No,,,,getStatus
data_manager,GetResourceName,No,,Name,,name
data_manager,Close,No,,Close,,

## Generic Service
## TED:Generic Component in Go SDK doesn't appear to implement (inherit) these:
generic_service,DoCommand,,do_command,DoCommand,doCommand,doCommand
generic_service,GetStatus,,get_status,,getStatus,getStatus
## HACK: proto for close, manually mapping:
## TED: Go SDK also missing Close, but we have it in our docs?:
generic_service,GetResourceName,,get_resource_name,Name,getResourceName,name
Expand All @@ -278,6 +298,7 @@ mlmodel,Metadata,,metadata,Metadata,,
## HACK: proto for DoCommand or Close (and/or inherited in Go SDK), manually mapping:
mlmodel,Reconfigure,,,Reconfigure,,
mlmodel,DoCommand,,,DoCommand,,
mlmodel,GetStatus,,get_status,,,
mlmodel,GetResourceName,,get_resource_name,Name,,
mlmodel,Close,,close,Close,,

Expand All @@ -293,6 +314,7 @@ motion,GetPlan,,get_plan,PlanHistory,,getPlan
motion,Reconfigure,,,Reconfigure,,
motion,FromRobot,,from_robot,,,
motion,DoCommand,,do_command,DoCommand,,doCommand
motion,GetStatus,,get_status,,,getStatus
motion,GetResourceName,,get_resource_name,Name,,name
motion,Close,,close,Close,,

Expand All @@ -310,6 +332,7 @@ slam,PointCloudMapFull,,,PointCloudMapFull,,
## HACK: proto for these (and/or inherited in Go SDK), manually mapping:
slam,Reconfigure,,,Reconfigure,,
slam,DoCommand,,do_command,DoCommand,,doCommand
slam,GetStatus,,get_status,,,getStatus
slam,GetResourceName,,get_resource_name,Name,,name
slam,Close,,close,Close,,

Expand All @@ -323,6 +346,7 @@ vision,CaptureAllFromCamera,,capture_all_from_camera,CaptureAllFromCamera,,captu
## HACK: proto for these (and/or inherited in Go SDK), manually mapping:
vision,Reconfigure,,,Reconfigure,,
vision,DoCommand,,do_command,DoCommand,doCommand,doCommand
vision,GetStatus,,get_status,,getStatus,getStatus
vision,GetResourceName,,get_resource_name,Name,getResourceName,name
vision,GetProperties,,get_properties,GetProperties,properties,getProperties
vision,Close,,close,Close,,
Expand All @@ -332,6 +356,7 @@ world_state_store,ListUUIDs,,list_uuids,,,listUUIDs
world_state_store,GetTransform,,get_transform,,,getTransform
world_state_store,StreamTransformChanges,,stream_transform_changes,,,streamTransformChanges
world_state_store,DoCommand,,do_command,,,doCommand
world_state_store,GetStatus,,get_status,,,getStatus
world_state_store,GetResourceName,,get_resource_name,,,name
world_state_store,Close,,close,,,

Expand Down Expand Up @@ -488,6 +513,7 @@ data_sync,StreamingDataCaptureUpload,,streaming_data_capture_upload,,streamingDa
discovery,DiscoverResources,,discover_resources,DiscoverResources,discoverResources,discoverResources
discovery,GetResourceName,,get_resource_name,Name,getResourceName,name
discovery,DoCommand,,do_command,DoCommand,doCommand,doCommand
discovery,GetStatus,,get_status,,getStatus,getStatus
discovery,Close,,close,Close,,

## MLTraining
Expand Down
35 changes: 19 additions & 16 deletions .github/workflows/update_sdk_methods.py
Original file line number Diff line number Diff line change
Expand Up @@ -354,7 +354,7 @@
"organization settings page": "/manage/reference/organize/",
"image tags": "/data-ai/train/create-dataset/#label-your-images",
"API key": "/fleet/cli/#authenticate",
"board model": "/dev/reference/apis/components/board/"
"board model": "/reference/apis/components/board/"
}

## Map sdk language to specific code fence formatting syntax for that language:
Expand Down Expand Up @@ -459,7 +459,7 @@ def get_proto_apis():

## Link matching text, used in write_markdown():
## NOTE: Currently does not support formatting for link titles
## (EXAMPLE: bolded DATA tab here: https://docs.viam.com/dev/reference/apis/data-client/#binarydatabyfilter)
## (EXAMPLE: bolded DATA tab here: https://docs.viam.com/reference/apis/data-client/#binarydatabyfilter)
def link_description(format_type, full_description, link_text, link_url):

## Supports 'md' link styling or 'html' link styling.
Expand Down Expand Up @@ -771,7 +771,7 @@ def check_for_unused_methods(methods, type):
if not "used" in methods[lang][type][resource][method].keys():
if resource in ["data_sync", "dataset", "data"]:
continue
if lang == "python" and method not in ["from_robot", "close", "get_resource_name", "get_geometries", "do_command", "proto", "transform", "updated_fields", "ListUUIDs", "GetTransform", "StreamTransformChanges", "DoCommand"] or \
if lang == "python" and method not in ["from_robot", "close", "get_resource_name", "get_geometries", "do_command", "proto", "transform", "updated_fields", "ListUUIDs", "GetTransform", "StreamTransformChanges", "DoCommand", "GetStatus"] or \
lang == "go" and method not in ["Reconfigure", "ListTunnels", "Close", "DoCommand", "CurrentPosition", "AddTagsToBinaryDataByFilter", "RemoveTagsFromBinaryDataByFilter"] or \
lang == "flutter" and method not in ["getResources", "getStream", "getStreamOptions", "resetStreamOptions", "setStreamOptions", "Discovery.fromProto", "addCallbacks", "getResource"] or \
lang == "typescript" and method not in ["connect", "disconnect", "dial", "isConnected", "discoverComponents", "createServiceClient", "getRoverRentalRobots", "doCommand"]:
Expand Down Expand Up @@ -930,31 +930,31 @@ def write_markdown(type, names, methods):
if type == 'component':
## Replace underscores, and convert generic_component to just generic:
resource_adjusted = resource.replace('generic_component', 'generic').replace('_','-')
proto_anchor_link = '/dev/reference/apis/components/' + resource_adjusted + '/#' + proto_link
proto_anchor_link = '/reference/apis/components/' + resource_adjusted + '/#' + proto_link
elif type == 'service' and resource in ['base_remote_control', 'motion', 'slam', 'vision']:
proto_anchor_link = '/dev/reference/apis/services/' + resource.replace('base_remote_control', 'base-rc') + '/#' + proto_link
proto_anchor_link = '/reference/apis/services/' + resource.replace('base_remote_control', 'base-rc') + '/#' + proto_link
elif type == 'service' and resource == 'data_manager':
proto_anchor_link = '/dev/reference/apis/services/data/#' + proto_link
proto_anchor_link = '/reference/apis/services/data/#' + proto_link
elif type == 'service' and resource == 'discovery':
proto_anchor_link = '/dev/reference/apis/services/discovery/#' + proto_link
proto_anchor_link = '/reference/apis/services/discovery/#' + proto_link
elif type == 'service' and resource == 'generic_service':
proto_anchor_link = '/dev/reference/apis/services/generic/#' + proto_link
proto_anchor_link = '/reference/apis/services/generic/#' + proto_link
elif type == 'service' and resource == 'audio_in':
proto_anchor_link = '/dev/reference/apis/services/audio-in/#' + proto_link
proto_anchor_link = '/reference/apis/services/audio-in/#' + proto_link
elif type == 'service' and resource == 'audio_out':
proto_anchor_link = '/dev/reference/apis/services/audio-out/#' + proto_link
proto_anchor_link = '/reference/apis/services/audio-out/#' + proto_link
elif type == 'service' and resource == 'mlmodel':
proto_anchor_link = '/dev/reference/apis/services/ml/#' + proto_link
proto_anchor_link = '/reference/apis/services/ml/#' + proto_link
elif type == 'service' and resource == 'world_state_store':
proto_anchor_link = '/dev/reference/apis/services/world-state-store/#' + proto_link
proto_anchor_link = '/reference/apis/services/world-state-store/#' + proto_link
elif type == 'app' and resource == 'app':
proto_anchor_link = '/dev/reference/apis/fleet/#' + proto_link
proto_anchor_link = '/reference/apis/fleet/#' + proto_link
elif type == 'app' and resource in ["billing", "mltraining"]:
proto_anchor_link = '/dev/reference/apis/' + resource.replace('mltraining','ml-training') + '-client/#' + proto_link
proto_anchor_link = '/reference/apis/' + resource.replace('mltraining','ml-training') + '-client/#' + proto_link
elif type == 'app' and resource in ["data", "dataset", "data_sync"]:
proto_anchor_link = '/dev/reference/apis/data-client/#' + proto_link
proto_anchor_link = '/reference/apis/data-client/#' + proto_link
elif type == 'robot':
proto_anchor_link = '/dev/reference/apis/' + resource + '/#' + proto_link
proto_anchor_link = '/reference/apis/' + resource + '/#' + proto_link

## Fetch just the first sentence from the proto_override_file (first text string terminated by '.\n'), ignoring hugo
## shortcodes like alerts ('{{%.*%}}.*{{% \[a-b].* %}}'), which precede some override files' (proto descriptions')
Expand All @@ -965,6 +965,9 @@ def write_markdown(type, names, methods):
with open(proto_override_file, 'r') as f:
file_contents = f.read().strip()
file_contents = regex.sub(r'\{\{\%.*\%\}\}.*\{\{\% \/[a-b].* \%\}\}', '', file_contents, flags=regex.DOTALL)
## Same, for angle-bracket shortcodes ({{< alert >}}...{{< /alert >}}), which
## otherwise leak an unclosed shortcode opener into the table description:
file_contents = regex.sub(r'\{\{<.*?>\}\}.*?\{\{< \/[a-b].*? >\}\}', '', file_contents, flags=regex.DOTALL)
search_result = file_contents.split('.\n', 1)[0].strip().replace("\n", " ")

## If the proto description contains any MD links, strip them out:
Expand Down
1 change: 1 addition & 0 deletions static/include/components/apis/generated/arm-table.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,6 @@
| [`GetGeometries`](/reference/apis/components/arm/#getgeometries) | Get all the geometries associated with the arm in its current configuration, in the frame of the arm. |
| [`Reconfigure`](/reference/apis/components/arm/#reconfigure) | Reconfigure this resource. |
| [`DoCommand`](/reference/apis/components/arm/#docommand) | Execute model-specific commands that are not otherwise defined by the component API. |
| [`GetStatus`](/reference/apis/components/arm/#getstatus) | Get the current status of the arm as a map of key-value pairs describing its state. |
| [`GetResourceName`](/reference/apis/components/arm/#getresourcename) | Get the `ResourceName` for this arm. |
| [`Close`](/reference/apis/components/arm/#close) | Safely shut down the resource and prevent further use. |
Loading
Loading